History Repeats Itself
I haven’t had much time to think out a blog post on a single subject, so let me tell you about a few things that have been on my mind. Some or all of these may become longer blog posts in the future.
W3C in the News
The World Wide Web Consortium, the standards organization which brings you things like HTML, has been in the news for two fairly large items. The first was the subject of a feature story in Reply All. In the episode, one of the producers of the show speaks about how W3c is deciding on including DRM (digital rights management) in future browsers. The reporters present all sides of the story and also raise some interesting issues, though for a podcast about the internet I find it baffling that the hosts had never heard of the W3C.
For instance, the members of the W3C which want DRM included (mostly media companies), also want the code which manages the DRM (for, let’s say, a Netflix movie) excluded from open source projects. This presents the web browser companies with a difficult choice. If the browsers resist this request, they will lose a lot of market share, as no one will be able to use their browser to watch or consume content. On the other hand, putting DRM in and not open sourcing it can turn off a large portion of their developer communities. In this scenario, DRM bugs are also more difficult to find since the browsers rely on the developer community to find and resolve bugs in their code. This means that hackers could exploit bugs in the code undetected for long periods of time before a patch for the security hole is released.
While we’re on the topic of Mozilla and things running smoothly inside of a browser, I wanted to point your attention to a long, but excellent article about the short history of the the FirefoxOS. The inability of the OS to run things as part of the browser was one of its major pitfalls. Perhaps the development of WebAssembly will bring us closer to the reality of what this OS wanted to be.
DRM is difficult and always unpopular. It is also a necessity for artists and content generators who work hard on their projects. Most of us don’t work for free, and neither should our entertainers. It is also a fact that at this point, DRM is always going to be one step behind hackers and pirates. At the same time, once content is purchased, it should have unlimited availability to its owner. My guess is that browser-based DRM will have a similar life to Apple’s failed DRM. Users will manage with it until it starts to hurt distributor’s sales, and then the distribution companies will come up with a pricing model that is very fair to the consumer and less friendly to the creator.
WebAssembly is intriguing for how early on it is in its development. There is a ton of potential here. Compiling on the end user’s machine makes a lot of things possible such as faster web apps, games, etc. Reaching critical mass will be WebASsembly’s major challenge. If web developers don’t pick it up and advance its capabilities quickly, the future of WebAssembly could be at risk. Mozilla, the first browser to support WebAssembly, needs to make some partnerships that will demonstrate the potential of this technology so that it can join the mainstream of internet development.
Finally, it is unfortunate the FirefoxOS did not catch on. The article does a good job of explaining its major pitfalls, but I can’t help but stop thinking about what the mobile space would look like today if it had taken off. For one, I think the way we view apps would be totally different. Since apps would be created for browsers, any app would be instantly available on all three major platforms (iOS, Android and Firefox). There are many apps that are extensions of their mobile sites today, but basic phone and video capability is still lacking even in today’s web apps.
I guess all-in-all it is a funny time on the web, and with how fast technology is moving, it is not surprising how fast history is repeating itself. One day soon, everything will converge, and we will have everything we need to operate our lives smoothly out of a browser.