Whats up with the JavaSound team?
As many o fyou know, I have been working with music and audio programming in Java for quite some time. This included work with Java sound. After my JavaSound talk this year at JavaOne, I got to grab a bite to eat with my fellow presenters Phil Burk and Nick Didkovsky and JavaSound lead Florian Bomers.
I've worked with Florian in the past, most;y communicating via the JavaSound listserv. Now, I always knew he was the only one that returned my emails. I just figured he was the head of the team or at least the designated spokesperson. Well, it turns out he is the team -- the whole team!
Basically, I dont know the whole story but here are some relevant facts as I understand them:
- Sun licensed the beatnik audio engine: www.beatnik.com/
- The entire JavaSound team split
- JavaSound was defunct for a long time since no one was around to work on it
- Florian got offerred a job by Sun to take over JavaSound
- Florian actually was hired a year later
- Florian is the whole team: development, management, QA, etc.
- Florian has to support 100k+ lines of C beatnik code
This is ridiculous on a number of levels! How does Sun expect to put out a decent product with a single guy responsible for all of JavaSound? Also, the code was poorly designed to begin with, and Florian can't even really change it! So whats left is a really buggy, poorly designed library that is on every Java enabled PC!
What we really need is an overhaul of JavaSound. One of the more interesting topics that came up at the post JavaOne talk gathering was replacing the internal JavaSound audio engine with PortAudio (http://www.portaudio.com) an open source cross platform audio engine. This would be pretty cool, but is beyond the scope of acceptable changes and would have to go through JCP. Now you tell me who is going to spend time on an audio JSR!
At the heart of the matter is the whole so called desktop push by Sun. We are hearing alot of hype abut Java on the desktop without a lot of backing. Audio, along with Graphics and Deployment are areas that simply have to be nailed by Sun in order for Java to take off on the desktop. If Sun can't nail all of these J2SE areas, then we are just fooling ourselves thinking Java can be a first class citizen on the desktop.
This brings me to java.net... What I would like to see is sort of a grass-roots movement to demand a major JavaSound overhaul. Get a good cross platform framework in place. Make audio and MIDI playback simple, and importing and implementing new audio codecs simple, and very importantly... guarantee accurate timing! I think there is alot of static to redoing JavaSound because no one is using it. I think that no one is using it because its tough to use and buggy. I would love to see a revamped audio API and some rocking Java audio apps in the near future.
Sorry for the long rant. I would just love to see sound kick on Java like it should! Any ideas on what we could do on java.net to foster this?