Archive for March, 2012

Wherefore art thou named Watson?

March 30, 2012 2 comments

One of the exciting pieces of technology right now is IBM’s Watson. Watson is a computer system that pulls in information from trusted sources, analysis it, and answer questions asked to it. According to Wikipedia, Watson is named after IBM’s first President: Thomas J. Watson. But I don’t find any other references to this, and I suspect that it may not be whom Watson is named after. I propose the Watson was actually named after Bunny Watson, the reference librarian in Desk Set.

Desk Set is a movie which deals with the issue of technology advancing into the workplace and replacing human jobs. Bunny Watson (played by Katharine Hepburn) is the head of the Reference Department for the Federal Broadcasting Company. Her job primarily involves knowing everything. She (and her coworkers) sit at desks and anyone can call them looking for information, and the Reference Department answers their questions. I imagine this was very important back in the days when there was journalism integrity, and facts were more important than sensationalism. While watching one of the exchanges at the beginning of the movie, where Ms. Watson is asked a question and spits out the answer I think to myself “Hey, that’s just like Watson”, referring to the modern computer system. The role that Watson has in the company is to answers people’s questions (both the computer and the reference librarian).

The primary point of conflict in the movie is that the company has hired International Business Machines to install their latest device in the Reference Department; the Electromagnetic Memory and Research Arithmetical Calculator (EMARAC). Everyone in the department are worried that they’re being replaced by this “electronic brain”, and get very worried at the demo when the machine answers all of the questions that the company executives ask it. Later in the movie things go catastrophically bad for EMARAC as it prints out incorrect answers to questions. The reason why it gives wrong answers is because the answers it gives out are close, but not quite what the people are asking for. Any human can see that while the words in the answer match words in the question, the context is wrong. There’s no way a machine will ever understand the context. Humans rise to the task to save the day, where the machine fell short.

The movie may have been 54 years too early. IBM is at it again, but instead of making a movie prop, they’ve made the real thing. It’s still a large, multi room monstrosity, but it’s not EMARAC that’s answering the questions, it’s Watson, doing exactly what Bunny Watson was doing in the 1950’s. Why not keep the name?

King County will get GPS in the busses

March 26, 2012 Leave a comment

The current King County bus tracking system is really sad. I mean, really sad. The website itself mentions how inaccurate it can be. What the King County Metro does is track the odometer on the buses and has the busses report in at major stops. Then should the driver take a wrong turn, or it’s a snow day (ie, the times you really want to know where your bus is), the whole system is completely unreliable. Given how cheap GPS devices are I emailed King County Councilman Larry Phillips about this. He forwarded my email to Kevin Desmond who replied to me and informed me that half of the King County busses (he calls them coaches) have GPS installed right now. They expect the other half to have them installed by the end of 2012. After all of the busses get GPS installed they’ll roll out a new customer facing front end for tracking the busses. Personally, I think that they should roll out the new front end right now, and people can get excited as the busses they use get the GPS, but having it by the end of the year will be acceptable too. It’s good to know at least something is being done.

Categories: Organizations

Why the Windows 8 Consumer Previews matter

March 18, 2012 Leave a comment

Something which I find funny are the people who comment on Microsoft properties like the Building Windows 8 Blog or Microsoft Answers, that they tried the Windows 8 Consumer Preview for a day, and found it so distasteful that they uninstalled it. They’re acting like uninstalling it is the best way to give Microsoft feedback about how usable the Operating System is. But that’s the worst way to give feedback; the best way is to use it. Microsoft tracks a lot of user behaviors in the Previews, that’s kind of the point. The result will be that people like me – who happily join the Customer Experience Improvement Programs – will be the ones that the OS is tailored to. I am a heavy user of the keyboard and the search built into Windows. I find Windows 8 to be quite usable, and do not mind the direction the OS is going at all.

Windows 8 Snapping Tip

March 12, 2012 Leave a comment

