views:

133

answers:

2

I would love to design a web application for a guitar tablature editor. There are a few desktop apps such as Guitar Pro and Tuxguitar that are great. They basically allow you to load a tablature file, and then the software allows you to edit and play the tablature. What would be even better would be a web-based version of these programs.

Tuxguitar is open source and would serve as a good frame of reference. It is designed in Java and uses SWT gui components. Would there be an ideal framework for developing a fairly complex web application using languages/technologies similar to these?

Any caveats in terms of developing such a complex sound-based web application?

+1  A: 

I think the major hurdle here would be the generation of the sound files (assuming you're dynamically creating them). Otherwise, any web development framework would likely work (Rails, et al).

Matt Darby
+1  A: 

Interesting concept... I'd say likely candidates would be WPF/Silverlight, Active-X or Java Applet. Java has a reputation for being slow, and I personally don't like it but don't let me bias your judgement.

The joy of all three of these technologies is that it allows you to host a rich application inside a web browser. The traditional Active-X/Java Applet might be good because if you're familiar with regular bog standard ASP.NET or Java then you can pretty much hit the ground running. If you go with WPF/Silverlight then there's a slightly different paradigm to pickup called MVC (Model-View-Controller) which is starting to become the next big craze. There's a bit of a learning curve, but it shows real promise that could be applied in this arena.

The reason I would go with these options rather than a traditional model [change/upload/dynamically generate and stream audio through your webserver] is that I would not particularly want to have to dynamically generate the sound files on the fly every time the tab is uploaded/changed - you want it all to happen on the client computer otherwise you're potentially looking at high resource usage and high bandwidth bills for the sound transfer. If they can edit the tab/score on the fly and have the applet play the sound live on their machine without having to upload it will make it a far more satisfying product for the user and more likely to be widely adopted.

BenAlabaster