Adam Kinney on Longhorn

Designing and Developing with WinFX

February 2004 - Posts

  • No sound in Longhorn

    Filed under:

    Ok, I've gone long enough.  When I heard I was getting the PDC Bits I went out and bought a new computer, because I didn't want to mess with any of that Virtual PC stuff.

    The problem is, I did not upgrade the sound card; so all I have now is Dell Integrated Audio, which the drivers will not successfully install.

    I need sound, though. How else am going to test out Audio in Longhorn?

    So if you have installed Longhorn and your sound card drivers installed successfully, will you please leave a comment with the name of the sound card?

    Thanks in advance.

  • Longhorn DevCenter Feedback

    Filed under:

    Chris Sells asked for some feedback on the current Longhorn Dev Center, so here we go:

    My first thought is to post some type of timeline for Longhorn release.  This seems to be the first question that comes up when I talk to others about Longhorn.  “When's it coming out?”  “When's the beta?”

    I see the “Understanding Longhorn”, but I would also like some sort of “What CAN be in Longhorn”.  Some type of column on what the new capabilties of Longhorn will bring to applications and User Experience.  I have enjoyed the Longhorn Concept Videos but even some text would be good.  Something to get the ideas flowing.  Hmm, maybe this is something I should start putting together...some semi-fiction or something...

    I would also like to see the Academic Longhorn site added as a resource.  I thinking reaching out to the students and future workforce is important.  The timing could be perfect; they graduate from college around the same time Longhorn comes out and they're ready to go.

    I would also like to see some type of Longhorn Readiness Kit for User Groups, like what is available for ISVs.  I see the links on the DevCenter to INETA and “Find a User Group”, but currently they don't seem to connected.

    That's what I've got for now, I'll keep thining on it.

  • Longhorn Meetup in Fort Wayne, IN

    Filed under:

    The official Longhorn MeetUp in Fort Wayne was cancelled, but we've got enough people interested we're still going to meet.

    We will be meeting at Munchie's on Broadway 7:00pm February 24th.

    (I doubt many people from the area will see this, but its worth a shot.)

  • Ocel: Longhorn RSS Aggregator

    Filed under: ,

    So here it is.

    [Download Here]

    I wanted to test drive some of what WinFS has to offer so I thought what better thing to store than RSS Feeds.  Of course I needed a GUI to manage all of those feeds for me.

    One of the neat things is that the body of the selected RSS Item is hosted in a TextPanel sitting inside of AdaptiveMetricsContext which enables the text to resize based upon the space available.

    This is a very alpha version, and only supports a limited set of RSS (it expects RSS 2.0).  The RSS Item has limited parsing and is currently only grabbing <p> tags and turning them into Paragraphs.

    I have really enjoyed this project and plan to add more features in the future.

    If you test it out and find any bugs or have any suggestions, please leave a comment.

  • How to hold a property's state after you animate it

    Filed under:

    This is just a quick tip on something I found not so obvious when working with animations.

    When you want to animate a property and keep the property set to the post animated value, you need to set the Fill property, which is of the TimeFill Enumeration type, to Hold.

    The example code below, will draw a line across the screen:

    <Line X1=“50“ Y1=“50“ X2=“50“ Y2=“50“ Stroke=“Red“ StrokeThickness=“4“>
              <LengthAnimation From=“50“ To=“400“ Begin=“0“ Duration=“1“ Fill=“Hold“ />

  • Ian Helps out with Help

    Filed under:

    Ian Griffiths mentions how he overcame his Longhorn SDK help issues (script errors, slow to load).  He changed his main drive from FAT32 to NTFS.

    I got all excited and thought maybe that is my problem too.  I checked my drive and its already set to NTFS :(

    My Help app probably runs faster than Ian's did when it was set at FAT32, but I still get plenty of scripting errors.

    Ah well, its pre-alpha.

  • Dynamic Animation Example

    Filed under:

    This is a proof of concept application I thought I'd share.  The animation in Longhorn is good, but I couldn't figure how to do exactly what I wanted, some form of dynamic animation.  I wanted to be able to react to user input and redraw the objects according to different properties; in other words, some game-like of environment.

    So I decided to try and use the Application's TimeLine.  I first Initialized my own timeline object to hook into the Application Timeline.

    private void InitGameTime()


    gameTimeline = new Timeline();

    gameTimeline.Duration = Time.Indefinite;

    gameTimeline.StatusOfNextUse = UseStatus.ChangeableReference;


    gameTimeline.Changed += new EventHandler(gameTimeline_Changed);


    Then I handle the Changed event of my Timeline object

    private void gameTimeline_Changed(object sender, EventArgs e)






    It works pretty well but you should try it out yourself.  The code is available here.

    A few instructions on how to use it:

    • Hit the 'up' arrow to increase the speed of the starship.
    • Hit the 'down' arrow to decrease the speed of the starship.
    • Hit the 'space bar' to toggle drawing lines


  • Writing Style, text not coding...

    Filed under:

    Kent Tegels mentioned his admiration of Bert Sugar's writing style.  As an avid reader, this is the style I enjoy.  Visual and casual; you really feel as if you are sitting in a diner with the writer and he is recalling an experience and passing on mental pictures not just words.

    I've noticed that in Brent Rector's Introducing WinFX, he used a rather casual style.  Here's an excerpt:

    I think it's just wrong to mix source code and markup in the same file. I even considered not showing you how to do it. However, some evildoer somewhere will write a sample program using this technique, so you might need to understand what he has done. Moreover, you can then use the code-behind file approach described previously to rid the world of a small amount of evil and separate the UI from the logic.

    Here's an application definition file with the source code inserted directly inline with the markup:

    Code SAMPLE Here

    In this example, the Language attribute specifies that the inline source code is C#. Notice that the Code element is a CDATA block containing the inline source code. It's sometimes technically necessary to enclose inline source code in an XML CDATA block to ensure that the document is well-formed. In fact, the XAML parser always requires you to enclose the inline source code in a CDATA block, even when omitting it produces a well-formed document.

    I apologize once again for showing you such a travesty.

    Now in this case we would be sitting in a diner with a laptop of course; but with the added personality into the text, I am more likely to get “into” the book and gain the concepts and not just read quickly for code snippets.

    Nice job Brent, and yes I agree, its a travesty.

  • Purple OS

    Filed under:

    Tonight while reading the Purple Cow book by Seth Godin, I ran into this text:

    Can you create a culture of aggressively prototyping new products and policies?  When GM shows a concept car at the New York Auto Show, there's more than ego involved.  They're trying to figure out what car nuts think is remarkable.  I'm not pitching focus groups here (they're a waste).  I'm talking about very public releases of cheap prototypes.

    I thought of Longhorn right away.  Microsoft is working their marketing knowledge into the design phase like Godin preaches.  Now they can learn what the nuts (sneezers, those who live on the edge, etc.) want and design it into their product.  Then they can build it and sell the product to people who are looking for it and want it.

    You might be thinking “Sell the product?  Of course Microsoft is going to sell the product, its Windows.”, but this brings up another Godin-inspired point: 

    Windows is no longer remarkable, there are other products that do very similar things.  It was remarkable when it first came out, and that's why it became the leader.  Now we want a new remarkable operating system.  Something we haven't seen before, something we'll all talk about and need to have.  We'll tell others about it and if successful the product will follow Moore's idea diffusion curve to full adoption.  Microsoft will then renew its membership in the leaders club.