blueMarine a desktop app for the open source photographic workflow

27
blueMarine a desktop app for the open source photographic workflow Fabrizio Giudici Tidalwave s.a.s. Emmanuele Sordini BloomingStars.com 1820

Transcript of blueMarine a desktop app for the open source photographic workflow

Page 1: blueMarine  a desktop app for the open source photographic workflow

blueMarinea desktop app for the open source photographic workflow

Fabrizio GiudiciTidalwave s.a.s.

Emmanuele SordiniBloomingStars.com

1820

Page 2: blueMarine  a desktop app for the open source photographic workflow

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, NASAWorld 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

Page 3: blueMarine  a desktop app for the open source photographic workflow

3

Take two engineers...

Page 4: blueMarine  a desktop app for the open source photographic workflow

4

Take two engineers...... who like photography ...

Page 5: blueMarine  a desktop app for the open source photographic workflow

5

Take two engineers...... who like photography ...... and want to have fun.

Page 6: blueMarine  a desktop app for the open source photographic workflow

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?)

Page 7: blueMarine  a desktop app for the open source photographic workflow

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

Page 8: blueMarine  a desktop app for the open source photographic workflow

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

Page 9: blueMarine  a desktop app for the open source photographic workflow

9

DEMO (splash)

Page 10: blueMarine  a desktop app for the open source photographic workflow

10

Why NetBeans RCP?> “Cool stuff„ today means to implement complex things– Toproof 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)

Page 11: blueMarine  a desktop app for the open source photographic workflow

11

Why NetBeans RCP?> “Cool stuff„ today means to implement complex things– Toproof 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

Page 12: blueMarine  a desktop app for the open source photographic workflow

12

Some very basic NetBeans RCP concepts

> It's basically (rich) MVC> Furthermore, with a Lookup API youcan publish objects in various contexts

> With a global Lookup context and a bitof more work you get “Publish andSubscribe„

Page 13: blueMarine  a desktop app for the open source photographic workflow

13

DEMO

Page 14: blueMarine  a desktop app for the open source photographic workflow

14

NASAWorld Wind for Java> Java version of the popular NASAWorld 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...

Page 15: blueMarine  a desktop app for the open source photographic workflow

15

DEMO(thanks to Patrick Murris from the WWJ forum)

Page 16: blueMarine  a desktop app for the open source photographic workflow

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

Page 17: blueMarine  a desktop app for the open source photographic workflow

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”...

Page 18: blueMarine  a desktop app for the open source photographic workflow

18

blueMarine “local mini-grid„ support

Page 19: blueMarine  a desktop app for the open source photographic workflow

19

DEMO

Page 20: blueMarine  a desktop app for the open source photographic workflow

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), manufacturingindustry (e.g. simulations, modeling)

Page 21: blueMarine  a desktop app for the open source photographic workflow

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

Page 22: blueMarine  a desktop app for the open source photographic workflow

22

DEMO

Page 23: blueMarine  a desktop app for the open source photographic workflow

23

DEMOsorry, no demo from Switzerland :-(

(legal issues)

Page 24: blueMarine  a desktop app for the open source photographic workflow

24

DEMOsorry, no demo from Switzerland :-(

(legal issues)Coming soon to a webcast, code published later

Page 25: blueMarine  a desktop app for the open source photographic workflow

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

Page 26: blueMarine  a desktop app for the open source photographic workflow

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“

Page 27: blueMarine  a desktop app for the open source photographic workflow

Fabrizio Giudici www.tidalwave.itTidalwave s.a.s [email protected]

Emmanuele Sordini [email protected]