Successfully reported this slideshow.

blueMarine a desktop app for the open source photographic workflow

2,058 views

Published on

Published in: Technology, Education
  • Be the first to comment

blueMarine a desktop app for the open source photographic workflow

  1. 1. blueMarine a desktop app for the open source photographic workflow Fabrizio Giudici Tidalwave s.a.s. Emmanuele Sordini BloomingStars.com 1820
  2. 2. 2 Why should you attend this demo? > Part I: Java at the Desktop – What NetBeans RCP can do – Java and Photo Imaging > Part II: some cool technologies – Geotagging, NASA World Wind – “Local mini grids“ with Jini, Rio – Massive grid computing (Sun Grid) > http://bluemarine.tidalwave.it, http://pleiades.bloomingstars.com > (*) these slides will be available at our blogs: – http://weblogs.java.net/blog/fabriziogiudici – http://www.bloomingstars.com
  3. 3. 3 Take two engineers...
  4. 4. 4 Take two engineers... ... who like photography ...
  5. 5. 5 Take two engineers... ... who like photography ... ... and want to have fun.
  6. 6. 6 Take two engineers... ... who like photography ... ... and want to have fun. How could I write some Java code to process my photos? (isn't it a “digital darkroom„ after all?)
  7. 7. 7 Introducing blueMarine > Photographic workflow management – Pluggable single platform for everything – Community-specific plug-ins – Early access, RC1 is coming > Troubled history – 2003-2005: Swing was not ready, didn't like Eclipse RCP – 2006-2007: SwingLabs, NetBeans RCP (complete re-design)  Read ”From Pain to Gain“, NetBeans Magazine, Issue 3  BTW, Fabrizio is an Ex-clipse user... > Open Source – Apache License, business friendly – Encouraging use as a base for other (even commercial) applications
  8. 8. 8 Platforms > blueMarine Core – Foundation APIs – Could be used as a base for other products (NetBeans ready) > blueMarine – The application out-of-the-box > blueBill – plug-in for birdwatchers > blueMoon – plug-in for astrophotographers > blueMarine Incubator – Where new stuff is born and tried
  9. 9. 9 DEMO (splash)
  10. 10. 10 Why NetBeans RCP? > “Cool stuff„ today means to implement complex things – To proof an idea you need to do fast prototyping – And quickly integrate third parties' components – With NIH you don't get a killer-idea, but an idea-killer > NetBeans RCP is a rich and robust set of features for a „serious“ application – Don't write (and maintain) your own, soon-to-be-messy framework – It's Swing, lots of third parties' stuff can be integrated – And you have control on the l&f (à la Romain Guy)
  11. 11. 11 Why NetBeans RCP? > “Cool stuff„ today means to implement complex things – To proof an idea you need to do fast prototyping – And quickly integrate third parties' components – With NIH you don't get a killer-idea, but an idea-killer > NetBeans RCP is a rich and robust set of features for a „serious“ application – Don't write (and maintain) your own, soon-to-be-messy framework – It's Swing, lots of third parties' stuff can be integrated – And you have control on the l&f (à la Romain Guy) Java (+ Swing + NetBeans RCP) are NOT “balls and chain„... ... as somebody recently said
  12. 12. 12 Some very basic NetBeans RCP concepts > It's basically (rich) MVC > Furthermore, with a Lookup API you can publish objects in various contexts > With a global Lookup context and a bit of more work you get “Publish and Subscribe„
  13. 13. 13 DEMO
  14. 14. 14 NASA World Wind for Java > Java version of the popular NASA World Wind platform – 3D-rendering software that lets you zoom in from satellite altitude into any place on earth – Delivers NASA terrain imagery, other data sets can be plugged in – (if legal stuff is ok) – Based on JOGL (OpenGL bindings for Java) – http://worldwind.arc.nasa.gov/java > Hmm... sounds good for photo geo-tagging...
  15. 15. 15 DEMO (thanks to Patrick Murris from the WWJ forum)
  16. 16. 16 blueMarine and Parallel Computing > In Summer 2006, a sub-project was spinned off blueMarine > Mistral, the imaging component – Abstract wrappers upon Java2D, JAI, and others – Many features > Support for parallel computing – Multi-core – Local mini-grids – Real grid computing > To learn more about Mistral and our view on Parallel Computing: – 880 - “Parallel Computing Scenarios and the new challenges for the Software Architect“ – Thursday, 11:50-12:30, Arena 8
  17. 17. 17 Introducing Jini, Rio > Jini – SOA for building federations of Java services (adaptable, scalable, flexible) – Auto-discovery of services – Kindly donated by Sun to Apache Software Foundation (Apache River) – http://www.jini.org, http://incubator.apache.org/river > Rio – Jini-based technology – Provides containers, beans-oriented programming, QoS, dynamic deployment, monitoring and management, and more – http://rio.dev.java.net > Hmm... sounds good for creating “local mini-grids”...
  18. 18. 18 blueMarine “local mini-grid„ support
  19. 19. 19 DEMO
  20. 20. 20 Introducing Sun Grid > Grid computing as a service (utility computing) – Massive grid facility (1000 CPUs) – Made available to users on an as-needed basis ($1 per CPU-hour) – Not only Java, but with Java is much easier (e.g. NetBeans plugin) – http://www.network.com – Free trial: 200 hours, register before June 30 > For researchers, scientists, business (e.g. financial simulations), manufacturing industry (e.g. simulations, modeling)
  21. 21. 21 Sun Grid on the Desktop? > Our point: what about desktop, end-users? – Billing granularity is $100, ok for groups of users or service resellers – Some technical issues to address  Parallelizing algorithms  The bandwidth is a bottleneck for image processing > Our pragmatic approach: try it! – It's fun – Then you figure out a solution > Mistral is able to work on the Sun Grid – Some successful run in Fall 2006, optimizations needed – Slowed down by US access rules (“deployed by manual proxy“ ;-) – With relaxed access rules development is faster > Sun Grid support integrated with blueMarine
  22. 22. 22 DEMO
  23. 23. 23 DEMO sorry, no demo from Switzerland :-( (legal issues)
  24. 24. 24 DEMO sorry, no demo from Switzerland :-( (legal issues) Coming soon to a webcast, code published later
  25. 25. 25 What's next > Bug fixing (lots of), performance tuning > Documentation > UI improvement – Better design (including clip art) – Strive for Apple Human Interface Guidelines compliance  and other o.s.'s too  Prove Java can do it > Basic editing features > Smoother integration with the Sun Grid > Of course this can't be done by two persons – We hope others will join, also contributing with new stuff – A contest for the better plug-in will be announced soon
  26. 26. 26 Roadmap (tentative) > 0.9.RC1 (Jun 30, 2007) - “Gorgona“ – Browsing, Catalog, Gallery, Geotagging – Base for beta testers – Grid computing as incubator plugin (demonstrative) > 0.9.RC2 (Jul 31, 2007) - “Capraia“ – Web publishing (Flickr, Panoramio) – Intermediate testing milestone > 0.9.GA (Sep 16, 2007) - “Pianosa“ – Grid computing available out of the box – Catalog reimplemented on Jena > 1.0.RC1 (Nov 30, 2007) - “Montecristo“ – Non-destructive editing (white balance, tone, sharpness, curves, etc...) > 1.0.GA (Dec 31, 2007) - “Elba“
  27. 27. Fabrizio Giudici www.tidalwave.it Tidalwave s.a.s fabrizio.giudici@tidalwave.it Emmanuele Sordini www.bloomingstars.com emmanuele@sordini.com

×