« October 2004 | Main | October 2005 »

September 29, 2005

Progress ...

From an animator …  the missing lasso ….

September 27, 2005

Corrupt BitTorrent Streams

An interesting and simple method to potentially reduce the amount of movie and audio piracy on BitTorrent methods: seed the system with bad files.

Do you click the first result?

From Jacob Nielsen, The Power of Defaults. Primarily, it discusses the fact that users click the first entry in a search engine on average, typically favouring it 42% over other options.

I’m sure I click the top link quite often believing — maybe falsely — that the search engine’s ranking of the first page is worth my time to at least check it out.

Sometimes, it’s obvious. In the searches below, my search was for “best mouse to buy.”

GoogleSearchForBestMouse

 

MsnBestMouseToBuy

In both instances, the engines provided me enough information to quickly determine that the first options were in fact likely not relevant to my search. Actually in this case, even the first 3 links in Google had no relevance to my search. MSN seems to have better matches at first glance, and I would have strongly considered the second option. (For those who care, the 4th option for Google was a review of a mouse, actually the same Logitech mouse…).

So, back to the original question. Why do users click the first link? Because they don’t know any better! It’s often difficult to quickly rank the relevancy of a set of search results when they are presented like they currently are on Google and MSN (and all of the other clones). It’s challenging to form an effective search still today … you need often think like the author, which can be difficult depending on the subject (especially when needing to use common keywords).

I don’t know what the search engine companies have in the works. My wish list includes: more relevant results; better at a glance understanding of how a result actually matches with my needs (highlighted keywords can often be deceptive); a better way of filtering out the junk after a search (to better narrow the focus); some method for searching for recent content (as part of a filter) without going to the advanced tab; the ability to exclude web sites for some period of time so that I can ignore them; slick user interface (maybe using a more DHTML/XMLHTTP/AJAX style approach rather than page round-trips?) and generally fast (I’m willing to wait a ‘bit’ if the result quality and the search experience is very nice).

Related: MSN Search has a very interesting UI for displaying some of the search criteria and specific settings. Just click “search builder” to try it your self. It did improve the MSN search results for the mouse search. More content related to my sample search was returned at the top.

MSnSearchTweak

Jacob’s conclusion: make sure your content ranks high in search results. Like we needed a study for that.

 

 

September 26, 2005

Windows Presentation Foundation Book Update

If you have purchased or intend to purchase “Programming Windows Presentation Foundation” by Chris Sells and Ian Griffiths, be sure to note that there are a number of errata/changes already available for the book (here). The most recent changes bring the book content up to the functionality and behavior of the September CTP builds of WPF (which is what they made available at the PDC).

The book has been good so far, decent coverage of a lot of important topics. I was bothered by how many of the samples didn’t work (knowing that it was because the book was written to Beta 1), but it wasn’t immediately obvious what the right fixes were — so I’m happy that they continue to update the content (too bad my physical book can’t just be updated somehow!). More than just fixes though, they explain some of the features and controls that are available in the September CTP build (such as a tree and list view control).

 

 

September 24, 2005

Firefox must be innovative .. or die.

Firefox must be significantly better than IE 7 to win the browser wars.

In nearly all aspects/areas Firefox must be better than IE7.

I’ve heard Firefox 1.5 is somewhat better — but they’ll have lost the war if they don’t do better than that. They’ll need more than tabs and “CSS” compliance. (Excluding geeks and web developers, I’d bet at least 95% of Internet users don’t care at ALL whether a page is CSS compliant.) I’m a developer, a geek, and do a lot of web stuff, and I don’t care how Amazon is built, or any other web page that I didn’t write. As long as it works, I’m good to go! Yes, I can appreciate the need for better accessibility in all web applications—section 508–and that’s a good reason to pursue standards, but most others are more of a political/religious debate than a practical issue for the end user. My example: Do you care what software programming language Firefox was written in? Why not? Does it affect your willingness to use it? Is it maybe irrational that it does? (with the exception of programming languages that require large downloads to make applications work).

Here’s my official announcement:

Unless Firefox changes, when IE 7 is released for XP SP2, I’ll stop using Firefox Day 1. Period.

How many others feel the same way? If IE 7 is good enough, there won’t be any reason for average PC user to download Firefox — which is the only reason today people really are downloading it. It has a few things IE 6 doesn’t have.

If you just want to “fight the system” and are against Microsoft, fine. Stick with Firefox.

