It’s fashionable to say that the web is bloated, and that the features
built to support webapps make it too complex. You
can
dividethe
web into:
Documents: providing information. News, blog posts,
documentation.
Apps: doing things. Email, spreadsheets, games.
(This is really a continuum, where a blog post with a comment
section is pretty documenty but also a bit appy.)
On one hand, I completely agree that supporting apps makes the
platform complex: browsers are incredibly complicated to build and
work on, with such a high ongoing maintenance cost that we only have
three rendering engines: Firefox’s Gecko, Chrome’s Blink, and Safari’s
Webkit (Blink is a fork of Webkit). On the other, supporting apps is
much better than the alternatives.
Outside of a browser, there are essentially two models for getting
applications:
Independent installation. You download the program for the
manufacturers website, or loaded off a CD. The desktop model.
App store. Your OS has a list of programs that can be
installed, and which have gone through some amount of review. The
smartphone model.
Independent installation is decentralized, but also a security
nightmare. Random users installing random software gives you botnets.
App stores are centralized, which puts their operators in a position
of enormous power over what users can run on their devices, and means
governments can require them to
take
down apps.
The web has developed with the principle that it should always be safe
to visit a site. As new capabilities have been added this has
been critical to maintain. This means you don’t need an app store,
with power to reject your app.
Mozilla believes that the web can displace proprietary, single-vendor
stacks for application development. To make open web technologies a
better basis for future applications on mobile and desktop alike, we
need to keep pushing the envelope of the web to include—and in
places exceed—the capabilities of the competing stacks in
question.
…
We want to take a bigger step now, and find the gaps that keep web
developers from being able to build apps that are—in every
way—the equals of native apps built for the iPhone, Android, and
WP7.
The web platform has come so far in supporting apps over this decade;
we couldn’t have made
Bucket
Brigade without
Web
Audio or
WebRTC. A
web developer should be able to do anything native app developers can,
making apps for any device, free from vendor veto.
We Need Browsers as Platforms
Link post
It’s fashionable to say that the web is bloated, and that the features built to support webapps make it too complex. You can divide the web into:
(This is really a continuum, where a blog post with a comment section is pretty documenty but also a bit appy.)Documents: providing information. News, blog posts, documentation.
Apps: doing things. Email, spreadsheets, games.
On one hand, I completely agree that supporting apps makes the platform complex: browsers are incredibly complicated to build and work on, with such a high ongoing maintenance cost that we only have three rendering engines: Firefox’s Gecko, Chrome’s Blink, and Safari’s Webkit (Blink is a fork of Webkit). On the other, supporting apps is much better than the alternatives.
Outside of a browser, there are essentially two models for getting applications:
Independent installation is decentralized, but also a security nightmare. Random users installing random software gives you botnets. App stores are centralized, which puts their operators in a position of enormous power over what users can run on their devices, and means governments can require them to take down apps.Independent installation. You download the program for the manufacturers website, or loaded off a CD. The desktop model.
App store. Your OS has a list of programs that can be installed, and which have gone through some amount of review. The smartphone model.
The web has developed with the principle that it should always be safe to visit a site. As new capabilities have been added this has been critical to maintain. This means you don’t need an app store, with power to reject your app.
Ten years ago Mozilla posted Booting to the Web:
The web platform has come so far in supporting apps over this decade; we couldn’t have made Bucket Brigade without Web Audio or WebRTC. A web developer should be able to do anything native app developers can, making apps for any device, free from vendor veto.