Marquee de Sells: Chris's insight outlet via ATOM 1.0 csells on twitter

You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.




SYS-CON RADIO @ the PDC

Here. SYS-CON interviewed me and a bunch of my friends at the PDC. It's somewhat painful to listen to me with a cold, but fun to listen to folks like Dan Appleman, Scott Hanselman, Chris Kinsman, Jeff Prosise, Ingo Rammer, Brent Rector, John Robbins, David Treadwell, Shawn Wildermuth and a whole bunch more.

0 comments




I don't know UIs, but I know what I like...

Monday, November 24, 2003

The user in me sees Longhorn and dreams of software without limits. The engineer in me sees Longhorn and is scared of software without limits. An engineer's days are defined by requirements and restrictions. Those restrictions come not only from the capabilities of the tools and technologies being bolted together, but also accepted practice. For years, I've been comfortable designing "rich" client applications because a) my tools and technologies haven't let me do much that was really "rich" and b) because "rich" was pre-defined by existing applications.

In fact, when I started programming Windows 3.1, I adopted a single 3-step UI design process:

  1. Figure out the the requirements of the particular UI doodad I needed
  2. Find my favorite example of it in Visual Studio, Word or Outlook
  3. Make User/MFC/WTL/WinForms do that

It doesn't take much to design an application that looks like this:

or even one that looks like this:

when the process is merely aping existing apps. I was even encouraged to use this kind of UI design by books with color pictures from well respected authors:

User Interface Design for Programmers

When the web came along, things were scary because all the guidelines were gone. However, at first the limitations were strict, so I didn't have any trouble building sites that looked like this:

but when a few years later, the limitations faded away and I was expected to conceive of and implement stuff like this:

I didn't have a clue. Luckily, the web "way" settled down over the years so that we figured out basically how to design web sites:

Book cover: Don't Make Me Think!

Plus, limitations took hold as we realized that you could build pretty much anything you wanted unless you wanted it to work on someone's machine besides yours, which turned the screws down pretty tightly.

Still, while the emerging conventions helped me figure out what I wanted my own web site to look like in general, I had to *pay* for help from a otherly-skilled professional before I could get the specifics:

This is where it got scary until I had the one application designed for which I would ever need a designer. With my web site out of the way, it was smooth sailing.

That is, until Longhorn and Avalon came along.

Avalon drops the bottom out of the limitations and the guidelines again, leaving guys like me in a lurch. Oh sure, I've done pretty much everything there is to do in this industry, from coder to President, from docs to QA, from project management to *shudder* marketing. However, what I haven't done and always hoped to avoid was design the graphics that go along with an application. Those were always things that I could hire done, most often as a deductible expense.

But now what do I do? MS doesn't provide MSDN authors a "graphic artist" budget. We do have very talented graphic artists at MSDN, but what's my boss going to say when they're swamped doing graphics for my pet projects and not the public-facing web site?

And standard bitmap graphic artifacts aren't enough; I need *vector* graphics. Even I can see that while this is fine:

nobody is expanding sol.exe's main window to get more "green space":

To solve problems like these, we need vector graphics that look good when they're scaled, which I understand is roughly 10x harder than bitmaps (which are already beyond me).

But just the graphics aren't enough, either. MS is busy redesigning the Windows "user experience" to include the best of Windows and the web:

Apps are supposed to behavior sensibly (which I can handle) *and* look cool (where do I learn to make *that* happen?!?).

In fact, taking the next step from the budding UX guidelines, we seem to be heading into a place where if I want to build my own sol to fix the scaling, I'll be trying to fit a "menu system" on the front like the gaming guys do:

and like so:

In fact, I've heard tell that there's a special guy that designs these pre-game antics separately from the rest of the game just so folks think the game is cool as soon as it starts, long before you're actually playing it. How can I stand up to that kind of pressure? I was pretty damn happy with myself when I made blocks fall and stack:

And while this is the only scalable game of its kind of which I know (I was ready for Avalon a while ago, apparently : ), it still has the standard un-cool "menu system" that Windows comes with out of the box.

And there's no relief in sight! Avalon, by taking advantage of 3D hardware and displays that haven't even been invented yet, along with intrinsic support for every kind of media and animation that I'm familiar with, blows right by the limitations we've grown to know and love in Windows and web applications. Now we're into the world of game programmers, where if you can imagine it, you can do it.

But where am I going to get the graphics for what I can imagine?

How do I imagine a user experience when MS is literally still writing the book on it and they haven't shipped a Longhorn Visual Studio, Word *or* Outlook?

Graphic/user experience designers of the world, please be gentle; the engineers are spooked and could stampede at any moment...

Know where I can get some graphics/user experience designers cheap?

0 comments




Chris Anderson: Must Read Avalon Blog

Here. I'm going to save myself a lot of posts and just tell you now: if you're into Avalon, read Chris Anderson's posts.

0 comments




Chris Anderson on the History of the Avalon Team

Here. Chris Anderson, an architect on the Avalon team, talks about the history of the Avalon team, including how it was formed, the goals for Avalon and the rearchitecture a year before the PDC.