Recommendation to Firefox developers and designers: Innovate. Innovate. Innovate. Innovate hard. Innovate often.

Firefox ... More useless errors

Firefox alerted me that a critical update was available:

Firefox Critical Alert Icon

Yes, this is a indicator of a critical update. Of course. (Don’t miss the heavy dose of sarcasm there!) A red button like thing with an up arrow … or something. Personally I would spell it out in a little more if it’s that important. There’s plenty of space available in the average Firefox installation window. [Critical Update Available. More…]

I started to go through the process and got to here:

FirefoxError1

(click image for larger size)

Firefox encountered problems when updating your software, and as a result not all components could be updated.

For extra pain, I clicked details. I am particularly fond of the details that get truncated so that the actual detail isn’t available: “Not a valid i…”. The dialog isn’t resizable in case you were wondering.

How did I fix the problem? I clicked the [< Back] button, and Firefox started the download. Go figure.

What should the software developer do in this case? Again, I’d suggest giving the user appropriate behaviors when this occurs. Retry. Cancel, Send Error, Support Forums, etc. If the users chooses to see the details, make it possible to actually see the details and copy them into an e-mail or to submit them to a bug clearing house minimally.

Another useless Error Dialog

Outlook 2003 (and older versions) has some wonderfully annoying errors that display occasionally (likely caused by bugs in various components). Many of them seem to happen when using the built-in Hotmail HTTP support.

Here’s one that I just had happen:

The messaging interface has returned an unknown error. If the problem persists, restart Outlook.

“The messaging interface has returned an unknown error. If the problem persists, restart Outlook.”

Let’s walk-through the typical user experience leading up to this event:

User: I wonder if any one sent me any e-mail today? I’ll just click down here …

Software: [BLING!]

User: Uh?

Software: [OK?!]

User: Uh?

Software: [OK?!]

User: A messaging whats-it? What problem? Restart? I’m in the middle of writing some e-mail!

Software: [OK?!]

User: Fine. OK this %^#@!*& Outlook! [CLICK!]

User: I’ll just try that aga…

Software: [BLING!]

User: Arrgh!

Clearly, the user wasn’t at fault here, yet the software suggests that the user must take some unknown action to try to resolve the error, or restart the application, hoping that things might get better. This is not the ideal experience. Some software developer likely thought this error was infrequent so the decision was to not worry about the messaging or end-user experience if it should occur.

Here are a handful of ways that this could have been handled that would have been better:

  • Try to internally restart/reload the necessary components rather than asking the user to restart the entire application. In this case, the Hotmail subsystem needs to be reloaded. Only after a complete restart of the likely broken subsystem should the user be potentially be alerted that there’s an error of unknown importance….
  • Present the user with some options: Restart Outlook. Report Error. Help. Microsoft support web site (which points to a page describing the error).
  • Explain why this is such a serious problem that warranted interrupting the user with a modal dialog and displaying the dreaded red X. What does it mean to the user? What might they still be able to do? Did they loose work they’ve done? Is Outlook unstable?
  • Reword it to seem directed at average computer users, not technical people. There is no “Restart” button in Outlook last time I checked for example. If you expect the user to read the text, make it worth their time. Respect their time.

In the end, I restarted Outlook and everything worked fine again. Phhpt.

 

September 23, 2005

XAML Fun

Some fun this morning with XAML.

XAMLFun1

If you want to experiement or try different combinations, here’s the XAML I used:

<Page xmlns="http://schemas.microsoft.com/winfx/avalon/2005" xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005" >
  <Grid>
 <Grid.Resources>
  <Style TargetType="{x:Type TextBlock}">
   <Setter Property="FontSize" Value="20" />
   <Setter Property="Foreground" Value="White" />
   <Setter Property="HorizontalAlignment" Value="Center" />
   <Setter Property="VerticalAlignment" Value="Center" />
   <Setter Property="FontWeight" Value="Bold" />
  </Style>
 </Grid.Resources>
 <Grid.ColumnDefinitions>
  <ColumnDefinition />
  <ColumnDefinition />
  <ColumnDefinition />
 </Grid.ColumnDefinitions>
 <Grid.RowDefinitions>
  <RowDefinition/>
  <RowDefinition/>
  <RowDefinition/>
  <RowDefinition/>   
  <RowDefinition/> 
 </Grid.RowDefinitions>
 
 <Rectangle Grid.ColumnSpan="3" Grid.RowSpan="4" Fill="Black"> 
 </Rectangle>

 <TextBlock Grid.Column="0" Grid.Row="0" Foreground="Red">
  BLUE
 </TextBlock>

 <TextBlock Grid.Column="1" Grid.Row="0" Foreground="Blue">
  GREEN
 </TextBlock>

 <TextBlock Grid.Column="2" Grid.Row="0" Foreground="Yellow">
  RED
 </TextBlock>

 <TextBlock Grid.Column="0" Grid.Row="1" Foreground="Green">
  BROWN
 </TextBlock>

 <TextBlock Grid.Column="1" Grid.Row="1" Foreground="Red">
  GRAY
 </TextBlock>

 <TextBlock Grid.Column="2" Grid.Row="1" Foreground="Purple">
  BLACK
 </TextBlock>

 <TextBlock Grid.Column="0" Grid.Row="2" Foreground="Red">
  WHITE
 </TextBlock>

 <TextBlock Grid.Column="1" Grid.Row="2" Foreground="Yellow">
  RED
 </TextBlock>

 <TextBlock Grid.Column="2" Grid.Row="2" Foreground="Green">
  TAN
 </TextBlock>

 <TextBlock Grid.Column="0" Grid.Row="3" Foreground="Blue">
  PURPLE
 </TextBlock>

 <TextBlock Grid.Column="1" Grid.Row="3" Foreground="Red">
  BLUE
 </TextBlock>

 <TextBlock Grid.Column="2" Grid.Row="3" Foreground="Blue">
  PINK
 </TextBlock>

 <Rectangle Grid.ColumnSpan="4" Grid.Column="0" Grid.Row="4" Fill="Black"> 
 </Rectangle>

 <TextBlock Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="3">
  Try to say the names of the colors, not the words.
 </TextBlock>

  </Grid>
</Page>

September 22, 2005

Jensen Harris: Office User Interface Blog

An interesting blog so far (brand new) from a member of an Office 12 UI team at Microsoft: Jensen Harris. Jensen has dived quite deep into the design (and decisions) of Office 12. Recommended.

September 21, 2005

RSS Bandit Logo Idea

I’m hunting for a new RSS reader for Windows. FeedDemon is decent (and I own a copy), but I’m tired of the way it organizes feeds by groups (the drop down style) among a few other annoyances.

I was looking at RSS Bandit briefly and came across a post/contest for a new logo (more details). I disliked all of the options enough to sit down and experiment a little:

RSSBandit Idea 1

and

RSSBandit Idea 2

I think of a bandit looking more like the first one. The second smiley (the more current RSSBandit look) makes me think RSS Pirate — not a bandit (pirates when related to computer software, etc are usually considered illegal, bad, etc.).

For fun, I threw in the tie to give the the first one a bit of mock professionalism. The general idea was to mimic the common RSS buttons (with a bit of flair). If nothing else, maybe this inspires someone else to come up with some new ideas.

 

 

September 20, 2005

Opera Text-Double click

A double click of some text in the Opera 8.5 web browser automatically shows this menu.

OperaDoubleClickText

Very cool. (I know recent Adobe reader versions do something somewhat like this, but it’s not as comprehensive as Opera’s). A software designer of course came up with the most likely reasons someone might double click text in the browser and put those options immediately in front of the user. Excellent.

 

Mozilla.org Home Page Redesign Suggestions

I just went to the Mozilla.org home page to see what was new. I think it’s time for a serious web site make-over.

Firefoxhomepage2

Here’s a list of what I would consider changing about the Mozilla home page to make it more approachable and user friendly:

  • It’s not hard to find the “free download” area on the front page if you’re trained that a bright green area is a good area to look at first on a web page.
  • Text and link clutter. There are a lot of links and text on this page. The most common reason for someone coming to this page is to download Firefox. It’s prominent, but it could be made even more obvious by (re)moving the unnecessary text and user quotes from this page entirely.
  • There is no obvious explanation of what Firefox is, other than it was recently patched and made more stable. Is that the first thing you really want people to read about your product? (Again, other than in the unnecessary quote from some journalist, it’s not obvious that it is a web browser at all).
  • Inconsistent images. A screen shot with the Thunderbird icon, the firefox icon with some “beta” text and a large titled screenshot of Firefox in use, currently showing NASA!
  • The big green down arrow — of course the universal symbol for download!
  • An unusually cluttery use of small tear-off “calendar pages” for news and announcements. They draw the eye too much and offer little in the way of useful information. The announcement should be the headline, not the date.
  • Inconsistent linking … the links along the bottom aren’t underlined, yet all others seem to be.
  • “Get” this “Get” that, yet, not “Get” everything.
  • Some of the downloads are “Free”, yet others aren’t?
  • Disconnected tab bar (Products, Support, etc.). There’s no “home”, the tabs go “white” when selected, but when the user is at the home page, none of the tabs are active.
  • Always consider the marketing speak you’re using. I clicked on the Products tab to check out the tab behavior and noticed the use of  “next generation” twice (even once is often too much.) But to claim that both Firefox and Thunderbird are the “next generation” browsers and e-mail clients respectively is quite the ego trip. It’s a web browser folks. It happens to do CSS better than IE and has tabs. Thunderbird …, it’s an average e-mail client. Nothing special. Neither are revolutionary. They are evolutionary. Nothing new was invented. Something old was improved and other things copied.

