Windows Sidebar Gadget
One of your newest potential revenue streams has been getting some buzz lately. If you've installed Windows Vista then you know about the Windows Sidebar, onto which you can install slick little Gadgets. These Gadgets, essentially DHTML files, give users a nugget-size interface to your application, accessible from their Windows Vista desktop.
You can implement a Windows Sidebar Gadget in a number of ways. One would be to have the Gadget's HTML access the same managed code libraries as your client app to display summary information directly on the desktop, without requiring the user to load the application. Another would be to build a DHTML app with some JavaScript that connects with your Web services to retrieve the user's latest data. (See how Web services keep coming into play?)
The latter works especially well if you build a SaaS solution. Rather than loading the SaaS in a browser and leaving it open, or checking it throughout the day, the user just installs a Gadget, which connects to some back-end logic used by your application and exposed through a Web services. The Gadget would then display real-time data, alerts, instant messages, whatever you want to build. You can even create read/write functionality using AJAX methodology.
Use Visual Studio or whatever tools you use to build a highly responsive HTML page, whether connecting to Web services or local libraries. You'll include some scripting and probably some back-end services.
Read this:
Building the DevX Destination.NET Windows Sidebar Gadget
Driving Sidebar Gadgets with ActiveX® and C#
Turbocharge Windows Vista Sidebar Gadget Development with PowerGadgets
Bookmark this:
MicrosoftGadgets.com
Sidebar Gadget Development: Forums
Windows Mobile
Once you cover all of your desktop options, your first big market extension will probably be the mobile market. Coding mobile apps isn't a walk in the park by any means. But it also doesn't involve starting from step one, as you might think. If you're already building on the Microsoft stack, then you're halfway there. In fact, if you've architected your code with extensibility in mind, then you should be able to re-use a substantial portion of it in a mobile deployment.
To extend your code to the mobile market, you'll need to install a Windows Mobile® SDK for Visual Studio 2005. The SDK includes project templates, code samples, starter kits, and emulators. When you develop your solution, focus on syntax that is common to both the Microsoft .NET Framework and the Microsoft .NET Compact Framework, which is used on mobile devices because of its smaller footprint. Though you'll be compiling using different libraries, the more commonality you can build in, the more you can just re-use the code.
The mobile and embedded team recently released Microsoft Windows Mobile 6 and new products have begun to hit the market. But the majority of Windows Mobile devices still run Windows Mobile 5.0, so be sure you're compatible with both. This assumes that you're not doing custom development for a single client or market niche, in which case you can target your platform more precisely.
I've covered this process in more detail in "Extend Your Skills: Code for Mobile Using Your Current .NET Know-How." In a nutshell, because of common managed code APIs throughout the Microsoft stack, you should be able to re-use the majority of your core logic, making exceptions for limitations in the Microsoft .NET Compact Framework. New development will then focus on a smaller, simpler UI for mobile users.
The same holds true for Web-based apps, except that you don't have the restrictions around the .NET Compact Framework. Instead, you'll redesign your Web UI to mobile dimensions using ASP.NET Mobile Controls.
Read this:
Extend Your Skills: Code for Mobile Using Your Current .NET Know-How
For Visual Studio Developers (You Already Know How)
Inside the ASP.NET Mobile Controls
Download this:
Windows Mobile 6 Software Development Kits (Standard and Professional)
Windows Mobile 6 Developer Resource Kit (includes SDKs for both Pocket PC and Smartphone)
Bookmark this:
Mobile Development Page on Destination .NET