Let’s develop for Erlang, rather than for the Web browser.
There has been a lot of discussion lately about the application development platform that Facebook has become, as well as on the various other “Web operating systems” that are being developed. For example, there was some discussion today on Slashdot about Facebook’s acquisition of Parakey. I think it’s quite unfortunate that the industry is heading in that direction. It’s looking like that’s the wrong direction to go in.
One tell-tale sign that these Web-based application platforms are a poor way to go is the very term used to describe them: “Web OS”. It should be clear that they are not “operating systems” in any sense. For them to be referred to as such by their developers suggests a limited familiarity with real operating systems that interact directly with hardware, schedule processes, and manage memory and other physical resources. Such a mislabelling is quite worrying.
This comment at Reddit goes to show the pointlessness of these Web application platforms. The last sentence is particularly telling: I’m not saying that you could write a Photoshop replacment using these technologies, but it should be possible to write e-mail tools, simple games, text editors, and so on…
So these Web-based platforms aren’t suitable for any significantly complex software, but they merely let us duplicate software that we already have (ie. text editors and email clients). That’s not progress. It’s perhaps even a regression, as no new benefits arise, but we do pay increased performance and quality penalties.
Instead of looking towards JavaScript and the Web browser, maybe the industry should be looking towards Erlang. It’s clear that we’ve entered the era where typical desktop systems will have two or more processors. Thus the software we develop will need to take parallelism into account. Erlang can handle this with ease, in a very natural fashion.
What I imagine will happen is that these Web application platforms will gain popularity, even in the face of poor scalability on multicore desktop systems. So in a few years there will probably be efforts to molest and twist the existing browsers into having better support for parallel processing. Perhaps by that point it will be realized that the Web browser is a poor platform for software development. It’s too bad it will probably take several years before the industry in general realizes that they should’ve just started looking into Erlang-based solutions earlier.
July 22nd, 2007 at 5:53 pm
you are so full of shit.
July 22nd, 2007 at 6:11 pm
Oh yes! Erlang is the panacea of all web development woes!
Oh my god I wish I had written that in my blog yesterday!
The thing is, the web browser is an all-pervading,
fairly-effective platform for interactive server based GUI
applications. Guess what? Server based applications have
magical benifits, like:
* Users don’t have to install them
* Don’t have to worry about security
* Or upgrades
* Or even paying for them in most cases thanks to
advertising
* Don’t have to worry about transfering files from home PC
to work PC to laptop to palm, etc.
* Don’t have to worry about backups
There are definitely more if you want me to enumerate them,
but for the meantime I won’t get nauseatingly pedantic.
I think what you are proposing is to write a sort of web
browser in Erlang. I don’t have anything against Erlang (in
fact, I think it’s one of the best languages out there for
writing robust production quality _server side_
applications). Did you catch that little parenthetical note?
I said _server side_. I have yet to hear of a single client
side application written in Erlang (does Erlang even have a
working graphics library? haha, I have yet to successfully
compile one).
How about you write those graphics bindings yourself and
then reimplement Firefox in Erlang, and then install your
new fancy Erlang program on 95% of the desktops out there?
Then I’d love to write a server side application for it.
July 22nd, 2007 at 8:15 pm
@MemoryWhore: at least you could give credit at what the OP’s right : “Web OS”es are not really operating systems.. and they also have a lot drawbacks to the one you name. Like :
* Users have to think about privacy (which they don’t) every time they use the tools.
* It’s very often complicated to get the datas out of the systems (as a user. Try to migrate your Hotmail account to Gmail)
* You are in trouble if you have no internet access as all your datas are online.
* The HTTP protocol is designed very poorly (and worse with HTTP 1.1)
July 22nd, 2007 at 9:03 pm
@zimbatm: I basically agree with you on all accounts, but
saying “the current platform for web-based apps sucks” is a
pretty inane statement that all experienced web developers
would agree with.
The privacy issue is here to stay, but the other issues are
being addressed incrementally.
Accessing your data directly will eventually be accomplished
through XML and other open standards. Clearly we’re not
satisfactorily there yet, and that’s why I maintain my own
blog even though it’s a pain and it breaks frequently.
Internet access is becoming more ubiquitous, so although
dependence on Internet access is an issue, it’s not a killer
one.
And yes, the HTTP protocol does suck, along with the rest of
the browser platform, but this is also being slowly
addressed with things like the JS XHR object, Silverlight,
the canvas tag, and even things like OpenLaszlo. Yes it’s
happening painfully slowly, and it’s a real mess.
Honestly the idea of starting over from scratch is
attractive (in a fantasy world), but practically it’s
unrealistic, and doing it in Erlang is truly absurd.
July 22nd, 2007 at 10:41 pm
If those pesky little Web 2.0 apps weren’t hogging all the CPU, you’d probably be using a good old 386 right now, so just let them run around in circles (they ain’t going nowhere) and force CPU vendors to lower the prices and develop better computers for the ones that can use the available power with wisdom. Only if these were hardware graph reduction machines … damn
July 22nd, 2007 at 11:39 pm
A great example of what I just said:
http://javascriptgamer.com/brickslayer/
An Atari 2600 could run this game smoothly … my P4 3.0 GHz can’t, so this pushes Intel to develop something that could run the crap in-browser-javascript game decently for a fair price … which just happens to be a hell of a great machine
July 24th, 2007 at 12:27 am
[…] Herrmann just left an excellent comment to an article I had written about the general inadequacy of JavaScript-based Web applications. In […]