The web is a mess
… as written by Bruce Eckel in his essay and I agree.
Recently, I’ve been examining Apollo, Flash 8, Flex, XUL, Gecko, uBrowser, Java, Sliverlight, Google Gears, etc. and wow – I’ve been out of the web loop for too long. When did it get so fragmented and complicated? I remember hacking out HTML and my Java AWT tutorials (got me a book contract!) in NotePad and pico way back in 1995-96. Everything was brutally ugly back them, but there were only two web browsers Mosaic/IE and Netscape… and Lynx, but that was being phased out.
Back to Bruce. He, like me, has come up with the same answer to this web alphabet soup mess:
“In my own search, I’d really like such a system to solve not just some, but all of my UI problems. If I’m going to go to the trouble of learning it, I don’t want to run into a wall just when I start to develop some speed. That’s happened plenty of times already.
The only obvious solution is Flash. Flash has always been all about cross-platform multimedia experiences and user interfaces. People are very familiar and comfortable with Flash, and it is installed on almost all machines in the world. It’s trusted, stable and reliable.”
Me too! Flash is slow. ActionScript is horrible. It’s frame (not time) dependent… and animating it is retarded compared to high-end 2D systems but it is ubiquitous and installed everywhere. You write it once and it will appear the same on every web browser.
He goes to to describe the ever-changing GUI library problem that plagues applications:
“One of the difficulties of GUI programming is choosing a GUI library. Sometimes there’s a standard library, but that can change. In Java, we started with AWT, which turned out to be a mistake so we had to be patient as Swing was developed, until IBM and Eclipse came along and offered us the additional choice of SWT. In Python, there are many GUI libraries, including the built-in Tkinter (which reduces the installation problem), WxPython, Qt, and more. Windows-specific libraries have similar choices, but if you want to create cross-platform applications, those libraries aren’t available.
If you explore these GUI libraries, as I have, you run the risk of getting broad knowledge that is not particularly deep. Each library requires significant effort to learn, and each seems to have its own philosophy regarding the activities that should be easy, and those that should only be possible. Each one looks at the world of GUI programming in a different way.
I’d like to be able to learn one solution and use it for all my applications. That way I could stop learning about GUI solutions and start acquiring some depth. Ideally, this will be a real programming language with consistent results across all platforms.
I believe that to solve the user interface problem, we need the equivalent of a domain-specific language dedicated to the user experience. For me, Flash-based technologies like Flex are the best solution to this problem.”
And this is doubly and triply true in games. Games write and rewrite their GUI systems over and over again. What’s incredibly cool is that “new technologies” like Apollo are just gluing Java + Javascript + Flash + HTML + CSS together… rather than trying to create something completely new and foreign.
Anyhow, the plan is to distribute my games via the browser and to build a community around a slick new tech like Apollo or Flash 9 – similar in vein to mygamebuilder.com (but not with a game making focus).
1 comment June 3rd, 2007


Guitar Hero MIDI file format