Archive for the 'Software' category

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

April 4, 2008 10:23 pm

I thought some people might enjoy reading a little “behind the scenes” story about the most high-profile piece of software I’ve been involved with so far. I feel pretty lucky to have had the chance to work on a unique product and to have what I helped work on be so central to the user experience as it is on the HP TouchSmart PC. You may interpret this post as highly egotistical and self-centered, and I suppose it is. But I feel like telling a story. My story. I will go over most of the non-confidential details of the events as I remember them. Since there’s a lot to talk about, I’ve decided to split the story into a mini-series. This is part one. Here we go.

My involvement with the HP TouchSmart PC began in about December of 2005. The decision was made to invest in software that would be best suited for the touchscreen that the unit would have. One of the results is HP SmartCenter as seen here (screenshot from my developer machine, not necessarily representative of the final product):


We had tight deadlines. Our final bits would be due in about six months, around June / July 2006. Our product marketing folks decided they wanted the touch application to provide quick access to TV and music as primary features. Windows Media Center was our software of choice for delivering TV and music experiences, and so we made HP SmartCenter run within Windows Media Center. This helped to avoid waiting for Media Center to start up when the user wants to watch TV or listen to music. In other areas the choice created lots of challenges. The initial one was picking a software development technology.

I had just attended PDC05 and was pretty excited about Windows Presentation Foundation (WPF) and the speed I could sense it would give developers and designers for rapidly creating exciting software. I had learned that Media Center in Windows Vista would support WPF, and my recommendation to use it for our apps to make the deadlines while delivering a polished user interface was accepted.

An interface developed in HTML would not have had the same quality (read: look-and-feel). Using the Media Center Markup Language (MCML / SplashFX) was not an option, since that was not going to be revealed in any useful detail until about March 2006, way too late for us to learn how to use it and produce a product.

At PDC05, it had been mentioned that a well-know design company had worked on some XAML styles for the show. We approached them to help out with the application design and asked them to deliver their stuff as working XAML / WPF code. They were pretty excited about the idea and signed on.

That’s it for now. Check back soon for the next installment of this mini-series, where I’ll show you a few screenshots of very early prototypes.

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

Vista SP1 – still no audio after resume from sleep

February 12, 2008 10:45 am

