SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
blueMarine
a desktop app for the open source photographic workflow




Fabrizio Giudici
Tidalwave s.a.s.

Emmanuele Sordini
BloomingStars.com

1820
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




Take two engineers...
4




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




    Take two engineers...
... who like photography ...
  ... and want to have fun.
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




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




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




DEMO (splash)
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




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




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




DEMO
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




                  DEMO
(thanks to Patrick Murris from the WWJ forum)
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




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




blueMarine “local mini-grid„ support
19




DEMO
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




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




DEMO
23




               DEMO
sorry, no demo from Switzerland :-(
           (legal issues)
24




                    DEMO
     sorry, no demo from Switzerland :-(
                (legal issues)
Coming soon to a webcast, code published later
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




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“
Fabrizio Giudici    www.tidalwave.it
Tidalwave s.a.s     fabrizio.giudici@tidalwave.it


Emmanuele Sordini   www.bloomingstars.com
                    emmanuele@sordini.com

Mais conteúdo relacionado

Semelhante a blueMarine a desktop app for the open source photographic workflow

Parallel Computing Scenarios and the new challenges for the Software Architect
Parallel Computing Scenarios  and the new challenges for the Software ArchitectParallel Computing Scenarios  and the new challenges for the Software Architect
Parallel Computing Scenarios and the new challenges for the Software ArchitectFabrizio Giudici
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allMarc Dutoo
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware
 
blueMarine Sailing with NetBeans Platform
blueMarine Sailing with NetBeans PlatformblueMarine Sailing with NetBeans Platform
blueMarine Sailing with NetBeans PlatformFabrizio Giudici
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and FutureKeiichiro Ono
 
Commit to excellence - Java in containers
Commit to excellence - Java in containersCommit to excellence - Java in containers
Commit to excellence - Java in containersRed Hat Developers
 
Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...
Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...
Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...Greg Makowski
 
Visualized Conference and jQuery Conference
Visualized Conference and jQuery ConferenceVisualized Conference and jQuery Conference
Visualized Conference and jQuery ConferenceKeiichiro Ono
 
CloudStack UI
CloudStack UICloudStack UI
CloudStack UIShapeBlue
 
Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017Ivan Kudryavtsev
 
How a Small Team Scales Instagram
How a Small Team Scales InstagramHow a Small Team Scales Instagram
How a Small Team Scales InstagramC4Media
 
Community works for muli core embedded image processing
Community works for muli core embedded image processingCommunity works for muli core embedded image processing
Community works for muli core embedded image processingJeongpyo Kong
 
IoT with Ruby/mruby - RubyWorld Conference 2015
IoT with Ruby/mruby - RubyWorld Conference 2015IoT with Ruby/mruby - RubyWorld Conference 2015
IoT with Ruby/mruby - RubyWorld Conference 2015哲也 廣田
 
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford ConsortiumSDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford ConsortiumKeiichiro Ono
 
Population Management in Clouds is a Do-It-Yourself Technology
Population Management in Clouds is a Do-It-Yourself TechnologyPopulation Management in Clouds is a Do-It-Yourself Technology
Population Management in Clouds is a Do-It-Yourself TechnologyTokyo University of Science
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 uploadDebnath Sinha
 
Image transformation using grid(synopsis)
Image transformation using grid(synopsis)Image transformation using grid(synopsis)
Image transformation using grid(synopsis)Mumbai Academisc
 
Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016Josh Ghiloni
 

Semelhante a blueMarine a desktop app for the open source photographic workflow (20)

Parallel Computing Scenarios and the new challenges for the Software Architect
Parallel Computing Scenarios  and the new challenges for the Software ArchitectParallel Computing Scenarios  and the new challenges for the Software Architect
Parallel Computing Scenarios and the new challenges for the Software Architect
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open WideOCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
 
blueMarine Sailing with NetBeans Platform
blueMarine Sailing with NetBeans PlatformblueMarine Sailing with NetBeans Platform
blueMarine Sailing with NetBeans Platform
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
 
Commit to excellence - Java in containers
Commit to excellence - Java in containersCommit to excellence - Java in containers
Commit to excellence - Java in containers
 
Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...
Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...
Using Deep Learning to do Real-Time Scoring in Practical Applications - 2015-...
 
Visualized Conference and jQuery Conference
Visualized Conference and jQuery ConferenceVisualized Conference and jQuery Conference
Visualized Conference and jQuery Conference
 
CloudStack UI
CloudStack UICloudStack UI
CloudStack UI
 
Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017Bitworks CloudStack UI - CSEUUG 08 August 2017
Bitworks CloudStack UI - CSEUUG 08 August 2017
 
How a Small Team Scales Instagram
How a Small Team Scales InstagramHow a Small Team Scales Instagram
How a Small Team Scales Instagram
 
JOSA TechTalks - Downgrade your Costs
JOSA TechTalks - Downgrade your CostsJOSA TechTalks - Downgrade your Costs
JOSA TechTalks - Downgrade your Costs
 
Community works for muli core embedded image processing
Community works for muli core embedded image processingCommunity works for muli core embedded image processing
Community works for muli core embedded image processing
 
Rapid Home Provisioning
Rapid Home ProvisioningRapid Home Provisioning
Rapid Home Provisioning
 
IoT with Ruby/mruby - RubyWorld Conference 2015
IoT with Ruby/mruby - RubyWorld Conference 2015IoT with Ruby/mruby - RubyWorld Conference 2015
IoT with Ruby/mruby - RubyWorld Conference 2015
 
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford ConsortiumSDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
 
Population Management in Clouds is a Do-It-Yourself Technology
Population Management in Clouds is a Do-It-Yourself TechnologyPopulation Management in Clouds is a Do-It-Yourself Technology
Population Management in Clouds is a Do-It-Yourself Technology
 
Js foo - Sept 8 upload
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 upload
 
Image transformation using grid(synopsis)
Image transformation using grid(synopsis)Image transformation using grid(synopsis)
Image transformation using grid(synopsis)
 
Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016Denver Cloud Foundry Meetup - February 2016
Denver Cloud Foundry Meetup - February 2016
 

Mais de Fabrizio Giudici

Building Android apps with Maven
Building Android apps with MavenBuilding Android apps with Maven
Building Android apps with MavenFabrizio Giudici
 
DCI - Data, Context and Interaction @ Jug Lugano May 2011
DCI - Data, Context and Interaction @ Jug Lugano May 2011 DCI - Data, Context and Interaction @ Jug Lugano May 2011
DCI - Data, Context and Interaction @ Jug Lugano May 2011 Fabrizio Giudici
 
DCI - Data, Context and Interaction @ Jug Genova April 2011
DCI - Data, Context and Interaction @ Jug Genova April 2011DCI - Data, Context and Interaction @ Jug Genova April 2011
DCI - Data, Context and Interaction @ Jug Genova April 2011Fabrizio Giudici
 
NOSQL also means RDF stores: an Android case study
NOSQL also means RDF stores: an Android case studyNOSQL also means RDF stores: an Android case study
NOSQL also means RDF stores: an Android case studyFabrizio Giudici
 
Tools for an effective software factory
Tools for an effective software factoryTools for an effective software factory
Tools for an effective software factoryFabrizio Giudici
 
NASA World Wind for Java API Overview
NASA World Wind for Java  API OverviewNASA World Wind for Java  API Overview
NASA World Wind for Java API OverviewFabrizio Giudici
 
Rich Internet Applications con JavaFX e NetBeans
Rich Internet Applications  con JavaFX e NetBeans Rich Internet Applications  con JavaFX e NetBeans
Rich Internet Applications con JavaFX e NetBeans Fabrizio Giudici
 
Web Development with Apache Struts 2
Web Development with  Apache Struts 2Web Development with  Apache Struts 2
Web Development with Apache Struts 2Fabrizio Giudici
 
Designing a JavaFX Mobile application
Designing a JavaFX Mobile applicationDesigning a JavaFX Mobile application
Designing a JavaFX Mobile applicationFabrizio Giudici
 
Android java fx-jme@jug-lugano
Android java fx-jme@jug-luganoAndroid java fx-jme@jug-lugano
Android java fx-jme@jug-luganoFabrizio Giudici
 

Mais de Fabrizio Giudici (13)

Building Android apps with Maven
Building Android apps with MavenBuilding Android apps with Maven
Building Android apps with Maven
 
DCI - Data, Context and Interaction @ Jug Lugano May 2011
DCI - Data, Context and Interaction @ Jug Lugano May 2011 DCI - Data, Context and Interaction @ Jug Lugano May 2011
DCI - Data, Context and Interaction @ Jug Lugano May 2011
 
DCI - Data, Context and Interaction @ Jug Genova April 2011
DCI - Data, Context and Interaction @ Jug Genova April 2011DCI - Data, Context and Interaction @ Jug Genova April 2011
DCI - Data, Context and Interaction @ Jug Genova April 2011
 
NOSQL also means RDF stores: an Android case study
NOSQL also means RDF stores: an Android case studyNOSQL also means RDF stores: an Android case study
NOSQL also means RDF stores: an Android case study
 
Netbeans+platform+maven
Netbeans+platform+mavenNetbeans+platform+maven
Netbeans+platform+maven
 
Tools for an effective software factory
Tools for an effective software factoryTools for an effective software factory
Tools for an effective software factory
 
NASA World Wind for Java API Overview
NASA World Wind for Java  API OverviewNASA World Wind for Java  API Overview
NASA World Wind for Java API Overview
 
Rich Internet Applications con JavaFX e NetBeans
Rich Internet Applications  con JavaFX e NetBeans Rich Internet Applications  con JavaFX e NetBeans
Rich Internet Applications con JavaFX e NetBeans
 
The VRC Project
The VRC ProjectThe VRC Project
The VRC Project
 
Web Development with Apache Struts 2
Web Development with  Apache Struts 2Web Development with  Apache Struts 2
Web Development with Apache Struts 2
 
Designing a JavaFX Mobile application
Designing a JavaFX Mobile applicationDesigning a JavaFX Mobile application
Designing a JavaFX Mobile application
 
Android java fx-jme@jug-lugano
Android java fx-jme@jug-luganoAndroid java fx-jme@jug-lugano
Android java fx-jme@jug-lugano
 
Mercurial
MercurialMercurial
Mercurial
 

Último

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Último (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
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“
  • 27. Fabrizio Giudici www.tidalwave.it Tidalwave s.a.s fabrizio.giudici@tidalwave.it Emmanuele Sordini www.bloomingstars.com emmanuele@sordini.com