Ryan Dawson on Longhorn

The software we think, but do not write

October 2003 - Posts

  • Why there hasn't been development of IE

    Filed under:

    Intro to XUL and predictions about a similar Microsoft effort.


    I have been talking a lot about exciting upcoming technologies.  Well, here is another: XAML, which stands for XML Application Markup Language.  This is meant to be a primer for something that may be unveiled at the PDC.  I say may, because when I run a search on the PDC sessions site, it doesn’t return anything.  Can anyone give me confirmation?


    The quick and dirty: XUL is a way to create applications in the browser (or out for that matter).  For example, imagine a text editor with the rich UI of Windows, but portable in the browser.  XUL doesn’t even have to be an application; it could be your existing website in a more structured manner.


    The quick and dirty (2): It is basically an XML structure with CSS and JavaScript.  The CSS defines the appearance and the JavaScript dictates behavior.


    Just like XML, everything is named with namespaces, which should be pretty common practice to everyone by now.  Secondly, things are defined like the Windows world with the object of a window.  This could mean any type of UI control, built with a language meant for creating controls.  I think there will also be rich support for skinning.  Standard in the XAML API will probably be all current Windows controls, which is essentially everything that is in HTML right now.  Also, I believe the XAML API will have rich support for .NET and the BCL.  To think of it, I don’t think it will restrict you to JavaScript.  Since this will be built for Longhorn, .NET will be on every client; therefore, we could have code blocks that are called instead of JS, similar to single page in ASP.NET.  I am sure sending content to a Web Service is a breeze.


    Here is a sample of XUL:


    <?xml version="1.0"?>
    <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
    <dialog id="donothing" title="Do Nothing"
            ondialogaccept="return doOK();"
            ondialogcancel="return doCancel();">
    function doOK()
      alert("You pressed OK!");
      return true;
    function doCancel()
      alert("You pressed Cancel!");
      return true;
    <description value="Select a button"/>


    Very exciting things to come: I can not wait!


    Even better, remember that all XML stuff still can apply.  Think how easy it is to manage XML.  Well, now imagine the same ease of handling with an application.  This means that schemas can be checked, XSLTs can be run, and XPath can do its thing.  Amazing.  The PDC is going to be one of the most memorable times of my life.  I have never been on the edge of my seat for so long.  But, remember, if you are not going, we WILL have detailed coverage on this website for longhorn, and we will put up links to other technologies -> SQL, Whidbey.  But, don’t think those are the last times we will hear from them.  Every technology at the PDC will be in Longhorn in some form or fashion.  For SQL, it will run WinFS.


    [NOTE] All information is based on XUL, http://www.xulplanet.com/, and not XAML.  Although I believe they will be similar in concept.

  • Who would have known?

    Filed under:

    The Open Source Community and Microsoft need to get along.  Both sides see each other as enemies.  Instead, they should not be called sides in the first place.  Maybe open source should be renamed research, or something less of a contradictory business.  Either way, the names aren’t important.  I am willing to give amends to the OSC.  No matter how the OSC companies got there, they are there.  And for as long as I can tell, Microsoft is always going to look to the OSC for new products that it hasn’t thought of.  Secondly, Microsoft runs on money, so there are factors that motivate Microsoft and do not motivate the OSC.  This leads to another point.  I think the ideas of capitalism fly in the face of open source, and that is why the OSC gets scared.  Microsoft gets scared because of the exact opposite reason, it’s free to acquire.


    I have thought about this for a while and I am not sure I can come up with an answer.  Microsoft is always going to be commercial, but what can Microsoft do to make the open source world completely happy without them taking business.  Give them your input.  Or, give it to me and I will make sure it reaches the right person.  Of course you all want open standards, so I think that is a given, and I think XML is slowly taking care of all that.  But, what else?  On the other hand, even if Microsoft had a better product would you open source guys use it?  I know you guys like Linux, and I think you would use that if you could, but instead you guys use Macs.  Is this because you want anything but Microsoft?  These aren’t rhetorical questions, I am asking real questions.


    Microsoft wants your input.  How can they become better?  How can they swing your vote?


  • Designing Power-Aware Windows

    Filed under:

    Again, another session that is an incredible subject:


    “Designing Power-Aware Windows "Longhorn" Applications

    Track: Mobile PC and Devices   Code: MBL304
    Room: Room 402AB   Time Slot: Tue, October 28 12:30 PM-1:45 PM
    Speakers: Allen Marshall, David Switzer
    As anywhere, anytime wireless network access becomes reality, customers are starting to expect their mobile PCs to act more and more like cell phones. With over a billion cellular phones in use worldwide, it's hard to argue with the opportunity presented by making mobile PCs run for days without needing to be plugged in. To take advantage of this opportunity, it's critical for Windows applications to register for and respond appropriately to power status notifications from the operating system. Learn about the power management support today and tomorrow and see how to use it in your applications to enhance the user's experience and save power.”


    I have the unique ability to interact with top researchers in the field, who are major contributors to Intel.  One of the huge things they are working on is power.  Everyone thought that the problem was that we didn’t have enough power, right?  I wish my laptop lasted all day, but it doesn’t.  On the contrary, we are faced with increasing power consumption demands.  First of all, everyone should know that transistors leak.  It is just natural tendency, and there’s not much we can do about it.  “And that's the problem. If current trends continue, you would have a device with 425 million transistors in 2005 and a processor with 1.8 billion transistors by 2010, said Pat Gelsinger, Intel Corp.'s vice president and chief technology officer. You'd also have a heat generator with the intensity of a nuclear reactor, he said.”  Can you imagine?  So the problem comes down to this: how do we keep increasing clock speed, while keeping power under manageable levels.  “Even using 0.1-micron technology, Gelsinger envisions a 425-million-transistor die, 40 mm per side, which, clocked at 30 GHz, would dissipate 3,000 to 5,000 watts. In terms of power density, its heat would be close to that of a rocket nozzle, Gelsinger said. Conventional methods of using lead frames and specialized heat sinks will not cope with the power density. "Going forward, I don't think we know how to cool a 5000-watt processor," Gelsinger said. "We can't keep building these things with ever-increasing power budgets," he lamented.”  “The current-generation Pentium, produced in 0.125-micron CMOS, dissipates about 66 watts. The same device in a 0.1-micron process—clocked at GHz rates—would dissipate, say, 200 watts. With a 1-V supply, the current consumption would be on the order of 200 amps.” 


    If you look at thermal plots for running microprocessors, you will see intense levels in one particular place, which contributes to the power density.  Keep in mind that this area may change from application to application, but not much.  So, what about the heat sink?

    “The disparity between maximum power and typical power consumed presents a particularly difficult problem to the system designer. The system must be designed to ensure that the processor does not exceed the maximum specified operating temperature, even when it is dissipating the maximum power. While designing an elaborate heat sink, or forcing more air through the system can usually meet this constraint, there is usually significant cost associated with more elaborate solutions and environmental regulations that limit system (fan) noise.”


    You may ask how do we solve all of these problems, and I know for sure these things would hit home if you could see all of the graphs and exponential curves.  Why can’t we take the little ARM processors that sell for about $8 and put 10 of those in a computer?  This would be approximately the equivalent of the fastest Intel Chip.  Compare it, $80, to about $300-$400.  Secondly, it would only consume about 20% of the power for the Intel chip.  What’s wrong with this?  Nothing, the problem is that we don’t have software that can let us do this yet.


    Have you ever heard your fans on your laptop turn on and off?  If you put your head next to them, they almost sound like Microwaves.  I know a couple of people who actually have 2 fans!  What is going on here?  Well, the processor is conserving power by adjusting the level of the fan.  So when peak demand for the Microprocessor is needed, those things are running full blast.  This is the exact same principal that research tells us that we need to do with the operating system.  If we embed heat sensors on various parts of the chip, the OS can actually throttle Microprocessor spikes and minimize the heat throw-off.  Run a search on the internet for pictures of Microprocessors on fire.  In the Intel and AMD labs, they probably have many.


    I see that longhorn is on the right track.  Of course, they are probably working closely with Intel and AMD, among others.

  • Synchronization

    Filed under:

    For all of those who are going to the PDC, I think some of the most interesting topics to be discussed are those that are most commonly overlooked.  Sure, Indigo is nice (by the way, I have started to fall in line with everyone else calling all of the distributed computing stuff 'Indigo', but in reality, it sounds weird to me, because I am used to thinking of it as a team, and not a product.), but there are some more pressing issues for computing.  Don't get me wrong, these issues will probably use Indigo technology.

    If you navigate over to the PDC session and conference tracks site, you will notice a session that looks like this:
    WinFS: Drill Down on Synchronization Topics
    Track: Client   Code: CLI324
    Room: Room 403AB   Time Slot: Wed, October 29 3:30 PM-4:45 PM
    Speakers: Ward Beattie
    Learn how to exploit the synchronization services provided by WinFS, the next generation storage system for "Longhorn". WinFS provides comprehensive services for synchronizing data between multiple WinFS stores, as well as between WinFS and non-WinFS stores. This session walks through building a sync solution using WinFS, including configuring synchronization sessions, providing custom handling for conflicts, and implementing adapters for non-WinFS stores. Learn how to provide a great end user experience by integrating your WinFS sync solution with "Longhorn" sync UI."

    One of the biggest problems we have to today is synchronization and concurrency.  Everyone is familiar with DB concurrency, but why is it that my information is not as important as a corporation's.  If we can build the technology, then it should be.  It's funny to think that a person can say "Let me get my 'n' devices."  Who knew math terms would be used in regular speech.  By the way, it's true.  We have so many devices that we don't even know what to do with them.  I recently gave my mom my IPaq Pocket PC, because I never use it (anymore at least).  I told her she could sync her address book with it and take it in her purse.  To tell the truth, I don't think she has even powered it up yet.  I am not advocating against all of these devices.  I am saying that I am incrementally forced to stop using devices over a certain threshold, which for me is 3.  I get so annoyed with having to keep track of concurrency between data stores.  Why can't the system take care of that for me?  WinFS is on the right track.  Oh yeah, by the way, this problem is one of the hardest problems that will be faced within the next couple of years.  Researchers have been stabbing at it for ages.  I am trying to recollect, but wasn't this technology scheduled for Cairo, which should have been Win95 (I know Win95 was Chicago).  Instead, it will be released in 2006.  There is some interesting research over at CMU with a product called Coda.  Oh great, back to the old distributed file system idea you might say.  Actually, these guys have done some great things.  It is spearheaded by a guy named Satyanarayanan, but everyone calls him Satya.  I recommend this read for the interested developer.

    Do we expect too little out of technology.  I think so.  Why shouldn't we expect to have systems that keep our data in consistent and accessible states?  When I am roaming, I should have all of my preferences and data available on my laptop, and then when I get to my desktop, I want it all there.  Later I am going to go to the library and use a public computer; I want it there, too.  Like I said, this is a tremendously hard problem.  But if we look back to Distributed Computing, we all thought it would be hard to create a universal time.  But, we did it, and it was easy.  A little thing called a vector clock.  Most of that work attributed to a man named Lamport at MSR.

    So next time you look at Longhorn, ask what it can do for you.  This isn't a company slogan that overflows with the word "innovation"; this is just me telling you what YOU should expect from Longhorn.

  • Sounding Off

    Filed under:

    First of all, this is a test for my new blog.

    Secondly, in the next couple of posts I would like to add on to what the esteemed Mr. Scoble had to say in his rant on Apple. The point is well taken. Apple is shipping, so what? We don't care what is shipping right now; I don't think we need to get into an argument over quality and who will win out. But, from our perspective as designers, we care about what is in the pipeline. Microsoft has longhorn. Apple, show us what you are working on.