Archive for the 'Software' category

Word 2007 and Vista Speech Recognition – don’t say "delete document"!

December 10, 2008 8:35 pm

I had a very unpleasant experience today. My wife is trying to deal with pain in her arms and hands from too much typing by using Vista’s speech recognition feature along with Word 2007. She was writing a final paper for a college class and had just finished the last four of nine pages. That’s when she noticed an extra word in her paper, right at the end: “document”. It didn’t belong there, so she did what you’d do naturally and said “delete document”.

THAT’S WHEN BAD THINGS HAPPENED. Apparently the speech recognition software turned that phrase into a command and proceeded to empty the nine page paper of all content without hesitation. On top of that, the undo feature of Word seemed to not have noticed the command (or been bypassed somehow), so she couldn’t get the document back via undo either!

This all happened while I was in a meeting at work right before lunch. When I got back to my desk I had several panicked voice messages. Luckily, five pages from the day before could be salvaged because my wife had the presence of mind to close the document without saving, which let her recover all but the about four hours of work that had gone in before the disaster struck.

I went home over lunch to see if I could salvage any more. I decided that I needed support from Microsoft. Well, the call with Microsoft Product Support was less than pleasant (as support calls usually are) and didn’t get us the four pages back, either. Best I could tell nobody had ever reported such an issue before.

I’m surprised this glaring problem escaped all testing at Microsoft. One of the cardinal rules of software development was violated in this case: “Never, EVER, lose the user’s data.” I can’t believe there was no prompt to confirm if she really intended to delete everything in response to the phrase “delete document”. I can’t believe there was no undo possible.

I just can’t believe it. Yet, it’s true.

Thanks for reading! It looks like you're new here. Welcome! If you like what you see, I encourage you to subscribe to my RSS feed. If you're worried about adding another RSS feed that will add to your information overload, don't! I'm not a prolific poster. Thanks for visiting!

HP TouchSmart software update: Touch Optimizer

November 20, 2008 11:06 pm

Lots of people find that once they’re outside the touch optimized environment that the HP TouchSmart software provides, things in Vista are not all that easy to use with touch.

This is something we addressed with what we called a “Touch Optimizer” on the IQ770 (our first TouchSmart series). On the IQ500 series we initially left this program out of the factory configuration (the reasons would bore you, trust me.) Now we’ve brought it back as an update that you can get at the HP Support website: http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=pv-66423-1&lc=en&dlc=en&cc=us&lang=en&os=2100&product=3752240

This utility will increase several “non-client metrics”, as they’re called in Windows developer lingo, to sizes that make things easier to hit with your finger. If I remember correctly, the tool increases scrollbar, close/minimize/maximize buttons and taskbar quicklaunch icon sizes. It also turns on single click for desktop icons so you don’t have to double-tap to launch programs from the desktop anymore.

Until Windows 7 arrives with better integrated touch in the whole OS, try this tool and see if it doesn’t get you 60% of the way there. Maybe even 80%.

Steven Sinofsky’s Vista UAC discussion at PDC 2008

November 14, 2008 10:36 am

One thing I haven’t written about yet is my impression of a few moments in Steven Sinofsky’s PDC 2008 keynote. It was when he talked about User Account Control. UAC was not well received when it was put in Vista, to put it mildly.

At around 45 minutes in the keynote, Steven mentions UAC and, as far as I can tell, pauses deliberately for a second or two to get an audience reaction. If you weren’t in the room at the time, it’s hard to tell, but there was a collective groan and some chuckling at that point.

I think it’s the closest attempt at trying to apologize for a design blunder I’ve ever seen Microsoft make, albeit without words. I found it to be a brave move for someone like Steven to make, and I wager that it put a more human face on the large, often faceless corporation that is Microsoft. It certainly did for me.

If nothing else it gave me the impression that there is someone at the helm of Windows development who is not afraid of acknowledging when things go wrong and who will try to make up for it. I find that very refreshing.

Make WordPress MU work in a development environment without a domain

