Monday, August 29, 2011

Post-PC Era is a Myth: Relating the Evolution of Cars to Computers


Cars (or more accurately, motor vehicles) have more in common with computers than you might think. In fact, comparing cars and computers can help settle one of technology's current contentious debates: computer form factors.

Everyone today is raging over the idea that new form factors like tablets and netbooks are the harbingers of the PCs death. Depending on who you talk to (or have to listen to), there is always some new form factor is definitely going to kill another.

"Tablets are replacing laptops."
"Netbooks are the new notebook."
"Phone is the only computing device you need."
"The PC is dead."

It's all nonsense. Nonsense is normal in technology conversation, but a shocking number of decision makers and journalists seem to be buying-in to this notion that we're in the "Post-PC" era. Let's set the record straight.

Evolution of the Car & Computer (in America)

In the beginning there was the Model T, and it came in any color you wanted (as long as that color was black). For cars, Ford's Model T was the IBM PC of it's era. Not the first car, but the first car that brought the technology to the masses, much like IBM did in 1981 with the 8088. Sure, there were cars and computers before the Model T and IBM PC. But just as massive, inefficient steam engines had to give way to internal combustion to propel cars to the people, so too did computers that filled rooms have to give way to the digital desktop.

Early cars and early computers offered little choice for the masses. As their value was more widely recognized, though, the need for new types of cars and computers became clear.

For cars, people recognized that a better form factor was need for doing work. Something less oriented towards carrying people, and more oriented towards moving stuff. Enter the truck. For computers, in a similar vein of needing better machines to focus on work, we introduced servers.

Having proven value for home and work, cars and computers were asked to do more.

Trucks were good for local work and transport, but if something needed to move a long distance, or if cargo was particularly large, we needed a bigger truck. We needed a Semi-Truck (or Tractor Trailer). Big business had the same problem with computers. Powerful server computers were useful, but we needed something beefier, more efficient for the data center. We needed mainframes.

Meanwhile, as society progressed and moved from country farms to cities, car owners started to crave a form factor that offered more than simple utility. They wanted something fast. Something fun. Something designed for driving, not for hauling or ferrying passengers. The result was the introduction of sports cars. Fast, fun, and focused on the driver. Computers made a similar transition as people, now addicted to computing, wanted to take it with them everywhere. The sports car of computers is laptops.

Finally, wrapping-up our brief run through history, we reach an era where new sensitivities are at play.

Fuel is not cheap anymore, and people are starting to think about using form factors that deliver better value. People want cars and computers that are friendly on the wallet, the environment, and even more suited for active, urban lifestyles.

If you're hip, your car is a Smart car and your computer is an iPad.
If you're a geek, your car is a Prius and your computer is a netbook.

Durable Form Factors

One thing we can learn from cars is that the world is big enough to support multiple form factors. In fact, the world needs multiple form factors to accommodate all of the different ways cars are used. Trucks didn't replace cars any more than sports cars replaced the family sedan. Each delivers distinct value, and for some people, that means owning multiple car form factors to cover all motor vehicle needs.

Let's break down the unique value some of the most common car form factors provide:

  • Basic Car/Sedan: Your all purpose car. Good for moving people. Come in variety of sizes (2-door, 4-door, SUV), shape, and power. Some are good enough for basic work; some are just good enough to move you around.
  • Truck: Your simple work vehicle. Better for stuff than for people. If you don't do any work, you probably don't need one.
  • Semi-Truck: Essential for big work where a personal truck just doesn't cut it. Usually owned by businesses, not individuals.
  • Sports Car: For people that just need to drive. Sometimes enough to replace all other cars, especially if you don't need to share your ride with many passengers. If you occasionally need a car for moving stuff or people, this may have to be a second car.
  • Hybrid/Small Car: Gets you from point A to B efficiently. Makes the most of a little gas. Good enough as an only car for some people, but you're up a creek if you need to haul anything. Still proving itself as a viable form factor on the market, but quickly becoming more popular.

Mapping Form Factors: Cars to Computers

The comparisons between cars and computers are so good, it's scary. Let's start by breaking down computer form factors in a similar fashion to cars:

  • Desktop PC: The all purpose computer for consumers. If you need a PC that's equally ready to edit some family videos as it is to browse the web and edit documents, this is the choice. Available in a huge variety of sizes, shapes, and price points.
  • Server: Need a computer that can just serve web pages all day? Need something to hold your source control? You're probably a professional (or professional hobbyist), and you need a computer for hauling bits. You don't need the "all-in-one," you need the 12-core tower.
  • Mainframe: When petaflops are your goal, mainframes are your computers. Certain computing tasks, usually the domain of big business, need a big mainframe for the most efficient processing.
  • Laptop: Good as primary computer for some, but often owned as a second computer to a "all purpose" PC. Laptops can pack all the punch of a PC, but the compact power comes at a premium. Laptops are a bit harder to share as a family computer, but are great for the computer users on the go.
  • Tablet/Netbook: Offering the ultimate in mobility and battery life, tablets are great for consuming digital information. If you need to do a lot of content creation, though, tablets strain. Tablets (and netbooks, to a lesser degree) have quickly become a popular computer form factor, but they are still proving their long-term market viability.

