This slide deck is using the shower system - roll over the previews to see the notes and click any slide to go into presentation mode. Then use keys to navigate.
Chris Heilmann, Mozilla, Smashingconf, Freiburg, Germany, 19/09/2012
Today I will speak about changes happening in the web. I will also argue that future of it is not as problematic and endangered as a lot of people make it out to be.
Photo by pkevinconnell
I have been professionally developing web sites for the larger part of the last 15 years, wrote quite a few books and lots of articles. Yet when I look around right now, I do feel incredibly stupid and wonder if I should hang up my coat and do something else. Almost daily we have new tools, new best practices and systems to use and a lot of it is very far removed from the original web development technologies that are defined by the standards bodies.
Photo by Klearchos Kapoutsis
I get the feeling of wanting to stop and go for example into goat farming. The issue is that I am bad at being outdoors and I really don't like goats that much. So that is a no-go.
Photo by Pelle Wessman
I am also very confused about the message of doom and gloom we have right now when it comes to the web. Many spokespeople look at the sales numbers of smartphones and call us out for not doing enough to keep developers interested and get newcomers to start on the web rather than somewhere else.
But things are looking up!
To me, on the other hand, not everything is doom and gloom and the web isn't losing. I am actually very excited about what we are doing on the web and I see a lot of great things that are happening right now. I look back at what I had to work with in the past and see how professional and rich our development environments are now and I am very happy indeed.
So where's the disconnect?
So what happened? How come I am excited about the web and its immediate future whilst others are feeling an urge to protect it from certain doom?
Photo by Yutaka Tsutano
Part of the problems we see right now is ubiquity of technology and connectivity. The web is not the cool new thing any longer - instead everybody seems to be on it and uses it all the time. Not like we did in the past but through apps and small updates in social media.
Another issue is the speed of innovation - almost monthly something exciting comes out that makes the last big new thing seem boring and unwieldy.
Always new, always better…
Jimmy Kimmel - iPhone 5 first look
I think one of the things is a perception of constant new demands by our end users and people who spend money on seemingly our market. However, a lot of this is just marketing and people repeating things they heard - suspension of disbelief.
This video shows people who get handed iPhone4S and get told that this is the iPhone5. What do they think of it? Nearly all of them find something extraordinarily cool about it and say it is better than the last one - even those who own the same version!
Let’s put this in context: mobile internet usage has doubled last year, and right now about 20% of all web traffic in the US is from mobile devices. This means Retina screens will soon become the norm.
Of course us being excited about these cool new things means that a lot of us call it and say that everybody these days has these cool devices and the newest technology and we need to keep up.
It is a very myopic way of thinking though. The web is world-wide and first of all only a few of us can afford these devices, secondly a big chunk of us can not get them in the place we live in and thirdly people forget that an initial investment that hurts doesn't mean that people want to replace their hardware every few months afterwards.Not to mention that high speed connectivity is not as ubiquitous as we consider it to be. Especially on mobile devices.
The reason we struggle with insecurity is because we compare our behind-the-scenes with everyone else's highlight reel.
We seem to be not quite at ease with what we are doing at the moment, regardless of the fact that our job market is ridiculously good and we get paid very well for a comparatively easy job. Instead of considering this for a moment we constantly compare ourselves with success stories inflated by the tech blogs who are there to inflate such stories.
Woe is us! HTML5 is dead!
At TechCrunch Disrupt Mark Zuckerberg was interviewed and in the immediate coverage by the tech press quoted as saying that HTML5 was a big mistake.
I think that the biggest mistake that we made as a company was betting too much on HTML5 as opposed to native, because it just wasn't there.
Mark Zuckerberg (of sorts)
The quote went like this.
Especially when the interesting bits get cut…
It's not that HTML5 is bad. I'm actually long-term really excited about it. And one of the things that's interesting is
we have actually more people on a daily basis using mobile web Facebook that we have using our iOS or Android apps combined. So mobile web is a big thing for us.
What was failed to mention were the interesting bits.
But there's no doubt that, we went for this approach,
we built this internal framework that we called Faceweb, which is basically this idea that we can take the infrastructure that we built out for pushing code everyday, not having to submit to an app store, building web code on the web stack that we have, and that we can translate that into mobile development. We just were never able to get the quality of it we wanted…
It seems the main failure was Facebook's approach and internal system creating HTML5 apps - not the technology itself.
Don't listen to and quote "tech press" funded by clicks
The path to keeping your sanity in this world of ours is not to care about the shouty news outlets that need clicks to make money.
Emulation brings frustration
There are a few things that are going wrong right now and I think that the larger part of them is related to the fact that we emulate native apps and practices of thick client development rather than embracing the fact that the web is a different challenge. Yes it is software, no it is not a defined platform with established processes.
The dirty little (not so) secret…
There is a secret behind all the failures of HTML5 in the mobile market, and it actually stinks.
Web = disrupting app sales
Photo by Ricardo Liberato
On mobile devices, if you think about it, most of the money comes from app sales. And the web is in the way of app sales as they are now. So there is not really much incentive to make web apps have good performance or access all the good parts in the hardware as it would mean developers don't have to become part of a vendor's program or pay to get access to their sales platform.
Photo by Library of Congress
The lack of drivers that would allow apps written in web technologies to access the whole hardware is the biggest issue. This even affects laptops and desktop machines - a lot of WebGL can not be used even in brand new computers.
Firefox OS - we're on it!
This is where Mozilla is right now going full force to bring a change to that dilemma. Firefox OS will be the first truly open operating system for mobile devices.
Let's re-focus here for a bit
Don't be too proud of this technological terror you've constructed. The ability to sell a lot of apps is insignificant next to the power of the web.
Darth Vader (of sorts)
But that is by the by. Let's actually go back and see why the web is a great idea for us to work with.
The web is amazing and empowering
Mozilla Webmaker is an ongoing project to turn pure consumers of the web into makers. We teach basic web editing skills, how to publish and mix video with online content and basic ways to keep safe and have a good time on the web. Attending one of these events is not only humbling but also incredible. It is amazing to see how things that we consider boring and "common knowledge" make people go crazy about creating and doing things they haven't done before.
Misunderstanding leads to failure
A lot of the frustration we see is that people have forgotten the main principles that the web is based on. Including us.
Communication and collaboration
Adam Roberts: New Model Army
I am right now reading New Model Army by Adam Roberts, a science fiction book about a war in England between the traditional army and the New Model Army, a group of mercenaries organised via the web and wikis. The main difference of the NMA is that there is no hierarchy - everything is voted upon and decided on the spot. This means the army is almost impossible to defeat as it moves much faster as there is no waiting for orders from above. They are also professional soldiers, there to fight other soldiers without any ideological and national interferences. All they defend is the right to be truly democratic in their decision making.
There is no single point of failure
The starfish and the spider
The starfish and the spider is another book that talks about a principle that makes the web what it is. It explains that organisations without a single point of failure are much more likely to succeed than those that have a massive hierarchy and will be likely crushed by their own size. App markets are those things.
One of the main things is though that the web exists, the web driven by the open and free technologies that we advocate. It works, and it has outlived many of the other closed technologies that were always heralded as its end.
Photo by Matt Brown
It is not at all a time to sit on our laurels though. There is no doubt that the web has lost a lot of its appeal to new people.
The hype cycle
Partly this is because we've become mainstream. The web is not the edgy cool new technology that can play with tech in any way we want. We have to consider the fact that mainstream media is powering a lot of it with advertising and cross-promotion of real world events and products. Thus we should be at the productive phase of the hype cycle, but somehow we missed that point and are still struggling to find a way to turn over a lot of products without re-inventing.
Well said, Lea
One big thing is to re-think the tools we have. Whenever we talk about the web, sooner or later the talk is about text editors and writing lots of code by hand. We should be better than that by now and make it easier for anyone to create on the web.
The success of other platforms with new developers is that they are simple to learn. You are in a fixed environment, you get a few Lego bricks to play with and you can build your first thing.
Instead of concentrating on being as fast on our feet we keep boring people with the same old tales of how the web came around and how HTML got better and we can add semantic value with microformats and many other tales of yesterday. In a world where all browsers run the same incredibly forgiving parser talking about purity of HTML and semantics falls on a lot of deaf ears of those who just start out and actually is a deterrent. We failed to make semantics matter - microformats are a great idea but when no browser does anything visible or useful with them and they don't bring a search engine benefit they are superfluous to people who just want to publish their work.
When HTML5 got defined we should have been quicker getting our needs and demands in. If you think about it - the JS part of HTML5 is incredibly powerful but the semantics are not that amazing. We knew we wanted to move the web from text to apps, but we failed to define the necessary widgets. Instead we got elements that got defined by which classes people used in their HTML in the past. Most app-style widgets were created with JS and had no classes at all as not many libraries enhanced progressively. Even now we don't help browser makers or demand better support for rich forms, for example.
The lack of a packaged format
Photo by Beck Gusler
We even failed to think about a packaged format for an HTML5 app. Portability means that you have installers and de-installers instead of running an app in a browser. Right now we have no one-size-fits-all approach to that. The w3c widgets were not the right format so Chrome, Mozilla and PhoneGap all came up with their own formats instead.
The flight into abstraction
We're always so proud of the portability of our web technologies and that they are so easy to learn and use and adapt to whatever you throw at them. However, when you look at it from an outsider's point of view there is a lot that is not portable or reusable in what we do. Every single HTML slide system is a great example of that. Or try to send an HTML file to someone who doesn't know HTML - they'll open it in word and everything is broken.
The broken and complex "open"
And we don't help the cause much. We again make the mistake we've done in the past of building solutions for one browser or demanding the end user to turn on things and change their setup. Many open solutions demand you to go five steps where one installer would be the right thing to have and we expect people to like setting up lots of tools using the command line. This doesn't help us win against closed technology.
So how can we get back the hearts and minds of developers? I think we need to create new products and take different approaches than we have in the past. We should focus on making things easier for people, not strive for purity and deliver like we did in the past. We need to leave our comfort zone cause that is where the magic happens.
Bret Victor - inventing on principle
Bret Victor's Inventing on principle talk is a great start for that. Bret's big principle is to allow creation by making the step from creation to seeing the results as short as possible. He shows off a few tools that are not only WYSIWYG but also work in both directions. You write a game by playing and adjusting the position of the player along a timeline. Thus your testing happens while you develop.
Building blocks in the browser
Web Components -
WebGame stub -
Another big thing I am very excited about are web components, which define the missing app widgets we need, X-Tag which makes those available cross-browser and the Mortar and Webgame stub systems. Both of those allow any developer to start an app or game from building blocks and with a deployment script that uses GitHub as the host. They even create the offline and app manifests for you. Watch out for that.
The time is now, the place is here…
Shaun Tan: the lost thing
All in all there is no doom and gloom here, but we should have a sense of urgency. We have an incredible amount of good things to share and tell but if we fail to do so we'll appear as an outdated group of experts. Today is the day you can help the web be sexy again.
The first step is simple. Write and share wisdom. Do not do it in random places, instead join one of the open systems that already contain great content and make them better.
Complain where people listen
The second step is to reconsider our ways of complaining. Yes, it feels good to vent on Twitter or our blogs when things are broken, but it doesn't give you the feedback you need. You don't reach the people who do fix your problems, you just advertise that the web is not ready and people are not even fixing issues. And this is not true, when you file bugs and complain on the channels where the developers of browsers and the makers of standards are available things do change for the better.
Collaborative coding and styling
One new thing that came around in the last years is a massive amount of collaborative development tools allowing you to host a development issue and get it fixed by others with you directly there. Use those as fixing an issue with an immediate result works much faster than long-winded explanations as to what could be done.
Last but not least, support the open training and education tools that are mushrooming all over the web right now. A lot of them are funded and need content. The earlier we can get people to play with the web the harder it will be to get them messed up again by traditional education. I'd wager to guess that all of us came to the web because of interest and tinkering with things rather than graduating in a course. Let's make that the way in for new makers of the web, too.
Focus on the great things and tell their story
Let's watch that movie, the one where a wife and all but one children of a family are brutally murdered, the last child gets kidnapped and the father starts a desperate attempt to find it with his only ally being a mentally challenged woman.
Remember that when you talk about the web to get people excited about it to point out the good things. We are far too good complaining openly about things that are broken but fail at sharing our excitement. Let's do that more.