blueMarine, photographic workflow with Java - or Why You Should Really Ship Swing Applications.
In the last two years we've seen increasing efforts by Sun Microsystems to revamp Java on the desktop - what somebody called "the Swing Renaissance". First, most of the performance issues have been solved; then we have now many more components thanks to SwingLabs and other third parties' projects; we have better Look and Feels too; last but not least, gurus such as Romain Guy have been demonstrating how to build cool and effective GUIs with Swing. It's high time to apply the learned lesson to some real product.
In this talk we will show you the blueMarine project, an opensource desktop application to support the photographic workflow. blueMarine is being designed following the best practices for the creation of a 'filthy rich client', from animations to the use of JOGL, and taking advantage of the rich framework delivered by the NetBeans Rich Client Platform.
Fabrizio Giudici took the Ph.D. in Computer Science in 1998 at the University of Genoa, researching on the industrial applications of Java technology, which he has been working with since the very alpha releases in 1995. In those years he started holding technical seminars and writing technical articles about the evolving Java technology.
He later joined two friends for starting up a consultancy company; he also began collaborating with Sun Microsystems Educational Services, Italy. Ever since he has been teaching classes about Java technology and Object Oriented Analysis and Design - almost all the Java items available in the Sun catalog, ranging from J2ME to J2EE.
Since 2001 he is working as a freelance consultant, mainly supporting small, medium and large companies in designing and developing J2EE-based applications. At the end of 2003 he added Sun Microsystems Professional Services, Italy, to his portfolio of customers.
Starting from 2005 Fabrizio is running his own company, Tidalwave, which is focused on Java consultancy, architecture and design.
From the start of his career, Fabrizio designed and developed a number of software and services, both in C/C++ and Java, and has been the project leader in many industrial projects. Since 2004 he is the project leader of the team that delivered RTTS, a winning real-time telemetry system for Formula One racing cars based on Jini technology, which was presented in a number of world-wide conferences, including a couple of Jini Meetings, JavaOne 2005 and JavaPolis 2005.
Fabrizio Giudici is member of the IEEE (Institute of Electrical and Electronics Engineers) and recently joined the JUG Milano.
IRIS, a RIA swing applet— Iris shows the power of modern Java applets, highlighting the following major features of the Java platform: Dynamic extension of applets: new techniques developed within the past year in the JOGL project allow applets to use OpenGL for 3D graphics, OpenAL for spatialized audio, Java Media codecs, and other extensions previously only available to desktop or Java Web Start applications.
Applying CSS styling to Java desktop and web GUIs— CSS is a simple mechanism for adding style such as fonts, colors, and spacing to Web documents. This technology remains today confined to HTML and XML documents, although its principles are suitable for other domains. Let's see how we can use what we know to style Java objects, and then apply one typical styling system, Cascading Style Sheets (CSS), to the Java world to enhance the informative level of a user interface.
Spring is Swinging— Java is back on the desktop! We need to deliver high-quality, good-looking, multi-tier swing applications to our customers. How can Spring help us to achieve this at minimal cost?
Eclipse on Swing— Wouldn't it be great, if one had the choice between SWT and Swing not only at the beginning of a project but throughout development? How about using the familiar APIs to develop Eclipse-Plug-ins, RCP-applications or a JFace/SWT-GUI and still keep the option to switch back and forth between SWT and Swing without changes to your code?
JSR-296 Swing Application Framework— Well written Swing applications tend to have the same core elements for startup and shutdown, and for managing resources, actions, and session state. New applications create all of these core elements from scratch. Java SE does not provide any support for structuring applications, and this often leaves new developers feeling a bit adrift, particularly when they're contemplating building an application whose scale goes well beyond the examples provided in the SE documentation. This specification will (finally) fill that void by defining the basic structure of a Swing application. It will define a small set of extensible classes or "framework" that define infrastructure that's common to most desktop applications...