Platform Problems June 15, 2008Posted by olvidadorio in Programming.
Tags: air, ajax, bill gates, browser, erlang, flex, gears, jabber, silverlight, steve jobs, virtual-machine
Earlier today I read a TechCrunch article (had been reddited) on Google Gears and its position as a direct competitor. The main thrust is that the browser — possibly with some extension — is going to be the new important virtual machine — and that Google is positioning Gears as an alternative to both Flex/Air and that M$ technology. I was having an uneasy feeling dans le gutt.
Also, I was watching a joint interview by Steve Jobs and Bill Gates. Besides this being an intriguing setting as a whole, just watch the second part of this sub-clip. Steve & Bill are asked for their take on exactly this browser-as-new-standard-platform thesis. Of course they basically laugh it off. But as Jobs puts it: they are the dinosaurs. But watch the clip, it’s nice.
Here’s my (& my gutt’s) take: The browser (or conversely, the www) is quite a shitty choice for a standard platform because:
- You get things by URLs. So it’s essentially a command-line interface. Now I’m not opposed to text-interfaces. However, it is a command-line that’s highly crufted, has a terribly over-crowded namespace already (it’ll only be getting worse, i tell you) and is currently in use to do something else than application control, namely document retrieval. Now, given it was designed to do document retrieval it’s not even a very good choice IMHO, but we can live with it, due to highly advanced search technology we all love and resort to.
- I am currently not a highly advanced web developer, therefore I cannot really judge the technological merits of browser (AJAX) and www for application development. I do however have the feeling that there are quite a lot of equivalents of the infamous A 20 gate still hanging around that every poor web-developer has to wade through while building — what basically amounts to — his own little runtime-environment on that rudimentary platform. (I once started out with Assembly and bootsector programming, so I still can feel the pain. ;-} )
- Next to introducing proprietary browser-extensions, one solution might be to build a “Web Operating System (TM)” and unify everything on one website. (Much better, yeah right.) Stan once posted a blog entry with such musings on whether Facebook might become that platform of choice. So far, I don’t think that’s happening — for Facebook at least (and I hope it won’t). But that does not mean there will not be even smarter initiatives in such a direction, probably somehow cloudy and stemming from Google App Engine. All in all, there are however some hefty interface-issues to deal with until we get a real Web-OS, IMHO. Plus, just for privacy and neutrality reasons — it’s a bad idea.
There is a lot of technological (and I suspect economic as well) uncertainty around. As always, technology is changing at a giddy rate. So it’s important to focus on what we need: A good virtual machine that can have a well-structured sandbox with rich interfaces on the client side and that can harness cross-(app-)provider interaction. This is a hard thing to do. We will probably be suffering from shitty web-technology for a while to come. But it’s important to focus on what we need — and strive towards reaching it.
One last remark: I personally would prefer a rich, scriptable Instant Messaging system as a platform of choice; IM services are getting the namespace-problem sorted out. There is no end to chaining and piping possible (Twitter is a good example for what one could do with IM, not exactly the downtimes though). Instant Messaging has the whole social-networking who-are-my-friends concept already built-in at it’s innermost core, it’s not just some crème on the surface(!). Peer-to-peer communication is an absolute built-in as well, that still could be massively expanded. And, in the end of the day, messages provide a much more intuitive, non-crufty, also text-based interface (and for me as an AI developer, it’s a lot more interesting).
Alright, IM as a platform hasn’t yet been taken seriously, or possibly even thought of in this way. So far, there hasn’t been movement in terms of a scripting standard AFAIK (but if, it’d be cool, ’cause it’ll be Erlang). Also, how to do visual interfaces remains absolutely unclear. But I find the idea of a rich Instant Messenger much more attractive — and less messy — than using the browser as platform of choice for internet applications.