Windows 8 Metro apps have a concept called “Snapping”. Since Metro apps are full screen being able to see and compare data from two apps would be really difficult without Snapping. The reason why there’s Snapping, instead of normal resizing, is that Microsoft is catering to designers. Designers hate variability. They like one screen resolution, because that then defines the space they have to work in, and they can make that space beautiful. The fact that windows can be of any size/distortion really bothers designers. So by having four possible “modes” an app can be in – Landscape, Filled, Snapped, Portrait – it doesn’t overwhelm designers with too many spaces to work with to try and make apps beautful.

The problem I had with snapping at first is that the workflow seemed to be dependent upon correctly opening the apps in a certain order. The way to snap an app is to have two apps open, move the mouse to the upper left corner of the screen, grab the little preview window and drag it to the snapped position. It looks good, and is demo-able, but I always struggled with it. The reason why is because it never seemed like the app I wanted snapped was the one in the preview window.

Here’s what I recently discovered. It’s possible to pick an app to snap that’s not the latest opened app. When you mouse over the top left corner, drag down. This’ll open up the same preview bar that pressing Win + tab does. Using this you can grab any app you want to snap.

Time will tell if going through these snapping hoops is more efficient than the existing workflow of dragging windows around the screen, and I hope that it is. I feel that it has the potential to be. A problem it might have is perception. This could be one of those areas where if you study the users behavior, the study shows that the new way is quicker, but for some reason the end user feels that it is not.

So here’s to snapping in Windows 8. I hope it works.

Vigilante parking justice

March 10, 2012 Leave a comment

I realize that police don’t have the resources to patrol every parking lot, but sometimes I wish they did. It really bothers me to see really bad parking jobs. Especially where the car is so far over the line that no one can take the spot next to them. It’s an inefficient waste of space. So, how can we use societal forces to encourage better parking? I propose that the different counties in the US setup data stores for pictures of bad parking jobs. Many people carry devices which have cameras that store location data into the meta data of the picture. We can use these devices to reasonably report bad parking jobs.

The idea is that you see a bad parking job, take a picture and submit it to the county. The picture must show the license plate, the parking violation, the time the picture was taken, and the location of the picture. Of course it would be rather heavy handed if a single picture resulted in a fine, but an accumulation of pictures should. If enough pictures came in for a particular license plate the local municipality would have the right to ticket the owner of the car. Say, perhaps twelve within a years period. Giving citizens the power to report violations like this will create a not unhealthy outlet for their frustration of not getting an open parking space, and it would encourage people to properly park in their space. Societal harmony achieved at last.

The tabs are different now

March 8, 2012 Leave a comment

Visually showing off a new OS can be pretty difficult. For Windows Vista pressing the Win key + tab brought up a “3D” program switcher. It was visual eye candy and a way to show off the new OS, but given that it took more effort to use than alt + tab, nobody really uses it. Win + tab and alt + tab did the same thing in Windows Vista and Windows 7. In Windows 8 they now behave differently. Alt + tab behaves exactly like how one would think it would. It brings up a window showing all of the processes with window handles and you can keep hitting tab to cycle to the next one, or if you’re still holding down alt, you can use the mouse to pick the one you want. All running Win32 processes are listed and all running WinRT processes are listed.

Win + tab behaves differently in Windows 8. They gave up on the visual eye candy of a rolling list of windows and what happens is a panel appears on the left of the screen, with a preview of each running app. Note, not processes, but apps. Or another way to think of it, all running Metro Apps plus the Desktop and Start Screen. Not that switching to the Start Screen is difficult, one just needs to press the Windows key on their keyboard.

So, after the introduction of the visually pleasing, functionally pointless Win key + tab shortcut, in Windows 8 it finally has differentiated itself functionally from alt + tab, in such a way I might actually end up using it. There are lots of things to discover in Windows 8 and I find What are the hotkey shortcuts in Windows 8 to be a good starting point.

Android doesn’t make for a good device OS

March 5, 2012 Leave a comment

