Showing posts with label HTML5. Show all posts
Showing posts with label HTML5. Show all posts

Wednesday, August 10, 2011

Understanding the Microsoft Shift on Silverlight and HTML5

evolution-windows-html_xamlAs the old proverb goes, if you can’t beat ‘em, join ‘em. That must be Microsoft’s mantra as it prepares to unveil a new strategy for Windows development at BUILD. It’s hard to fathom that only four years have passed since Microsoft originally introduced Silverlight, but in that short period the world- and Microsoft- have clearly changed. With the rising HTML5 sun on the horizon, Microsoft is signaling a new dawn to its legion of developers.

Microsoft overstepped with Silverlight and HTML5 is the correction. A careful study of Silverlight’s roots makes this clear while simultaneously underscoring the close relationship HTML has with modern Window’s development. No observer of Microsoft history should be surprised by the coming changes to Silverlight or HTML5 in Windows 8.

Let me explain.

The Roots of Silverlight

Rewind your mind to 2003. Windows code named “Longhorn” is generating waves of excitement, showing-off the beautiful successor to XP and promising futuristic new ways for storing files and… a brand new Windows graphics subsystem, codenamed “Avalon.” Avalon eventually progressed to what we know as WPF, but what you may not know is that Avalon’s roots are actually in the web.

Prepare to have your mind blown.

Michael Wallent is not a name you may recognize, but you’ll definitely know the products he has been responsible for during his tenure at Microsoft: Dynamic HTML (IE4), IE5 & IE6, WPF, and ultimately the roots of Silverlight. His background with Internet Explorer and HTML are supremely interesting when overlaid with the foundations of WPF (aka Avalon).

In what should be required viewing for anyone looking to understand Microsoft’s Silverlight story, Michael expounds on the background of Avalon to Tim Sneath in 2006. From the Channel 9 video (emphasis mine):

Michael: “So we finished-up with IE6 in 2001 and we had this real choice: this ‘web-thing’ is really taking-off and we want to make sure we build a platform for that. But we’re not really sure Trident (IE) is going to do it for [Microsoft] because of the scalability issues. And because the programming model between [JavaScript] and C++ is dramatically different and fraught with security issues. And [Trident] just doesn’t scale to meet the problems we needed to solve. It doesn’t do a great job with media. It does an okay job with UI stuff. But we felt in many ways we were limited with [what we could do with Trident].”

“So we said, “Hey, we’re going to start this new project, code named Avalon.” We started it towards the end of 2000, beginning of 2001 to try to build a web client platform that was a follow-on to Trident, but something that was modern that we could really build Windows on top of, not just “dancing hamster” websites.”

Wait, what? That’s right! The roots of WPF are in a project that originally aimed to create a new, modern web client that Windows could be built on. HTML5 in Windows 8 is already sounding less crazy. More from the interview:

Tim Sneath: “When you started Avalon, was that really your goal to replace or supplant the web as we know it today? Or was it a contextual background [for the project]?”

Michael: “You know, “replace” is such a nasty word. I think what we were looking at at that time was that people wanted to build richer applications. And there wasn’t really a good way to do it. HTML is great for a lot of stuff. Nobody loves HTML and dynamic HTML more than me…but the fact is, there are some types of applications that you see people today where they fall off a cliff…what can we do to create a better seamless experience?”

I think the market recognizes that HTML is good for some stuff, and then to go to the next step, you need other runtimes, because these HTML runtimes, coming from their SGML background, only can do so much. And you can’t push them too far or you’re not going to get a great user experience.”

Okay…so Avalon didn’t exactly aim to “replace” the web as we know it, but it clearly had the ambitions to take the web further. In fact, Michael goes on:

Tim: (paraphrasing) To go back to the genesis of Avalon, how did it incubate from that stage of recognizing the problems with HTML to a team of 100?

Michael: “Basically what happened is that we had a set of really smart folks working on Internet Explorer, and another set of smart folks working on the internals of Windows itself. And we merged those two teams together to create the Avalon team. So we thought it was the best of Windows, best of the web.”

