The web is for the people
The web is for the people, and I believe the web is the most important medium we have. Recently, there has been some discussion about the web vs. other platforms, so I’d like to present my thoughts.
What caught my attention was two blog posts: The web is a different problem by John Allsopp and Web Technologies Need an Owner by Joe Hewitt. The discussion is about the web as a platform, what kind of progress people believe it makes or not, and how things should be done. It was also followed by a lengthy discussion on Twitter between several parties, comparing technical features as well as the mindset surrounding it.
I thought I’d address some of Joe’s thoughts here, which come down to that he believes there should be an explicit owner of web technologies and it would be a good thing if we only had one rendering engine out there. He also claims that people speaking for the web are more about ideology than relevance, and the web will never be the dominant platform.
First of all, the web is one of the most important things mankind has. To have a medium available for everyone, in such a democratic fashion, is beyond belief when it comes to the world being as open as possible. The low barrier to both take part of it, share on it and code for it is nothing but amazing! So, I’d say that ideology is indeed very important.
That doesn’t mean it can’t be relevant, though. A number of closed platforms have created great things, but I would say the evolution the last couple of years with HTML5 and CSS3 features and how web browsers are improving everyday is fantastic, and it continues to do so in a rapid way. And while improving, it is also about giving users choice: not to tell them what to use or how to access it, but instead offering end users to choose their own tools, and to combine them any way they see fit.
One rendering engine? Yeah, that worked out great last time around… We need competition, we deserve options. Microsoft, Google, Apple, Opera and Mozilla are all vital to the ecosystem of the web; to push each other to become better and to foster innovation that everyone gains from. I work for Mozilla, but I would definitely not want to see Firefox (or Gecko’s rendering engine) as the only one out there. We need a balance to together form and grow the future of everyone.
To me, when it comes to just one owner, one rendering engine compared to the diversity we now have, it’s usually just that it can in cases make it harder for developers – but that’s what standards are there for. And if everyone comes up with something new and it’s good, the other players will adopt it, and if not, it will become obsolete. This also helps to ensure what is out there for everyone is something we all gain from, and that company-specific interests have been weeded out in the process.
I’d argue that the web is indeed already the dominant platform, and that it has to stay that way.
The web is the true form of democracy: people from any part of the world – with any background, gender, social status or skin color – can take part in and build the future. Some things can take longer to reach consensus about than in a closed company-controlled environment, but I would have open and democratic standards every day over that.
Let us continue to build the web together!
I choose the people. Who do you choose?
I think the web is the only platform where cross-platform development and even UI works out and is accepted by the users. So I too see a bright future for the web.
On the other hand I see a bright future for native platforms as well: The right tool for the job has to be chosen. Imho saying that the web is the only one true platform that should be used to create every app imaginable is not the right way to go, either. Maybe it will be some time down the road. But today I think that in some cases native is the right way to go, in other cases the web is the right way to go. The question “native vs web” is a relative one: It can only be “Is native or web the right solution for _this problem_?” but not for all.
I agree the web is already the dominant platform and will continue to be so because of its unique position.
I don’t understand the argument that there are no ‘owners’ of web technologies:
At the top of every W3C spec are the names of Microsoft, Google, Apple, Mozilla and Opera employees. There are permanent W3C employees and public mailing lists where everyone can have a say — it’s a cooperative kind of lead — better than one company leading outright, and primarily serving their own interests.
The web platform has successfully forced the MS monopoly into this collaboration. But they can still innovate outside of the W3C, if it works for everyone it ends up in a W3C spec.
This reminds me of the wise words by Paul Downey that will never be repeated enough:
The Web is Agreement. Period.
Thanks for writing this, Rob. 100% agreed.
I think there are many sides to that. I’d like most of the things to be based on the web, but some areas haven’t reached that far yet – I see that as inspiration for how to make the web better.
There will most likely always be cases when something native, for various reasons, can be better for that specific instance. And that’s ok, you have to be pragmatic about it. But I do believe that the web is, or should be, the way to go in most situations.
To be able to use open technologies and to reach as many people as possible, without companies deciding what you are allowed to share on their platform or not, and without building ten different versions of the same service. It’s is not just about ideology and belief, but also financial and maintenance reasons.
I completely agree!
And definitely, that is what it is all about.
I fully agree with you that the web will get better and that it is wonderful when you only have to write an app once and almost everyone can use it without any restrictions or any middle man.
When it comes down to providing _the best possible_ experience for your users, however, the web might often, but not always be the ideal choice, imho. At least not yet. It often is. But not always.
And since a lot of people and companies are making software to make money, it is often crucial to provide the best possible UX for a particular platform. Sometimes that is achieved with web technologies (when the app is built in such a way that it is either platform agnostic or adapts to the platform it’s running on), but especially on mobile I see that at least today, the UX of native apps tends to be better for the end user.
That might likely chance in the future, but I simply doubt that mobile vendors have a strong interest in making the web the primary development platform for their system: Android wants to be better than iOS and vice versa. For Apple and MS (for example), there’s no compelling business reason to put money into innovating the platform of the competitor along with your own. That’s why I think mobile vendors will keep putting a lot more effort into improving their native than their web platforms.
So it is not a technical issue, but more one of business strategy, I think.
Just my 2 cents 🙂
Interesting thoughts! A lot of things could fall under best user experience – access to it, cost, ownership etc. I do believe you are talking about just user experience within the app, and I agree: native apps today seem to overall be better at creating an experience that is more consistent with the rest of the device’s operating system.
I believe that in most cases, it is probably not the best approach to mimic native behavior with other technologies, unless you can completely match that behavior. Not doing so will confuse users and leave them dissatisfied. Like you say, better to go the platform agnostic route then.
When it comes to business strategy, it is a very interesting point: it could be about where many users are right now, but in my experience, lots of companies go from writing device-specific applications to a more general web approach. It’s about reach and not being controlled – two important factors for doing good business in the long run.
I don’t understand why people even argue that web standards are moving so slow that they should be replaced by proprietary technologies. If that is true it will just happen by itself and then the web will tragically be replaced.
As it is now I believe that the web is defined by the standards process, the web is the equivalent of the open platform that is standardized by W3C.
We just need to work to ensure that this process doesn’t fall behind other technologies so much that it will be too much of an incentive for users to change platform. Because if that happens we will also loose the freedom and democratic ideas that we have come to love our web for today.
The web is not for the people, the web must always be by the people, the people is the web.
PS. Also we should not forget that what has mainly been holding the web back for the last decade or so has not been the speed of the standards process but the speed of browser adoption among users.
I think it’s rather the belief that if just someone was in charge and controlled everything, things would be faster (although not as democratic as before). And I’d say: the web is both for and by the people.
I think web browser adoption is just one things of many. We had the long era of Internet Explorer dominance, a standards process that focused too much on XHTML2 etc. But I believe where we are now, with web browser implementation pace and HTML5, things are becoming much better than before.
I guess I was referring to the one rendering engine bit, which one could argue that a browser plugin like flash/silverlight is. One company in charge of creating one rendering engine on a specification that they control themselves. No standards body to hold them back.
But somehow most people chose the path where they can chose their own preferred way of producing and consuming things…
Ah, I see. Yes, absolutely, that’s something that comes up often, but look where we are now when it comes to Flash and Silverlight.
The Idea of one rendering engine to power the web was an idea that also came to me a week or so ago. Now I’m all for competition in driving innovation forward on the web, but as it stands now, with all of the different engines out there, the idea of “write once, work everywhere” just doesn’t hold true enough in the developer world.
What I think would be a great solution to this problem, as far fetched as it sounds, would be to have all the browser vendors, Microsoft, Google, Mozilla, ect. work together with the standards bodies to build one great web engine, feeding all their ideas together, and then they individually focus on building better browsers that they want users to experience the web through.
This way, browser innovation can grow even more rapidly and the technologies that run the web can grow cohesively with the ideas and innovation from everyone.
I believe it’s really a win-win situation, developers are happy because we can actually spend time creating great applications without having to waste so much time debugging why that dumb error is happening in just one browser for instance, and users are happy because more immersive applications can come out faster.
Thanks for your comment.
The enormous power of the web isn’t necessarily “write once, run everywhere” but that a bulk of it will actually work and at the same time, you can cover myriads of platforms on all kinds of operating systems and devices. You will never get the same rendering engine everywhere, nor do I believe it’s a good idea.
I sincerely believe we need the competition to keep innovation going and to have the balance intact.
[…] Robert Nyman (of Mozilla) agrees: The web is the true form of democracy: people from any part of the world – with any background, gender, social status or skin color – can take part in and build the future. Some things can take longer to reach consensus about than in a closed company-controlled environment, but I would have open and democratic standards every day over that. […]
One of “the people” checking in here:
There is some ingredient I am missing in the programming of browsers. Don’t the organizations who provide the browsers Firefox and Opera have to do a lot of work every time Microsoft, Apple, and the myriad providers of Linux move to a new version of their operating system? (I ask only about these two browsers because their creators do not own an operating system in the sense that the developers of Explorer and Safari do. )
I am looking for an answer like:
(a) No, it doesn’t take much work. One person could
take care of it.
(b) It takes a fair amount of effort: a team of ?
fairly high-level programmers employed over
If someone is willing to hazard an answer to such
a vague question, I will explain why I am asking.
I would like to thank Robert Nyman and the
commentators for providing a little perspective
to an outsider.
(I am quite ignorant in this realm. For example,
the Macintosh operating system has known for
a long time how to draw a line on the screen.
Now via Canvas, Safari can. I don’t understand
the relationship between the two lines, e.g. does
the Safari line use the operating system line?
This is a rhetorical question, only stated to
illustrate the nature of my ignorance.)
Thanks for your question.
It is very hard to say exactly how much work it is. The only reasonable answer is “it depends”. It depends on the new version of the operating system in question, the changes being made, graphic libraries being used.
I believe it will be more work at times, and at others, not that much.
to Robert and others looking in here:
Joe Hewitt wrote:
“I can easily see a world in which Web usage falls to insignificant levels compared to Android, iOS, and Windows”
The organizations involved are Google, Apple, Microsoft; and Hewitt’s future, which seems to me not unlikely, will keep them very busy competing with one another. Without imputing any bad motives here–operating systems seem to get more complex–Google, etc. are not likely to spend much effort making the intricacies of their operating systems accessible to outsiders (like Mozilla) who hope to build a fairly platform independent browser. So that is why I asked about the cost of maintaining a browser like Firefox. I thought it might be expensive, and I wondered where the support will come from to keep up with Chrome (for example) in the near future.
Robert, thank you for your reply.
All web browsers vendors have clearly stated their dedication and ambitions to support open web standards, no matter if they are also working on an operating system.
Mozilla get income from co-operation deals with Google and many other search providers, and from funding from various companies and individuals.
You know a lot about this realm, so I will take some hope from your reply.
When Firefox innovates in a corner all by itself, that innovation is meaningless. Experiments and personal projects are neat but no one in the real world develops for innovations that only work in Firefox.
With Firefox participating in the WebKit Open Source Project, you have access to all of the same innovation, competition, and yet there would be a single funnel for stable/production releases so that human beings can spend less hours on the occasional cross-browser debugging nightmares.
Somehow Google & Apple are managing to do it. Please join the party: http://www.webkit.org/
To be fair, standards & jQuery have helped, aside from some ogg codec issues on firefox.exe, we haven’t done any cross-browser debugging for firefox in awhile. It’s consistently been IE bringing up the complaint amongst our camp. And I have no faith that MS would ever make the choice to use WebKit, while I’d hoped Firefox would’ve done it by now.
Every web browser vendor does just that, and when they feel it’s ready for prime time, they submit it for standardization.
As expressed in this blog post, I think it’s vital that we have competition in the world, no matter the field. I’m convinced that having just one rendering engine, but in slightly different packages, would be bad for the web, for developers and for end users.