Monday, October 02, 2006

Zephyr framework - an introduction (and request for input)

Zephyr is a nascent project on java.net. Zephyr is (will be) an open framework for building applications that view, edit, play or publish many standard kinds of content including text/html files, images and media.

Zephyr aims to solve three core problems:
  1. Each new content-handling application can only handle one type of content type or source
  2. Every such application needs to build many capabilities from scratch.
  3. The JDK provides an excellent base for building thread-safe applications, however classes often deliver less than optimal performance due to a high-level of data copying

The Zephyr framework will provide:

  • a common abstraction for content types (textual, images, media) and sources (folders and items that may reside in a filesystem, zip file (or similar random access archive), web, blogs, IM channel, calendar, mail folder or database)
  • concrete high quality implementations of content
  • capabilities (editors, viewers, players, readers or publishers)
  • concrete high quality implementations of the source abstractions (item, folder and store) that store, send or publish each of the content types listed above
  • the project will also deliver and use an innovative framework and concrete implementations of value types and I/O classes that deliver considerably higher performance but with similar safety guarantees to the JDK
Why "Zephyr" ?

zephyr (noun)
  1. a gentle, mild breeze.
  2. (capitalised) Literary. the west wind.
  3. any of various things of fine, light quality, as fabric, yarn, etc.
We mean it to be:
  • a fresh breeze (in the landscape of desktop Java)
  • a reference to the goal of being fine and light, but high quality
  • a validation of wind power
  • one of the nicer words containing 'y' and 'z' ;)
  • Zephyrus, or just Zephyr, in the original Greek Zephuros (Ζέφυρος), was the Greek god of the west wind. The gentlest of the winds, Zephyrus is known as the fructifying wind, the messenger of spring
  • it's also a great (though not terribly apposite) track from RHCP
But hey, what's in a name, right?

Please add your comments to this post...
  • if you are interested in using a framework like Zephyr,
  • if you have ideas for features that Zephyr should have,
  • if you have suggestions for projects that Zephyr should use, collaborate with, or be inspired by,
  • or if you want to work on on one of the coolest and most innovative projects on java.net! (at this time we are not actively recruiting developers, but please leave contact details and we will get in touch when we release Zephyr 0.1, due in December 2006)
We will setup a group discussion thread but for now, please add your comments here where we will be checking from time to time.