Scott Hanselman

Making your Application Automatically Update Itself

January 31, '07 Comments [27] Posted in Programming
Sponsored By

I've always thought it was the height of classiness when an application lets me know that there's a new version available. Even little applications with no installer like Lutz's Reflector update themselves automatically.

There's lots of ways to implement an automatic update check in your application, and many products that say they'll do it automatically.

From my point of view, there's a number of levels of "coolness" in auto-updating. Now, all this assumes you're NOT using ClickOnce.

Cool:

  • Add a "Check for Update" menu that just launches the default browser like www.foo.com/update.aspx?version=3.3.4.4 where 3.3.4.4 is your own Main Assembly Version. Then the requested page just lets them know if they've got the latest or not.
    • You can get your app's version number via System.Windows.Forms.Application.ProductVersion() or System.Reflection. Assembly.GetExecutingAssembly(). GetName().Version.ToString(). Whew!

Cooler would be:

Cooler still would be:

  • Add a "Check for Update" menu that retrieves via a programmatic HTTP GET some XML from www.foo.com/update.aspx?version=3.3.4.4. Then report INSIDE your app if the user needs to upgrade, THEN ask them if they want to download the current version. If they say yes, do so, then close your app while shelling out to run the new updater/setup.
    • Bonus points for checking once a day/week/month for updates, silently, gracefully.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Upcoming Events Jan/Feb 2007

January 31, '07 Comments [1] Posted in Corillian | Speaking
Sponsored By

Here's a few upcoming local events that you might be interested in. I think that being a good developer is a start, but getting involved in the local developer community - whatever language or OS you're into - really helps make a technologist more well-rounded.

  • Tonight at 6:30pm at the Microsoft Portland Office Jason Mauer will be talking about XNA Game Studio Express. I'm watching Z tonight so I'll stop by to give away a Wrox Box and hang out until he cries.
    • "XNA is the future of game development with all the comforts of managed code, and it's here today for the PC and Xbox 360. Come see how much easier XNA makes it to build a game for Windows, and run it on your 360 in the living room."
  • Tues, Feb 6th at 7:30am at the Governor Hotel in Portland, I'll be on a panel discussing "Why Services Oriented Architecture (SOA) is Important to Your Product Success" with Joe Daly, Director of SOA at Intel and Gordon Ferlitsch (my old boss), VP of Technology at Transcore. Should be a spirited (!) talk and you'll still make it to work on time.
  • Saturday, Feb 10th at 10:00am at Willamette University in Salem, there's an event that's open to the public on Future Potential in Computing. While this event is primary focused on getting college students to consider a career in geekery, check out folks (plus me) that are on the panel and presenting. It might be worth the short drive down from Portland and making a day of it, we are. Don't tell anyone I only have a B.S. in Software Engineering.
    • Paul E. McKenney - Distinguished Engineer at IBM
    • Kathleen O'Reilly - Computer Animator from LAIKA
    • Karen Ward, Ph.D. - Assistant Professor of Computer Science in UP's School of Engineering
    • Mike Bailey, Ph.D. - Professor of Computer Science at Oregon State
  • Thu, Feb 15th at 11:30am at Microsoft's Portland Office, Stuart Celarier and I will be talking about CardSpace and the Laws of Identity. Stuart has created an excellent deck on this topic with some great Beyond Bullets designs that really lend themselves to the topic. Hopefully I'll have some demos of DasBlog running CardSpace along for the ride.

See you there!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Finding Free Radio Station Frequencies for my iPod

January 30, '07 Comments [5] Posted in Musings
Sponsored By

Well, my wife's iPod actully. I've still got it on my To-Do list to get my wife's Honda Civic Hybrid hooked up with proper iPod integration, but until then she'll have to use an FM Transmitter to listen to her tunes. It's always such a hassle to find a decent free frequence to transmit on.

Travis pointed out this incredibly useful Radio-Locator that finds the best radio frequencies in your area for this very reason. There's also amore limited Canadian Radio Frequency Search and International Search.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Another Way to Replace Start Run - Enso Launcher

January 26, '07 Comments [12] Posted in Reviews | Tools
Sponsored By

Stephen Nelson turned me on to Humanized Software's "Enso Launcher" (blog) earlier today, and I've been playing with it all evening. I've been on a quest to replace Start|Run for years (podcast). I've also done a lot of work in UI and UX and these guys are definitely fans of Jef Raskin's Humane Interface for good reason. Not just because Jef was brilliant - but also because they worked directly with him. The Enso Launcher is dedicated to Jef.

As I write this I notice that Enso was written up in the WSJ by Walt Mosberg today. Good PR team.

