Ryan Dawson on Longhorn

The software we think, but do not write

  • The New New Beta

    I was checking out Yahoo Maps today, which is nice. But, the thing that caught my attention was the BETA moniker being promonently displayed. I think it's safe to say that it's now a fad. The BETA sticker is almost a replaced for NEW. It's almost like if you don't have the beta sticker, your product isn't hip or interesting.

    Just something to think about...

  • Shipping so early?

    I'm surprised VS has shipped? Is that just me? I don't think it's ready for primetime, in terms of bugs. Oh well, hopefully they have some sort of updater block.
  • Are you looking for a job?

    Anyone doing Avalon work out of the SanFran area?
  • Redlines pt. 2

    More on my previous post about Redlines.

    The problem is that if you are not experiencing the exact problem as everyone else on your team, you will inevitably build build a different product. This is outsourcing. Outsourcing doesn't work unless the terms can be easily and explicitly stated. And, don't just think this is about shipping over continent boundaries. If the work is outside the same office, then you're going to have problems.

    At its heart, the problems lies in the fact that the developer isn't sitting right next to the designer. In which case, the developer is building a different solution than the designer is designing. It's gets worse because companies break the two disciplines into completely separate teams. We have a technical team and a design team--which doesn't work. The company was based on building products, yet they destroyed that end in favor of the means--it's easier to manage 2 teams, in which the management is geared at the exact discipline.

    My colleague is working on an article along the lines that the design is simple, the implementation is the hard part. So, it's all about execution. Who can execute on the vision? Who can break the outsourcing (from one desk to another down the hall)?

    It gets worse. Not only does the designer have to sit next to the developer, they have to be on the same page. They have to understand the process. They have to work as one and deliver on the same vision. Although, this doesn't mean that the developer should constrain the designer with technical hurdles. Under no circumstance should a designer understand the technical implications. Just build a great vision and do what you can. Then, at last sight, you figure out what can't work and ask for more iterations on that feature, hopefully trying to ferret out a better idea, that can also work tecnhically. Iterate, iterate, iterate...

    As a developer, you must understand design. In most cases the developer is the primary guage for interaction design, because in building and testing a feature, they get the first glimpse into its usability. Therefore, they should understand how to run with ideas on bad interaction design and change the feature. Then, they can show the designer, and a democratic decision can be made (it's hard for a visual designer to understand the implications of interaction from photoshop--they need something to play with).

    So, remember, although the developer is the ultimate gate keeper for a product, they are also expected to understand design. The disconnect between the two disciplines must be dissolved immediately. It's not about the code, it's about the product, the experience, and the emotion.

  • The fallacy of Apple...

    The fallacy of Apple is one that their design is organic. Quite the opposite, though, it has no element of panic. It's cold and technical, the lines too straight and the gradients too proper. The features from from a spec, but it's no show stopper. Their pens don't drip and their zeroes don't slip. But, that's where the tale ends, and the prevale begins. They may be no tree, but they are the only ones on the block, and that you must agree. To this I rest, but in time, they will have a real test.

  • XSI

    I saw the new SoftImage product: XSI. Let's just say the 3D space is full of tough competition, and comsumers are winning through the quality of CG in motion films.
  • Media Player 11 (pus, minus, minus)

    Media player 11 (a.k.a. Vista).

    I think it is a step forward, as it should be (version 10 to version 11).

    But, I don't think they understand it. iTunes is king because they realized that the music should be a flat list. The music is what people open up the app for.

    Also, I think the gloss is a little heavy. That UI was 2 years ago. Besides, there is a mized visual langauge between the high-gloss and the tree icons which should be fixed immediately.

  • Redlines

    Robby showed this redline at his PDC talk:

    Definition: Redline--a comp with exact dimensions denoted in red.


    If you are building redlines, stop. Do not build them. Do not think about it. Redlines were last generation. Redlines are for products with no soul--no emotion.  Louie Armstrong once said, if you have to ask what Jazz is, then you'll probably never get it.

  • Side-by-side Avalon

    Please give me side-by-side execution of the plethora of WinFX builds coming out.

    Why oh why...

  • Where are the tools?

    I keep getting complaints from people who would like to get into Avalon, but can't. There aren't any tools.

    Adobe give up Flex...You have Photoshop, Illustrator, and After Effects which are just waiting for Avalon and XAML integration. Come on...


    Also, we need some 3D integration. I don't want Electric Rain, I want plugins for MAX and 4CD--throw in animation export, also.

  • Define: Web 2.0

    Oh, the truth comes out...

    And, all along, I thought it was a secret :)

  • Newsgroups

    I noticed a lot of good comments and questions on the Avalon newsgroup. The problem is that I couldn’t stand to stick around. I mean, the newsgroup technology is so 1980’s. I expect to see Zack Morris hanging out—maybe even Kelley Kapowski. ;)

    Who is working on the future of that problem? I think it is widely understood that the promised goal of everyone having a voice on the internet is harder than originally thought. If everyone had a blog, it would just be chaos. So, instead, you make a chronological listing of threads by users (newsgroup).

    Is this the best we have? I don’t see why we can’t have something in the middle? On the bright side, this is a huge potential of ClickOnce NoInstall apps. People don’t necessarily want to have listings within the Programs Files on Windows, but they sure as hell want better experiences. So instead, we have links to these ClickOnce apps and the problem is a lot more solvable. Do we need cross-platform for a Windows developer community site? No.

    This also brings up a good point about Favorites and hyperlinks. In the new age, web addresses are being used for far more interesting things than web pages and so it makes sense to break the favorites bar away from IE. They tried adding it to the start menu in XP, but that was a joke. Does anyone have a better idea?

  • Blend Modes

    Pete Blois just posted some really awesome proof-of-concept demos using strings. They’re really easy on the eyes.

    But, more interestingly, he brought up a point about Avalon lacking blend modes as those available in Photoshop. The point is well taken. Avalon can’t be everything in v1, but blending modes are the way that real visual designers mix compositions. This is for a couple of reasons, but most importantly:

    Using blend modes is essentially a non-destructive effect. In the world of Photoshop, there are 2 schools of thought. The old, which is pixel art, and the new, which is the use of non-destructive effects. Pixel art is about using the pencil and various fills with edge blurring (feathering, etc). Obviously, this is destructive, and once the layer has been modified, the pixels are no longer changeable. On the other side of the fence, there are non-destructive effects, essentially with the ability to have a compositional rendering of the vector shape with various effects applied (Drop Shadow, Fill, Bevel & Emboss, etc). These are what BitmapEffects in Avalon will eventually deliver on.

    You can probably understand, but the former group is going away in terms of the productivity gains--which leads to a second reason for using blend layers. The colors need not be changed once you have changed your background--you essentially let the colors bleed through and play with the Opacity and blend mode. This means you change one color when you want to experiment with different looks for your comp. Also, the colors tend to be more mathematically correct (given there is such a thing as perfect color compliments).

  • Young != Old

    I find it interesting how out-of-touch everyone is:

    Web 2.0: Conversation with Five Teenagers

    And, I assure you that those kids don’t represent the majority in any stretch. People use computers because they have to--not at all because they want to. The problem is that the computer industry has miserably failed to make any enjoyable experiences, thus far.

    How about something that I use because I have fun doing it. Or, what about emotions. Ever seen those?

    No, no, no. The problem is that people who design the software don’t ever take into account the user. In the rare case that they do hire a design firm (which there are only a couple worth the time), the developers scrap the ideas.

  • Example of DataTemplate failure

    Here’s a good example of a DataTemplate failure: 

    (From John Gossman’s site)


    Check out the “Appearance” section in the middle. There are 2 items in the list, Fill and Stroke--and, each has a little box with the preview of the value.


    Here is a likely representation of the data:

        public class Property


            private string name;

            private object value;


            public string Name


                get { return name; }

                set { name = value; }


            public object Value


                get { return value; }

                set { value = value; }




    Here is the DataTemplate:

                <DataTemplate DataType="{x:Type l:Property}">



                                  <ColumnDefinition Width="*" />

                                  <ColumnDefinition Width="15" />



                            <TextBlock Text="{Binding Path=Name}" />


                            <Border Grid.Column="1" BorderThickness="1" BorderBrush="Black">

                                  <Rectangle Fill="{Binding Path=Value,Converter={StaticResource l:propertyConverter}}" />





    Note: There is an IValueConverter that converts the object into type Brush.

    So, that’s all cool. It works fine. But, with all good design, you iterate a bit more and figure out it would be a lot better if when you change the color, the little box animates from one color to the other (Or, does it by Opacity).


    This is something that I would consider necessary, and yet the DataTemplate will not let me do it.

1 2 3 4 5 Next > ... Last »