And the veil continues to lift. The roots of WPF (and ultimately Silverlight) are in a project that literally merged Internet Explorer devs with Windows client devs, with heavy influence from HTML. And who had to bless this radical new “integrated platform” (Web/Windows) approach? Who do you think? From the video:

Tim: “Who did you have to persuade to build this team? What kind of buy-in did you have get internally to turn this in to a reality?”

Michael: “Basically, Bill [Gates].”

Tim: “You went and pitched him?”

Michael: “Many times. Many times. We effectively had a charter when we merged the Trident team with the User and DUser teams together to build the Windows platform.”

That explains (in part) why there were no new versions of IE for five years after IE6. It also underscores how significant this new “integrated” (web and Windows) platform decision was 10 years ago. It required approval from the top.

Digesting the Avalon Background

What do we ultimately learn from the Avalon interview with Michael:

  1. Avalon (and in turn WPF and Silverlight) has strong connections to HTML and the web
  2. Avalon was created because IE6-era HTML couldn’t meet the needs of Microsoft to build Windows (especially around media)
  3. Avalon was hugely impacted by Microsoft’s new (at the time) bet on managed code (.NET), which is one of the primary reasons Avalon did not use XHTML for markup.
  4. Windows, at least in concept, is built on an “evolved” web client platform

Bottom line: The Windows we know today already is heavily inspired by the web and HTML. The idea of Windows 8 integrating HTML5 for Windows development is nothing new. It’s just a new take on a 10-year-old concept.

The Silverlight Connection

When Avalon became WPF and shipped with Vista, Microsoft ushered in its rich new “evolved web client” platform for Windows development. That made sense.

Then Microsoft introduced WPF/e (e = everywhere), aka Silverlight. What started as a “merged” platform that combined the “best of the web with the best of Windows” was coming full circle in Silverlight and preparing to (in Microsoft’s view) replace the web as we know it (borrowing Tim’s words).

But the web of 2007 was very different from the web circa 2001 that inspired the roots of Silverlight. Browsers were evolving again. Standards were rapidly evolving to eliminate long-standing shortcomings. And perhaps most importantly, internet access was beginning to shift from Windows/Mac PCs to a world of multi-platform devices being lead by the iPhone.

Rather than read the writing on the wall and return to the tried-and-true Microsoft strategy of “embrace and extend,” Microsoft plowed ahead with their own custom approach to web application delivery.

Fast forward a few years and we find a developer community confused by the relationship of WPF to Silverlight. We find a Microsoft recommitted to the web via a reinvigorated IE development team. And we find a world where plug-ins are increasingly taking a backseat role to web application development.

Enter HTML5

Imagine how Windows might be different today if HTML5 had existed at the time of Avalon’s design. Given that the creators of Avalon were so inspired by the web, had the web of 2001 looked more like the web of 2011, maybe Vista would have ushered in an even more web-like development model that’s now being assumed to be part of Windows 8. And if that had happened, the conditions that created Silverlight would have never existed.

That’s not to say that XAML would never have existed (though clearly it would have evolved differently). What Michael says is true: HTML is great for some stuff, then other runtimes are needed to go further. Windows still needs its rich, native development environment. XAML provides that, and it will in Windows 8 and probably Windows 9.

What we don’t need is a replacement for the web. Michael knew better than to call Avalon a replacement, and Microsoft has now learned that lesson with Silverlight. Instead, with Windows 8 and HTML5, Microsoft is returning to the “embrace and extend” strategy that has served it well over the years, and re-calibrating what it means to create an OS that merges “the best of the web with the best of Windows.”

HTML5 in Windows is Not Radical

Despite the media and developer reaction to the early Windows 8 discussion of HTML5, the idea of Windows embracing web technologies for native client development is not radical. As you’ve seen in my documentation of Avalon’s evolution, the idea has been floating around Microsoft for at least a decade, and arguably for even longer than that (many of the anti-trust claims against Microsoft revolved around their deep integration of IE in to Windows in the early ‘90s).