These guys have two products so far, one, a universal spell-checker called Enso Words with a very clever overlay interface. Right now I use an autocorrecter called Universal Autocorrect. Personally I think that US$40 is twice as expensive as it warrants.

However, the really interesting application in their Enso Launcher, which is oddly more useful, but reasonably priced at US$24.95. It's not quite as fast and intuitive as the Holy Grail - QuickSilver for Windows, but it's absolutely clever enough for you to download and try out.

There's a number of folks who are fervently against the Caps Lock key. Rather than suggesting that we rip the key off our keyboards, Enso Launcher uses it as its one-and-only hotkey.

Good Stuff

  • You hold down Caps Lock, an overlay appears, you start typing, then release Caps Lock. Sounds god when you type it, but in practice, it's kind of a tricky maneuver. For example, hold Caps Lock with your pinky, Type "gog", then without letting go of Caps Lock, press Tab with whatever free finger you have, mine is the left ring finger, then type the search term you want, then let go of Caps Locks. It's a bit of a dance. I'd prefer NOT to have to hold Caps Lock, or be able to configure the "start" and "end" events, like "Ctrl-Space" to start and "Enter" to end the command.
    • There is an alternative "lock-on"command, but it's (to me) very hard to to fast. "You can press down Caps Lock, then press down Alt, then release Caps Lock, then release Alt."
  • The calculate() command. If you have some text like 2+2 in a text box, just select it and do Caps Lock, "calc", release, and the text in the textbox will be replaced with the answer. If there's an = at the end, the answer appears at the end.
  • The "go" command switches between running applications, but also within Tabs in FireFox and/or IE. So, I can type "go", Tab, "Han" and if I have my blog open in a tab, Enso will switch me there.

Bad Stuff

  • So far, I'm just not as fast with this as I am with SlickRun. Mostly because of the machinations of the left hand.
    • It really needs a "start" type "stop" command...holding down Caps Lock thing is, in itself, an implied Mode, and having to hold it down makes this tool that much harder to "sell" to my Wife and/or Parents.
  • No plugin model that I can see.
  • Runs pokey on my 3Ghz P4. Might be my crap video card.

I'd say that it's pretty darn impressive for a first product, and a 1.0 at that. One caveat, it doesn't officially support Vista (yet), but it works pretty well on my Vista machine with UAC turned of. Go get it, I suspect it's going places. It's this kind of out of the box UX thinking that I expected from Windows Vista.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Daemon Tools and my new Lenovo T60p

January 25, '07 Comments [21] Posted in Musings | Tools
Sponsored By

Wow, that was horrible. I recently had trouble with my work IBM Thinkpad T42. After having used it happily for a few years, suddenly WGATRAY.EXE decided to hang at 100% CPU forever, rendering the machine unusable. I even made a batch file to loop forever and repeatedly kill it.

I figured it was a sign to start over, so I got a Thinkpad T60p from our IT department. I started installing crap (they could drop an image on the machine, but I like things "just so"). I did VS2003, VS2005, etc...all from CD, but then I needed to mount an ISO.

I downloaded Daemon Tools, a great ISO mounter that I've used happily for years without so much as a peep of drama from it. In the middle of the install - bam - blue screen of death.

When your BRAND NEW MACHINE blue screens, it's like discovering your spouse is a spy with another life. How can you ever trust the machine again?

I looked all over the Daemon Tools forum and found dozens of folks having the same problem, but the support folks monitoring the forums were very unsympathetic and less than helpful.

At this point, I was stuck in a BSOD loop, blue-screening after the desktop appeared.

I started up in Safe Mode with Command Prompt, after pressing F8 before the Windows Splash screen. With the Lenovos, you have to be careful wit hF8. If you press it too early - like when the BIOS screen appears - you'll end up in their custom Windows Pre-Execution Enivronment. It's lovely, to be sure, but it doesn't let you open a command prompt. Amazing thing, it includes a version of Opera and will let you surf, but it won't allow you to delete a file.

Anyway, I went into c:\windows\system32\drivers and di a "dir /o-d" to see the most recently installed files.  I deleted st3Wolf.sys and stpd.sys. After rebotting and not blue screening, I removed all the SCSI devices from the Device Manager (right click on My Computer and click Manage, then Device manager) as well as the "PnP BIOS Extension" under System Devices.

It sure seems that mounting an ISO should just be built into the OS and not a whole series of selling one's soul to the device driver devil with fake devices and faux BIOs extensions.

I haven't blue screened yet as I type this post...but I don't know how I'll ever trust her again.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.