Hacker News new | past | comments | ask | show | jobs | submit login

I would want very much to go back to "native apps for everything", but it seems we went too far to be able to turn back. So this idea is for some better world where communism wins and everyone lives happily. Or whatever.

Let's recap what was there in the previous series…

1. Some folks made a network out of several computers and saw that they can now exchange information without sending mail and picking up a phone. Cool.

2. Some guys invented a simple protocol to assign address to every piece of information we would like to exchange. They invented HTML, to be able to put these addresses in the body of the document. Also, why don't we make several keywords to make that information a bit more structured? We'll use SGML as a base, because it's trendy.

3. More programs to use these protocol and markup language appear, markup transforms further to be able to add images to the body of the document and so on.

4. Somebody comes up with the idea that markup should give a structure to the information, and there should be another document — stylesheet — to describe what that stuff should look like. It also has to be cascade, because he's smart.

5. At this point things are pretty bad already, because there are many programs to interpret this protocol, and they are fighting with each other over the audience. But if back then people would make HTML and CSS "good enough" the idea of separating content and representation would have worked out and we'd have what we are talking about now…

6. …But something more interesting happens, and instead of plain simple document-exchange system we now have plugins, then applets, then javascript, then web2.0, ajax, interactive applications right in the browser. It isn't possible anymore for markup to be content and for everything else to be representation, because both are changing in real time, as user pushes buttons. And there're even more browsers to interpret this madness, and they are fighting with each other as never before.

7. Also, now we have some major evil corporations, that have lots of money to shape the technology world as they want, and they want to own all our data, which means making as many useful apps as possible server-side: which means moving all major client-side apps to the browser.

8. Now every site is fancy app, drawn by designers in Photoshop, then painfully re-created in html, css and js. Thousands of libraries and "frameworks" are made to make this "creating app in the browser" process comfortable, but they don't succeed. Although it's now somewhat easier than making native apps, because hardly anyone cares about them anymore.

We achieve a point when HTML — no longer actually relevant thing in this world of interactive madness — seems to be "good enough" to stop evolving. We look back at #5 — browser as an app to show simple documents — and sigh. It would be good, but the whole world uses our in-browser-apps now. It is what customer is used to. We can't make our "simple" stuff, because nobody cares about simple.




On the other hand, the browser provides a ubiquitous, consistent-enough runtime across basically every consumer computing device, and people who are interested can get up and running with developing basic apps for it in a matter of days, using only tools that cost zero dollars.

Can you imagine what the designed-by-committee-for-that-purpose version of a universal runtime would've looked like?

(hint: the answer is it looks like the Win32 or Java platforms/APIs and has just as many warts if not more)




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: