Servergeek
Mickey Williams' weblog


Powered by Blogger Pro™

Wednesday, September 03, 2003

Great Resource for C# Patterns


On the MS C# newsgroup, Michael Mayer pointed to Do Factory, a great resource for patterns written in C#. Among other things, they have downloadable examples of GOF patterns ported to C#. It would be nice to see more than just the GOF patterns, but it's a great resource as-is.

Usability versus Beauty


Scoble asks about the Design Eye for the Usability Guy contest, a design competition to beautify Jakob Nielsen's useit.com website. Robert says Jakob's site is, "... way too ugly, and unusable, for a usability expert".

I think this is a common misconception with regard to the relationship between usability and graphical design. To toot my own horn, I'm very, very good at usability - but my design skills suck. So do Jakob's - but his site is extremely usable, if you subscribe to Jakob's usability criteria. It's ugly, but my only beef with useit.com from a usability point of view is that there's no way to tell what topics are important - it's essentially a flat landscape of links. But it does follow the traditional web UI with regard to link coloring, and you'll have no problem at useit.com if you need assistance WRT accesability, which are Jakob's hot buttons.

Jakob also has a page where he discusses why he doesn't use graphics and explains why the design is rougher than he's recommend for a comercial project.


Tuesday, September 02, 2003

On Surface Area


I'm spending a lot of time working on a component packaging technique I call micro components. Essentially, this is a technique that relies on building small, utterly reusable components that are easily understandable, completely verifiable and trustworthy, and (perhaps most importantly) composable into larger components, as well as being usable as standalone bits. I'm working on a paper, but I see that Don Box is also talking about one aspect that is part of micro components: reducing surface area.

No experienced designer of object-oriented systems would ever attempt to create a class that performed several unrelated tasks. However, many commercial component makers eagerly embrace the notion of Swiss army-knife components - components that can be morphed into almost any shape or purpose. This clouds the abstractions presented by the component - increasing its complexity and making verification of correct behavior difficult if not impossible.

Part of the reason for complexity creep is something I call The Lure of False Economic Value. Advertisements for modern components closely resemble late-night commercials selling knives or male-baldness remedies.

But wait, what would you pay for these 20 extra features?
It's a grid, a list, a detachable panel. In any other system, these components would set you back nearly a thousand dollars, but you can pick up our all-in-one super component for less than half of that !!! How much would you pay???

The truly sad news? You see ads like this from every large vendor. Instead of selling the value propositions that should matter in an object-oriented world (primarily quality and reusability), we are sold tail-fins and snake-oil.

More later

Virtual PC on MSDN


Just noticed that virtual PC has been posted on the MSDN downloads page. I've been in VPC limbo for a couple of weeks on my personal machine due to the MS buyout of Connectix. My trial expired after Connectix stopped selling licenses - I reinstalled the trial, but it's great news to see the bits available as part of my subscription.

Home