Windows 8 and HTML5 are simply a re-focusing of this long-standing strategy, and it represents a “correction” by Microsoft to properly acknowledge HTML5 as the technology for the web, and XAML as the technology for Windows.

Microsoft “overreached” when it tried to make its “native” platform technology an equally suitable cross-platform, cross-device, “web replacement” platform. There are simply too many platforms and devices for Microsoft to attain that position. Instead, in September Microsoft will re-cast XAML as the solution for when HTML5 is just not enough, while simultaneously embracing more of HTML5 for “near native” Windows development.

Telerik Insurance

It goes without saying, but Telerik is insurance for perceived risk in Microsoft platforms. If XAML continues to be the platform that makes sense for your applications, Telerik will continue to be the premiere provider of XAML tools. If HTML5 and JavaScript make more sense for your next generation of “Windows” development, the new Kendo UI framework is worth investigation. Either way, Telerik, to paraphrase a customer, has your back.

Microsoft can’t replace the web, but that’s okay. With renewed clarity on where “native Windows development” and “native web development” meet, Microsoft and Windows 8 promise to usher in an era of clear developer direction and simplified Microsoft development decisions. Ultimately, what should now be obvious is that the “grand shift” Microsoft will discuss in Anaheim is nothing new. And with that perspective, you can start planning for the future with more confidence while Microsoft does a quick “take 2” on merging the web and Windows.

Monday, July 11, 2011

Slides from My Summer HTML5 Sessions (so far)

html5-megaphoneIt's been an unusually busy summer for me and conferences. Where I normally take a break from conference travel, I found myself spanning the United States in June, with quick stops at the SoCal Code Camp in San Diego, the huge ASP.NET Users Group in Dallas, and the inaugural MADExpo in Virginia. Fortunately, at each stop the focus of my sessions was the same: HTML5.

I've been "preaching" and teaching HTML5 concepts for nearly 2 years now, so it's fun to see the industry catching-up. It's always a good feeling to be ahead of a curve instead of behind it! But if you're just jumping in to HTML5, don't dismay. It's still very early in the HTML5 technology curve, and getting started now will set you up to be an expert as the technology matures.

For those of you that attended my sessions at any of the conferences this summer, thanks for choosing to attend! Hopefully you got some value out of our brief conversations and are now energized to learn HTML5, CSS3, and JavaScript. As promised (albeit a bit belated), slides from those sessions are available below. Enjoy the resources and stay tuned for more more HTML5 content in the very near future!

(Oh! And don't forget about htmlUI.com and @htmlUI. I'll be updating this resource significantly very soon, so bookmark for lots of great HTML5 resources.)

The Rich Standard: Getting Familiar with HTML5

Doing More with LESS for CSS

HTML5 for Tablets and Mobile

HTML5 and CSS3 Techniques You Can Use Today (v2)

Thursday, April 07, 2011

50 Sites Committed to HTML5 by Name

HTML5_Logo_512While doing some research today for resources to share on my new, dedicated "HTML5" Twitter feed, @htmlUI, I started to notice the abundance of websites that have "committed" to HTML5 by embedding the term in the URL. Never mind that HTML, at least in WHATWG's opinion, is now a "living standard" not requiring version numbers, but this overt pledge of allegiance to HTML5 got me wondering: How many websites are using HTML5 in the their domain name?

My desire to answer this question is rooted in two things:

  • I want to know how many sites are using HTML5 in their domain name (just cuz)
  • I want to see what "HTML5 dedicated" sites are doing with these domain names.
  • I want to find new HTML5 resources so I can share the best with you!

Of course, some of the best HTML5 websites don't include "HTML5" in the domain, but there are plenty of lists that catalog those resources today. I wanted a focusing challenge.

The List

As best I can tell, there is no sure fire way to get a complete index of in-use URLs that can be searched for HTML5 (see explanation below). So based on more rudimentary, manual (Google) techniques, here's a list of sites I could find that start with HTML5 right in the URL.

