We all know Microsoft has a strong development environment in Visual Studio, and on top of this Microsoft has opened a lot of APIs for developers to play around with. All this has made developing applications for Windows 7 quite easy. For instance, if you have a multi touch application targeted for Windows 7's inbuilt multi touch capability, then you don't have to write any special code for it. Just write the necessary application code and you are done --no need for 'special' line of codes. Though talking about each aspect would be tedious, here in this article we look at two components -Ribbon and Restart Manager that were covered in SparkIT 2011.
Click on the image to enlarge
If you have worked with Microsoft Office 2007 then you have already worked with Ribbon -the new intelligent tabbed toolbar on top. This new addition is to improve efficiency by reducing the number of clicks one has to perform; developers can now build Ribbon GUI for their applications using Ribbon framework, which is a collection of APIs for developers. The Ribbon framework consists of two primary UI components: ribbon command bar and rich context menu. Combination of declarative XML and native COM interfaces is used to decouple the presentation and functionality of these components.
This means that designers can focus on structure and design while developer can handle logic of application. Windows Ribbon framework is based on abstract concept of Commands (that are associated with controls) rather than controls (that were traditionally used). By focusing on Commands, the framework is able to automatically adjust the UI based on Command execution.
Most annoying thing after you have installed or updated an application is the process of restarting system. But it's a necessary evil because some of the files that need to be updated are in use. The Restart Manager APIs can reduce the number of system restarts required to complete an installation or update, this is accomplished by restarting all but critical services.
Using these APIs, developers can create custom installers and avoid system restarts, or if a restart is unavoidable, then schedule it appropriately.