[Update 2012-03-03: Since there still seems to be no real solution at the driver level (after 4 years), I've written a little app, that at least puts a band-aid on the problem. Check it out. Now you can reset the device without having to go to Device Manager and disabling/re-enabling the device.]

[Update 2 2008-11-29: I think I may have found a package that solves my particular problem. I've put the computer to sleep several times now, and each time sound came back properly after waking it up again. The thing that seems to have done it is something called a UAA Bus driver. I got it directly from the HP FTP site here: ftp://ftp.hp.com/pub/softpaq/sp33501-34000/sp33867.exe There's also an article around the SP file here: http://h10025.www1.hp.com/ewfrf/wc/genericSoftwareDownloadIndex?softwareitem=ob-47284-1&cc=us&lc=en&dlc=en. I'm not sure this will help your situation, but it helped mine (so far, keeping my fingers crossed, maybe I'll run into other issues with it.) The article says it's for XP, but it seems to have worked on Vista SP1 as well.]

[Update 2008-11-29: I've looked around a bit more. The chipset used in the HP laptop is of the "Waikiki" Conexant HD audio variety, according to this forum post. Apparently there is an online petition, asking for HP  to release an appropriate driver, since some of the notebooks that use this chipset were marketed as "Vista Capable". The "Venice" chipset variant, apparently, is covered by updated drivers.]

[Update 2008-07-24: This is now one of the most popular posts on my blog. Seems to me that a lot of people are having issues like this. Unfortunately there only seems to be a solution for Sony systems; look through the comments to see it .]

I have a laptop that has an issue with properly restarting the sound subsystem after Vista resumes from sleep. Microsoft brought out a hotfix about 6 months ago that supposedly fixed issues like this. On my system, the problem persists, even after installing Service Pack 1! I let the computer go to sleep, and when I wake it up again, there’s no sound. The sound device is listed in Device Manager as “High Definition Audio Device” and has the following Hardware IDs:

HDAUDIO\FUNC_01&VEN_14F1&DEV_5047&SUBSYS_103C30A5&REV_1000
HDAUDIO\FUNC_01&VEN_14F1&DEV_5047&SUBSYS_103C30A5

I’ve tried just restarting the sound services (as admin: net stop “Windows Audio”, net stop “Windows Audio Endpoint Builder”, net start “Windows Audio Endpoint Builder”, net start “Windows Audio”), but that doesn’t work. Restarting the computer works, obviously, but is too slow to be a proper solution.

One thing I can to do to get sound back without restarting is remove the “High Definition Audio Device” from Device Manager and then Scan for Harware Changes. But it’s still annoying to have to do this. Since there’s no crash involved (no Windows Error Reporting possible) and no “yellow bangs” in Device Manager, I’m not sure how I would report this to Microsoft. They probably wouldn’t do anything about it anyway. They’d say it’s a driver issue. Talk to the driver vendor. Nice idea. Trouble is the laptop is older (it scores a 3.2 Windows Experience Index, not half bad) , and the vendor probably won’t bring out Vista drivers for it. So it looks like I’m stuck with a broken package.

Maybe a kind soul (at Microsoft?) will read this at some point and get in touch to help me troubleshoot the issue.

Oh well. Feels good to get it off my chest, though.

Can’t install .NET 3.5 on Vista x64? Try uninstalling KB110806.

February 1, 2008 10:22 am

The title says it all. Several attempts I’ve made at installing the .NET Framework 3.5 on x64 Vista boxes failed with Error 1603. After a prolonged Google search, I found a forum with someone mentioning to uninstall KB110806, which seems to be related to .NET 2.0 SP1. I forget the forum and the details.

Anyway, if you’re having trouble with .NET 3.5 on Vista x64, try uninstalling the KB110806 update. I’m going to assume you know where to do that if you’re reading this.

CardSharkV – now with screenshots

December 10, 2007 11:46 pm

It occurred to me that my CardSharkV page didn’t have any screenshots to show how the program works or what it looks like. That has now been remedied. Here’s the central part of it (grouping the photos):

4_Renamed_Group

So head on over to the CardSharkV page and take a look! I think you might find the program useful, if you like keeping your digital photos organized right in the file system and not just in some photo management program.

If you have any comments on the program, I’d like to hear them.

Introducing CardSharkV

November 25, 2007 1:06 am

Check out this program I’ve developed, called CardSharkV. It’s a digital picture storage card/camera “downloader” with a twist.

It’s a bit of an experiment, and I’m looking for some real-world “beta” testers. My plan is to try my hand at charging for the program. But to see if word will spread, I’m planning to give out 50 or so licenses without charge while I work out any kinks that might be in the program.

If you’re interested in trying it out, download the program, install and run it, and then click the “Request License” button.

Read more about it on the CardSharkV page.

Update (2007-11-25): CardSharkV depends on the .NET Framework 3.0. It’s thus meant to be installed on Vista systems only. If you have XP and the .NET Framework 3.0, it should still work. Also, since I posted the whole thing Saturday night after a whole day of re-shaping my first, never published version, I didn’t test the install too well. I’ve since had a little time to test and found some issues, especially with the license mechanism. I’ve posted version 1.0.2.0 to correct those issues and to improve the installer as well.

Crossloop, a free remote assistance program that works!

September 1, 2007 7:59 pm

[Update 2010-01-24:
It looks like Crossloop has gone more commercial and now makes it harder to find the free version of the program. Crossloop's business model now revolves around enabling skilled people help others with computer trouble and to help those two groups of people find each other. Their main product is now no longer free, but an ad-supported version is still available for free on their site.

This post on my blog has been the single most visited post for an amazingly long time and has sent many, many people to crossloop. I make no money off of this post, and I'm not in any way affiliated with Crossloop, their business model or any other aspect of their operation.
End update]

I spent about three hours with my mom today. I helped her pick out photos from a trip we’d taken together this summer for a little presentation she’s going to give to her local community, printed out some information from the web and helped her burn the photos onto a CD. Not an unusual thing for a son to do for his computer-challenged mother, right?

Except my mom lives about 5400 miles away. How did it happen?

Crossloop. A free remote assistance program that even my mom can figure out. I helped her download it, and it worked beautifully. I ran Picasa, MSN Messenger, Internet Explorer, Email and even the installation of the .NET Framework 3.0 for her.

If you’ve been disappointed with the built-in remote assistance programs in Windows XP or Windows Vista, give Crossloop a try. It works very well, almost no matter what kind of firewalls and proxies are between the two computers that are trying to connect.

Highly recommended.

Troubleshooting ClickOnce deployment issues

August 25, 2007 9:18 pm

Over the last few days I ran into several puzzling ClickOnce deployment problems. I want to document and share these so that I’ll remember them better, and so others might find help with similar issues.

The first issue:
I uploaded new versions of my files several times, but every time I attempted to download the refreshed versions, no matter which computer I tried it on, all I got were old files. Ctrl+F5 in IE didn’t make a difference. Clearing the Internet Explorer history, cookies, temporary files didn’t make a difference. I even contacted my web host to see if they have any caching issues on the server side. In the end I stumbled across my installation of Fiddler, the HTTP debugging proxy. I looked at the raw HTTP dumps, and then I saw the issue: I’m behind an active caching proxy on my home network. The proxy was giving me old files all the time.
First issue solution:
Clean out the cache files on my proxy server. It happens to be squid, so this did it:

service squid stop
echo “” > /var/spool/squid/swap.state
service squid start

The second issue:
During the troubleshooting of the first issue I had started suspecting the ClickOnce caching system to be at fault. So I used “mage -cc” and “rundll32 dfshim CleanOnlineAppCache” to clean out the cache. No change. Then I started manually deleting files from the cache location on the hard drive. Bad mistake. Now I got weird deployment errors, talking about COM objects not being available, and “interesting” HRESULT errors: The referenced assembly is not installed on your system. (Exception from HRESULT: 0x800736B3). I uninstalled the .NET Framework 2.0 and 3.0 and reinstalled them. No change. Luckily I found an article on the MSDN forums that pointed me to a registry location to check out: HKCU\ Software\ Classes\ Software\ Microsoft\ Windows\ CurrentVersion\ Deployment. I checked it out and found a bunch of registry keys that I remembered seeing when I cleaned out the cache files before. So what would happen if I deleted all those keys? Maybe it would “reset” ClickOnce completely? Luckily it did.
Second issue solution:
Clean out both the ClickOnce cache files [C:\Documents and Settings\(User)\Local Settings\Apps\2.0] by hand (completely), and also clean out the registry keys under Components, Marks, PackageMetadata, StateManager\ Applications, StateManager\ Families and Visibility underneath HKEY_CURRENT_USER\ Software\ Classes\ Software\ Microsoft\ Windows\ CurrentVersion\ Deployment\ SideBySide\ 2.0

Caution! Your Mileage May Vary. Deleting registry stuff is dangerous! Make a backup first.

I hate Windows Update right now. Or Windows Live writer. Take your pick.

August 24, 2007 10:58 pm

I spent 45 minutes or so writing up a post in Windows Live Writer this evening. All the while I repeatedly dismissed a Windows Update countdown dialog that was asking for a restart. “Not now, dammit. I’m writing something.”

Then the phone rang. Someone wanted to talk to my wife. She was in the process of reading a good-night story to my older daughter. The caller couldn’t wait. So I volunteered to read another chapter of the story.

When I got back, Windows was at the logon screen. Dammit, the Windows Update had gone through with the restart, with me not there to dismiss the countdown dialog.

And Windows Live Writer hadn’t saved a draft.

Both programs violated two cardinal rules for software: Don’t ever do something the user didn’t ask for, and don’t ever, ever, ever lose the user’s data. It’s worse than what Jeff Atwood talked about recently, since there were no crashes involved.

I’m so mad I’m not even sure I’ll want to re-write that other post. It has the potential to help out a fellow developer. Maybe I’ll do it. But right now I hate Windows Update. Or Windows Live Writer. Take your pick.

Stop SOPA