October 15, 2008 8:00 am

If you’re trying to get WordPress MU to work on a machine that isn’t on any domain, i.e. doesn’t have a dot in its name, this article by Will Norris leads you down a possible path.

To tie a bow on it, this is what I did to get things to work in a "WordPress MU subdirectory" configuration: In the wp-config.php file, add a line like this

define(‘COOKIE_DOMAIN’, ”);

In a subdomain configuration it probably won’t work.

Fix Windows Live Photo Gallery file associations

September 10, 2008 9:35 pm

Not sure this is something people run into a lot, but if you are using Windows Live Photo Gallery and you can’t use it to view files by double-clicking on them anymore, the fix is to re-register the PhotoViewerShim.dll like this:

regsvr32 "%ProgramFiles%\Windows Live\Photo Gallery\PhotoViewerShim.dll"

This information is brought to you courtesy of winhelponline.com

Listen to your hard drive’s S.M.A.R.T. status – part 2

September 9, 2008 11:12 pm

In which I learn that even though the SMART status and drive self-tests report “No problems found”, you can’t trust them all the time.

To make a long story short: Even though I’ve mentioned in the past that it’s a good idea to monitor your hard drive’s SMART status to detect potentially impending doom, sometimes that’s not enough (in my last post on the topic, I replaced a drive based on SMART data.) You also need to look into the Windows Event Log to see if Windows silently is logging read errors (but not telling you in so many words, like “Hey, I can’t read your hard drive. Get a new one before this one goes all disc grinder on you!”)

DiscGrinder

My new tale involves a drive that didn’t show any signs of bad SMART data, didn’t report any trouble when analyzed with the manufacturer’s tools, but caused trouble anyway. Over the course of several months my main workhorse computer developed an annoying habit of booting slowly, sometimes to the point of freezing up entirely before getting all the little background programs loaded that I’ve amassed over about three years without reinstalling the OS.

I suspected the motherboard to be faulty at first, so I switched that out, with the result that I had to re-activate XP, which was annoying. I thought that had worked, but no, things kept being bad. Then I figured that I’d have to somehow test whether the hard drive controller on the mobo had gone bonkers. Well, since I have two other drives on the same chip, that didn’t seem possible.

Next, I thought “How about doing a benchmark on the hard drives?” So I found this pretty cool free (for personal use) benchmarking program called HD Tune (which, incidentally, also reports SMART data), and guess what – it would sometimes abort the test with a “read error” message. And sometimes the benchmark graphic would look like this:

Bad drive

Believe me, you don’t want it to look like that, blue and yellow all over the place like a shiner! What you want is something more like this:

Good drive

A nice and steady drop-off in speed (blue) and increase in access time (yellow).

Anyway, the read error prompted me to check the Windows Event Log, and sure enough there were disk read errors quietly reported regularly over the past several months. So I decided it was time for another hard drive replacement. What I learned from that is “meat” enough for another post. Good thing I keep all my data on a physically separate drive (and online at Mozy).

The moral of the story is: “Check your hard drive’s SMART status, but be suspicious anyway!”

The cat’s finally out of the bag – The new HP TouchSmart IQ500 has been announced

June 10, 2008 4:18 pm

The big day is here and gone. The new TouchSmart PC has been announced to great fanfare on the web, and I’m sure there’s more to come. The blogs are full of praise and criticism already, of course. Since I was closely involved with the creation, I’m happy about all the praise and hope that we’ll be able to address the criticism over time (especially regarding the software). In other words: there’s never enough time to get any piece of software 100% smack-dab perfect for everyone’s taste.

I’d like to write a little about things that may not be well known yet. Yes, there is actually limited “dual-touch” in the new software. You can resize the upper row of “tiles” using two fingers. You can scroll using two fingers once you’ve gone into the “Browser”. Due to how the touch screen works you need to make sure your fingers are a certain distance apart to get it to work right. It’s “limited” dual-touch because of the natural laws of time and resource constraints on the development team: we ran out of time to do more.

