Urban Potato

Software

Musings about software design, coding practices and the industry in general.


Musings about software design, coding practices and the industry in general.

Posts

Cool Baml Viewer for Reflector

Lutz is at it again. He's pointed me to a very cool tool that allows you to disassemble BAML files into the correct XAML. Check it out. Brian • 1/22/2007 10:54:23 PM

Help Cider Name an API, Part I of Many

Jim and Richard are grapling with the naming of the adorner placement APIs in Cider. Here's a link to Jim's blog. Check it out, and let Jim know your favorite name. Brian • 11/9/2006 3:46:13 PM

Naming Controls in Cider

We're having some debate about what rules we should use when naming controls in Cider. Brian • 9/13/2006 10:38:05 PM

The Design Mode Property Redux

I got some good feedback about our proposal for adding a design mode property to WPF. That feedback, combined with some help from a few architects has allowed us to change our story. Brian • 7/19/2006 2:44:21 PM

What, No Design Mode Property?

See how Cider and Sparkle are adding (and hopefully improving) the DesignMode property that has been available to Windows Forms developers. Brian • 7/3/2006 9:13:21 AM

New Developer Community Site for .NET 3.0

Check out the new developer community site for .NET 3.0: NetFX3.com. Brian • 6/12/2006 8:50:33 AM

User Interaction in Cider

How does Cider handle user input and display UI and adornments to the end user? Cider builds upon patterns we designed for Windows Forms to create a simple and flexible mechanism for handling all sorts of UI interactions. Brian • 4/16/2006 4:07:52 PM

Cider's Extensibility Architecture

It's time for my second post on Cider's design time architecture. Last time I introduced the editing context and described how services and context items work. It's now time to talk about how we're going to do extensibility in Cider. Brian • 12/22/2005 12:51:52 AM

Cider Available for Public Download

The December CTP of WinFX is ready along with its associated SDKs and Visual Studio templates. As an added holiday treat we've rolled in a very early version of the Cider designer in it for you! Brian • 12/19/2005 2:36:42 PM

Introduction to the Cider Designer's Architecture

This is the first of a series of posts about the architecture of the Cider designer. Cider isn’t going to be shipping for a long time, so this isn’t information you can immediately put to use. Actually, I’m hoping that by publishing our plans very early like this I can get feedback about what you like and what you don’t like. That way I can get the stuff you don’t like out of the product before you see it. I’m going to roll this out by first describing to you how everything works, and then I’ll get into what the “everything” part is. Brian • 10/23/2005 8:01:33 PM

Cider isn't a Random Code Name

I've begun reading Charles Petzold's blog and his post of an old English poem mentioning Avalon made me think back to our choice of the code name "Cider" for the Avalon designer we are producing. Where did Cider come from? It is surprising how much time you can spend coming up with a code name... Brian • 10/7/2005 8:27:49 AM

PDC05

I'm usually late to the party, but I eventually get there. This page is devoted to all things PDC. Brian • 9/8/2005 10:24:24 PM

ChuckJ is Blogging!

ChuckJ is blogging! Chuck is one of the founding fathers of Borland's Delphi and has recently joined the ranks of Microsoft. Check out his blog at www.removingalldoubt.com. Brian • 8/1/2005 6:44:31 PM

Using Visual Studio Whidbey to Design Abstract Forms

A while ago I described why the Visual Studio designer's can't work with abstract classes. I also hinted that there is a way in Whidbey to get this to work. Well, the time has come for me to finally get off my duff and describe how to do it. Brian • 2/20/2005 11:35:59 AM

A Method to System.Design’s Madness

System.Design is an assembly that contains design-time classes such as ControlDesigner. The System assembly also contains a System.ComponentModel.Design namespace that contains design time classes. Even System.Windows.Forms contains a System.Windows.Forms.Design namespace. Was Microsoft just incredibly lazy here, randomly spreading classes wherever was convenient, or was there an actual purpose to this madness? And, if there was a purpose, what should you consider when writing your own controls with their own design time logic? Brian • 11/14/2004 7:06:01 PM

WinFX Effect

Lots of people are excited about the WinFX downlevel announcement. I'm excited too, but the more I think about it the fewer people I think it impacts. Brian • 10/1/2004 1:17:28 AM

Designers and Abstract Classes

The Visual Studio designer cannot design abstract base classes. Did Microsoft completely forget about object oriented design methodologies? Is this a ploy to get you to upgrade to a newer version of Visual Studio? No, this is actually just a side-effect that falls out from how the Visual Studio designer works. Brian • 5/31/2004 4:57:55 PM

Got P/Invoke?

Ever need to use .NET's PInvoke mechanism to invoke APIs? Ever been frustrated that Microsoft hasn't provide all of the APIs for you? Then this site is for you. Brian • 4/30/2004 9:23:35 AM

System.ComponentModel

Let's peer into the grubby world of services, sites, components and containers. Find out how to use these concepts in your own applications. Brian • 4/18/2004 9:58:16 PM

Hey, We Are Making it Better

One bad aspect of my job is that I always see the bad stuff. I’m always on the lookout for what we did wrong, what we didn’t do yet, and what we could do better. That kind of environment makes it hard to remember the good stuff we’ve already produced. Last weekend brought a smile to my face, however. Brian • 3/17/2004 11:03:37 AM

Application Building Blocks

Is the future of application development just assembling high-level building blocks? Or will we forever be writing fresh code for everything? Scoble's post made me think. Brian • 1/22/2004 3:31:48 PM

Fun with Generics

Generics are a new feature in the .NET Framework that are at first glance similar to C++ templates. But, they run much deeper. Brian • 11/20/2003 9:35:34 AM

Software for the Masses

Writing a software API for the masses is full of conflicting puzzles to solve. Brian • 7/10/2003 10:46:41 PM

Engineering, not Art

Building great software is an enginerring problem, not an art project. But too much of software development is still a shoot-from-the-hip form of art. Brian • 5/15/2003 9:53:15 AM

Convergence? When?

I love my PocketPC. I love my cell phone. I want the two fused together using Today's technology. Brian • 5/12/2003 9:38:00 AM