The Windows Mobility Center is hands down the best feature for mobile PC users in Windows Vista. It’s so simple in concept, easy to use and useful that I don’t know how much time I’d waste without it every day. Having said that, I’ve always wished it did a little more than what Microsoft has provided as the basic set of eight tiles or functions.
Back in April, I made the suggestion to implement third-party tiles for the Mobility Center. Instead of building full-blown applications with a specialized user interface which had to be installed and always running in the background – wasting resources when really you only need once a day, ideally they could just build a Mobility Center tile.
Soon enough my optimism came to a crashing halt when a Vikram Madan, a Microsoft employee, pointed out the WMC was purposely restricted to discourage third-party developers from building these tiles. Instead, the ability to build and distribute tiles is a luxury only to original equipment manufacturers like Lenovo who does in fact make available some of their own tiles, but they’re not very useful. Vikram explains,
“This is so random applications don’t author and install their own tiles into the mobiitity center, thereby both diluting it’s value/focus. Also, by making it OEM exclusive, we give OEMs incentive not to write lots of separate little applets that are not only annoying but also consume valuable system resources.”
I disagree. The ultimate choice to which tiles are installed should be up to the users, and if they choose to randomly install crapware wherever they can see it then that’s their own fault. As long as it’s an open platform, there will be at least one developer doing the right thing and that could be all users need.
Which is why last week I challenged Rafael Rivera Jr. (who recently patched Yahoo’s Messenger for Windows Vista to work on X64 amongst patching many other things) to find a way to build third-party tiles for the Mobility Center. As a sample implementation, I wanted him to realize the “Turn off display” functionality I so desperately wanted.
Today, Rafael is not only releasing the first non-OEM tile for the Windows Mobility Center but is also showing how other developers can as well. As it turns out, it’s not impossible, just Microsoft’s tried very hard not to reveal how it is done.
This is a great first step of what I hope will become the first of many useful third-party tiles.
Although as Rafael explains, there are two types of tiles – static and dynamic. A static tile, like this one, is the most simple to write because the contents of the tile does not change and it only has one action. Dynamic tiles, like most of Microsoft’s tiles, have many levels of actions are are updated to reflect current system settings like the volume for example. For more information there is a 47-page Microsoft documentation (PDF) on how to build these tiles.
Another limitation of the Windows Mobility Center is a limit on the number of tiles active at any one time. On top of the eight tiles provided by Microsoft, one can only add another 8 non-standard tiles to the Mobility Center. As well, there’s no front-end interface to install/uninstall or manage these tiles so it could become quite complicated. Rafael has proposed to build a “tiles manager” which will serve as a front-end interface to managing third-party tiles, but until then developers will have to implement installers/uninstallers themselves.
To all the developers out there looking for a challenge, take a look at the Windows Mobility Center as a platform to develop something as obvious yet useful as turning off a monitor on a laptop. To all the users out there, do you have any ideas for third-party tiles?
P.S. I take credit for designing the icon which I’m certain will win many awards.