What else might you change?

I’ve listed the ideas above to help others consider how to evaluate their own web sites and software applications. Of course it always helps to have a critical eye, but thinking about being a user advocate more can often go a long way. “Be a user.”

Opera 8.5 Free and a Clean Design

The Opera 8.5 browser is now free — free of cost and free of ads.

Download it from their web site here. The reason I posted this however wasn’t really to mention that it’s totally free now. That’s a nice upgrade from the ad supported version certainly, but likely still not enough reason that I’d recommend anyone download it and use it as their daily browser.

Instead, I really liked their clean “splash” page. The horizontal and vertical lines, the use of white space (and gray space), a nice amount of color with a not so original, yet definitely appropriate image.  Click below for a large image.

OperaHomePageFree

 

How many of these ...

From CNET comes the “Top 10 Products” from the “Power of 10.”

I owned or still own/use the following from their list:

Tivo, Google, and Firefox.

What does your list look like?

What would you add/remove from their list?

Although the list isn’t bad, and I’m sure there are lots of things that could be changed, I question the Sony Digital Mavica, the Motorola Startac, and The Sims most. I wonder where the first good mainstream DVD player is (maybe a Sony or Toshiba?) and of course, this is too generic, but the wireless access point?

(And since I still don’t care for the Tivo UI, my favorite original DVR always was the ReplayTV. It was also Linux based and had a great UI — it just didn’t have recommendations. It had 30 second commercial skip built in!)

 

 

Wonderful Error from Adobe Illustrator CS 2

Nice error message.

“Could not complete the requested operation.”

Could not complete the requested operation.

All I did was start Illustrator.

It’s clear what I’m supposed to do. The fact that it doesn’t have any actions (such as a button) is an extra bonus (and/or a slap in the face).

I’ve tried to start it 3 times, the button shows up sometimes … just an OK button though! Hitting the OK button just forces Illustrator to exit immediately. I’ll try rebooting in a while to see if that magically solves this new issue.

Usability rule: If you decide you must show an error dialog, provide some useful information that allows either the end user or the software manufacturer/author to assist with troubleshooting. As I mentioned before, displaying such a useless dialog to me is like slapping me in the face and saying I don’t matter.

 

September 19, 2005

How much further?

Although I'm surprised by the fact that Tom hadn't encountered this parking technique before, it's interesting as a simple metaphor for software design.

Symphony Operating System

I frequently download Linux distros, from Fedora to Linspire. There’s yet another on the block though, Symphony. The reason that I’m highlighting this distribution however is the very unique approach it is taking to potentially improve the end user experience.

Symphony OS

There are 3 major parts to the Symphony OS.

 Mezzo – a desktop system built for Symphony. It’s hard to easily describe easily, but suffice to say that the “Start” menu and its clones are definitely not present. One of the developers, Jason Spisak, has provided the Mezzo Slideshow. It harkens to an early test version of Windows that I recall (anyone remember what it was code-named?), but I don’t remember the time frame. The idea is that everything is on the desktop in easy to find and use places.

Orchestra –  the application environment. It’s the development platform rendered and programmed with a variety of options, including Javascript, Perl, Flash and more.

Operating System — based on Debian GNU/Linux and Knoppix GNU/Linux. Some basic applications such as a web browser and office suite are included.

If you’re interested in more detail about the design principles, they’re here. Some of the more interesting topics he considers (and hopes to solve):