Oh, and nowhere in the HP TouchSmart software do you need to “double tap”/”double click”. If a single tap doesn’t do it, the touch screen saw too much movement of your finger during the tap and turned it into a move action instead. That’s the challenge with using optical technology that sweeps just above the glass. It sees your finger a little before you actually touch the screen. (Think Vincent Cassell in “Ocean’s Twelve” or Catherine Zeta-Jones in “Entrapment”)

We’ve had feedback from users in the past, asking for tutorials around the software. I’m personally really happy that we managed to put two tutorials on the system for this new incarnation of HP TouchSmart. And they are available right from the lower row of “tiles”. Here’s a small taste of how the tutorials were created:

Resize of IMG_0041 

Resize of IMG_0044

Resize of IMG_0052

As you may be able to see, there’s a lot of work that goes into even such a small thing as creating tutorial videos. I certainly had no idea how involved the process is before I had the chance to help out with the production in a (very) small way. I feel lucky to have worked with and met so many great people. You can find the tutorials here, starting with the basic one in English.

For those of you who read this blog because of the WPF topics I’ve touched on in the past: yes, central parts of the software were created using WPF. I don’t mean to be a fanboy, but I’ve said it in the past, WPF is powerful stuff. The ability to have separate people working on styling the software while other people work on “business logic” is incredibly valuable. At the end you get full visual fidelity of the design for virtually no added work.

Before I close (and this gets much longer), let me put a question out there for software developers. If it were possible to write software that could end up as “tiles” in the TouchSmart software, would that be interesting to you? If not, why not? Don’t take this question as any indication or promise of what the future may hold. I’m just curious about your opinion. Comment away, please.

And for those of you who just stumbled upon this by chance (or dug through the sea of noise out there) and are curious about certain aspects of the new HP TouchSmart PC or the software, I’ll try to answer questions within certain limits in the comments as well.

The rest of this post is mostly a collection of links I gathered on the day of the announcement, with a little added commentary for myself. What a splash!

HP TouchSmart PC gets slick upgrade (Slashgear, Promo pics)

HP TouchSmart- bringing touch to the iMac form (jkOnTheRun, Promo pics)