To help you better separate the "wheat from the chaff," I've done some crude categorization:

High Quality Sites (i.e. the ones worth visiting)

Nothin' But HTML5 (HTML5 TLDs that resolve to sites…pretty much all wasted)

  • html5.com - Apple's got it. Redirect to apple.com
  • html5.org - Almost nothing. Just links to other useful resources.
  • html5.net - Coming soon? Sure…
  • html5.info - Almost nothing. Just another WordPress blog on HTML5…
  • [SPAM] html5.mobi - Genuine ad farm spam page
  • (No .biz, co, edu, mil, gov, tv, ly, us, etc.)

Unique Sites (Not straight from a can to the plate)

Standard HTML5 Site Galleries (dime a dozen)

Blogs and "News" (a.k.a. the Echo Chamber)

Real World Events

Reference Sites (cuz we need more than one HTML5 tag reference)

Everything Else

  • switchtohtml5.com - HTML5 "framework generator" (kinda like dynamic boilerplate)
  • html5template.com - Not quite complete junk, but close. 1 template. Lots of ads.
  • html5zombo.com - "Entertainment." HTML5 SVG version of Zombo.com
  • html5tests.com - A site to test browser HTML5 features…test "coming soon"
  • [JUNK SITE] html5sample.com - No value. Mostly ads.
  • [JUNK SITE] freehtml5template.com - Free templates! But zero templates available…

The Search Technique

One of Google's little used features is the "Advanced Search" tool, which it claims is used for fewer than 5% of all searches (I now know why). One of the options provided is to specify where you want Google to look for your keywords: anywhere in the page, in the title, in the text, in links to the page, OR in the URL!

The resulting search syntax is: allinurl: html5

