08448380779 Call Girls In Greater Kailash - I Women Seeking Men
blueMarine a desktop app for the open source photographic workflow
1. blueMarine
a desktop app for the open source photographic workflow
Fabrizio Giudici
Tidalwave s.a.s.
Emmanuele Sordini
BloomingStars.com
1820
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
4. 4
Take two engineers...
... who like photography ...
5. 5
Take two engineers...
... who like photography ...
... and want to have fun.
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
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
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
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
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
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„
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
DEMO
(thanks to Patrick Murris from the WWJ forum)
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
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”...
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
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
23. 23
DEMO
sorry, no demo from Switzerland :-(
(legal issues)
24. 24
DEMO
sorry, no demo from Switzerland :-(
(legal issues)
Coming soon to a webcast, code published later
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
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“