HP TouchSmart PC gets refreshed, unboxed (Gearlive, unboxing [http://www.gearlive.com/gallery/category/C67])

HP’s TouchSmart 2 in the wild (Engadget, Promo pics link)

HP Touchsmart IQ506 Brings New Interface, Bigger Screen (Gizmodo, tutorial video embedded, press blurb)

Preview- HP TouchSmart IQ500 Series PC (Hardwarezone Australia, prototype pics, specs)

HP updates TouchSmart with TouchSmart IQ504 and IQ506 PC (Krunker, promo pics, iMac comparison quote)

HP Touchsmart IQ506 and 504 Touch PC (Techfresh, promo pic)

HP launches TouchSmart all-in-one PCs (TechChee, promo pic)

HP Touchsmart IQ506 and 504 Touch PC (HawtGadgets, promo pic)

HP TouchSmart IQ500 hands on PC (Five.TV, promo pic)

HP Launches new touch-screen PC (Nudjit.com, Stage pic, embedded tutorial video, showing the precise touch action needed to avoid accidental “moves”)

HP TouchSmart update tackles iMac, Gateway (electronista, Promo pics)

http://www.kickstartnews.com/2008/06/hp-announce-new-pcs-and-laptops.html (Promo pic)

http://www.hp.com/hpinfo/newsroom/press/2008/080610xb.html?mtxs=rss-corp-news (HP press release)

http://blogs.msdn.com/mthree/archive/2008/06/10/touchsmart-2-061008.aspx (MSDN, Promo pics, link to PC Mag article)

http://hpcorp.feedroom.com/?fr_story=1a61d0307fcbf0b5a167dd7e419f65b157125a75&rf=rss (HP video site, fingerprints video)

HP Connecting Your World Keynote – Live (Gizmonews, LiveBlog from the Berlin event, lots of stage pics)

http://blogs.yankeegroup.com/2008/06/10/hp-wants-to-be-touched-but-not-groped/ (Promo pic)

http://vantan.org/archives/2008/06/hp_launches_tou.php (Vanessa Tan, lots of Berlin stage pics, one YouTube video)

http://site-designer.blogspot.com/2008/06/news-hp-targets-wider-market-with-new.html (Mostly a press release rehash)

http://crave.cnet.com/8301-1_105-9963859-1.html?part=rss&subj=Crave (Crave, Promo pics)

http://techdigest.tv/2008/06/hp_unveils_touc.html (One promo pic)

http://hdtvprofessor.com/HDTVAlmanac/?p=705 (Promo pic)

http://stuff.tv/News/HP-slims-down-Touchsmart-allinone/10203/ (One promo pic)

http://news.cnet.com/8301-10784_3-9964073-7.html?part=rss&subj=news (One promo pic, link to gallery of all HP products launched)

http://xzx.g8online.net/2008/06/10/wow-hp-touchsmart-to-redefine-home-computing/ (Promo pics)

http://www.electricpig.co.uk/2008/06/10/hp-touchsmart-pc-causes-finger-frenzy/ (Small promo pic)

http://www.gadgetusers.com/hp-touchsmart-iq506-and-504-touch-pc/ (Promo pic, link to ubergizmo gallery of promo pics)

http://www.livemint.com/2008/06/10142732/HP-targets-wider-market-with-n.html (Mostly press release)

http://www.lowyat.net/v2/latest/touchsmart-to-redefine-home-computing.html (Promo pics, seems there’s no original content here)

http://gadgetsaddict.com/hp-touchsmart-pcs/ (Promo pics)

http://www.blog4it.com/index.php/hp-brings-touchscreen-to-pc.html (no pics, very short)

http://www.pcmag.com/article2/0,2817,2319417,00.asp (One small promo pic)

http://www.gottabemobile.com/Introducing+The+New+HP+TouchSmart.aspx (One pic)

http://news.cnet.com/2300-1042_3-6241247-3.html?tag=ne.gall.pg (Picture)

http://news.cnet.com/2300-1042_3-6241247-4.html?tag=ne.gall.pg (Picture)

http://blip.tv/file/979499/ (Richard Walker demo)

http://blip.tv/file/979518/ (Joan Jett ad)

http://blip.tv/file/979452/ (I could defend the problems you see in this video with operating the touch screen, but I think that would be futile, so I’ll just leave it. Trust me when I say it takes a little getting used to, but it works pretty well after that. We did lots of usability studies on this puppy.)

http://www.tweakup.dk/readmore/11757/ (In Danish)

http://www.sickofgadgets.com/hp-launches-touchsmart-all-in-one-pcs/ (One promo pic)

http://thedigitallifestyle.com/cs/blogs/ian/archive/2008/06/10/video-of-hp-s-new-touchsmart-system.aspx (Promo pics, good quality video of Richard Walker demoing)

http://thedigitallifestyle.com/cs/blogs/ian/archive/2008/06/10/hp-connecting-your-world-keynote-from-berlin.aspx (Voodoo, event pics)

http://www.notebooks.com/2008/06/10/hp-touchsmart-why-cant-i-have-this-interface-on-my-tablet/ (Seems to be down temporarily)

http://venturebeat.com/2008/06/10/hp-launches-50-plus-consumer-products-in-berlin/ (Promo pics)

http://www.informationweek.com/news/hardware/desktop/showArticle.jhtml?articleID=208403180&subSection=All+Stories (No pics)

http://www.forbes.com/technology/2008/06/10/hp-touchscreen-pc-tech-pers-cx_bc_0609techhp.html (No pics, but look at the headline. Wow.)

http://blog.laptopmag.com/hp-wants-to-bring-multi-touch-to-notebooks (One promo pic, discussion of software for laptops)

Inside the HP TouchSmart PC software: HP SmartCenter – Part 4

April 24, 2008 7:33 pm

This is part 4 of the mini-series on the HP SmartCenter software. Hear about the team’s reaction to the Engadget leak and the launch plans at CES 2007. If you missed the first three parts, they are here, here and here.

One of the really unsettling events before the launch of the TouchSmart PC was that Engadget somehow got a hold of some pictures that had been prepared for the launch in early 2007 at the Consumer Electronics Show. It was billed in the first sentence as “AMD’s sweet new rig”, which was a little bit of a slap in the face, since most of the real work fell outside of AMDs realm. I remember the team meeting when our program manager came in and told us about the “leak”. He had heard it from Microsoft just a few moments before joining the meeting. The mood in the room instantly turned. People started feeling both mad at the leaked information (and the leaker) and depressed about the potential impact this would have on our launch at CES. Microsoft especially was disappointed, since the TouchSmart PC represented a big investment on their part, carrying some of the Vista messaging. The TouchSmart PC was to be billed as one of a few “dream” PCs at CES. Having gone through an experience like that, I now always think about how the people involved must feel when I see “leaked” information about upcoming products. It’s not fun to have it happen to you.

On a happier note, the TouchSmart PC seemed to make quite a splash at CES. At the last minute I was asked to attend the show to help with technical support on the show floor. This was my first time attending CES and going to Las Vegas, and I quite enjoyed the experience. I ran into quite a few of the people that had worked with us on the project, and it was fun to see the crowds milling about the TouchSmart PCs at the HP and Microsoft booths. Having backstage access was a unique thing, but it involved a lot of walking around, helping the people doing demos by making sure the software was installed properly.

Since then, the HP TouchSmart PC has received numerous awards (including spot number seven on PC World’s list of most innovative products of 2007) and for a short while even had a fan website, the HP TouchSmart Owner’s Club.

This is the tentative end of the series. If you’re curious about other aspects, let me know, and if I can talk about it, I’ll see if I can accommodate your curiosity.

Inside the HP TouchSmart PC software: HP SmartCenter – Part 3

April 17, 2008 7:30 pm

Welcome to part 3 of this mini-series. Last time around you heard a little bit about the early prototypes and how things progressed from there. This time I’ll talk a bit more about some of the functionality in HP SmartCenter and some of the things we were not able to address before having to ship.

The guiding principles for HP SmartCenter and the other touch-optimized applications were to provide quick, “transactional” experiences, to have the applications be as intuitive as possible to use, and have them look polished and clean. HP SmartCenter was to be the “home page” for touch-based interactions with the PC. It had to easily give the user access to key Media Center experiences (TV, music, games) as well as two other touch-optimized programs HP was developing (HP SmartCalendar and HP Photosmart Touch). Finally the user had to have the ability to add access to a certain number of programs of their choice.

To enable some of the quick, “transactional” experiences using a touch screen, HP SmartCenter had to have large “target” areas that are easy to hit using a finger. This requirement helped making decisions about the layout of the “tiles” that the user touches to “launch” something.

We wanted to highlight a few of the key features of the TouchSmart suite of software. We decided that three tiles would be larger than the remaining ones, and that those three would be able to show more details from the underlying program than the smaller tiles. The calendar tile, for example, will pull three upcoming events out of the calendar program and display key information about those events right within the calendar tile. The Photosmart Touch tile will look for pictures in the My Pictures folder and display five of those in a rotation. The weather tile will display high and low temperatures expected for the day as well as the current temperature as reported by the weather service. The analog and digital clock tiles will display two additional clocks (probably configured for different time zones) in text form, in addition to the main clock, which is shown in a larger, graphical look.

The three user configurable tiles would be able to either start a program on the system or a web page, using Internet Explorer. We settled on only having three configurable items, since there was an overall limit in the graphical design at nine small tiles plus three large tiles, and we wanted to encourage people to stick with tiles that didn’t take you out of a touch-optimized / touch oriented environment.

Beyond picking a software development technology (WPF), our other challenges were the many changes in both Windows Vista and WPF as both matured. WPF introduced “breaking changes” several times in our short cycle, and we discovered numerous problems with the integration of WPF and Windows Media Center. We worked closely with Microsoft to get these addressed. But a few problems remained, one of which is that every time you start one of the programs we developed, the computer screen will go black for a few seconds. It gives you the unsettling feeling that something went wrong, but it’s actually a consequence of the interactions between certain software components that are controlling the graphics card (DirectX, WPF and Media Center). As much as we didn’t like it, we were out of time to address these problems by the time our shipping date came.

That’s a wrap for part 3. Next time you’ll hear about the reactions from the team when information about the TouchSmart PC was leaked to Engadget way before the actual launch event, and I’ll also talk a little about the launch at CES 2007.

Update (2008-04-30): Part four is now posted.

Inside the HP TouchSmart PC software: HP SmartCenter – Part 2

April 10, 2008 7:12 pm

In the first part of this mini-series, I introduced you to the early planning stages of HP SmartCenter. This time you’ll get a little more information on the early development, including a few screenshots of prototpyes.

I hacked together a very simple first version of HP SmartCenter (then codenamed LaunchPad, which still is the name of the executable, incidentally) in HTML and my colleague Maguy added some rough graphical elements to give our design firm an idea of what we were looking for.

launchpad1.png
My quick HTML mockup

launchpad2.png
Improved graphics

From about February 2006 until April 2006 we then iterated with our design firm on the GUI and user experience design. Towards the end of May 2006 we took final delivery of the work from them. I was to turn their beautiful work into a living application with page navigation, drag-and-drop functionality, configuration options, and settings persistence. They had provided a solid foundation to build on, including well thought out namespaces, classes, animations and navigation design.

But there was still a lot of work to be done during the next three to four months. In addition to the application itself I was also responsible for delivering an installer, a supporting “touch optimization” program, and integration with our factory PC build process, including dealing with the “sealing” process that prepares the master hard drive for replication.

We participated in Microsoft’s early adopter program for Windows Presentation Foundation and Windows Vista, which gave us access to builds of the WPF bits, with a seemingly never-ending stream of Community Technology Preview versions. Windows Vista was in a similar state of flux, and I had my hands full, wiping out and reinstalling test machines and updating my developer machine to keep up with the changes.

At the same time I climbed the learning curve for WPF (which Simon Middlemiss once described as more of a cliff), trying to figure out how to get the mostly fixed-content XAML pages that the design company had delivered turned into malleable components and re-configurable layouts.

The initial design from the outside company included two components that pull information from the web: weather and stocks. We had to drop the stocks piece for business reasons early on, and had big challenges working out the business issues for the weather feed integration. We wanted our own high-quality images to illustrate the weather conditions and had to get approval from the owner of the feed data. I thought several times that the weather feature was dead, but stubbornness overcame pessimism, and we pulled all the right people from several companies together to get our images approved within 24 hours before the final code submittal deadline. I remember pulling a work-at-home weekend to fine-tune the weather feature where I had to stop working because I was hit with the flu. I was out for three days. After something like that happens you don’t give up a feature without a fight.

One benefit of being part of the early adopter program for WPF and Vista was that Microsoft arranged for training and troubleshooting sessions. I made two trips to Redmond under this program, once to get more in-depth training on WPF and Vista, and once to get help with troubleshooting performance issues we had run into. That’s when I learned that there is such a thing as a “managed memory leak“, which can be introduced in WPF without the programmer necessarily realizing it. Towards the end of the program three of my colleagues and I got to spend a couple of days with Microsoft again, this time at their Platform Adoption lab (Building 20), going over some last minute design and performance questions with their WPF developers one-on-one. This especially helped with getting HP Photosmart Touch into better shape for final release. We got a lot of tips and strategies for dealing with images, collections and containers in these sessions.

That’s it for part 2. Next time I’ll dig a little more into the guiding principles that were used for the implementation of HP SmartCenter, as well as some of the challenges and problems I encountered on the way.

Update (2008-04-30): Parts three and four are now posted.