Right now there are two major mobile OS’s in the market today: iOS and Android. iOS is controlled by Apple and Android is developed by Google, but unlike Apple, Google allows for any party involved in the making of a device to modify it in any way they want. Android was written to compete with BlackBerry. The mindset of the consequent design is that devices are just smaller general purpose computers. The result of this mindset is why I don’t think that Android makes for a good end user experience. I read this the other day:

I was aware that my phone was CPU bound.

And so… going further… yes, I see some processes lock both cores up tightly… for seconds at a time. 100% util to (all) cores, is a good sign that adding cores will help, even if partially.

This happens most frequently… when I need to use the phone the most. Such as, turning it on, after not using it for let’s say, over an hour. When I turn it on, all of the apps which have been happily asleep stretch their arms and legs and download everything they missed.

And, I’m obviously turning the phone on cause I need to use it for something, so let’s say that I already hit my unlocker to go to text messages, or docs, or the camera. Now, I’m standing there, looking at my task manager just shoot up to the top 100% util for countless seconds… it’s countless if you REALLY wanted that camera open RIGHT THEN. If it’s an extended update that the apps are doing, then I might as well just give up.


Because Android lets application do whatever they want, they do whatever they want. Every developer believes that the program they’re developing is the most important program in the world and nothing should get in its way. It’s inevitable, we can’t help it. A developer of a single App isn’t worried about the end-to-end experience of the device. When Apple released the iPhone they took a different approach, the device comes first and the apps have to submit to the device. Many developers hate this “lack of choice” and “reduced functionality”, but the result has been overwhelmingly successful.

While iPhone does do this right, they aren’t the only ones who do. Windows Phone 7 does it too and WP7 does it really well. Plus, the Windows Phones also provides a variety of hardware and form factors. I find that to be a plus. In the future more general purpose computers are going to behave this way too.

Windows 8 introduces the WinRT, which is what all Metro Apps run on. Windows 8 has to bridge a chasm of the current computer paradigm and the future one. Have you ever hated waiting for the desktop to become responsive after booting Windows? Do you know why that happens? It’s because every installed program has registered with the OS to run something at startup. Whether it’s some updater process, or some sort of re-scan, or starting a bloated program at boot to make it appear to start faster later (iTunes), a lot happens at boot and the first user sign in. WinRT in Windows 8 changes this. As more and more of a computers’ programs are written against the WinRT, there will be less and less that runs as part of boot, or as part of waking up. The result will be faster and snappier computers. I think it’s a great way to go, even for general purpose computers.

Since Android was written to act like a general purpose computer it allows for the different parts of the device to contend with each other and create a poor user experience. Android was originally pushed by Verizon because they had gone years without an iPhone contender. Android is pushed by other carries right now, because they were able to capitalize on the Verizon Droid push and quickly get 4G into the devices drivers. But as the more well thought out OS’s(iPhone, WP7) get 4G as well, that won’t matter as much. I personally want a great user experience for my device, and until Android changes I couldn’t recommend to anyone I want having a great experience too.

Bounce past the lock screen

March 4, 2012 Leave a comment

A few months back a coworker of mine got a Windows Phone 7 and excitedly shared with us some of its intuitiveness that its user experience had (I assume part of his excitedness came from the fact he had an iPhone before that and was pleasantly surprised that there was an even easier device to use). He talked about the lock screen and how the first time you look at it, you notice that it looks nice but there are no instructions or hints on it about how to unlock the screen. This leaves the user with really only one option, tap the screen and see what happens. When you tap the lock screen it bounces up a little bit and then settles back down. This is a major visual indication to swipe the screen up, which is how one unlocks the screen. The device is showing you what to do, and letting you know that it’s now your turn to try. So now, every other time you use a Windows Phone you know how to unlock it and the screen can remain beautiful without any chrome/instructions interfering with the experience.

