Ryan Dawson on Longhorn

The software we think, but do not write

April 2005 - Posts

  • Future sans Me

    Where to go from here? Recently, I have been blogging about pointless things (or at least I think so). I used to have a personal policy of 100% signal to noise ratio, but that has fallen off recently. Clearly, my mind is on other things. For example, I am an aspiring Chef. Not to mention my adornment with the world of design. Or, my reading habits (psycology and interaction design are my hot ones right now). More so, wakeboard season is about to start...


    So, I started going through every blog on Chris Anderson's blogroll. For everyone combined, I think the signal is around 5%. Not too hard to see why people get burnt out on blogging (and reading blogs). Even people who made their name from blogging are now cutting it off. The question I am now asking is this: am I in an echochamber. Do I add value? Remember, honesty is a virtue, so they say.

    So, here are some questions (in socratic fashion).

    • I spend a lot of time in Avalon from within Refelector, should I blog about this?
    • If I do, how do I add value. Avalon is a far ways out. What am I really accomplishing by blogging. Am I bragging? Saying "look, I can do this..." Or, do I help people.
    • Considering that we have enough people chasing their shadow named ego, I am willing to look beyond recognition. Wise men plant trees under whose shade they will never sit. At the end of the day, I have my family and friends, and I don't really care about the community.
    • On day-to-day, I work in .NET 1.X. Can I add value there? I would like to think I am good by making the interface look good (keyword 'think'). I do many concepts in Photoshop all the time. Should I post these, considering the fact that they would render some of my competitive advantage useless.
    • Sometimes I speak authoritatively on subjects, but the caveat is that I am neither an expert nor an author...
    • They say answers aren't important, it's the questions that matter. But, I am filling up notebook after notebook with questions, drawings, and ideas. Recently, I find myself taking long walks more frequently--cutting into my productivity big time. And, at the end of the day, I keep asking the same question of where I am going.
    • Considering the destination isn't important, it's the journey that matters...I still don't feel complacent.
    • Who is working on something that does matter?
    • And if so, who says it matters? Someone with a name? What makes a name? How do you get one, and who says? Blah, blah, blah.
    • Why would I want to be a part of the next killer app? For ego? For money? For mankind?
    • Who is in it for mankind? If I knew, would they still be in it for that reason, or have they crossed over based on that fact.
    • On a side note, negativity is a fault of mine I am working on...


    I am pretty sure I am going to spend the summer at my parents vacation home in the mountains of Arizona. By myself. Possibly disconnecting the internet competely. Will this help?

  • Blogging from the Apple store

    Tiger still Rocks...

    Seriously Spotlight is quick and it even searches help and control panel features. So, search for expose, and the preferences control panel for expose comes up.

    You already know how I feel about dashboard...

    Safari with RSS is the best RSS reader I have seen to date. The integration is seemless. It is almost a pleasure to read a site in the RSS view as compared to the HTML view. With all other RSS readers, I think the experience is lacking (big time).

    Automator--messed with it, but don't really know how to use it.

    IChat--two guys were talking across the store with it and I couldn't help but watch. Another way apple is delivering on the promise of the internet coupled with rich interaction.

  • Microsoft Trouble

    I think the real take-away in the Microsoft debacle comes down to this principle, which is consistently missed:

    Fail fast...

    Fail forward...

    Don't repeat...


    It's sad, to say the least. I think they need some design thinking. I love reading how designers pick apart Aero. Then, Scoble or someone else will respond "Just wait, this isn't the real thing." Personally, I don't care what it is. Someone keeps fiddling with the UI. So, it tends to seems like someone is polishing. It's not easy being the most dominant software company.


    Microsoft releases WinFS at PDC, and people say "cool", so Apple, being the good designers they are, say, "if the users want, then let's give it to them." And, a year later, Tiger ships.

    I have always thought that the developer strategy (the Microsoft strategy) is the best. But, I have to say that I don't know anymore. Apple does everything. It's getting rare to to have 3rd party apps on Apple (specifically because they rip them off, but that's not the point). Even more so, business is consistently coded in angle brackets--where platforms don't matter.


    In spite of all the hoo-haa associated with Tiger and Longhorn, I think there are bigger bets being made. When you don't have anything, you don't have anything to risk. Ask Google? Specifically, watch Google Maps. They shipped at Christmas, easily becoming the best. Then, they started layering things on top: addresses, contextual addresses, directions, real-time taxi services, aerial photographs. What's next? Let's see, traffic reports, maybe some sort of flight tracking, etc.

    But, the truth is this, the PC isn't a great experience for these things. So, I bet they are really looking at cell phones and mobile devices. I guarantee it...


    We don't need any more developers--we need people who find the real problems. How do you do business? Are you disruptive? How many times have you read the Clue Train Manifesto? Are you familiar with IDEO? Or, Amazon? Or, Ebay?

  • Hah

    Hah, this is funny...the old and the new are clashing. Microsoft, I guess it's going to take time, but you can't play both at once.

    Either you are running a business with disruptive technologies like Google, or you have a permanent law staff and play like IBM.


    Some interesting quotes:

    When someone asked why they were doing this, Chris Pirillo quipped, "because it looks like #$%,"

    Microsoft has not filed patent applications, and the confidentiality provisions protect or mitigate the company's filing rights. One of the focus areas of IP protection has been user interface, hence Microsoft cannot permit screenshots of the UI.

    So, I guess the real question is: who would patent '#$%,' (Starts with 'sh' and ends with 'it')?


  • Custom Panels Hack

    Filed under:

    In the current Avalon build, you cannot databind to a custom panel...Unless you use this hack:


    In order to implement a custom panel, you have to access the Children property do measurements and arrange. The problem is that in a databound environment, there is a bug, so you need to use the protected internal property InternalChildren that all Avalon panels use.

    UIElementCollection children = this.GetType().InvokeMember("InternalChildren", BindingFlags.FlattenHierarchy |

             BindingFlags.GetProperty | BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.NonPublic |

             BindingFlags.Static, null, this, null) as UIElementCollection;

    foreach (UIElement child in children)


             // ...


  • IE7 ##

    Go ahead and check out the IE7 details Robert is talking about. Now, go ahead and read the comments (There's a lot of them).

    "I can't wait!"

    "I'm on the edge of my seet, keep up the good work!"


    What a bunch of suck-ups. Come on. Everyone knows IE7 is in response to Firefox. The details of IE7 that I have heard are nothing close to innovative, they are simply bug-fixes. There is no way that IE can afford to be innovative. They are tied down as the cornerstone of the browsing experience for Windows.


    As John Stossel would say "Give me a break."

  • Data Converter - IValueConverter

    Filed under:

    So, how to convert a databound value at runtime...IValueConverter


    public class Converter : IValueConverter{

             public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)


                      int i = (int)value * 2;

                      return i.ToString();


             public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)


                      return null;



    public class Data


             public int Value




                               return 5;






             <l:Data x:Key="data" />

             <l:Converter x:Key="converter" />


    <Grid DataContext="{StaticResource data}">

             <TextBlock TextContent="{Bind Path=Value,Converter={StaticResource converter}}" />



    So, we passed in a value of 5, and now it should show up as 10...

  • Tiger Dashboard Rocks

    Tiger Dashboard is so cool. The interaction and interface design is top notch. Could you expect anything less? After watching this video, I am thinking about buying a mac.

    And who says that a killer app doesn't sell a computer. By the way, when are PC makers going to get their own Jonathan Ive?

    End-to-end, Macs are great machines. The only problem is that they never figured out their problem. Windows isn't popular for Windows. Windows is popular because they were nice to developers (most of the time), and gave them cool stuff to use and great platforms to build on.


    Now, if apple will grab the Mono kit and run with it...

  • The Saga continues

    Between the last post and this, I just took 2 shots of everclear, because I need to clear my head. I am very discouraged right now...


    Has anyone stepped back and realized what kind of crap we do? Over and over.

    Just earlier today I was reading Rocky talk about how we keep changing the communication infrastracture (RPC, IIOP, DCOM, RMI, Remoting, Web services, Indigo) and never have we had enough time between revs to do anything interesting.


    Where are we going? Is it better? Says who?


    It's no secret why IDEO is the best. They follow real people around and find real problems. Too often there are engineers making the decisions. Too often there is management making the decisions. They only should decide implementation, the rest should be left up to the real users.

    You would think software has advanced. It lets me do this or this, and do it better. But, no. We're just repackaging the same crap over and over. I'm guilty, the app I am working on is all about repackaging. I am trying to fix mistakes of other people. I'm trying to build a product for someone real. I never said I was perfect, but I will be dead the day my software ships that real people can't use it.


    I love Avalon--I really do. But, real people use Windows 98 or Windows XP without any service packs.

    Iteration is good. And, we should get Avalon and Indigo. But, come on--I swear I'm just getting good at WinForms.

    Is there such a thing as keeping up with the Jones' in software. I don't know, but it sure seems probable.


    Who is out there looking for real problems? Not the next one, the real one. Who's out there following around people and finding out what makes them tick. Finding their weak spots, and areas of concern.


    Not software developers...They tell you what you want, and that's what you get. They know best, they work with the problem on their dual AMD opteron quadruple by-pass Windows XPert. And, that's the problem--real users don't.

    Users are stupid. Of course. Keep telling yourself that. I hope one day, you are the user. Then, you will know how it feels.

    But, don't tell me about your problems. Software developers are busy readying last years crap in this years box. Got my drift. Go on down the street, ask them for help.


    And, the code...Well you know, it's also crap. Why do we keep rewriting everything, because last year the code sucked, and this year it's the same, but we spent 2 months more time. Hope you like it...But, when you do have problems, go down the street. Or better yet, send it to support@xyz.com, that way, we can do a batch delete. Humans, we don't have those types around here. We like to make our crap and give it to people without names so that we don't have problems. That way, no one feels bad when we get bug lists. Outsource, insource, it all sucks. Who's out there working for me?

  • Save your VCExpress *Project* or lose big

    Well, I had a power outage today, and a big Avalon project I have been working on is now gone...

    I did a search on the disk and I couldn't find anything, it's so deceiving that things act like they are saved, but I guess they really aren't.

    Just make sure you don't make the same mistake--It's so discouraging. It's crap, actually. I hate computers...

    Who's out there actually creating software for real people?

  • Avalon layout engine and percentages

    Filed under:

    Is it just me, or is the Avalon layout engine a *** in my side.

    What I mean is that they used to have something called percentages (I.e. you could specify a width of 100%). They cut this because there were scenarios where people could abuse the system and put in incorrent values. For exmaple, you could create a button, where the width is auto (which means it auto sizes to its content), and then you could add a content element that has width 100% (which takes the width of the parent). As you can see, there is a problem here, the dependencies overlap.

    That's fine...there was a problem. But, by the same token--with percentages removed completely (except for stars in Grid), my layout is at least 40% as good as it was before. I have so much trouble trying the get items sized to their parents, which all I really want to do. I usually like to set top-level control measurements, and then have the children size in respect to the parent. But, with styles and the *Alias, none of this works.

    Maybe, it's because the interim build is broken, which I hope so--but I need a better way to do layout--this just isn't working.

  • Custom Controls in Avalon Article

    Filed under:
    Custom Controls in Avalon Article...(Click here)

    A real lap around longhorn to build a toolbox control.