Configuration gluttony must be stopped. I applaud this idea — but it is a challenge to follow. Too many users want too many options and it’s difficult to say no to them all. Before you know it, you have the same number of options as the next application! The more compelling the application, the less need there may be for configuration, but you often leave out power users — who want to tweak the software all day long until it is just right. He comments that the configuration should be simple — just like their TV. It’s a generally good metaphor as most TVs come reasonably well configured for out of the box use. I’m sure that is what Jason is targeting. However, honestly, my larger screen TV has a ton of menus and options! In the end though, I’d prefer a button that I could click on my TV: “Just make the picture good, right now.”

Consistency plus relationship wins over “put it in thee [sic] places, and they’ll find it when they need it.” Jason’s general idea here should be followed by many software developers and designers. Having more than one or two ways to accomplish a task is likely to confuse and clutter. Is having yet another way to do the same task for the super power user good for the average user? You’ll only have a small group of super-users, but your general audience will be huge. Is having a feature specifically for a very small group of users good for all? Think about your users as a group and design for them. (And strongly resist the temptation to add in a “switch” for just the power user as it requires extra development time, extra testing, and extra maintenance over the life of your software application).

It’s still an Alpha product (download) and has a long way to go, but until its complete, I’d recommend you read and consider Jason’s complete Mezzo document or his summarized “Laws of Interface Design.” I’m in particular interested to hear what you agree/disagree with. What aspects would you want to apply to software you write or design?

September 18, 2005

More PDC Instructions

Rob has also posted a helpful set of instructions on how to make a working system from all of the PDC DVDs ….

Microsoft Internet Explorer Developer ToolBar

From Microsoft, currently in beta, is the Internet Explorer Developer Toolbar.

IEDevBar1

Several outstanding features: an on screen ruler (you can see it in the screen shot above) with some useful switches:

IEDevBar2

Also included is the DOM Explorer (more below about that), find an element by clicking feature, validation, cache and cooking clearing and much more!

In the first screen shot, I have the toolbar configured to show DIV element outlines along with the CLASS and ID information for each element.

IEDevBar3

There’s a very slick DOM Explorer toolbar also available:

IEDOMExplorer1

You can walk the DOM tree and explore the structure of the document and the styles that are applied to any given element. VERY handy. The toolbar also will “unpin” if you don’t want it attached to the browser window.

I’m not going to list all of the features here … that’s on the download page.

I’ve used the one built into Firefox and been happy with that … this seems to be at least a clone, if not better!

My hats off to the Microsoft developers for this great new IE toolbar.

Warning: According to reports, this will not currently work in Windows Vista as of Sept 2005.

 

Excellent Freeware Screen Capture Software

If you’re interested in a nice freeware screen capture software application for Windows, check out Gadwin Systems, Inc PrintScreen. It supports all of the common things you’d want from a fast and efficient screen capture application:

  • Hotkey selection
  • Selection of entire screen, application and a specific rectangle (with a zoom window!)
  • Many different file formats
  • Automatic file naming
  • Optional previewing
  • Much more!

ScreenShot001

I grabbed the screen above using the rectangular PrintScreen selection feature, saved it as a PNG, and then used BlogJet to resize it. PrintScreen will automatically resize an image though if that is what you want:

Saveoptions1

Not that it probably matters, but the application deactivates its features when the settings dialog is shown. (I had to resort to old school screen capture to provide the previous image).

Download it here.

September 17, 2005

PDC - PDC Goods Tips and Tricks

From Tim Sneath, here’s a decent set of instructions for actually getting the various DVDs they provided to work together.

To get the PDC build of Windows Vista (5219) running on VMWare (or any recent build including beta 1), I’d suggest from my experiementation that instead of using the default SCSI disk, create an IDE drive instead (I’ve had some odd driver issues with SCSI) and remove the SCSI disk.

The only trick with IDE is that the install appears to not get by the initial disk configuration stage. To get by that, just select the Advanced button on the disk configuration page, create a new partition and then format it. Then, shut down the setup program and reboot. Next time in, every thing should go as planned.

For reasonable graphics (beyond 4 bits!) and mouse support, install the VMWare tools (VM / Install VMWare Tools). Once that is finished, reboot. To install the network driver, start the Device Manager, and right click on Ethernet Controller and select “Update Driver”.

Device Manager

Answer “No, not at this time” to whether Windows should connect to Windows Update and hit [Next]. Select “Install from a list or a specific location” and click [Next]. Make certain that the “Search removable media” option is checked. Now, on the VMWare VM menu, again select “Install VMWare tools.” This mounts a virtual CD which contains the necessary ethernet controller drivers. Wait a few moments for that to complete (if it pops up an installation dialog again, just hit cancel). You can verify it has completed by using Windows Explorer … it should have a CD called “VMWare Tools”, very likely the “D” drive. Hit [Next] and the ethernet drivers should load without further issue.

