Scott Hanselman

TopDesk: Expose Clone for Windows (and capturing video from DirectX)

April 12, '05 Comments [32] Posted in Bugs
Sponsored By

An animated GIF of TopDesk in action.Finally, my search for a decent Windows Task Switcher is over. Sure, there's TaskSwitchXP, which kicks the Windows Power Toy Task Switcher's booty.

But, no, I'm not talking about an Alt-Tab replacement. I'm talking about the pure sex that is Mac OS X Expose, but on Windows, and written in DirectX. It's TopDesk, and it's the bomb. And it's US$9.95? Sold. He sure ain't doing it for the money.

It has been around a bit, but it used OpenGL and it was pretty buggy. The author recently rewrote the whole thing in DirectX, adding a bunch of new features, including floating buttons for TabletPC support and corner hotspots.

Oh, and it supports multi-monitor, too? Awesome.

I set it up with the very corners of my monitors as "hotspots" to start the taskswitcher. Since I'm a developer, I also changed the default hotkey from the Mac default of F9 to a more reasonable Alt-F9.

Here's a Windows Media 9 encoded video of it in action on my machine. I used Fraps (another awesome util) to do the DirectX capture to AVI, FYI. Then I used RiverPast Video Cleaner to make an Animated GIF from that AVI. Then I used GifWorks.com's Online Animated GIF Editor to make it loop.

I sure love utils.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am 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 ORCS Web
Tuesday, April 12, 2005 10:24:01 AM UTC
Scott that is awesome! Thank you so much for the find!
Tuesday, April 12, 2005 12:00:14 PM UTC
No doubt, after playing with this for 10 minutes, I'm really impressed, and it will probably end up in the perm toolbox. Excellent find!
Tuesday, April 12, 2005 12:11:43 PM UTC
I installed this earlier this morning after seeing it on another blog, but looking at your video it seems to be running much better for you than on my machine. I'm running a dual Xeon at work, but it has a not-so-beefy Nvidia Quadro 500 in it. I'm assuming you have a more capable video card?
Shawn Wheatley
Tuesday, April 12, 2005 1:22:54 PM UTC
I have used the other tools you have described. I used the TopDesk demo version all morning and just purchased the tool for the whopping 9$ fee. This hands down beats the XP power toy and others currently available... Wow!
Tuesday, April 12, 2005 1:46:33 PM UTC
Has anyone tried this on Win2k3 SP1? After launching the app, it sits in the tray and gobbles up all of my Athlon64 3200+'s cycles.
Tuesday, April 12, 2005 1:54:35 PM UTC
This is a great util and will get added to the collection! Thanks so much for sharing this Scott!
Tuesday, April 12, 2005 2:00:14 PM UTC
Cool another util to add to my customized machine. It can go with my current setup of no taskbar and an objectdock instead. I'm going to try this out today.
Tuesday, April 12, 2005 2:21:51 PM UTC
Downloaded the trial to check out multi-monitor support, but it doesn't seem to support it. I couldn't find it on the list of trial restrictions. Any comments? I was going to purchase it for sure, but wanted to make sure I didn't have a compatibility issue.
Tuesday, April 12, 2005 2:30:09 PM UTC
Great tool. I've already sent out an e-mail to the rest of my company recommending that they at least give the trial version a run. Thanks for the lead.
Kory
Tuesday, April 12, 2005 2:54:50 PM UTC
Great tool !!!
Tuesday, April 12, 2005 3:07:47 PM UTC
Shawn Wheatley,

That's odd, I'm just running on a crappy laptop, and a pretty regular ATI card at home. That makes me wonder if you have DirectX9 or a DirectX9 driver?
Tuesday, April 12, 2005 3:57:27 PM UTC
Update: One of the guys from TopDesk emailed me with a solution. That there's some primo support!

"One cause of the problem you're seeing is that DirectX and hardware acceleration are disabled by default. There's a description of how to enable them at http://www.msfn.org/win2k3/hardwareacc.htm, and we're currently updating out FAQ with information about this issue."

I run a dual-head ATI and the default MS driver had DirectX enabled on one output and disabled on the other. Downloaded the latest drivers and all is well. Bravo!
Tuesday, April 12, 2005 5:05:48 PM UTC
XP only?!

Why should I have to upgrade my OS just to get swappy windows? ;)
Tuesday, April 12, 2005 5:07:25 PM UTC
ScottKoon,

Are you kidding? What OS are you running?
Tuesday, April 12, 2005 5:27:52 PM UTC
This is an awesome little utility. Thanks for the recommendation, Scott!
John Hann
Tuesday, April 12, 2005 5:31:16 PM UTC
Hi guys, thanks for the comments :)

Jeff - Great to see that that solved the problem.