Windows Phone 7 wasn’t the first device with this behavior. My wife has a Zune HD and it behaves in the same way too. This isn’t surprising given that most of the Zune team got pulled over to work on Windows Phone. So I know she was familiar with this concept when I installed the Windows 8 Consumer Preview a few nights ago.

The day after I installed Windows 8 on our laptop (which might not live long enough to Windows 8 RTM) I got a call from my wife at work; “Umm, how do I get to my account?” What she was really trying to say was “How do I unlock the lock screen?” I told her to click anywhere on the screen with the mouse and swipe up. It worked and we ended the phone conversation.

Later I asked her if the lock screen on the laptop had bounced when she first tried to unlock it. She said yes, but thought that it was trying to show some bar, had trouble showing the bar, and so it gave up and slid back down again. But once she called and I told her to swipe up she felt really dumb because she thought “Oh, just like my Zune.”

Now when I look at the different experiences closer I do notice that the Windows 8 lock screen doesn’t behave exactly the same; when it’s coming back down it settles gently but quicker. On a Windows Phone there’s a little bit of a bounce at the end right before it settles. I don’t know if that makes a difference in discovering what to do, but it might. Either way it was interesting to see how the same visual clues can be difficult for some to pick up on, just because the device demonstrating it is different than the one they’re used to. So, to sign into your Windows 8 user account swipe the lock screen up and you’ll see the list of the computers users and pick the one you want to sign in to.

[Update] I learned that it is also possible to unlock the lock screen by pressing the esc key.

I voted in my caucus

March 3, 2012 Leave a comment

I voted in my King county Washington state Republican caucus today (3 Mar 12). It was a small intimate affair, a little too small in my opinion. There were only two people who wanted to be delegates, so why it took so long to make sure that everyone was okay with everyone being okay with that, I don’t know, but it was still fun to be part of the process. The people we voted for will go to the district and then at the district caucus, those who make delegates there will go on to the state caucus. So no candidate won delegates today, but Washington states straw poll is the last one taken before Super Tuesday. I’m glad I live in a democracy.

Categories: News and politics

Using the Concurrency Visualizer to find Explorer hangs

March 1, 2012 Leave a comment

At work on my Windows 7 computer, sometimes when I search in Explorer the Explorer window will hang. Wanting to know why I used the Visual Studio 11 Beta Concurrency Visualizer. In Visual Studio 11 (which is probably going to be named Visual Studio 2012) I went to Analyze -> Concurrency Visualizer -> Attach to Process.. and selected Explorer. Once the trace window showed that it was collecting I opened an Explorer window and started to search. By the time I hit the seventh character Explorer hung. When it was done hanging I stopped the trace collection and viewed the report in Visual Studio. Below is a screen shot of the Threads View:

Threads View Even though it’s not labeled Main Thread, thread 6980 looks like the driving thread. What makes me suspect this is how it was the only thread doing UI work, plus noticeable amounts of execution. In addition, when it was switching between UI and Execution work the Disk was doing reading work. Looking at the middle of the 6980 thread I see there’s a long blocking section; 29.6 seconds long to be exact. That section is released by thread 4584 which blocking for 29.6 seconds too. Looks like the driving thread called for another thread to do work and blocked waiting for the result. Clicking on that blocking segment I see:

4584 is blocked on an LPC (a Local Procedure Call, which is something processes use to communicate with each other). Exactly which process it’s communicating too, I don’t know. While it is possible to open the underlying etl file and discover which one, that’s not needed to solve this problem. Looking at the call stack of the blocking LPC I see an assembly name of searchfolder, and I see class name of OfflineFilesCache with a FindItem method. Offline Files! I don’t use Offline files. At least I don’t think I do.

Pressing the Windows key on my keyboard and typing “offline” the top results are all entries for managing Offline Files. Opening those I find that my computer is configured for storing Offline Files. Suspecting this is the cause for the Explorer hangs I Disable Offline Files for the computer. Ever since then Explorer has never hung while searching. The result of this investigation: to solve a 30 second Explorer hang in Windows 7, disable Offline Files.