The "problem" is that this looks for HTML5 anywhere in the URL. I really just want to look at domains (I don't want to see all sites that have ever used HTML5 in some SEO targeted URL). Even more specifically, I'd prefer to filter-out sub-domains, too, as it turns out there are many websites today with "html5" subdomains to deliver specialized versions of their content.

So far, I haven't found an automatic way to do that kind of searching. As is, only Google and Ask.com offer "in URL" keyword search filtering; Bing and Yahoo do not. Sadly, after all of this, a regular Google search for "html5" still returned better, faster results that the "advanced" techniques.

Know a better, more complete, automatic way to do this? Let me know. Otherwise, it's a bit of a manual game after Google gives you the URLs with your keyword.

Monday, March 14, 2011

Join me at DevConnections for HTML5

Looking to get a better grasp on HTML5 and CSS3? I hope so! If you've only casually looked at these technologies, 2011 needs to be the year you start to get more in-depth. With the impending release of IE9, the soon to arrive Firefox 4 (and the expected FF 5, 6, and 7 this year), and the near constant updates of Chrome, the world of HTML5-enabled browsers is hitting critical mass. Don't get left behind in the next major wave of web development technologies!

You can jumpstart your HTML5/CSS3 learning by joining me at the upcoming DevConnections conference in Orlando. I'll be doing a half-day HTML5/CSS3 pre-conference workshop, and two sessions during the conference on these topics. It's the perfect way to learn HTML5, enjoy some sunny Florida heat, and maybe visit some famous Orlando destinations (work hard, play hard).

What do you need to do?

Register for DevConnections. Book a quick trip to Orlando. And join my workshop and sessions for some fun HTML5/CSS3 learning.


Tuesday, October 26, 2010

HTML5 and CSS3 session resources now available

Over the last month or so, I've been traveling a fair amount speaking at .NET events around the world. From TechDays stops in Canada, to a quick stop in Florida for the SW Florida Code Camp, to the local (and huge!) Houston TechFest, to my most recent stop in Bulgaria for DevReach 2010, it's definitely "Fall Travel Season" in full-swing.

At several of the conferences I've visited this fall, I've talked a lot about two technologies that I'm particularly passionate about right now: HTML5 and CSS3. These two evolving standards represent the future of standards-based web development, and with the current crop of browsers, there is no reason to delay adding these technologies to your web applications. If you attended one of my sessions at these events, a special thank you to you! Hopefully you enjoyed the sessions and were able to learn something in the time we spent together.

For everyone else, I've made the slides from these sessions available online via SlideShare. Both presentations are embedded above in this post (sorry RSS readers), but be sure to visit the presentations on SlideShare to see the full slide notes, where I've captured many of the useful links to HTML5 and CSS3 resources that compliment the slides.

Want more HTML5 and CSS3? First, make sure you're following me on Twitter. Much of what I share is related to HTML5 and CSS3, so hopefully you'll catch some good links there. Second, watch for these sessions at an event near your in 2011. I plan to continue talking a lot about HTML5 and CSS3 in 2011, so I look forward to seeing you in a session soon! For now, enjoy the resources.

Tuesday, August 03, 2010

Dallas TechFest 2010 Wrap-up

dallasTechFest-10 On Friday, I made the quick 3 hour drive from Houston to Dallas to participate in another Dallas TechFest. The Big D’s TechFest is put-on by Microsoft MVP Tim Rayburn and Telerik is a proud sponsor of the event. Unlike many “.NET events,” TechFest truly draws a diverse crowd of developers, with a fair mix of .NET, Java, PHP, Flex, and other “developer flavors” filling the sessions. This year’s event expected more than 400 developers, and I’d say they drew at least that to the University of Texas at Dallas campus.

Building on the popularity of a session originally presented at the Toronto Code Camp, I presented my “Getting Familiar with HTML5” talk to another standing room-only audience. Thanks to everyone that attended, and thanks for the great questions! It was fun to do this session with a group of developers with very diverse backgrounds and focuses.

Updated slides from this session are available below, complete with a resources page filled with related HTML5 links. Your next chance to hear this session live (along with some others) is devLink (this Thursday!), so if you’re curious and want to learn more, find your way to Nashville and be sure to visit my 4:00 PM session.

The Rich Standard: Getting Familiar with HTML5 [Slides PDF]

Tuesday, May 04, 2010

Toronto Code Camp wrap-up

toronto-code-camp So, yeah…in my busy haste to finish 1,001 tasks last week, prep a brand new HTML5 session for the Toronto Code Camp, speak at the South Houston .NET Users Group, and join Carl Franklin and Richard Campbell for their Houston .NET Rocks! Road Trip stop, I kinda sorta ran out of time to actually mention that I was going to Toronto this weekend to speak. So, to kill two birds with one blog post, this is both your “heads-up” post that I’m speaking at the Toronto Code Camp 2010 and the wrap-up!

I presented two sessions this weekend, and I was pleased that they were two of the most popular sessions at the entire event. It always amazes me that people are willing to stand for 75 minutes to watch a session when a room is full. You guys are hardcore and get bonus points in my book. Thanks to everyone that attended the sessions, though! I hope you took away at least one useful bit of info.

My sessions at this event were:

  • Maximizing Ajax Performance – Not new, but always useful for people to see how Ajax really works and what you can do as an ASP.NET developer to get the most out of Ajax. Unfortunately, I was a bit rusty delivering this session in Toronto because I was prepping the next session…
  • The Rich Standard: Getting Familiar with HTML5 – Brand new for Toronto Code Camp, I’ll be doing this session a lot this summer and fall. This is your primer to HTML5 and a must see if you A) care about standards, or B) are a web developer.

Slides for both sessions are available below. The slide notes contain a lot of links to additional resources, so be sure to check them out if you’re trying to dive deep on these topics (especially HTML5). I’ll post code soon, but it needs some tidying before it’s “download ready.”

Overall, it was a great event and more than 600 developers ventured-out for the day of learning. Other than a more than frustrating experience with Canadian immigration cops, I had a great time and would encourage anyone to attend this event in the future!

The Rich Standard: Getting Familiar with HTML5
[Slides (PPTX)]

Maximizing Ajax Performance
[Slides (PPTX)]

[Picture courtesy of Joey DeVilla’s Code Camp Flickr set]