I'm currently weighing my options going forward with this project, and wanted to see how people felt about what I'm considering.
My main concern stems from the Yahoo! Widgets runtime. Overall, it's a very nice way of getting simple code to run on Mac OS X and Windows. However, there are some large obstacles that I've been facing.
- The folks at Yahoo! appear to be much more concerned with making the product run on a TV than a computer. They've let the desktop version of the product wane, which means the following problems are magnified.
- There are large problems with memory leaks in the runtime, which cause the Widget to grind to a halt (hah!) after running for a couple of days. For something that is meant to run for an extended period of time, this is unacceptable!
- Yahoo! Widgets' JavaScript engine is woefully out of date, and doesn't benefit from many of the wonderful optimizations available to modern browsers.
- As I've worked on this project, I've noticed a lot of odd bugs popping up, especially with regard to URL requests on Windows, which are very hard to overcome.
- I have to do a ridiculous amount of work to create a beautiful user interface that performs well.
I'm also looking to stretch my engineering muscles in other areas outside of Yahoo! Widgets. I've taken an interest in iOS/Android programming, which has spread my interest to native apps for Mac OS X and Windows as well. Developing a mobile app is particularly enticing because it would really let me learn a lot of new skills.
However, my most favorable option so far is to rewrite B-Spec Grinder as a browser extension or Greasemonkey script, so I can piggyback on Polyphony's existing code for talking to their servers. This would exclude users of Internet Explorer, but I believe I can support Firefox, Chrome, Safari, and Opera in this approach, which would mean support across Windows, Mac OS X, and
Linux.
Taking this route doesn't mean the user experience has to suffer. In fact, quite the contrary: Web browsers are under very active development, with new developer features being added all the time! I think I can create a better product within the browser than I could in Yahoo! Widgets.
What do you think? Should I make the leap?