While at MIX11 this year, I talked with Microsoft’s Ziad Ismail about Internet Explorer and how Microsoft is making it into not just a web application, but an application development stack. A large part of this is doing what Microsoft calls “native HTML5,” meaning taking advantage of the machine the browser is running on from operating systems (Windows) to hardware (like GPUs).
We go over the announcements of the conference, like the available of IE10 as a preview. And, there’s plenty of HTML5 talk as well.
What I like about Ziad’s comments is that you can tell Microsoft is looking at IE + Windows as an application development stack: they’re hoping that, yes, you make web applications with it, but that you start to think about post-web UI and functionality you can layer in. It’s similar to RIA talk we had sometime ago, but is something beyond that.
There’s more over at Beautyoftheweb.com.
Also, there’s some bonus content below, going over an example of “native HTML5” and, for me, the interesting idea of instrumenting your web applications to start getting huge amounts of feedback on how people are using your apps:
In addition to watching the videos above, you can subscribe to the RedMonk Media feed to get them, and other RedMonk videos and podcasts, downloaded automatically for you. Feel free to download each video directly as well: the main interview and the extra content on examples and analytics.
Transcript – Getting the browser out of the way…
Michael Coté: Well, hello everybody! Here we are in lovely Las Vegas at the Microsoft MIX 2011 Conference in the Mandalay Bay. And as always, this is Michael Coté with RedMonk, and I have got a guest with me. Do you want to introduce yourself?
Ziad Ismail: Sure. Thanks Michael. My name is Ziad Ismail. I am the Director of Product Management for Internet Explorer.
Michael Coté: The first day of MIX was, I am trying to replay it through my mind, but it was pretty much all about IE, to a large extent. There were some CMS things and other stuff, but you guys opened out talking a lot about IE, IE 9 and IE 10 coming up, and I wonder if you could kind of give a recap of what you talked about in the Internet Explorer area here?
Ziad Ismail: Sure. So there were two things that we talked about. The first one was the availability of IE 10. IE 10 comes just four weeks after we announced IE 9 at SXSW.
IE 10 is really just a continuation of the bets and the path we set out with IE 9, which is a bet on standards and HTML5 and other web standards and focusing on really driving performance forward to enable a completely new class of web experiences.
The second thing is we laid out our vision for Native HTML5. The idea behind Native HTML5 is, what web developers want to do is they want to use web standards, because you are developing across a broader and broader set of different platforms, different form factors, but they also want the kind of performance and experience they get from native applications.
So bringing together the best of those two things; standards plus all the performance, plus all the experience, that’s what we are trying to do with IE 9, with Windows 7, and that’s the path we are going down with IE 10, and essentially really raising the bar on what the web can do.
Michael Coté: Can you explain what you mean by Native HTML5, I mean, what’s the native part?
Ziad Ismail: The native part is really focusing on taking full advantage of the hardware and operating system that you have already bought. If you think about where we were with IE 9 just a year ago, one thing we found is that most websites only used about 10% of the power that was available on the PC.
You look at the GPU and think about how much games have changed in the past ten years, so there are all these capabilities. Those things we made available to the browser, and new types of really rich experiences are now possible in the browser because of those kind of bets.
Native HTML5 is just taking that even one step deeper and completely optimizing how we build the browser to take full advantage of the operating system and the hardware, and specifically for us that means making a huge bet on IE 9 with Windows 7 today and going forward it will be IE 10.
Performance is one side of the coin; the other side of the coin is about the experience and how the application and how the thing you are building on the web actually looks and feels on your computer.
The work we have been doing with IE 9 actually lets you take websites and pin them to your taskbar and now they look and feel like native applications.
And it’s not just a bookmark; it’s now what you would expect from an application which drives notification. So if you get a new email and you have pinned Hotmail, it tells you, hey, you have got a new email and you can jump back into that application. If you are running Facebook and you get some new messages, you get a notification. If you are on eBay and you get a bid, same kind of things happen.
Native is partially the performance side. The other part of the coin and what developers want to do is not have their experiences necessarily restricted by the browser box itself.
Like think about the browser box; it was created in 1993, like the first browser, whatever, we are still living with it. It’s still like, I want to go to a website, hey, I fire up the browser, I type in the URL, I go there.
There is no real need for it to be that way. Like if I know that I love ESPN or Facebook, why do I need to take a completely different path to get there than I would do if I had a Facebook application or an ESPN application?
And so the web just becomes a lot more interesting when you put the focus on the websites themselves and you let the browser only be there if it actually needs to be there.
If you think about it, like the web technologies and the websites are what’s really, really interesting. The browser itself, like unless it’s actually adding value to the experience, it doesn’t really need to appear, it doesn’t really need to show up.
So although we are excited about the progress we are making with IE 9 and we love the browser, where it doesn’t make sense, we don’t really care if the user sees that it’s an IE browser. The thing we are focused on is, as a Windows user are you getting an amazing web experience, and if that means the browser kind of fades into the background where it makes sense, like we will push that.
Michael Coté: The phrase HTML5 has meant a lot of things over the past, I don’t know, maybe two years, I am bad with the timeline of it, but it has probably gone through at least three or four different meanings to people, as the spec and all of the sub-specs evolve.
And I am curious, I mean, we talked about what the native part of the Native HTML5 is. When the IE team is working on implementing HTML5, another tenuous phrase as it were, like what are you thinking about, what is HTML5 in that sense, I mean, kind of both in the sense of the features that you are providing and how you are tracking the spec?
Ziad Ismail: It’s probably one of the most problematic terms that we are dealing with at this point as we are trying to teach developers about what we are doing with IE 9 and kind of get people excited about what’s coming next.
HTML5 is, at its core, it’s two different things. One is, it’s a specific specification. It’s driven by the W3C. There is a working group. This specification is going to hit last call in May and W3C has said they are targeting a recommendation, which is the same thing as a standard, by 2014. So that’s the actual document that’s being written.
HTML5 is also used as a simplified term for the broader web platform that allows users to do the next generation of exciting stuff on the web, and that’s everything from the HTML5 spec itself, CSS, it’s things like WebSockets, it’s things like IndexDB, it’s DOM, it’s JavaScript, which isn’t even part of the W3C. So it’s an umbrella term for about 50 or so different specifications.
So it causes a tremendous amount of confusion, and some people have tried to change back the terminology. I know W3C was trying to push Open Web Platform at some point. It’s not clear that it’s actually going to be possible to change it.
Michael Coté: Right, it’s sort of one of the horses are out of the barn kind of problems.
Ziad Ismail: It has so much momentum. It’s being used constantly, and from a communication standpoint, certainly when you try to explain things to broader consumers, if you are not saying what everybody else is saying and you are saying Open Web Platform rather than HTML5, people may not really understand what you mean, because HTML5, the umbrella term, has some values, has some positive associations which are already out there.
Michael Coté: Historically it’s highly analogous to AJAX which —
Ziad Ismail: Or Web 2.0.
Michael Coté: Yeah, that’s true. I mean, all of these terms started out as sort of meaning the next big thing, or the evolution of — in the case of AJAX, the evolution of web applications, and then Web 2.0 kind of the evolution of what you do with web applications.
Ziad Ismail: And then everybody wants to use them rather than inventing something new, because there are a bunch of positive associations in reusing those words, and so the meaning gets stretched and at some point it doesn’t quite mean what it meant originally and nobody really knows what it means, but it’s still going to be used.
Michael Coté: Yeah, yeah. I mean, I think you are right that it is — I always feel a little upset when I hear the phrase and I use the phrase HTML5, but at this point I think I just need to get over it. It means a loosely definable collection of stuff, and to your point, like when you say people understand what you are talking about, if they can’t precisely say what it is.
Ziad Ismail: Right, I agree.
Michael Coté: It just means like the new way of developing web applications essentially.
Ziad Ismail: I should say the thing that gets — I think the thing that gets messy for me is not when people use the HTML5 word as a meaning for the broader web platform, it’s when they start confusing which one they actually mean.
And people say things like, hey, HTML5 is not going to be ready until 2022, or HTML5 is not going to be ready until 2014. Well, which one are you referring to actually? Are you referring to the spec, or are you saying actually don’t use any technologies in this broader web platform? Are you saying JavaScript and CSS will all be ready at some magical date on January 1st or if it’s Christmas day or whatever it is, that’s when it gets really messy, because it just causes tremendous amount of confusion.
And people that are excited about the next web platform don’t really understand what’s going on and they say, well, maybe I should just hold off a bit until I do know what’s going on.
Michael Coté: Do some more of that AJAX stuff.
Ziad Ismail: Right, and build another Web 2.0 site.
Michael Coté: One of the challenges I think in browser innovation or web application has always been balancing the need for using an exciting new piece of functionality or spec that’s out there and also balancing that against the stability of it being done and released.
I mean, that’s really playing out in the HTML5 space quite a bit now, where there is — I mean, to use the old analogy, the work that you guys and other browsers are doing is kind of like changing the wings on an airplane while its flying. There is a lot of figuring out how you start using the spec, or if you use it too early or if you are too late.
So first off, in doing the work and looking at how users are using it, how do you see people balancing out or dealing with all of that in-flight specification that’s going on?
Ziad Ismail: So it’s something we spent a tremendous amount of time thinking about. We looked at the experience we had with IE 6 and kind of the challenges that we are running into, web developers are running into, companies are running into, with trying to get that thing out of the market.
There is a true benefit in experimenting and prototyping with early specifications, like it needs to happen. The big question is, what’s the right format for doing that? Is the right format for doing in the browser itself or do you find some other vehicle for doing that experimentation?
The reason you need to do it is, if you don’t do it, you are just writing a piece of paper, the specification, and you have no idea how this thing is actually going to perform once you take it into the real world and write the code. So implementation is critical.
So where we came out was, we need a stable web platform. Like if we don’t have a stable web platform people are going to keep saying, hey, when is this thing going to be ready? My site broke, how am I going to deal with it?
That platform is IE 9, that platform will be IE 10. HTML5 Labs is a place where we are going to prototype. We are going to do things that are bleeding edge. You don’t actually want them in the browser.
We recently announced that we are going to build media capture API, which is a very early draft of a specification, and we are going to do that inside HTML5 Labs.
And as those things graduate we will move them into the browser. But by keeping this clean separation, we are able to actually get the best of both worlds. Like advance the web standards process and make sure that people can build on the web standards platform today with confidence, things don’t break, and it actually works.
Michael Coté: Internet Explorer is one of the more historied web browsers out there, and one of the things I like about the approach that you are going over there is, you guys have learned from the past.
Ziad Ismail: It’s a great point. I mean, you have to choose; do you want the IE 6 type experience to happen again, where we have a bunch of specs that get locked in and we have to deal with them, not only in enterprise, which has been the past, but now the same thing is playing out in phones that aren’t getting upgraded, it’s going to happen in TVs, and the web is moving to all these other places, like do you want the IE 6 experience?
And people are saying, hey, I really have issues with IE 6, and I understand why people have issues with IE 6. I feel the pain. We want to get rid of it as much as anyone.
But at the same time, some of those people would say, I really, really have issues with IE 6. Same people would say, hey, why aren’t you putting WebSockets into your browser? Well, guess what, we put WebSockets into the browser. We put this out there. We can put caveats around it and say, hey, please don’t use WebSockets. Once it’s in the browser, it lands in an enterprise, it’s going to get into phones, it’s going to get into — all the new appliances that are coming out, things like TVs, and it will get locked in there, and browsers aren’t going to get updated. We are going to have to write to WebSockets version 75 for the next ten years.
Michael Coté: That’s another thing that I have noticed about IE is that the process has gotten more open, if you will. I mean, you definitely — like you talked about IE 10 during this, which is in the future compared to IE 9, but you guys are a lot more open about inviting people into the process of the browser evolution, which I think is — that’s what you want if you depend on a platform.
Ziad Ismail: Yeah, absolutely! And it has been invaluable to us to actually get the feedback. I mentioned the partner side and actually having sites tell us, hey, I am developing this experience, like is this actually working for you or not, like tremendously valuable feedback.
We also have the Microsoft Connect program, where anybody can submit a bug and say, hey, here is something I am discovering.
The whole point of the Platform Previews is, we can put stuff into the Platform Previews that looks like something that’s going to get into IE 10 and something we really want to get into IE 10, and then we have a period of time to get feedback, stabilize it, work with the W3C to make sure there is actually a test suite. So we don’t only say that we have implemented it, there is actually some standards based way of measuring whether we are interoperable with the spec or not.
Michael Coté: Now, the other thing that you guys are doing is, is you are basically building out test suites to test compatibility and performance of various HTML5 things, and that’s another nice openness of the platform that I think you guys are doing. So can you just kind of quickly go over what those test suites are?
Ziad Ismail: Yes. So there are lots of interesting things happening within the standards bodies like the — the things that are going on in ECMA, the things that are going on in W3C. But in parallel to the actual standards process, which is what a lot of people focus on, like the specs themselves, what’s being developed within these standards groups are test suites.
So if you got to Test 262 for example; Test 262 is the test suite for ECMAScript 5. What’s interesting about that is, it’s 10,000 tests just for ECMAScript 5, JavaScript, it’s 10,000 test cases. And you can run your browser, like run IE 10 Platform Preview 1, run Chrome, run Safari, and you can actually say, does my browser measure up to the specification itself?
Like anybody can say that, hey, we are HTML5, whatever that means, we are betting on HTML 5, we are going to invest in HTML5. Ultimately, things like the test suite tell you whether you are just saying it or whether you are actually doing the hard work to make it happen.
Michael Coté: It tells you how HTML5 you are, to what degree.
Ziad Ismail: Yes, because supporting a standard is not a yes or no, it’s really like how well are you doing it. And so the way I think about it is, there are millions and millions of developers out there. You can either fix the problem once, at the browser level, or you can push that problem out and millions and millions of developers have to deal with it every single day.
Michael Coté: As far as the testing.
Ziad Ismail: As far as testing, yeah. I built something. Hey, it’s acting a little bit unpredictably in browser A compared to browser B. I am not sure what to do. The right model is, build the test suite, you test your browser against it, and now when a developer builds, much less of their code is going to be code that’s used to test all the anomalies.
Michael Coté: To experiment with what’s available.
Ziad Ismail: Right, it’s going to be more like productive code, real productive code.
We heard from a customer recently that, as they were looking at HTML5 and deepening their bets on the web, they did an analysis of how much of their code was actually productive code that was doing something meaningful as opposed to handling special cases? You look at CSS Gradients, it’s handled in a completely different way across every single browser.
It turned out that about 20-30% of their code was productive code. Everything else was, okay, guess what, I am trying to do this functionality and it’s different in every single browser, or it’s similar but it acts a little bit different in each browser and that difference actually matters to me.
Michael Coté: It’s a bunch of if else and glue code all the way down, right, just tons of it?
Ziad Ismail: Absolutely! So you think about — this I think is one of the most interesting developments in interoperability, actually getting the test suites in there, and you compare the 10,000 test cases and just this one test suite for one standard to some of the tests that people are citing.
You look at something like Acid3. Like Acid3 is interesting, but Acid3 tests a very wide range of specs, like 10-20 specs with a 100 or so test cases. Like a very small five to ten tests per standard.
The issue with that is, we can pass Acid3. Every browser in the world can pass Acid3. But we may not be interoperable at all. We are interoperable at the 1% level; on 99% of the spec we are completely different.
And so when we talk about interoperability, like the real value is shifting that mix of productive code to go from 20-30% to something much, much bigger. And W3C and ECMA, they are leading the way and Microsoft together with other browser vendors are supporting them in building out these test suites.
Michael Coté: I appreciate you taking all this time to go over IE stuff. I was especially interested to talk with you about it, because I feel like, as I was kind of mentioning earlier, you guys have built a new platform, if you will, to develop applications on, beyond just a browser that web application service, and there’s really a lot more functionality. There’s a lot more to the parts assembled, I guess is what I am saying, than just a portal that you are viewing some HTML through.
Ziad Ismail: Yeah.
Michael Coté: So it was good to get that overview from you, definitely! Well, thanks.
Ziad Ismail: Great to be here! Thank you.
Transcript – IE web app examples…
Michael Coté: Can you speak to at least one sort of other example of like what a Native HTML5 application is that someone could poke at at the moment?
Ziad Ismail: A couple of ones that are interesting is, we worked with hi5. hi5 is one of the largest social networks in Asia, and the specific angle that they are focused on is social gaming. So they have games like ‘Millionaire City’ and other things, that lots of people play, and they are socialing, kind of do them with your friends.
The interesting thing about what they have done is, not only can you pin hi5 itself, and so you get information on, hey, when your friends’ birthdays are happening or when your friends are playing a game, it kind of pulls you into that experience.
The other thing they have done is the games themselves within hi5 are pinnable. So if I love ‘Millionaire City’, I pin ‘Millionaire City’, and I have played ‘Millionaire City’ a little bit. So when it tells you, hey, your pizza restaurant is ready for the next pizza delivery, there is a little pop-up that pops up and tells you.
And no matter what you are doing on your computer, if you have said, hey, this is an application that’s important to me, I want to know what’s going on, those notifications are visible and they pull you back into the experience.
The thing we have also done with hi5 is, we don’t just want to focus on the technology side and say, here’s a bunch of interesting cool technology and scenarios. We want to understand what’s actually working for them, what’s not working.
And so we worked with them to do a bunch of instrumentation to see, okay, what happens with a user if they pin a site? How does their behavior change? How do they become more engaged? Is it actually paying off?
So what we have seen in some of the sites that have done the instrumentation is, pin site users end up spending about 50% more time on the sites than users that are going through the web.
And the reason for that is really simple, because you have faster access to things you care about. It’s now like one click away to jump into the application you want. And you have things like notifications which tell you, hey, something happened in the game, in the auction, it kind of pulls you right back in.
We also learned a bunch of things from these partnerships and we made some changes to how pin sites work, specifically one of the things was improving discoverability.
So hi5 can now tell their users, hey, I noticed you on IE 9, drag this image or drag this text and pin it to your taskbar and it pins directly, and each site can kind of promote it in a way that makes sense for them.
Michael Coté: You mentioned instrumenting the applications. I am curious to hear a little bit more about how that works out.
Ziad Ismail: So this was something that we really pushed with IE 9, like we had the starting philosophy which was, our focus is on putting sites at the center.
The idea was simple, which is, the thing that users really care about are the sites themselves, not the browser, and that permeated how we built the experience and kind of the browser fades in the background, but also permeated how we worked with actual sites.
So we went out to them and said, look, we don’t just want to sell you this feature. We want to make sure this actually works for you. And if it doesn’t work, like let’s learn from it, and let’s learn from it together.
Because if this thing performs really well for hi5, like that’s great for them, but it’s also great for IE 9, because then they have an incentive to tell their customers, hey, this may be a great browser because it lets you have a better hi5 experience, and it also turns out that we get these sites to tell their users to use IE 9.
You are able to tell when a user accesses your site through a pin site experience or if they access it directly through a URL. So you are able to tell on the —
Michael Coté: Sort of part of the headers or something. Somehow you know when the connections come through those two venues.
Ziad Ismail: Right. So you have this information and so you can parse it out, whatever your analytic software is, if it’s Omniture or whatever you may have in the backend. And so there’s a lot of work we have been doing on understanding how that pattern changes, understanding how discoverability happens. What’s the best way to tell your customers that, hey, it seems like you are visiting hi5 a lot or it seems like you are visiting eBay a lot, maybe you should pin our site, like what’s the right moment and how do you make that thing happen.
So there’s a lot of work we have been doing there to figure out what actually works, and we have been sharing some of that on our blog.
Yeah, it’s just a really interesting part of developing the browser, which is talking about the features and the technology itself, but also focusing on what’s actually working for sites and using their analytics to inform how we continue to develop our product.
Michael Coté: I feel like as a developer, whether you are a web developer or I don’t know, probably even writing system codes somewhere, that the kind of further away you get from the actual user, the harder it is to make good software. And having that instrumentation and that analytics at least helps you get a little more intimate with the user and kind of figure out what it is they are doing and how you can make their experience better.
And nowadays it’s really exciting with any — stuff over the web is like this, but increasingly with what would be called cloud computing that, by it being a web application or a SAS or whatever, you can actually track that stuff. I don’t know, I feel like it’s a huge opportunity people should be taking advantage of.
Ziad Ismail: Yeah, analytics are amazing. It allows you to actually line up incentives and say, hey, what we are trying to do with IE 10 is make websites more successful. Great, let’s figure out how we measure that and see if we are actually being successful, and we can have people do it. So it’s not just pushing out features, it’s actually saying, okay, your goal is to find sites, understand what works, what doesn’t work, and work with them.
So analytics I think are just a beautiful tool to align features, websites, and ultimately the experience that users have.
Disclosure: Microsoft is a client and sponsored this video.
MS is tenaciously clinging on to their desktop empire.
MS is really in business to protect it's business partners. The intellectual bullying MS pursuing with its lawsuits against open source creators claiming infreingements such as selecting text (gimme a break!) seems to show that the last thing that MS would support is W3C standards and anything other than an internet that boosts its bottom line at the expense of its customers that it supposedly is "innovating" for.
Fiction: IE9 is all great and about using all the power of the machine and pushing html5 new boundaries
Fact:
– IE9 has one of the slowest JS engines
– IE9 html5 support is really poor
– IE9 has no support for webgl (which is indeed about the real power of the machine), both FF4 and Chrome10 have it by default.
– IE9 has a market share of less than 1%
Presumably the os/desktop integration would be IE9 specific APIs, so I can totally see how it makes sense to develop webapps specifically for IE9, which is slow, behind the times and top of that only reaches less then 1% of people.
Geeze, get real Microsoft.