{"id":378,"date":"2012-07-06T21:20:57","date_gmt":"2012-07-06T21:20:57","guid":{"rendered":"http:\/\/redmonk.com\/dberkholz\/?p=378"},"modified":"2012-07-06T22:01:37","modified_gmt":"2012-07-06T22:01:37","slug":"windows-8-everyone-is-a-consumer-and-a-creator-but-developers-will-universally-drive-adoption","status":"publish","type":"post","link":"https:\/\/redmonk.com\/dberkholz\/2012\/07\/06\/windows-8-everyone-is-a-consumer-and-a-creator-but-developers-will-universally-drive-adoption\/","title":{"rendered":"Windows 8: Everyone is a consumer and a creator, but developers will universally drive adoption"},"content":{"rendered":"<p>I attended the analyst summit at Microsoft&#8217;s TechEd conference in mid-June and heard from them about their vision and plans for marketing Windows 8. Microsoft&#8217;s set a very high bar for itself in aiming for Windows 8 to be the best of both worlds in nearly every aspect, as Aidan Marcuss, Senior Director of Windows Core Marketing &amp; Ecosystem,\u00a0told us:<\/p>\n<ul>\n<li>Consumption <strong>and<\/strong> creation<\/li>\n<li>Touch <strong>and<\/strong> mouse\/keyboard<\/li>\n<li>And so on..<\/li>\n<\/ul>\n<p>This approach is undoubtedly a tough one. Optimizing for one or the other is vastly easier than optimizing for both ends of a spectrum, along with all the areas in-between. <strong>One thing Microsoft clearly understands, however, is that there&#8217;s no such thing as 100% consumers or 100% creators.<\/strong> It&#8217;s not about a split between different types of people nearly so much as that individual people tend to split up their time between consumption and creation.<\/p>\n<p>I found this intriguing because it suggests to me that the management running Microsoft&#8217;s Windows client still holds a great deal of respect for power users and developers, both of whom lean heavily toward the creation end of the spectrum.<\/p>\n<p>One population tipped far toward the creation end of the consumption-creation spectrum, a group we care deeply about, is developers. Their ability to create a good user experience for everyone else will be critical to the success of Windows 8, and I see two major issues that need solving:<\/p>\n<ul>\n<li><strong>Ensuring ports happen for the minimal set of apps that people expect, and<\/strong><\/li>\n<li><strong>Building a great experience for users of non-IE browsers.<\/strong><\/li>\n<\/ul>\n<h3>A great developer experience would lead to a strong app ecosystem<\/h3>\n<p>Encouraging app builders to port to Windows 8 should clearly be a big\u00a0focus over the next few months. A prerequisite of this is improving the developer experience. As one example, this\u00a0may mean Microsoft should devote effort to porting some of the\u00a0open-source frameworks for building hybrid apps (PhoneGap,\u00a0Appcelerator Titanium, Sencha Touch, etc) to simplify the effort for\u00a0app devs.<\/p>\n<p>I asked about this at TechEd and heard that they&#8217;re basically waiting for others to do the work rather than taking the initiative.\u00a0The problem, however, is that <strong>now<\/strong> is the time these frameworks need to be ready. <strong>Now<\/strong> is when larger numbers of developers will start looking at Windows 8, and they need a great development experience for Metro apps, right out of the box. This covers the entire development lifecycle from technical docs to toolchain and frameworks to app distribution.<\/p>\n<p>Another example relates to changes in developing Metro apps vs Windows 7 apps, in addition to changes in CPU architectures like the popular advent of multicore processors. In Metro, apps are <a href=\"http:\/\/blogs.msdn.com\/b\/windowsappdev\/archive\/2012\/03\/20\/keeping-apps-fast-and-fluid-with-asynchrony-in-the-windows-runtime.aspx\">asynchronous<\/a>, and Microsoft says flat out:<\/p>\n<blockquote><p>If you are building a Metro style app, you will need to write some asynchronous code at some point.<\/p><\/blockquote>\n<p>Asynchronous programming is hard. It&#8217;s a totally different model from the typical imperative-style programming that most people learned in college, and it will require <strong>significant<\/strong> effort from Microsoft to help the everyday software engineer to make this shift.<\/p>\n<p>Besides the migration to asynchrony, another issue is the growing use of multicore processors. Antoine Leblond, corporate vice president of Windows Web Services,\u00a0told me at TechEd that Microsoft&#8217;s expectation of multicore was that, in the vast majority of cases, it wouldn&#8217;t be used to parallelize single processes but rather to run multiple processes in parallel. Think 10 tabs in Chrome rather than heavy-duty image or video processing. This may explain why mentions I had expected of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Functional_programming\">functional programming<\/a> using <a href=\"http:\/\/en.wikipedia.org\/wiki\/F_Sharp_(programming_language)\">F#<\/a> were almost entirely absent (except possibly as unmentioned text on busy slides). Functional programming allows you to specify just <strong>what<\/strong> you want to happen rather than <strong>how<\/strong> you want it to happen, thus enabling parallelization on the backend by the language runtime\/compiler. It&#8217;s surprising to me that Microsoft isn&#8217;t making a bigger push with F# along with the move to Windows 8, since it&#8217;s generally easier for people to make one big transition than two.<\/p>\n<h3>Bad non-IE experiences will hurt Windows more than browser vendors<\/h3>\n<p>Something else to consider, now that use of the Web dominates people&#8217;s\u00a0time on computers, is how poor experiences on browsers besides IE\u00a0might affect people&#8217;s willingness to use Windows 8. I don&#8217;t see\u00a0browsers as something that people flip between on a whim, so they&#8217;ll\u00a0expect whatever they used on Win7 to keep working. Not only that, but they will blame Windows when their browser breaks, not a bad browser port. Picture a user: he&#8217;s running Windows 7 with Firefox or Chrome, then upgrades to Windows 8 and suddenly his browser doesn&#8217;t work. What&#8217;s likely to get the blame?<\/p>\n<p>I tried Chrome,\u00a0which just released a Metro version, and it was frankly pretty awful\u00a0at this point. Should Microsoft contribute to non-IE browsers? Well, nobody&#8217;s paying money for IE, so Microsoft should be doing anything that helps it sell more copies of Windows and create more happy customers. Even if that&#8217;s making significant contributions to &#8220;competing&#8221; browsers.<\/p>\n<p>It&#8217;s critical for Microsoft to get the developer experience right for Metro, and to do it now. And it&#8217;s no less important to nail the Web experience by the time Windows 8 releases later this year.<\/p>\n<p><em>Disclosure: Microsoft is a client and paid my travel &amp; hotel for TechEd.<\/em><\/p>\n<div class=\"acc_license\"><a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\"><img decoding=\"async\" src=\"http:\/\/i.creativecommons.org\/l\/by-sa\/3.0\/88x31.png\" alt=\"by-sa\" \/><\/a><\/div><!--<rdf:RDF xmlns=\"http:\/\/creativecommons.org\/ns#\" xmlns:dc=\"http:\/\/purl.org\/dc\/elements\/1.1\/\" xmlns:rdf=\"http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#\"><Work rdf:about=\"\"><license rdf:resource=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\" \/><\/Work><License rdf:about=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\"><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#Attribution\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#Reproduction\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#Distribution\" \/><permits rdf:resource=\"http:\/\/creativecommons.org\/ns#DerivativeWorks\" \/><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#ShareAlike\" \/><requires rdf:resource=\"http:\/\/creativecommons.org\/ns#Notice\" \/><\/License><\/rdf:RDF>-->","protected":false},"excerpt":{"rendered":"<p>I attended the analyst summit at Microsoft&#8217;s TechEd conference in mid-June and heard from them about their vision and plans for marketing Windows 8. Microsoft&#8217;s set a very high bar for itself in aiming for Windows 8 to be the best of both worlds in nearly every aspect, as Aidan Marcuss, Senior Director of Windows<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"class_list":["post-378","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p23Tsn-66","_links":{"self":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts\/378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/comments?post=378"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/posts\/378\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/media?parent=378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/categories?post=378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/dberkholz\/wp-json\/wp\/v2\/tags?post=378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}