Tuesday, April 1, 2008
I refuse to blog today
Google - Time travel
Flash on the iPhone finally
Microsoft will own us all eventually
Now this is just crazy talk
Klok update - bugs fixed
Monday, March 31, 2008
Klok bug found - workaround
Sorry for the inconvenience.
Thursday, March 27, 2008
Flex Developer Challenge - Are you up to it?
As you all know, smooth scrolling didn't make it into Flex 3. You can find some info and a head start at Alex's Flex Closet. If you are currently working on implementing this for datagrids (horizontal and vertical scrolling) and lists with variableRowHeight="true" that would be awesome. If you aren't already working on it but like a good challenge, I'm sure the rest of the Flex developers of the world would appreciate it.
If anyone has something more tangible to offer in reward feel free to comment here.
To save or not to save
It tells me when it last did it so I can be sure that if something went wrong and I lost my internet connection or my machine crashed, all but the last few words would be safe. If I click SAVE NOW, I get this so I can differentiate when I saved vs. an auto-save.
Notice that the text saying when it was saved is not modal, so I can happily ignore it if I want. This is much better than an Alert saying the same thing since you can't ignore an Alert.
Usually the argument against this goes like this "We can't decide when the user should save" or "What if the user doesn't want to save?" In actuality, it is safe to assume that the user always wants to save. After all, how often do you spend a bunch of time writing something and then not want to save it? You may infrequently, discard changes but that certainly happens much less often. Since it happens so infrequently, Blogger has no way to not save. This was no doubt a concious decision based on knowledge of real users' goals.
Now, some applications may need the ability to not save. But, that doesn't mean that you can't have auto-save. One solution would be to store the last manually saved data in a secondary location until the next manual save. Then if you wanted to revert to your last save after auto-saves have occured, you could simply retrieve it from that secondary location. If revert is never needed, then you could just throw that data away when the session ends.
I can already hear the arguments now. "That would be very difficult to implement", "We should spend our time on REAL features", "How would referential integrity be maintained?", etc.
In some applications this not trivial. But, as usual, the arguments against rarely mention Jane Smith, the professional writer. Remember, software is meant for humans to use to solve their problems. We can't leave them out of the equation.
Wednesday, March 26, 2008
Worst UI Ever: Error Messages Part 3
Now, assuming that the error had something to do with the open Word document, you have to wonder why the error message didn't say something like "You cannot close this spreadsheet while the embedded document is open". Obviously at some point in the development, someone decided that "Reference is not valid" was going to be an appropriate message to show Bob Smith the accountant tracking inventory. Even as a developer, I have no idea what that could mean. But, since the only choice is "OK", I guessed that I should click it. After that, nothing seemed to happen, so I decided to try quiting Excel entirely. And then...
Ummm..... huh? What do you mean you can't quit Excel? Am I not in control of my own computer. I said quit and and you should quit. Again, somewhere in the development process someone decided that it would be ok to be in a state in which the application cannot stop. Like a bus with no brakes, all we can do is honk the horn and tell people we can't stop.
I assumed that the problem has to do with this Word document. So I just hit "OK" (By the way... things DO NOT feel ok at this point). I close Word and then try to quit word again and get...

... hmmm... So now things are not looking good. So I do what everyone would do and open up Task Manager, click on the Process tab, find excel and click End Process. So, if I could "quit" Excel, why did Excel say it couldn't?
This is a case where these messages were probably not expected to occur, but even if there is an unlikely chance of it, a small amount of time could have been spent to at least give some idea of why the program was in this state. A few minutes more, and the message could have explained how to recover, albeit a round about way. Almost anything would have been better than these messages.
Before all the Mac followers start proclaiming that this is why Microsoft is evil, let me just remind you of this:
Watch out... its gonna blow!
In Apple's defense though, most of the time they at least did a better job of telling you how to get past your problem.

However, the bomb icon is a bit disturbing and there is really no point in saying "unimplemented trap".
The bottom line is that if you are going to say something to the user about an error condition, make sure it is in a language they can understand. "Referenence Error" and "Unimplemented Trap" might as well be in Greek to most people.
Tuesday, March 25, 2008
RIAs give new life to browsers
However, I think this trend is likely to release the browser of its responsibility of an application platform. Since it was never intended to be that platform, all the complexity that went along with it just detracts from its value as a platform for retrieving and displaying information. In the role of information delivery I think the browser is a wonderful thing. Features like the new WebSlices and Activities features of IE8 are information-centric features.
Just like any employee, if we let the browser do the job it was hired to do, it can really excel at it.