I am currently the sole developer for both
Kayuda Maps and
Kayuda Mindmaps. They're applications built with a ton of AJAX JS/CSS (about 20K lines) on top of a very tight Catalyst/DBIC server (about 3K lines). They share about 80% of basic functionality, but because of the huge dependence on CSS that an AJAX application requires, I had to fork the codebases so that I could actually get work done instead of fiddle with CSS and JS management.
I've gotten my boss to agree to a rewrite of the front-end in any technology I deem appropriate. It can be JS/CSS/AJAX or anything else. The criteria I've been given are:
- Cross-platform - Must support Win32 and OSX (1/6 of all laptops sold last quarter were Apples.)
- Supports proper coding practices (CSS sucks with this - I'm almost ready to build a metalanguage for managing CSS)
- Supports rapid development - I have about 6 weeks to do the rewrite in whatever technology I choose. So, prior art, libraries, and the like are a big plus.
- Shouldn't require any additional downloads beyond what's already in IE7 or FF2 (or Win32/OSX).
- Goes without saying, but supporting an HTTP REST API is kinda key.
So far, the list of technologies I've got are:
- AJAX - browsers are ubiquitous.
- Flash - both IE7 and FF1+ have it embedded.
- Java applets - as far as I know, IE5 and FF0.x have supported this out of the box. (Is IE7 is restricting applets?)
- Writing my own client in <whatever>.
Technologies I've rejected:
- ActiveX - Once IE5 for OSX was discontinued, there's no ActiveX interpreter on OSX.
Right now, I'm leaning very heavily towards Flash. I've talked to a few people and they're saying that Flash8 is where it's at. It's fast, supported by IE7 and FF2, supports good programming practices, and has a good set of libraries to work with. Is there something better?
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?