Mark - The issue you're seeing may be related to the issue Jeff was seeing. TopDesk will only run on outputs that have hardware acceleration enabled, so if your second monitor has it turned off or doesn't support it, you'll only see TopDesk running on one monitor (Windows XP is a lot more forgiving DirectX-wise than w2k3).

Scott - Never fear, we've got a Windows 3.1 version in development, due for release in 2009 ;)

If anyone has any issues with TopDesk, don't hesitate to shoot me an email.
Tuesday, April 12, 2005 6:18:32 PM UTC
Very snazzy - except that I don't think it's actually more efficient at navigating than Alt-Tab. At least for me.
Tuesday, April 12, 2005 7:06:59 PM UTC
Snazzy, but slows UI redraws down, uninstalled.
Tuesday, April 12, 2005 7:51:35 PM UTC
Michael, you're saying it slows down all UI redraws? How do you think it does that?
Tuesday, April 12, 2005 7:56:15 PM UTC
Windows 2000 at work. :(

Which sucks because I've been looking for an Expose clone for Windows. I use it so much on my Mac that I instinctively hit f9 at work and expect it to do something. I tried another Expose clone under windows, but it was so slow on my machine that it was practically a slideshow. I use Quicksilver on my Mac too, so I have slickrun hidden but the hotkeyt is tied to window-space (mimicing the command-space hotkey on my mac).
Tuesday, April 12, 2005 7:57:52 PM UTC
James: LOL, I wonder if you can still set your shell to ProgMan under Windows XP?
Wednesday, April 13, 2005 4:59:05 AM UTC
Crap, this version only works on the 2 monitors attached to my primary video card. The third monitor, attached to the PCI video card, is left dormant.

Well, at least WinPlosion still works with 3 monitors..
Wednesday, April 13, 2005 5:13:42 AM UTC
Jeff Atwood - TopDesk should work on any monitor that has a capable video card hooked up to it. The problem may be that your PCI card doesn't support some of the hw features TopDesk needs. Could you please email me the specs of your video card so I can look into issue?
Wednesday, April 13, 2005 5:27:20 AM UTC
I mis-spoke.. monitor #1 is on the AGP GeForce 6800GT (works fine), monitor #2 is on the PCI GeForce 5700LE (works fine), monitor #3 is on the PCI GeForce 5700 LE (does not work).

In other words monitor #3 just sits there as-is while monitors #1 and #2 do their fancy window dance.

This does work OK in WinPlosion, for what that's worth. I emailed you directly with this info + screenshot of display properties.
Wednesday, April 13, 2005 6:04:31 AM UTC
Jeff - Thanks. I'll look into it and get back to you as soon I can.
Wednesday, April 13, 2005 3:55:52 PM UTC
I like this, but the Enable Live Windows Update doesn't seem to work on MS Outlook windows. Also would be cool if the Update happened at regular intervals rather than just when you activate the multi-view view.
Alan
Wednesday, April 13, 2005 11:19:22 PM UTC
Thanks for the tip on this great utility.
Thursday, April 14, 2005 3:06:02 AM UTC
Alan - What kind of issue are you having with live windows and MS Outlook?

The update doesn't happen at regular intervals because the Windows XP PrintWindow() API function used to grab window images is very slow (0.25 to 0.5 seconds for a fullscreen window, even on a fast machine). So if TopDesk were to update at a regular interval, you'd see your system "pause" for several seconds every time TopDesk did its thing. Obviously, it isn't acceptable for an application to interfer with the the use of the system like that.

I'd like to improve the window grabbing speed (and would really appreciate it if any Microsoft engineers could give me any suggestions on how to do so :)), but at the moment I'm limited by the speed of PrintWindow().
Thursday, April 14, 2005 3:12:33 PM UTC
ah no, after looking at it closer, it was just because the window was in a minimised state, which I guess you cannot capture using PrintWindow(). Yes the capture speed is very slow :)
Alan
Thursday, April 14, 2005 4:09:58 PM UTC
Alan - Good to hear it's not an issue. I've developed a healthy fear and loathing of PrintWindow(). It's infuriating when the single Windows API function that you're entire application is built around is slow and occasionally buggy :)
Thursday, April 14, 2005 4:10:35 PM UTC
Actually I take that back, sometimes Live Window Updates just does not work at all, for all windows. The funny thing is I'll have a browser maximised in front of me and run my mouse down to the corner and as it gets there, the browser screen will change to an older view in a maximised state before the topdesk view shows (which contains this older view, which does not update).
Alan
Thursday, April 14, 2005 7:08:13 PM UTC
Alan - Can you tell me which browser you're using? How many windows do you have open. One side effect of the slowness of live window updates is that with a number of large windows open, it can take a long time (10+ seconds) for a window to update. Could you leave the live window updates running for a minute or so to test if this is the case?
Comments are closed.

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