The implications of win8 native HTML are enormous. Here’s Why.
If you haven’t seen it yet, Microsoft just announced a preview of Win8 (just codename for now) that shows a remarkably similar interface to that of Windows Phone.
I for once really like the look and feel of it. It looks like they have indeed managed to create a UI that will be able to target all main platforms (that is, PC, Smart Phones and Tablets).
The UI is heavily dependent on touch gestures, but is still very relevant for the standard keyboard-and-mouse input.
There are two very important issues here:
Windows 8 == Windows Phone 8 ?
Since the UI looks so much like WP7, there are heavy rumors that Win8 will target all platforms. Same OS, same API, easy life for developers!
Since it’s already a confirmed fact the Win8 will be able to run on ARM-based machines and not just the regular PC CPUs, it isn’t such a big surprise.
Native HTML Support
The most important thing as far as I’m concerned is the support for Native HTML:
The talks about HTML5 applications that would be able to have full power over the OS are not new, and I have been hearing them since April, during Mix 2011. However, at the time, I dismissed them as just being hype-talk. The “We support HTML5 best” kind of talk we’ve been hearing from Microsoft the last couple of months.
However, if HTML is going to be a client-technology with real power, then for the first time in a few years now, we’ll finally be able to have an answer to the “which technology should I choose” question that we couldn’t really answer easily the last few years.
Which Technology should I choose? – Do we finally have an answer?
Whether you are a programmer who’s trying to decide which technologies to learn, or a CTO deciding which technology to use, you didn’t really have a good choice;
WPF (or Winforms, or C++): Up until now we had WPF for true power over the OS. But it required installation, and was only for Windows. Click-once was a nice touch, but it was really cumbersome, and you couldn’t really compare it to the amazing install-free that HTML could bring you. (aka SAAS)
HTML was amazing when it came to deployment, but it was so lame for such a long time, that when Gmail was released the world was in awe with what can be done with just HTML and the (then brand new) AJAX technologies.
However, HTML still sucked big time. Bad performance. No standards. Different implementation of HTML on all major browsers. And was most painful for most users was the still huge gap between the richness of desktop-applications vs. HTML applications. HTML still sucked. and this was where -
Flex and Silverlight came to help, and the term Rich Internet Applications was born.
I have to say that for a time I really thought this was where the world was heading. Wasn’t that the best solution all around? both technologies offered Rich UX, and easy deployment. Flex was better than Silverlight when it came to market-penetration rates (over 95%), but Silverlight was catching quickly with over 60%. On the other hand, Silverlight offered the programming model of C# and the .Net framework, which easily made it a favorite for many, many developers (Myself included)
So it seemed like it was just a matter of time until these rivaling technologies would become a standard, but that never really happened…
2007 - Apple released the iPhone with its iOS. And it was marvelous.
It did not, however, support Flash nor Silverlight, and never had any intentions of doing that. Steve Jobs kept claiming that it was a matter of principle, that they believed in Open-Standards and that Flash is proprietary. HA HA. Apple believes in open standards? What a joke.
Apple’s products were and still are amazing, and the only way to create real apps for the iOS is by programming with the hideous Objective-C. and the only way to market those is to pay 30% of revenues to the dictatorship that is Apple. No Thanks. The lucrative 30% is the reason that Apple would never allow a technology such as Flash or Silverlight to run on their OS.
Silverlight was announced R.I.P. in late 2010. Or as MS put it, we’re shifting Silverlight. It’s one thing to create a plugin for IE & FF over Windows, but it’s quite entirely a different thing to create the Silverlight plugin for the abundance of OSs we have today, especially when some of those OSs are never going to play along with MS.
I never bought the explanations that there are just too many OSs out there now days, and that this is why MS are abandoning Silverlight, but the truth of the matter was that with the amazing new Smartphones and Tablets in the market, MS were no longer hip and cool and were losing grounds in the development world. Programmers for almost the first time ever, started abandoning development for windows. But there was a solution – HTML5!
I hated HTML5 from the first time I heard the term.
But all of those problems were bound to be solved eventually, and that wasn’t what really bothered me with HTML5. What bothered me was the feeling that I was lied to by Apple, Microsoft & Google.
It’s 2011 and we have 6 different technology routes. and they all suck.
- WPF/Winforms – only for Windows.
- Java – only for Android.
- Objective C – only for iOS.
- Silverlight / Flex – only for PCs.
- Silverlight for WP7 – only for WP7.
and of course, #6 – HTML that targets EVERYTHING, but can do practically NOTHING.
Yeah. You can write your application using HTML, and yeah, it would run on all platforms. But it will run poorly. I own an iPad, and the UX is amazing, but only for native apps. Regular HTML website pale in comparison, and the reason Apple is so supportive of HTML5 is mainly because Apple didn’t see HTML as a threat to their lucrative objective-c market place. Apple was supportive HTML5 to make sure that we still de-facto buy real apps that can control the entire API of iPhone/iPad.
Enter Win8 and it’s a new game!
Microsoft is the first of the Big Three that is going to support Fully-Powered HTML on their OS, and that means that HTML will become a true development platform for the first time ever.
Everything that you can do with the native technologies will be reachable with an HTML application, and that means that eventually the 6 technology routes are going to become just one: HTML.
But what about .Net ? Is Microsoft going to abandon .Net as a Client-Side technology?
Most probably MS is going to support both WPF & Silverlight on the new platforms.. but it would be just enough to make sure that no developer will feel like he’s been abandoned, same as their support for Winforms. It’s alive, but it’s not the future.
The implications are huge. Both Apple and Google are going to eventually have to abandon native-development on their machines, because they cannot let Microsoft have such a huge advantage. My prediction is that it’s just a matter of time until all major OSs will support HTML applications natively. It seems to me that for the first time ever, there will be a clear route and a true cross-platform development technology. And that is just cool.
Will the Standards-war begin all over again, with each OS supporting its own version of HTML5 and API? I really hope not, but only time will tell.