0 comments




A Sneak Preview of Visual C# Whidbey

Here. While things will most definately change before VS.NET Whidbey is released, this document provides a great list of new features in both C# Whidbey and VC# Whidbey. And it's much more than generics, partial types, anonymous methods and iterators. [weblogs.asp.net/duncanma]

0 comments




Request for brainteaser interview examples

Here. I was interviewed by John Kador yesterday about his upcoming book "How to Ace the Brainteaser Job Interview." At the end, he asked me for references to other folks that have had the experience of being asked or of asking brainteasers in interviews, so I'm posting his request: I’m a Chicago-based business writer. My upcoming career book for 2004 is called How to Ace the Brainteaser Job Interview. It will be published by McGraw-Hill. The book is designed to help applicants think strategically about the puzzles, riddles, business cases that they may encounter in today’s job interview. I’m looking for examples of puzzles, riddles, brainteasers, etc. and how they are used in the job interview. I’d like to pepper the book with real-life anecdotes from people on both sides of the table. What puzzles do you like to ask and what do you look for? What are particularly elegant responses? From candidates, what questions were you asked and how did you handle them? Nothing will be attributed without permission. I’ll also be very generous with acknowledgments. I welcome suggestions and questions at jkador@jkador.com. My web site is http://www.jkador.com. John Kador

0 comments




Mike Deem: Must-Read WinFS Blog

Here. To save myself linking to nearly every single one of his posts, I'll just tell you now: If you're doing WinFS or curious how it works or what it means, you *must* read Mike Deem's blog.

0 comments




Longhorn SDK Annotations

Here. If you haven't noticed, the Longhorn SDK site on MSDN [1] has a new area at the bottom of each page. We call the entries in this area "annotations." This area is broken up into three parts: 1. Microsoft "official" annotations, like what you'd find in a ReadMe, but associated with the specific piece of content itself 2. General group discussion, like in a newsgroup, but again, associated with the content itself 3. 3rd party annotations The 3rd part come from a client-side component that acts as an RSS aggregator, pulling annotations for a specific piece of content from the RSS feeds that you subscribe to via the component. O'Reilly was nice enough to provide an RSS feed at the launch of the annotations project to both demonstrate it's usefulness and provide real annotations to about 50 pieces of content on the Longhorn SDK. In addition, they've posted a nice article about how other 3rd parties can provide their own annotations via RSS to nestle at the bottom of the MS Longhorn SDK content. If you'd like to provide annotations for folks to subscribe to as "annotations," you can do so without any permission or special support from MS. If you'd like to be considered as a "Recommend" source of annotations, drop me an email: csells@microsoft.com. [1] http://longhorn.msdn.microsoft.com

0 comments




Unofficial, Unsupported Longhorn Tweaks Page

Here. Normally I wouldn't point this page out, because it's *unofficial* and *unsupported*, but some folks have used the guidance on this page to fix issues with the PDC Longhorn bits, especially as related to networking. USE AT YOUR OWN RISK.

0 comments




Document-Centric Applications in WinForms, 3 of 3

Here. Here's the third and final part of my document-centric applications in WinForms piece. In this part, I present the FileDocument component from Genghis [1] and show how it can be used in SDI and MDI applications. Enjoy [1] http://www.genghisgroup.com

0 comments




C++ templates vs. CLR generics

Here. Under Whidbey, VC++ supports both CLR generics and C++ templates for managed code. In this post, Brandon Bray, a PM on the VC++ team, lays out the differences, while also laying out the differences between C++ templates and CLR generics in general.

0 comments




Updated NTD Command Line Code

Here. Some folks have had trouble with ieexec.exe throwing a System.IO.FileLoadException when using my No-Touch Deployment command line handling code for .NET 1.0 and 1.1. Andrew Duncan burned a PSS call to figure out the problem and I've updated the sample code to match (ieexec.exe needs a Last-Modified header). Thanks, Andrew!

0 comments




Infragistics UltraGrid for Avalon: Technology Demo

Here. How cool is this? Infragistics, UI component giant, has released a technology demo of their UltraGrid control for Avalon, including source! Apparently it took 2 guys 1 month to build this control from a standing start, i.e. no previous Avalon experience. There are a bunch of limitations and Infragistics is clear that you shouldn't use this code as a template for writing your own components, but it's still fun to see. Thanks, Infragistics!

0 comments




The WinFX Newsgroups are *Hot*

Here. If you have questions or comments about Longhorn/WinFX development, be sure to post them on one of the WinFX newsgroups. Digging through the recent activity, I'm hard-pressed to find a post that isn't addressed by a member of the appropriate MS product team. These guys are *dying* for your feedback, so post away!

0 comments




Looking for the Money Cat

Here. Someone sent me a fabulous follow up email to "The Average Return Myth," but in the heat of the PDC, I didn't get a chance to read it and now that the PDC is over, I can't find it again! All I remember is that the person's email address started with "cat" (I think). Can you please send it again, Mr. Cat? Thanks!

0 comments




1120 older posts       1515 newer posts