HP TouchSmart application development in a nutshell

There is a document available for download (wrapped in an MSI to keep the HP lawyers happy) that describes all the nitty-gritty details of how to create an app that “fits” into the HP TouchSmart software environment. But some people might enjoy just a quick introduction to what it takes to get an application to show up in the HP TouchSmart software. So here’s my attempt at providing just the essentials in a bulleted list:

  • Create a Windows app using any technology you please (C++, MFC, VB, WPF, Flash, Air, whatever)
  • Do not use DirectX exclusive mode
  • Make sure the app produces one Win32 window (and only one window) and does this quickly
  • Make sure the window has no “chrome” whatsoever (no borders, resize grips, close/minimize/maximize buttons, system menu, etc.)
  • Make sure the window can still be resized by WM_SIZE and moved by WM_MOVE messages (and make sure it does so very responsively)
  • Make sure the window content is touch friendly

That’s it. If you know how to produce a program that does the above, you’re all set. No need to learn any interfaces, new programming models, technologies, nothing. I’ve actually had partial success at getting apps designed for Windows 1.0 to run inside the HP TouchSmart environment.

Now, if you want to improve on things, here are some more things you could do:

  • Make sure you have a black background for your window
  • Support the three “layouts”/sizes that HP TouchSmart uses as the user interacts with the UI (small, medium, large)
  • Take into account that the user can only interact with your window in large layout/size
  • Present something useful/informative in small and medium layout/size
  • Provide a beautiful, large icon

And to make it really great:

  • Use the notification mechanism that the environment provides (if your app needs to notify the user of anything)
  • Use the mechanism for launching IE that the environment provides (if your app needs to put the user in a full web browser experience)

Finally, use the RegisterSmartCenterApp.exe registration mechanism (described in the document linked to above) in the package you deliver for installing your app. You need to do that so program you’ve developed can be integrated into the HP TouchSmart UI.

If you’ve climbed the WPF cliff, the latest version of the HP TouchSmart software (2.8) includes a library that you can use for even closer integration. Leave a comment if you’d like more information about that. I don’t consider that part of the “nutshell”, since it ends up binding you to a specific technology stack.

5 Comments

  1. Pingback: Posts about Flash Application Developement as of September 25, 2009 - Perry Multimedia Blog

  2. Steve

    I’m gearing up to make an app for the new TouchSmart 3.0 software, using Visual Basic 2008 Express Edition. I planned on making a WPF Application. Does the 3.0 version include a library as well? What do I need to do to take advantage of it? Thanks.

  3. I don’t think I’ll be jumping the gun too much in saying that there is a library in 3.0 that you as a developer can use to make things a little easier. There is one for the 2.8 version as well, it just isn’t documented in public (didn’t have time to get it published – bad, I know). It seems like there will be more information coming out on Oct 22, the official launch date.
    Basically, you add a reference to the library (it’s in the GAC). Then you can use the stuff in the library as you see fit.

  4. Steve

    Thanks. I haven’t found any announcements about developing on 3.0 yet. If you hear anything, please let me know.

    Looks like we’re getting ready to order a 600xt. Do you have any experience with this system? Any processor/memory suggestions would be appreciated.

  5. When the 3.0 developer information goes live, it will be on http://www.touchsmartdevzone.com (formerly touchsmartcommunity.com). It should happen over the weekend or early next week. All the materials are ready, things are just waiting to be wrapped up and published.

    The 600xt is the top-of-the-line model. My only advice is to get a model that resembles the one your target customer is most likely to buy.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.