The “glass” look of course won’t be there as you can see in the image above (given the fact that it requires LDDM drivers and sophisticated Direct3D 9 with shaders 2.0 to properly work).

 

September 14, 2005

Microsoft Sparkle First Impressions

Microsoft finally demonstrated publicly a new application, part of the Microsoft Expression “suite”, which is targeted at designers to create rich Windows Presentation Foundation applications (FKA, Avalon). The new designer tool, code named Sparkle, is remarkably full featured considering its still somewhat preliminary state.

Sparkle has been labeled as the “interactive designer.” The current plan is that Sparkle will become part of the typical software development workflow, but it will be on the designer’s desktop, not the developers. Sparkle understands MSBUILD scripts and CSPROJs from Visual Studio natively so that a designer can directly interact with a development project (of course, this is good and bad, but it’s definitely something that is important to support).

I had an opportunity to experiment with Sparkle during a hands-on lab and talk briefly with some of the testers and program managers about the project. First off, it’s not available today (as of Sept 2005), and the release schedule isn’t public. No betas on the schedule, but they definitely will be coming.

The UI is sort of a mix between Visual Studio and Adobe Illustrator (maybe some Macromedia products as well, but …). It should be relatively easy for a designer to jump in and understand the basics of doing design with the tool. Sparkle was full of many useful modules which made doing data-binding and common tasks very easy. The UI did seem ‘washed-out’ though … too white. Maybe they’ll support skins (they should — the tool is natively written in C# and XAML!).

I followed a script, and didn’t have an opportunity to explore outside of the script, so my experience was limited to only things that Microsoft wanted me to see and try.

What I saw and tried though was very impressive. With only a couple of clicks, I was able to data bind an XML document to a UI, automatically create a list (box), and show the title field in the list without any complicated set of steps. Even cooler was how easy it was to databind a “detail” pane for the items in the list. My XAML skills have grown weak over the past months … but the tool made it possible to not know the details of XAML. Unlike Acrylic (another member of the Expressions product suite), Sparkle natively understands how to do animations and not just static displays. Arcylic is all about creating static images and pages. Sparkle is all about creating the application experience.

Sparkle seems to be reasonably well designed. Certainly it will be possible to create simple XAML-based user interfaces very quickly, but more complicated applications are likely to require some training, especially for non-technical designers — especially as it relates to how to work with the developers to produce a fully functional XAML application with minimal time and effort. I’m sure for most designers they welcome this change, but it will take some time. There’s probably an opportunity for some good books and training for designers so that they can get up to speed on this new tool and how to use the more powerful features of XAML within Sparkle.

All in all, Sparkle is a very welcome (and necessary) addition to the Windows Presentation Foundation tool set. XAMLPad (and relatives), Notepad, and XML schema-based Visual Studio intellisense just don’t cut it any more.

Demos (although as of this writing, there isn’t one for Sparkle).

I do hope this “sparks” some competition though. The only products shouldn’t come from Microsoft.

Update: Video from Channel 9. (I haven’t seen it, bandwidth starved here at the PDC).

September 13, 2005

.NET LINQ

I forgot to mention an interesting language/technology that was demonstrated this morning at PDC, named LINQ.

Here’s a brief primer but the MSDN content is here (101 C# samples). The simple summary is that it is an embedded query language in C#/VB.NET. There is plenty of things to learn about it … it seemed to default to Microsoft databases in the example they showed. I wonder how to extend that to other database stores? Maybe it’s been answered …

 Here’s a simple piece of code demonstrating LINQ:

public void Linq1() {
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

    var lowNums =
        from n in numbers
        where n < 5
        select n;

    Console.WriteLine("Numbers < 5:");
    foreach (var x in lowNums) {
        Console.WriteLine(x);
    }
}

 

PDC Main session

Just finished with lunch and sitting on the first session.

The main opening session was interesting. I don’t feel like a learned a whole lot new, but they did show a lot of things I had heard rumors about. I don’t think the audience really felt the excitement that Microsoft needs.

PDC Main Session

Atlas – new framework for doing “AJAX” style development should be available for download today.

WFX/E – Windows Presentation Framework for embedded and non-Windows based machines. Similar to Flash I would guess, but it’s hard to know.

RSS – Far too much work being spent on the support of RSS. How 90s — polling for information rather than using an Indigo/Windows Communication Framework to push data changes.

Office 12 – Holy cow, completely different look and feel and behavior for Office applications. Completely different than anything I’ve seen in the past. They have it installed somewhere, so I hope to see more of it and play around. A lot more task focused than in the past. Supposedly there are over 1500 accessible commands in Office 2003.

Vista – nothing too new there. Since I have used the beta and worked with the Avalon pieces for quite a while, nothing in the way of real news. They didn’t announce any real innovation in UI besides an improved ALT-TAB which shows a nice preview. Disappointing overall. They spent time talking security, etc. Yawn. Sell me please!

Demos – some interesting cool demos, but too consumery so far — photos, a Netflix application, a UI for shopping for North Face. Nothing big or cool.

PDC 2005- First Reports

OK, so far. Unimpressed with the structure and organization of PDC. In 2003, I was impressed generally. This year, not so much.

First off, we went down to the street to catch a bus at 7:15am. About 45 minutes later, we got on a packed bus (luckily) and rode to the LA convention center. The bus had a unique odor of a overflowed septic system. Very welcoming!

Upon arriving, we were greeted with this:

PDC2005 Registration Lines

25 minutes later, we were finally at the front of the line showing our IDs to get registered. Great … except the main session was to start in 5 minutes (a long walk was also necessary). Someone walked up behind the gentleman who was helping me and said stop registering everyone … just give everyone these white arm bands and get them going. “Please come back after the main session.” Arrgh. So, we wasted time to get no where, missed breakfast entirely, and didn’t even get registered.

 

September 12, 2005

Windows Vista UX Guidelines available for download (preliminary)

The Windows Vista UX Guidelines are available for download here. Very oddly, the ideal install requires use of a web server (and some further steps to get the index working)! Hello?! Microsoft? Have you ever heard of compiled help files, or for that matter, a Word document?

To further add insult, the document itself is a bit hard to read (at least in Firefox).

Some of the more interesting pieces I extracted this morning:

Icons – Look and feel

To obtain the modern Windows Vista look, you must redesign your program’s most prominent icons to use the Aero style. Be sure to redesign any icons that are displayed in the Start Menu or Explorer (such as file type icons). Don’t use any Windows 9x or older style icons in Windows Vista programs.

Aero-style icons have the following characteristics:

  • Style Realistic, symbolic, not photorealistic or illustrative.
  • Perspective Use isometric icons for program icons and objects with 3-D volume. Use flat icons for files, flat objects, and 16 x 16 icons.
  • Sizes Required sizes are 256 x 256, 32 x 32, and 16 x 16. Optional supported sizes are 128 x 128, 96 x 96, 48 x 48, and 24 x 24. Windows Vista icons scale smoothly between 256 x 256 and 32 x 32. The 256 x 256 icon size is required to support high-resolution monitors.
  • Color 32-bit color (24-bit color plus 8-bit alpha channel.)
  • Format .ico file format.

Long live the pixel (rather than using a vector-based icon format, they’ve continued with the ICO file format)! Notice the bump in required resolutions though (256 x 256!).

On a positive note, they included a section entitled “Text and Tone” which suggest how to improve the software user experience by careful choice of wording within a software application. It’s a great start. Suggestion: Add lots of examples of good “text and tone” to make it simple for developers to follow the guidelines, as many developers follow the pattern of “find MSDN reference sample code, copy, paste, tweak for specific instance….”

Off to the PDC 2005

I’m off for the week to LA for the Microsoft Professional Developer’s 2005 conference. From the buzz that preceded this event, I hope to come away quite impressed and excited about Microsoft’s development platforms and strategies. Join in the opening session with bill gates here.

My plan is to post about the interesting stuff that happens. I’ve got my camera packed this time to capture the event more visually than in the past. I haven’t decided if I want to tote my laptop around during the day … it gets heavy ….

The ongoing question around the office has been why upgrade to Windows Vista? If this question isn’t answered this week, Microsoft will have missed the boat entirely (it needs to be at least partially answered with promises to finish answering very soon). I need to be able to convince my customers that Vista is the platform they need to be on in the next 3 to 5 years. Right now, our customers have a healthy dose of skepticism that I share. With Microsoft porting the Windows Presentation Framework (AKA Avalon) back to Windows XP and Windows 2003 Server, the clear “must have” upgrade path became quite hazy, almost muddy in fact.

I want to use the new technologies Microsoft is developing … but there are hundreds of millions of desktops and servers that need to be upgraded. Please Microsoft, help us communicate your direction with our customers. We cannot be expected to do this on our own. Your evangelists need to help us (like Tim Sneath, Robert Scoble and many others are but a few examples). Produce good REALISTIC upgrade scenarios (with costs for software and hardware carefully considered), with honest and truthful benefits (and never leave out the negatives, otherwise it’s just another lame sales pitch!). The better the material you produce, the more empowered we become to help sell your plans to our mutual customers.

If you don’t know why someone should buy a copy of Windows Vista today yet … I’m very worried (especially for our large enterprise customers). The right answer for large enterprise customers cannot be, “but look at that cool fade effect and animation there!”

September 11, 2005

Useless Error Dialog

Apple is so often praised for their human centered design and software, so it amazes me to no end how often Apple’s software is absolutely un-friendly. Here’s a classic example that I encountered today:

 ITunes Useless Error

(Click to see it enlarged).

“An older version of QuickTime Pro was detected on this machine. If you proceed with this installation you must purchase a new QuickTime Pro key to regain QuickTime Pro functionality.”

[Yes] [No]

This is wrong in so many ways:

  • It doesn’t provide any detail of what version it detected, and what version it wants to install.
  • There is not any help available regarding this problem (to either a web site or embedded help).
  • It isn’t asking a question, yet it prompts for a “yes or no” answer (the dialog is titled “Question”, so maybe that will clear things up!)
  • There’s no information as to the cost or benefits. If this isn’t a place for a real advertisement that actually gave some information I don’t know what is!
  • It’s not clear if it will uninstall the old version, disable it or….?
  • It’s ugly (but most dialogs in Apple’s Windows’ software are ugly and non-standard).

Don’t do this to your customers. Think about the experience of your software. Make sure the user is confident and understands the choices presented, especially when this type of information is presented.

What did I do as a result of seeing this confusing dialog? Hit “No.”

MoveableType 3.2 on Windows 2003 Server

If you install MoveableType 3.2 on a Windows 2003 Server, here’s the error you’re likely to be greeted with:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.

Ah. Very helpful.

For some reason that I haven’t figured out (and haven’t the time), on Windows 2003 Server with recent builds of Perl, paths are not working the way that is needed for MoveableType.

Here’s what I did to get it to work.

Open mt.cgi (it’s in the root directory of your MoveableType installation).

It should contain something like this:

use strict;
use lib 'lib';
use MT::Bootstrap App => 'MT::App::CMS';

Replace the ‘lib’ with the absolute path to the MoveableType lib directory, such as

use lib 'c:\inetpub\wwwroot\wiredprairie\mt\lib';

You’ll need to do this for lib and extlib in all of the CGI files, not just mt.cgi. Doing a search and replace works well using your favorite editor in that directory and subdirectories (just look for the use lib …). You may need to replace it slightly differently if you install any new plugins (as they may have their own ‘lib’ directories).

Once you get by that and configure everything per the instructions, everything should work.

The big switch.

No, not this type of switch. I’m still running Microsoft Windows.

As you could tell from the new home page and the new RSS feed, something has happened under the covers on WiredPrairie.

I had written my own content management system in .NET more than a year ago (and have continued to add features once and a while as needed). It’s served me quite well and continues to function adequately. It was deficient in a couple of areas though:

  • No ability to remotely post an article through a Rich Client. I had experimented with InfoPath for a couple of hours, but I couldn’t get it to do what I needed specifically (rich text).
  • No ability to comment.
  • I was the only person supporting it and writing it.

Since I’m a admitted .NET type of guy, I did of course look at the various .NET blog engines that exist. Nothing was quite what I was looking for in terms of features and general usability of the application and setup. So, I looked elsewhere.

My hunt led me to several options, but in the end, I’ve decided on MoveableType for the time being. It’s robust in features and a lot of people use it, plus it works with my Internet provider, WebHost4Life (MoveableType requires Perl support and MySQL in particular). It was not a pain free experience by any means though. I’ll post more about it later.

In any case, I’m sort of on the fence about this one in particular as I’m not sure I want to enable comments. I’m going to for a while, moderated. It’s my site, so I can moderate if I want to. I’ve also disabled trackbacks entirely as I’ve read too many horror stories about them being enabled right now.

By using this new engine (and a client side publishing tool, I hope to post a lot more actively). Thanks for switching with me.

Help support my web site by searching and buying through Amazon.com (in assocation with Amazon.com).