By now, the comparisons should be clearly forming in your head:

  • Basic Car = Desktop PC
  • Truck = Server
  • Semi-Truck = Mainframe
  • Sports Car = Laptop
  • Hybrid = Tablet/Netbook

Whether we're talking cars or computers, each form factor has a place in the world and a group of people that will continue to depend on it.

The "Post-Sports Car" Era

We don't see the media hailing the "Post-Sports Car Era" now that there are new smaller, greener car form factors. We don't see anyone claiming "the Truck is dead."

With cars, which have been part of our lives for nearly 100 years, we know that we need these different types of cars to accomplish different tasks. The introduction of a new type of car doesn't mean the end of what came before.

It's time to learn that lesson with computers.

The introduction of tablets and netbooks will no more kill the desktop PC than laptops have managed to do in their lifetime on the mass market. Will the new form factors change the PC landscape? Yes, definitely! More Americans buy cars than trucks today, but the truck remains a vibrant component of auto sales. The PC may be shuffled and re-balanced with these new form factors, but it will not go away.

Developer Impact

If this is not the "Post-Anything" era, what does that mean for developers trying to write software for computers? Depending on your temperament and situation, it means one of two things:

  • OPPORTUNITY: Different computer form factors have different software needs, which means more opportunity for developers to create more software. If you can embrace the opportunity, equip your toolbox with essential tools, then there is money to be made. The only question is if you'll choose to specialize (like a BMW Mechanic) or be a jack of all form factors.
  • MORE WORK: More form factors does mean than you cannot write software once and be done. Just as the markets for trucks, cars, and hybrids are unique, so are the needs for different computer form factors.

Optimist or Wendy Whiner, developers should prepare for a long-term future filled with different "classes" of computer form factor. Good tools are a way to simplify development targeted at multiple form factors, such as the new Kendo UI tools that can help simplify HTML5 development for touchscreens and keyboard/mouse input. But tools or not, developers would be foolish to buy-in to the notion that any of the common computer form factors on the market today will be "post" any time soon.

So the next time someone tries to tell you that tablets are the death of the PC and we're entering the "Post-PC Era," just remind them that there are still trucks and sports cars on the road.

Wednesday, August 24, 2011

Vote for Telerik in DevProConnections Awards

DPC_VoteNow-2011It's that time of year again. It's time to vote for your favorite Telerik products in the DevProConnections Awards (formerly the aspnetPRO Readers' Choice Awards). This year Telerik is nominated in a staggering 20 categories, a testament to how comprehensive Telerik's approach to software development solutions has become. From Visual Studio add-ins like JustCode to automated QA tools like Test Studio, Telerik is building best-of-breed solutions to help you and your team build better software, faster.

Here's what we need from you:

  1. Visit the DevProConnections Awards Survey
  2. Vote for "Telerik" anywhere you see us nominated!

It's that easy, and we really appreciate the support. Take two minutes and cast your votes today, and then be sure to ask your co-workers to do the same. Who doesn't like helping Ninjas win in online polls and surveys?!

Click here to begin casting your online ballot

If you'd like to study your ballot first, here's the full rundown of Telerik's 2011 nominations:

# Category Telerik Product
01. Add-in Telerik JustCode
02. Charting & Graphics Tool Telerik RadChart for ASP.NET AJAX
03. Community Resource Telerik Community Site
04. Component Set Telerik Ultimate Collection
05. Content Management System Telerik Sitefinity
06. Forum Application Telerik Sitefinity Forums
07. Grid Telerik RadGrid for ASP.NET AJAX
08. Memory Management/Profiling Telerik JustTrace
09. Navigation Control Telerik RadMenu for ASP.NET AJAX
10. Online Editor Telerik RadEditor for ASP.NET AJAX
11. Printing Reporting Tool Telerik Reporting
12. Project Management/Defect Tracking  Telerik TeamPulse
13. Scheduling/Calendar Tool Telerik RadScheduler for ASP.NET AJAX
14. SharePoint Development Tool Telerik AJAX Controls for SharePoint
15. Silverlight Product Telerik RadControls for Silverlight
16. Testing/QA Tool Telerik Test Studio
17. Training Telerik Training
18. Utility Telerik JustDecompile
19. Free Tool Telerik JustDecompile
20. Best Vendor Support Telerik

Got it? Good. Quickly vote before you forget!

Vote for Telerik in DevProConnections Awards 2011 Now

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.