<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>MikeZintel's WebLog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mikezintel/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mikezintel/feed.xml</link>
    <description />
    <lastBuildDate>Tue, 16 Apr 2019 05:19:40 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Why Sync?</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/why-sync</link>
      <pubDate>Mon, 05 May 2008 23:48:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2008/05/05/why-sync/</guid>
      <description><![CDATA[For several decades after the invention of the computer, the dominant constraint was processor cost....]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>For several decades after the invention of the computer, the dominant constraint was processor cost. While mainframes had, in relative terms, impressive storage and local I/O capacity, they were primarily designed to do useful work on <I>every</I> clock cycle. Indeed the humans who were running around mounting and unmounting tapes according to instructions in a job control stream were trying to keep the processor from ever executing a single very expensive NOP. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>It was very Tron.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>With the advent of minicomputers, computers became much more useful to <I>people</I>. The economics of cheaper processors and storage meant that a department level manager could buy a computer rather than waiting for access to corporate iron. Multi-tasking operating systems, in conjunction with terminals – the precursors to networks, began to move from a technology designed to keep the machine busy to a technology that was enabling interactivity in the human computing experience. The economics still required people to share a processor and storage (and experts).<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>Workstations were an early version of what would eventually become the personal computer. The workstation was designed exclusively to make the individuals using them as <I>personally</I> productive as possible, by supplying them with processing, graphics, local storage and then network storage. The magic of the workstation was that the era of optimizing for the machine was coming to an end. I believe that is was the productivity of the workstation that enabled developers to experiment and refine networking and its associated metaphors and practices (virtualized peripherals, remote shells, RPC, collaborative / distributed development, etc.) that paved the way for the Internet itself.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The personal computer again fundamentally changed the economics of computing. While the first PCs were a step backwards in functionality relative to the workstation, the price was right and getting more right with each passing year. The first 10 years of the personal computer were driven by the novelty of rapidly cheaper computing and the search for uses for it. Later the PC would combine workstation class operating system sophistication with a TCP/IP stack and affordability and give birth to the modern Internet. <o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>It’s interesting to consider that it was roughly 15 years ago that we were debating the merits of adding, or not adding, TCP/IP and Winsock to Windows 95.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The next opportunity that affordable personal computing created was access to information. The industry got a few years out of enabling people to type their recipes in WYSIWYG and then print them on newly affordable “graphics” printers. But we wanted more. We wanted to know things. We didn’t know it at the time, but there was a pent up demand to publish. Encyclopedias, universities, newspapers and television were still in control of knowledge and its distribution.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The next economic constraint was the cost of storage. I remember when we were <I>generally happy</I> when a new operating system install took less than one quarter of the hard drive, and data loss due to drive failure was an ordinary part of the personal computing experience. Thankfully the term <I>head crash</I> has disappeared from our jargon completely.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>CD-ROMs started to show the promise of cheap storage. Usenet was showing us that people really wanted to be heard. And email, the power of communication and collaboration within an intimate group controlled by individuals.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>For 10 years between 1990 and 2000, the capacity and reliability of everything associated with the PC increased at an amazing and increasing rate, even as it got cheaper at an increasing rate. By 1998 I had so much affordable, fast local storage and dirt cheap processor cycles that I could <I>render digital video in real time</I>. At the time it wasn’t obvious, exactly, why this was better than an analog tape but damn it was way cool. PVRs came later and showed us one reason it was cool.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>“Overnight”, the default directions of everything in the industry started to change.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>By 2002, we were beginning to take high capacity, small and mechanically robust laptop hard drives for granted. Affordable desktop PCs had storage capacity and reliability undreamed of by workstations in their prime. Video games could assume large amounts of space. Solid state storage was enabling portable devices to store music, photos and video. Indeed the storage wave just kept going even as the clock speed wave crested and began to roll back. This was not conventional wisdom 10 years ago.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>Of course the biggest trend of the last 10 years has been the browser. The web march has been stunning: from simple access to a huge, barely “administrated” and human friendly namespace<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:PersonName w:st="on">;</st1:PersonName> to forms, catalogs and ecommerce<st1:PersonName w:st="on">;</st1:PersonName> simple publishing via hosted services and rich client authoring<st1:PersonName w:st="on">;</st1:PersonName> even more simple (if less rich) publishing via blogs and wikis<st1:PersonName w:st="on">;</st1:PersonName> to highly interactive (but still not very rich) sites that are the anchor point of sharing, collaboration, publishing and discussion.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The web has received a lot of well deserved focus on ease of use enabled by a simple and clever networking layer and presentation layer. Indeed the browser sets a new standard for <I>it just works</I> experiences, and technology that doesn’t meet that bar will not be adopted. As is often the case, the reality is that considerable effort on the part of developers goes into making the experience work and feel great on top of a platform that has, as we say, evolved over time.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The evolution of (cheap) storage has had an equally important impact on the web. The combination of the natural partitioning flexibility of the URL space, racks of (cheap) PCs and simple software redundancy have enabled the creation of immense <I>reliable enough</I> stores. Because these stores are “centralized” it is feasible to do data mining, indexing and transformations on them. This is the engine behind search engines. As this technology becomes more approachable to more developers, it is powering more experiences on the web.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>It’s tempting to assume that web client server wins everything. But I don’t think so.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>I love the web. I’m using it now. But I still spend more time using Windows applications. At the moment I’m listening to very high quality glitch free music being streamed from my hard drive, through an iTunes client and into my headphones. I have a few folders open where I did some photo editing with Photoshop earlier today. I’m using Office to author this blog and enjoying best in class spelling and grammar checking. Messenger is open. I routinely use Premier, Lightroom, Dreamweaver, Nero, and various scanning programs.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The industry’s newest, coolest, ease of use standard setting, <I>cleverest mobile browser ever</I> powered device, the iPhone, has a local application for text messaging, calendar, photo album, camera, YouTube, stocks, maps, weather, clock, calculator, notes, mail, music, the phone itself and of course, the shell. The reason for this is that local applications can have experiences that are highly tuned to the device capabilities and the preferences of the customers using them.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>Of course what is really happening it that the industry is moving toward the best of both worlds. Many of the local applications I describe above are invisibility connected to the web. This is nature of what we’ve been calling this Software + Services.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>What doesn’t seem to have happened yet is much coherency when I want an experience that spans mobile, web and PC. Mobile and (typically one) PC work together over USB sync, and <st1:PersonName w:st="on">Facebook</st1:PersonName> has done a decent job with their iPhone targeted (browser) client but for the most part, I have to “pick” an app or a site or an operator, &nbsp;use it and accept another silo of (my) information. But since lots of them are truly unique and useful, I use lots of them. And I learn to context switch. A lot. I am forced to maintain a complex mental map of where my data is, how I get to it and how to move it around. <o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>Even the web, “the alternative to complexity”, is becoming complex. Sites are competing to store your information and as a side effect they aren’t motivated to allow you to store it across sites. &nbsp;I don’t think I could find all of the photos I have uploaded to the web if I wanted to.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>I think that the Live Desktop and Windows Mesh client experience (and more, coming …) are a visceral demonstration of the power of having a coherent (<EM>synchronized</EM>) view of all of your information from every endpoint. Of course, these are just the initial experiences we have built on </FONT><A href="http://blogs.msdn.com/livemesh/archive/2008/04/21/live-mesh-as-a-platform.aspx" mce_href="http://blogs.msdn.com/livemesh/archive/2008/04/21/live-mesh-as-a-platform.aspx"><FONT color=#800080 size=3>Live Mesh Platform</FONT></A><FONT size=3>. I can imagine many more.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>The success of Live Mesh depends in large part on the core platform and the developers being successful, in the real world, to build “it just works” experiences.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>Live Mesh was my first deep exposure to REST. I have to admit that the power of simple operations against an URL space has impressed me. We have tackled very complex problems using the model and it has held up very well. I’m happy to tell you that this elegance will extend to the developer model (soon).<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>I’m looking forward to it.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><A href="http://www.zintel.net/" mce_href="http://www.zintel.net/"><FONT color=#800080 size=3>Mike</FONT></A><FONT size=3> Zintel<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3>Product Unit Manager, Mesh and Storage Platform</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><FONT size=3></FONT></SPAN>&nbsp;</P><SPAN style="FONT-FAMILY: Arial"><FONT size=3>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial">I want to thank a few people: Dave and Amit for creating the opportunity to work on this. Ray, Jack, George and Colleen for their deep insight. Abhay and his team for making it cool and showing me what is possible. <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial">Abolade, Alex, Dave, David, Mike, Tom, Tony, Vlad and <U>many</U> other people on my team for designing and building the right stuff long before I knew what it was. Todd and his team for making it work on the Internet.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-FAMILY: Arial">We’re not done yet and we’re hiring. <A href="mailto:mikezin@microsoft.com">mikezin@microsoft.com</A><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"></FONT></SPAN><SPAN style="FONT-FAMILY: Arial"><o:p><FONT size=3>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN lang=EN style="FONT-FAMILY: Arial; mso-ansi-language: EN"><FONT size=3>Technorati Tags: </FONT><A title=http://technorati.com/tags/LiveMesh href="http://technorati.com/tags/LiveMesh" mce_href="http://technorati.com/tags/LiveMesh"><FONT color=#800080 size=3>LiveMesh</FONT></A></SPAN><SPAN style="FONT-FAMILY: Arial"><o:p></o:p></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft XNA Framework Referenced Here, Etc.</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/microsoft-xna-framework-referenced-here-etc</link>
      <pubDate>Thu, 06 Apr 2006 01:47:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2006/04/06/microsoft-xna-framework-referenced-here-etc/</guid>
      <description><![CDATA[Scott Holden mentioned that I didn't reference the Microsoft® XNA Framework® in my previous posts...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3><A HREF="/scottholden">Scott Holden</A> mentioned that I didn't reference the Microsoft® XNA Framework® in my <A HREF="/mikezintel/archive/2006/03/23/559511.aspx">previous posts</A> <A HREF="/mikezintel/archive/2006/03/14/550958.aspx">crawl this one too</A>, thus missing out on the search engine action. Actually it was a secret test to gauge the degree to which search algorithms can infer based on semantics.</FONT></P>
<P class=MsoNormal><FONT size=3>Still pretty bad.</FONT></P>
<P class=MsoNormal><FONT size=3>So, let me fix this by sharing a photo of Chris Muench, at GDC, showing off his game, written using the Microsoft® XNA Framework®.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/Blog/ChrisMGDC.jpg" width=600 align=center border=2></P>
<P class=MsoNormal><FONT size=3>We're going to give an internal demo of these games at an upcoming "all hands" Developer Division meeting. It's cool.</FONT></P>
<P class=MsoNormal><FONT size=3>We're getting ready to release NET CF V2 SP1 to beta. We're finally close to making good on our commitments to support for Windows CE 4.2, <A HREF="/mikezintel/archive/2004/12/27/333002.aspx">performance tools</A> and <A HREF="/mikezintel/archive/2005/02/11/371397.aspx">headless support</A>. Thanks for your patience.</FONT></P>
<P class=MsoNormal><FONT size=3>In other news, the SQL folks are going to announce today a product called Microsoft® SQL Everywhere®. This is a compact local database for use on PCs and Windows Mobile devices. It will enable developers to use the same database and APIs to develop occasionally-connected applications that sync with SQL Server 2005 across all Microsoft client platforms.&nbsp;The database will have similar install footprint as SQL-Mobile does today. Very similar. Very familiar. </FONT></P>
<P class=MsoNormal><FONT size=3>Some folks have been asking about this for a long time.</FONT></P>
<P class=MsoNormal><FONT size=3>The NET CF team is working on WCF support for the next release, with some interesting support for transiently connected networks.</FONT></P>
<P class=MsoNormal><FONT size=3>I got an interesting answer to an interview question a few weeks ago. "Why do you want to work at Microsoft?" The candidate described the anti-Microsoft buzz on campus. He then said he listened to a presentation that a Microsoft employee gave at campus, and&nbsp;decided to "put some independent thought into this". I have to admit a certain guilty pleasure to reading mini-microsoft; it’s like an accident scene. But I hope people can see through this stuff. There are a lot of great folks who care here. I've been here 11 years and I think it's a better company now then during the "good old days</FONT></P>
<P class=MsoNormal></FONT></P>
<P class=MsoNormal><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>It's Cool.</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/its-cool</link>
      <pubDate>Thu, 23 Mar 2006 21:14:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2006/03/23/its-cool/</guid>
      <description><![CDATA[I have a theory that everyone gets into software to write video games or build robots. Many discover...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3>I have a theory that everyone gets into software to write video games or build robots. Many discover that it's hard, they don't "got it",&nbsp; most of the paying jobs are for accounts payable systems and that rent costs money. I have another theory that photographers are just creative people with <A href="http://www.zintel.net/">no drawing talent</A>. I'll admit to having no real data on this, other than it being true for me personally.</FONT></P>
<P class=MsoNormal><FONT size=3>One good solution to the art problem is Photoshop, and for the game problem to build tools and entice the folks who "got it" to use them. Frankly seeing people with different/better skills than you build very cool stuff on your tools in the best part about working on developer tools.</FONT></P>
<P class=MsoNormal><FONT size=3>About 2 years ago I challenged my team to make sure that as D3DM (DX for Windows Mobile) got rolled out on devices, NET CF was the best choice for writing a game app on the platform. Success would be measured by adoption and great customer feedback. At last year's <A HREF="/mikezintel/archive/2005/05/24/421290.aspx">MEDC</A>, D3DM was highlighted in a keynote with the game, <A href="http://www.pocket-jongg.com/default.aspx">Pocket-Jongg</A>, written by Chris Muench. Chris also gave a talk at that event on the details of writing D3DM games in managed code.</FONT></P>
<P class=MsoNormal><FONT size=3>That was fun to watch.</FONT></P>
<P class=MsoNormal></P>
<P class=MsoNormal><FONT size=3>Now the challenge is to make sure that once hard core C++ game developers try .NET, that they leave delighted. This will be a learning experience for all of us.</FONT></P>
<P class=MsoNormal><FONT size=3>I've been working on operating system level stuff for <A href="http://www.zintel.net/Bio.htm">long enough</A> that I can get excited by seeing the right text on a screen (although, never by a single light, even if it blinks; can't do hardware). So I thought I was really excited when I <A HREF="/mikezintel/archive/2006/03/14/550958.aspx">saw</A> a NET CF team home brew game, "Racer", running on Windows Mobile, Xbox and a Windows PC.</FONT></P>
<P class=MsoNormal><FONT size=3>But then I saw Chris's game, with some help from artists in the Xbox team, on Xbox. </FONT></P>
<P class=MsoNormal><IMG src="http://www.zintel.net/blog/XNA_GDC06_Pocket-Jongg_logo.jpg" border=0></P>
<P class=MsoNormal>
<P class=MsoNormal><FONT size=3>It was cool.</FONT></P>
<P class=MsoNormal><IMG src="http://www.zintel.net/blog/XNA_GDC06_Pocket-Jongg07.jpg" border=0> </P>
<P class=MsoNormal><FONT size=3>And then I saw this.</FONT></P>
<P class=MsoNormal><IMG src="http://www.zintel.net/blog/XNA_GDC06_Culture07.jpg" border=0></P>
<P class=MsoNormal><FONT size=3>And it was cool.</FONT></P><IMG src="http://www.zintel.net/blog/XNA_GDC06_Culture06.jpg" border=0> 
<P></P>
<P></P>
<P class=MsoNormal><FONT size=3>Accounts payable never looked this good. </FONT></P>
<P class=MsoNormal><FONT size=3></FONT>&nbsp;</P>
<P class=MsoNormal><FONT size=3>Check out the news from our <A HREF="/robunoki/default.aspx">embedded reporter</A>, Rob.</P>
<P><FONT size=3></FONT>&nbsp;</P>
<P><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P></FONT>]]></content:encoded>
    </item>
    <item>
      <title>A Market Within A Market (was .NET in HD)</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/a-market-within-a-market-was-net-in-hd</link>
      <pubDate>Tue, 14 Mar 2006 00:37:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2006/03/14/a-market-within-a-market-was-net-in-hd/</guid>
      <description><![CDATA[In the late 90s, I worked on the IrDA infrared connectivity technology. My team built the protocol...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3>In the late 90s, I worked on the <A href="http://www.irda.org/associations/2494/files/Publications/WindowsNonWindowsIrda.PDF">IrDA</A> infrared connectivity technology. My team built the protocol stacks that shipped with Windows CE and Windows 2000 and descendents, and I was an advocate of the technology within Microsoft.</FONT></P>
<P class=MsoNormal><FONT size=3>IrDA is a success. It continues to be useful as simple way to transfer files and contacts between devices and PCs, and to use phones as modems.</FONT></P>
<P class=MsoNormal><FONT size=3>That said, the thing I was most passionate about failed. I wanted to create the most seamless experience for moving photos between digital cameras and PCs. Keep in mind that 8 years ago, it was trivial to draw a crowd by taking a digital camera to the zoo. And my internal demo of a pre-production digital camera beaming images to Windows NT5 was very cool indeed.</FONT></P>
<P class=MsoNormal><FONT size=3>There was a “competing” internal technology called Windows Image Acquisition (WIA) architecture. WIA abstracted various lower level buses, normalized the command and data transfer, and exposed the camera photos through a standard API that can be used by many different programs. In theory, WIA and IrDA would coexist, but I disliked it. A WIA camera was installed via the PnP system as a new device, and controlled via APIs and control panel.</FONT></P>
<P class=MsoNormal><FONT size=3>I argued that we had created an essentially new model of connectivity, completely free of state and configuration and completely ad-hoc. No drivers to install, no settings to get wrong, and wrapping this in PnP was ugly from an engineering perspective and bad for ease of use.</FONT></P>
<P class=MsoNormal><FONT size=3>I was quite passionate about this, and the company empowered me to ship it in Windows 2000. I even lined up some camera vendors to support it. And I was sure I would win in the marketplace because of the fundamental beauty of what we had built.</FONT></P>
<P class=MsoNormal><FONT size=3>It was beautiful.</FONT></P>
<P class=MsoNormal><FONT size=3>I don’t know for sure, but I suspect that, today, if my one unit of the one camera model that I know actually shipped with this feature wasn’t broken, I could point it at my XP laptop, hit send, and all of my photos would be transferred to a folder. The folder would then automatically open to an Explorer photo preview model. This might even still work in Vista.</FONT></P>
<P class=MsoNormal><FONT size=3>Slick as can be.</FONT></P>
<P class=MsoNormal><FONT size=3>But it failed. Worse, partners who bet on me failed. I didn’t make life easier for consumers. I left Windows with legacy (but good quality) code to support. And I now am a regular and happy user of WIA to import images from one of my two scanners into any number of image editing tools that I use on a <A href="http://www.zintel.net">regular basis</A></FONT></P>
<P class=MsoNormal><FONT size=3>Why am I telling you this story?</FONT></P>
<P class=MsoNormal><FONT size=3>The software platform business is fundamentally different from an innovation and marketplace perspective than, say, the 3M model of product incubation, entrance, success or failure and withdrawal (at least as it’s taught to me by B-School types; I’ve never worked at 3M and one thing I’ve learned is that you never quite get it from looking outside in).</FONT></P>
<P class=MsoNormal><FONT size=3>First, you can’t really withdraw things. At the scale of Windows, even if a small percentage of folks take a dependency on a technology, then you want to continue to support them. </FONT></P>
<P class=MsoNormal><FONT size=3>For a long time. </FONT></P>
<P class=MsoNormal><FONT size=3>DOS apps I wrote in 1980 continue to run on XP today. I’m sure if the folks writing DOS knew this at the time, they would have made this task a bit easier.</FONT></P>
<BLOCKQUOTE>
<P class=MsoNormal><FONT size=3>.MODEL LARGE ; large model</FONT></P>
<P class=MsoNormal><FONT size=3>.CODE</FONT></P>
<P class=MsoNormal><FONT size=3>PUBLIC _TestForKey ; BOOLEAN TestForKey(void)</FONT></P></BLOCKQUOTE>
<P class=MsoNormal><FONT size=3>_TestForKey PROC</FONT></P>
<BLOCKQUOTE>
<P class=MsoNormal><FONT size=3>mov ah, 1 ; Key waiting check</FONT></P>
<P class=MsoNormal><FONT size=3>int 16h ; Keyboard BIOS service</FONT></P>
<P class=MsoNormal><FONT size=3>mov ax, 0 ; Assume no key waiting</FONT></P>
<P class=MsoNormal><FONT size=3>jz Return ; correct, return(FALSE)</FONT></P>
<P class=MsoNormal><FONT size=3>mov ax, 1 ; Key waiting, return(TRUE)</FONT></P></BLOCKQUOTE>
<P class=MsoNormal><FONT size=3>Return:</FONT></P>
<P class=MsoNormal><FONT size=3>ret</FONT></P>
<P class=MsoNormal><FONT size=3>_TestForKey ENDP</FONT></P>
<P class=MsoNormal><FONT size=3>It's important to get things right for the long term.</FONT></P>
<P class=MsoNormal><FONT size=3>Second, the net value to people of a feature is not measured in isolation. Frankly I don’t want to choose between 10 different ways to do the same task and decide which one I like best. I want one way to discover and start programs, one way to cut and paste, one way to organize things, one way to add and manage devices and administrate my machine, etc. Once I’ve learned how to do things, I want to do them the same way in as many places as possible. Perhaps most importantly, I want programs and hardware I buy anywhere to work anywhere.</FONT></P>
<P class=MsoNormal><FONT size=3>You might think we could have done a better job on some of these things, and I’d agree, but it’s not for lack of trying. Our software is used, literally, by hundreds of millions of people, in every country in the world, to do an incomprehensibly large number of different things. An interesting consequence of listening and acting on a huge number of feature requests, each that make sense in a scenario, is that you can accidentally end up doing a bunch of overlapping things. Frankly the search for the fully normalized horizontal, discoverable and easy to learn and live with solution to problems is not an easy task.</FONT></P>
<P class=MsoNormal><FONT size=3>Some of use who have been around for a while remember a simple happy time when you wrote some code, put in on floppy, took out an ad in Byte, and made a fortune. Personally, I’m going to ignore the fact that this wasn’t at all my experience trying to bootstrap a software company, and remember it this way.</FONT></P>
<P class=MsoNormal><FONT size=3>Why am I telling you this story?</FONT></P>
<P class=MsoNormal><FONT size=3>I’ve been spending the last few months doing “cross group” work, to get something new lined up and right for the long term. </FONT></P>
<P class=MsoNormal><FONT size=3>We spend a lot of energy and time at Microsoft these days doing cross group work. On a great day, this can be an enlightening and enjoyable process, as we have an amazingly diverse, talented, curious and interesting group of folks here. I can’t imagine a faster way to gain rich insights into technology, customers and the marketplace. On a grumpy day, cross group work feels like a game of whack-a-mole that has gone on too long, as the shear number of opinions and innate complexity can be overwhelming.</FONT></P>
<P class=MsoNormal><FONT size=3>And this work has been “secret”. Not so much because we want to save the surprise, but because we want to make sure that we don’t announce things until we have very high confidence that we will be able to build, ship and support them, that they are the right solutions and that we understand how they sit relative to other potentially overlapping efforts.</FONT></P>
<P class=MsoNormal><FONT size=3>I once wrote about <A href="/mikezintel/archive/2005/02/03/366662.aspx">what we knew</A> Vs what we didn’t know when we designed the .NET Compact Framework.</FONT></P>
<P class=MsoNormal><FONT size=3>I’d like to tell you now what I know about the game space. I know that very high end games are written in C++ , with a significant art component, and are getting more expensive to build. I know that C# improves programmer productivity substantially and has very solid adoption and customer loyalty. I know that at the low end, various technologies are making “casual” game authoring much easier, and that devices are a high volume target for these games. I know that the set of technologies used to write games varies significantly across platforms, and that it’s hard to migrate code and skills between consoles, PC and devices.</FONT></P>
<P class=MsoNormal><FONT size=3>I also know that working with the Xbox team has been among the most enjoyable and productive cross group work that I’ve done. I know that my team and the XNA team within Xbox, have been burning the midnight oil to allow us to demonstrate the feasibility of games written in managed code running on a .NET CLR on a final 360 dev kit. And I know that we’ve demonstrated the same game binary (almost the same; oh so close) running on the 360 kit, Windows and on Windows Mobile.</FONT></P>
<P class=MsoNormal><FONT size=3></FONT>&nbsp;</P>
<P class=MsoNormal><FONT size=3>In HD.</FONT></P>
<P class=MsoNormal><FONT size=3>Fast.</FONT></P>
<P class=MsoNormal><FONT size=3>Stay tuned.</FONT></P>
<P class=MsoNormal><FONT size=3></FONT>&nbsp;</P>
<P class=MsoNormal><FONT size=3>For the record, the right solution to the photo exchange problem proved to be tiny solid state drives that are PnP’d as a local filesystem.</FONT></P>
<P><FONT size=3></FONT>&nbsp;</P>
<P><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>It's a Completely Cool, Multi-Purpose Blog</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/its-a-completely-cool-multi-purpose-blog</link>
      <pubDate>Thu, 03 Nov 2005 01:44:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2005/11/03/its-a-completely-cool-multi-purpose-blog/</guid>
      <description><![CDATA[I recently watched, for about the 10th time, the movie True Stories. And, for about the 10th time, I...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3>I recently watched, for about the 10th time, the movie <A href="http://www.imdb.com/title/tt0092117">True Stories</A>. And, for about the 10th time, I started telling anyone around me who would listen about this great movie. </P>
<P class=MsoNormal><FONT size=3>I find it fascinating that different folks see different themes in the same movie. Indeed, depending on my mood, I can see different movies. </P>
<P class=MsoNormal><FONT size=3>True Stories is about small towns, suburbia, religion, the technology business, metal buildings, community, shopping malls, love and marriage, progress, music, other stuff. The movie cuts between David Byrne's monolog narration, as he drives through a town in Texas, lots of lip-syncing to music by the Talking Heads, and various snippets of&nbsp;small town life.</FONT></P>
<P class=MsoNormal><FONT size=3>Most of the characters in the movie are eccentric. This includes a man who advertises for a wife on television (played by John Goodman), an executive who uses food as a metaphor to explain the changes that technology will have on society, a paranoid preacher hooked on conspiracy theories and a pathological liar.</FONT></P>
<P class=MsoNormal><FONT size=3>It's pretty clear during the clip of "Love for Sale ", that Byrne is being condescending to advertisers&nbsp;and people gullible enough to fall for advertising. Yet despite the fact that the story is basically about the boring lives of bunch of oddballs, I find a more subtle and optimistic message intertwined.</FONT></P>
<P class=MsoNormal><FONT size=3>The movie's viewpoint on impact of technology on society is particularly forward looking. The almost unbelievable global change driven by the wide availability of PC computing escaped Bryne, who was commenting on the impact that a semiconductor company was having transforming the local community. Yet the exaggeration, intended to be a comical spoof, has proven to be shy of reality.</FONT></P>
<P class=MsoNormal><FONT size=3>Small town life really is boring. And folks who choose to live in small towns are generally isolated enough from urban trends so as to appear unsophisticated and even intolerant. But my small town friends are not lacking in intelligence, creativity or ambition. The need to self-entertain leads to a lot of eccentric hobbies and a sensitivity and openness to simple pleasures. Most folks get that talking about the weather isn't intellectually groundbreaking, but value having a collectively low barrier to entry to basic human interaction. As far as open mindedness goes, my experience has been that in a big town, you advertise your tolerance with a parade, and in small town, parades are not a political events and privacy is valued and respected.</FONT></P>
<P class=MsoNormal><FONT size=3>The fundamental gag in True Stories is that Texas is flat, ugly&nbsp;and boring. Indeed the closing scene is a girl amusing herself with a sequence of different walks as she travels down a straight, seemingly endless road through the prairie. And the strange characters are a result of life in a boring, isolated Texas town. But they all seem sincere, decent, complex and genuinely entertaining.</FONT></P>
<P class=MsoNormal><FONT size=3></FONT>&nbsp;</P>
<P class=MsoNormal><FONT size=3>I liked them.</FONT></P>
<P class=MsoNormal><FONT size=3></FONT>&nbsp;</P>
<P class=MsoNormal><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P></FONT></FONT>]]></content:encoded>
    </item>
    <item>
      <title>The Proper Division of Labor in an Engineering Org</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/the-proper-division-of-labor-in-an-engineering-org</link>
      <pubDate>Thu, 20 Oct 2005 01:35:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2005/10/20/the-proper-division-of-labor-in-an-engineering-org/</guid>
      <description><![CDATA[My job: blogging.
&nbsp;
These folks: real work (ie setup, versioning, JIT, GC, loader,...]]></description>
      <content:encoded><![CDATA[<FONT size=3></FONT>
<P class=MsoNormal><FONT size=3><a href="http://blogs.msdn.com/mikezintel/archive/2004/12/08/278138.aspx">My job: </A></FONT><FONT size=3>blogging.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal><FONT size=3><A href="http://www.zintel.net/blog/netcfteam1.jpg">These folks:</A> </FONT><FONT size=3>real work (ie setup, versioning, JIT, GC, loader, reflection, debugging, type system, interop, BCL, globalization, Windows Forms,&nbsp;DirectX, networking,&nbsp;crypto, ADO.NET, XML, etc).</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal><FONT size=3>Mike.</FONT></FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>QA Has Signed Off on .NET Compact Framework V2</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/qa-has-signed-off-on-net-compact-framework-v2</link>
      <pubDate>Thu, 29 Sep 2005 19:29:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2005/09/29/qa-has-signed-off-on-net-compact-framework-v2/</guid>
      <description><![CDATA[The .NET Compact Framework Quality Assurance Team signed off on V2 yesterday. We've been working on...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3>The .NET Compact Framework Quality Assurance Team signed off on V2 yesterday. We've been working on this for a long time and I'm excited to get this thing shipped. Soon.</FONT></P>
<P class=MsoNormal><FONT size=3>I'd like to share some insight into what we've been doing for the last 3 years, and why.</FONT></P>
<P class=MsoNormal><FONT size=3>The first half of the project cycle is divided into milestones, each about 3 months long, split between a coding and a stabilization phase. Like most of the techniques used to manage multi-person software projects, the goal of milestones is to find and fix bugs early and keep the code in good health.</FONT></P>
<P class=MsoNormal><FONT size=3>If I check in a code change that introduces a subtle bug (pretend that the team would actually let me check in code these days) on Monday, and on Wednesday I get a bug report on an apparently different bug, there's a decent chance I'll be able to remember what I did, and make the mental connection, and correctly fix the root cause. The probability of a correct diagnosis is far lower two months later. And if other folks have "fixed" the side effects in the interim, possibly by unknowingly taking a dependency on the incorrect behavior caused by my bug, fixing the root cause then creates a bug ripple through the system. When you work on systems with 10s, 100s or even 1000s of developers, you have to pay attention to this.</FONT></P>
<P class=MsoNormal><FONT size=3>Small projects tend to behave like clay models. Changes are predictable and visible. Large systems behave more like a building or even a living organism. Each step of building construction establishes a quality baseline for the next one. A crooked foundation ripples through the process until the kitchen cabinets can't be installed without a gap on one side or the other. The cost of moving water pipes during a remodel vastly exceeds the cost to run them initially, it's often to impossible to move things like chimneys and drains and you can add only so many new plugs to a circuit.</FONT></P>
<P class=MsoNormal><FONT size=3>I think about the code of a complex software project in terms of&nbsp;its&nbsp;"health" at any given point in time. It's much cheaper to keep it healthy than is it is to cure it, and after recovery from a major illness, accident or surgery, it often doesn't come back to optimal health.</FONT></P>
<P class=MsoNormal><FONT size=3>There's also a team efficiency and morale reason to keep the system healthy. If you are trying to debug complex behavior in your code, and the components that you are running on and with are also unstable, the amount of complexity soon becomes overwhelming. If this continues for very long, folks tend to give up on the really hard bugs, since they can't find them and there's a good chance they might just "go away" in some future build anyway. This phenomena extends to external customer satisfaction too. It only takes a handful of memory leaks, unexplained crashes and hangs, incorrect program execution or data corruption before folks assume that all of their bugs are really system bugs. We hold ourselves to high standard around these kinds of things.</FONT></P>
<P class=MsoNormal><FONT size=3>So milestones are a simple tool to make sure if the code goes on a bad drinking binge, we can send it to rehab.</FONT></P>
<P class=MsoNormal><FONT size=3>Sometime around the middle of the cycle, the system becomes stable and complete enough that you can start to collect feedback. If you do this too early, the feedback tends to be obsolete and customers get frustrated because the system is still churning. If you wait too long, you can't act on it. We collect feedback through our early adopter programs, beta tests, MVPs, newsgroups, internal app building exercises, MSDN forums and bug reporting, industry events, web searches and formal industry research.</FONT></P>
<P class=MsoNormal><FONT size=3>During the second half of the multi-year cycle we start to pay a great deal more attention to our automation harnesses and associated dashboards. In terms of automation, we run a continuous build, with a "nag auto-mailer" that catches build breaks and sends email, ideally in time to fix them before the nightly automated build. Every day, a new build is created and minimal set of automated tests, called build verification tests, are run against a matrix of hardware and operating systems. The failures are logged, analyzed by engineers that day, and bugs filed. The entire test suite and automation needs the same kind of health program as the code under test. If the suite generates too many false positives it will be ignored, yet the coverage needs to be as good as possible to find bugs early.</FONT></P>
<P class=MsoNormal><FONT size=3>We also have suites, automation and dashboards around stress and performance. The coverage on these needs to be broad, to prevent ongoing performance tuning (and the occasional foundation wall move) from "training" to a small set of benchmarks that don't translate to real world gains, and to squash nasty&nbsp;stress bugs early.</FONT></P>
<P class=MsoNormal><FONT size=3>We have ship criteria around these dashboards and we watch these and bug trends to help figure out when we're ready to ship.</FONT></P>
<P class=MsoNormal><FONT size=3>At the end of every milestone, and prior to final builds, we run what's called a full test pass. That is a process that runs all the tests on as many combinations of hardware and operating systems as we can muster. This is a multi-week process.</FONT></P>
<P class=MsoNormal><FONT size=3>The thing we have been working hard on for the last few months is compatibility. We want customers to deploy the next version widely, and key here is to provide both enough new value and to make sure they have a pleasant upgrade experience. I think our performance gains alone will be reason to upgrade, in addition to the new APIs we expose. We have an automation harness that uses reflection against our assemblies to validate that we are in sync with the .NET Framework on Windows. We also run a compatibility test suite to validate that our behavior is compatible. Both of these are necessary starting points, but the only way to really succeed is to test real world applications.</FONT></P>
<P class=MsoNormal><FONT size=3>To that end, we have assembled, with your help, a catalog of about 600 application. We've manually tested about half of them, covering a wide range of application types and complexity, and have fixed all but a handful of really tough problems. This has been the last dashboard that we've been watching closely and I'm happy that it says we're ready.</FONT></P>
<P class=MsoNormal><FONT size=3>And you've been telling us that we're ready too. Thanks.</FONT></P>
<P class=MsoNormal><FONT size=3></FONT>&nbsp;</P>
<P class=MsoNormal><FONT size=3>A few V2 stats:</FONT></P>
<P class=MsoNormal><FONT size=3>Bugs opened, reviewed and fixed or closed : 11,831</FONT></P>
<P class=MsoNormal><FONT size=3>Test executables run in final test pass: 546,940</FONT></P>
<P class=MsoNormal><FONT size=3>Test cases run in final test pass: 3,548,056</FONT></P>
<P class=MsoNormal><FONT size=3>Devices used in final test pass: 94</FONT></P>
<P class=MsoNormal><FONT size=3>Global versions tested: CHS, CHT, ESP, FRA, ITA, JPN, KOR, PTB, USA</FONT></P>
<P class=MsoNormal><FONT size=3>Apps tested for app compat: 326</FONT></P>
<P class=MsoNormal><FONT size=3>Performance scenarous tested: 230</FONT></P>
<P class=MsoNormal><FONT color=#0000ff size=2>&nbsp;</P></FONT>
<P class=MsoNormal><FONT size=3>This is what we've been </FONT><FONT size=3>doing, with your help, for the last 3 years. I hope it delights you.</FONT></P>
<P class=MsoNormal><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P><FONT size=+0>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P>&nbsp;</FONT>]]></content:encoded>
    </item>
    <item>
      <title>WPF/e and the .NET Compact Framework</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/wpfe-and-the-net-compact-framework</link>
      <pubDate>Fri, 23 Sep 2005 00:12:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2005/09/23/wpfe-and-the-net-compact-framework/</guid>
      <description><![CDATA[I'd like to share some thoughts on integrating WPF/e, announced at the PDC, and the .NET Compact...]]></description>
      <content:encoded><![CDATA[<FONT size=3></FONT>
<P class=MsoNormal><FONT size=3>I'd like to share some thoughts on integrating WPF/e, announced at the PDC, and the .NET Compact Framework.</FONT></P>
<P class=MsoNormal><FONT size=3>WPF/e is a C++, cross platform implementation of a subset of WPF (Avalon). It will be able to execute XAML, in addition to exposing dual mode COM interfaces that make it programmable from COM and script languages.</FONT></P>
<P class=MsoNormal><FONT size=3>This makes perfect sense for deployment in browsers, but less so for .NET developers on devices.</FONT></P>
<P class=MsoNormal><FONT size=3>I've been struggling for a while trying to understand how to add a great, easy to author, graphics animation infrastructure to the .NET Compact Framework. We made good progress on enabling games with the DX object model in V2 (Whidbey), but there's still considerable investment needed with this approach to build a game. I'm equally concerned about the "disjoint silos" between Windows Forms apps and full screen only DX apps.</FONT></P>
<P class=MsoNormal><FONT size=3>The implementation of WPF on the PC was too large to port to devices.</FONT></P>
<P class=MsoNormal><FONT size=3>I'm optimistic that WPF/e is the solution to this. The next step for the team is to investigate the feasibility of integrating this technology deeply into the .NET Compact Framework. Ideally, this would enable the hosting of a control built in WPF/e in a Windows Forms application, in addition to enabling full screen WPF/e applications. In both cases, the programming experience would be .NET.</FONT></P>
<P class=MsoNormal><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P></FONT>]]></content:encoded>
    </item>
    <item>
      <title>Ignition System Envy</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/ignition-system-envy</link>
      <pubDate>Thu, 08 Sep 2005 01:02:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2005/09/08/ignition-system-envy/</guid>
      <description><![CDATA[I'm pretty excited to try out my new toy, the Zintel-O-Tron 6 Channel Combination Model Rocket and...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3>I'm pretty excited to try out my new toy, the <EM>Zintel-O-Tron 6 Channel Combination Model Rocket and </EM><a href="http://blogs.msdn.com/mikezintel/archive/2005/08/26/456889.aspx"><EM>Fireworks</EM></A><EM> Ignition System</EM>.</FONT></P>
<P class=MsoNormal><FONT size=3>I built this thing on the weekend from parts I bought at the local Radio Shack.</FONT></P>
<P class=MsoNormal><FONT size=3>At least I was excited, until Mark Prentice, who works with me on the .NET Compact Framework, basically told me that my design point was lame ...</FONT></P>
<DIV>
<P class=MsoNormal><B><FONT face=Tahoma size=2><SPAN style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT face=Tahoma size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> Mark Prentice <BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Friday, September 02, 2005 1:28 PM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> Mike Zintel<BR>&nbsp;</SPAN></FONT></P></DIV>
<P class=MsoNormal><FONT face=Arial><SPAN style="FONT-FAMILY: Times New Roman">I bet using </SPAN></FONT><FONT face=Arial color=navy><SPAN style="COLOR: navy; FONT-FAMILY: Times New Roman"><A style="COLOR: blue; TEXT-DECORATION: underline" href="http://www.seetron.com/ssc.htm">http://www.seetron.com/ssc.htm</A></SPAN></FONT><SPAN style="FONT-FAMILY: Arial"><FONT face="Times New Roman"> and a couple of hobby servos at </FONT></SPAN><SPAN style="COLOR: navy"><FONT face="Times New Roman" color=navy><A style="COLOR: blue; TEXT-DECORATION: underline" href="http://www.hobby-lobby.com/servos.htm">http://www.hobby-lobby.com/servos.htm</A></FONT></SPAN><SPAN style="FONT-FAMILY: Arial"><FONT face=Arial><SPAN style="FONT-FAMILY: Times New Roman">, &nbsp;a bit of wood and nails for a simple peg board switch, a PPC with serial out, one could use NETCF to write the fireworks scheduling app…</SPAN></FONT></SPAN></P>
<P class=MsoNormal><FONT face=Arial><SPAN style="FONT-FAMILY: Times New Roman">Mark</SPAN></FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><IMG height=673 src="http://www.zintel.net/Blog/Zintel-O-Tron.jpg" width=450 border=2></P><FONT size=+0>
<P class=MsoNormal><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P></FONT>]]></content:encoded>
    </item>
    <item>
      <title>This is Not a Technical Post on the .NET Compact Framework</title>
      <link>https://docs.microsoft.com/archive/blogs/mikezintel/this-is-not-a-technical-post-on-the-net-compact-framework</link>
      <pubDate>Fri, 26 Aug 2005 16:28:00 GMT</pubDate>
      <dc:creator><![CDATA[MikeZintel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/mikezintel/2005/08/26/this-is-not-a-technical-post-on-the-net-compact-framework/</guid>
      <description><![CDATA[I've been on vacation.
If you're very lucky, you know a place that feels like it's the calm in the...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal><FONT size=3>I've been on vacation.</FONT></P>
<P class=MsoNormal><FONT size=3>If you're very lucky, you know a place that feels like it's the calm in the center of the universe. For me, <A href="http://www.zintel.net/Public/Photos/NovaScotia/JPG_4inch_150dpi/LittleRiverLake1.jpg">Little River Lake</A>, in <A href="http://www.zintel.net/Public/Photos/NovaScotia/JPG_4inch_150dpi/NSDeanChapterLake2.jpg">White Rock</A>, Nova Scotia is just such a place. We've spent time there every summer for about 20 years.</FONT></P>
<P class=MsoNormal><FONT size=3>The highlight this year, beyond seeing friends and family again, was fireworks. The key to this was the discovery of&nbsp; <A href="http://www.fireworksfx.com/">Fireworks F/X</A>, a few <STRIKE>miles</STRIKE> km down the road. Every summer I search for fireworks. And I've usually been able to find small, single shot units at the local hardware store. And for quite a few years, the locals have told me that I need to go to Grand Pre for the good stuff. </FONT></P>
<P class=MsoNormal><FONT size=3>I stole this description of Grand Pre from a <A href="http://www.valleyweb.com/grandpre">tourist site</A>: </FONT></P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P class=MsoNormal><I><FONT size=3>Adjacent to the town of <A href="http://www.town.wolfville.ns.ca/">Wolfville</A> is Grand Pre, or "Great Meadow", stretches east from the Acadian dykes which excluded the tides of the Minas Basin. Grand Pre National Historic Park marks the site of the expulsion of the <A href="http://www.valleyweb.com/acadians/">Acadians</A> in 1755, and it has become a symbol of the preservation of the Acadian People. </FONT></I></P>
<P class=MsoNormal><I><FONT size=3>For over three hundred years, the village of Grand Pre has provided a home for immigrant farmers and artisans. The first Acadian settlers traveled east from Champlain's original settlement in <A href="http://www.annapolisroyal.com/">Annapolis Royal</A> in 1680. This group of industrious farmers engineered the complex system of dykes along the shores of the Minas Basin and nurtured what would become the agricultural heartlands of Nova Scotia. </FONT></I></P>
<P class=MsoNormal><I><FONT size=3>Today, Grand Pre is the home of a growing number of artisans as well as a National Park and a variety of tourist facilities. </FONT></I></P></BLOCKQUOTE>
<P class=MsoNormal><FONT size=3>Not the first place I expected to find a great selection of the "good stuff". Besides, I could never get more information than "it's in Grand Pre".</FONT></P>
<P class=MsoNormal><FONT size=3>But this year Bob gave me a web site and a phone number. Soon, I had directions: "Turn right at the intersection and look for the sign." The place looks like a farm. And the folks there seem like typically friendly and helpful Nova Scotians, but their sentences are peppered with words like aerials, shock tubes, batteries, bomblettes, fountains, cones, strobes, firing system and cakes. And they have the good stuff.</FONT></P>
<P class=MsoNormal><FONT size=3>And the more good stuff you buy, the cheaper it gets, so you can load up.</FONT></P>
<P class=MsoNormal><FONT size=3>Cool.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/blog/Fireworks3.jpg" width=674 border=2></P>
<P class=MsoNormal align=left><FONT size=3>So here was the plan. First, find a suitable rock in the center of the lake. In the daytime, take a big tub full of dirt and leave it there. Shuttle a&nbsp; cardboard box full of explosives, a "BernzOMatic ignition system", a fire extinguisher, a few flashlights and a camera and tripod to the rock.</FONT></P>
<P class=MsoNormal align=center>.<IMG height=450 src="http://www.zintel.net/blog/Fireworks4.jpg" width=673 border=2></P>
<P class=MsoNormal align=left><FONT size=3>At dusk, head back out ...</FONT></P>
<P class=MsoNormal align=center>.<IMG height=450 src="http://www.zintel.net/blog/Fireworks2.jpg" width=673 border=2></P>
<P class=MsoNormal align=left><FONT size=3>and wait for darkness.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/blog/MarkMills.jpg" width=675 border=2></P>
<P class=MsoNormal align=left><FONT size=3>Doug1 was in charge of ignition.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/blog/DougFire1.jpg" width=674 border=2></P>
<P class=MsoNormal align=left><FONT size=3>Doug2 was in charge of fire safety. In particular, he was responsible for ensuring that any burning pieces of space junk didn't fall into our rubber boat or cardboard box of fireworks.</FONT></P>
<P class=MsoNormal align=left><FONT size=3>Here he is, keeping a close watch on the boat and box of fireworks.</FONT></P>
<P class=MsoNormal align=center><IMG height=675 src="http://www.zintel.net/blog/Fireworks10.jpg" width=450 border=2></P>
<P class=MsoNormal align=left><FONT size=3>It took us a couple of tries to really get the logistics right. On the first night, we didn't even start until dark. That was the first mistake we corrected. Then we changed rocks from a small round one to a medium sized flat one. We also figured out a way to secure the boat line to a medium sized flat rock. Finally, after firing the first set of fireworks, we debated the need to soak the spent carcasses in water prior to loading them into the gasoline powered rubber boat. We debated this over a beer, on the far side of rock. When we turned around to leave, the pile of junk had spontaneously burst into a nice, but slightly smelly campfire. Clearly this was just another example of a scenario with watercraft, the darkness of night and explosives, made safer by beer.</FONT></P>
<P class=MsoNormal align=left><FONT size=3>The view up close is different, but very good.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/blog/Fireworks5.jpg" width=673 border=2></P>
<P class=MsoNormal align=left><FONT size=3>In most of these photos, it looks reasonably bright on the rock. That's a result of the fact that I was using a combination of time exposures and a flash in the same image. It was pitch dark. In the photo below, the camera self timer tripped the flash just as Doug was putting some distance between himself and the fuse he had just lit. A second later we heard Doug hit the rock and mumble something about a blinding light (paraphrasing from Doug's exact words). Fortunately, Doug, the Maglight and the torch were not damaged. </P>
<P class=MsoNormal align=left><FONT size=3>I'm still struggling to understand how we could have made that scenario safer with beer.</FONT></P>
<P class=MsoNormal align=center><IMG height=618 src="http://www.zintel.net/blog/Fireworks9.jpg" width=412 border=0></P>
<P class=MsoNormal align=left><FONT size=3>We did pull off a few synchronized ignitions (a cake and a roman candle) with no injuries.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/blog/Fireworks8.jpg" width=675 border=2></P>
<P class=MsoNormal><FONT size=3>It was a blast.</FONT></P>
<P class=MsoNormal><FONT size=3>As always, the hard part is saying goodbye. Thanks again folks for making us welcome.</FONT></P>
<P class=MsoNormal align=center><IMG height=450 src="http://www.zintel.net/blog/Friends.jpg" width=675 border=2></P>
<P class=MsoNormal><FONT size=3>I'm back to work now, and we're wrapping up V2 of the .NET Compact Framework and planning some cool new stuff for V3. Our backwards compatibility, stability and performance are all&nbsp;looking very good. I think you'll like it.</FONT></P>
<P class=MsoNormal><FONT size=3>There is still great opportunity on the team for experienced and passionate systems levels people, with expertise in operating systems, compilers, graphics and/or networking.</FONT></P>
<P class=MsoNormal><FONT size=3>Check out the video:</FONT></P>
<P class=MsoNormal><A href="http://www.finalizer.net/">http://www.finalizer.net</A></P><FONT size=+0>
<P class=MsoNormal><FONT size=3>Mike.</FONT></P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>This posting is provided "AS IS" with no warranties, and confers no rights.</FONT></P>
<P class=MsoNormal align=center>&nbsp;</P>
<P class=MsoNormal align=center><FONT size=3>You can be fairly sure Microsoft is not advocating that you take any safety guidance from me.</P></FONT></FONT></FONT>]]></content:encoded>
    </item>
  </channel>
</rss>