Is the gadget the programming format that never really caught on? Or perhaps the concept has simply been badly mismanaged and its day is yet to come.
The news that Microsoft has shut down its Windows Live Gadget store is an interesting milestone in our journey. The gadget is the programming format that never really caught on or perhaps it is just that the concept has been badly mismanaged and its day is yet to come.
Even though it seems to be a small thing, literally, and may be on its way out, the gadget is a code format we need to understand as the cost of misunderstanding it could be high, much higher than you might imagine.
As hardware evolved, so the nature of programs changed. This is an unavoidable consequence of their relationship. The specific transition that is important to this particular story is what happened when better and larger graphical displays started to become available.
Multi-tasking and overlapping windows
At first the screen was used as a single page, either showing lines of text or a single graphic. As larger screens and pre-emptive multi-tasking became more common, the idea of overlapping windows was adopted as the idea way of managing multiple tasks.
Think about this for a moment. Why overlapping windows? Why not a grid of display areas?
Well it is possible to organize things in this alternative way but the key is that, while the OS may be multi-tasking, human multi-tasking is a much more limited ability. Consider the idea of having one or two Windows in the foreground and the rest in the background, waiting to be returned to. Given the random access nature of the need to return to a particular window, the best way of working is to simply let the windows form a haphazard pile on the screen, i.e. overlapping windows. In principle, this should all work well and allow the user to arrange windows so that parts of them can be seen while working on another foreground window. You can still opt to have a tile structure - not that many users do.
MDI and Tabs
So overlapping windows set the trend for client applications and this trend was set by the operating system. Applications programmers have had several attempts at organising multiple windows in different ways. Microsoft's notion of MDI (Multiple Document Interface) was a good idea in principle but users didn't like having application child windows nested within a master window.
The best organization we have today is tabbed page as typified by the almost universal tabbed web browser. However, despite the success of the tabbed organization, operating system still mostly offer overlapping windows for each application and allow the application to implement tabbing if that's what the designer wants.
Enter the gadget
You might be wondering where the notion of a "gadget" fits into all of this?
The idea of a gadget is obvious enough - a small program that does a very specific task and which needs minimal user interaction.
A gadget doesn't need a big display area and the best way to recognize a gadget is to ask one simple question - does this program ever need to go full screen on a desktop monitor? If the answer is no you are probably looking at a gadget. A gadget simply wouldn't know what to do with a lot of screen real estate and so it just confines itself to a small usually fixed sized window with perhaps some pop-up controls to allow the user to configure it.
For the sake of thinking about something real consider the design of a program that implements a kitchen or process timer. It needs a small time display and a few buttons to allow the user to set it. It is a gadget because there is no way that it could be expanded to use the full screen on a desktop monitor. If it did then it would simply look silly.
Microsoft introduced desktop gadgets in Vista and they didn't prove particularly popular. They are in Windows 7 too, but with the move to Windows 8 they have been discontinued in favour of Metro style apps.
So gadgets crashed as an idea.
So why am I taking about them?
Mobile app as gadget
Gadgets may have crashed on the desktop but they took off in another environment.
The mobile app is just a gadget or perhaps it would be better to say that a mobile app is forced to be a gadget.
The reason is, of course, that mobile hardware isn't powerful enough to run overlapping windows and the small size of the display means that apps have to adopt the gadget philosophy, whether they want to or not.
The lack of true multitasking also means that mobile apps don't have to share the screen or be active at exactly the same time. Instead of overlapping windows mobile devices use a paged system allowing the user to flip though pages using a book metaphor. You don't navigate randomly though overlapping windows but move to through the pages in the order that they were created.
A timer app can quite happily work in the background and fire off a signal when it times out without needing to be on the screen and can even give the user some feedback in a status area.
Apps are gadgets but gadgets are not apps.
Gadgets make use of a small part of the display by design and apps make the best use of a small display because they have to.
Gadgets have to live in the bigger world of desktop monitors and multitasking. This is what makes them a more difficult proposition to get right.
The big problem with both however is that there tend to be a lot of them. Apps on mobile devices clutter the start screen. On a desktop machine applications clutter the start menu and the desk top and, in the case of Windows gadgets were given their own organization tucked away from the rest of the world.
From app stores to gadget stores
Gadgets may not be apps but until recently the astonishing success of apps and apps stores have spurred others on to invent apps or gadgets for none mobile environments - Live gadgets, Google Gadgets, Chrome Gadgets, Intel gadgets and so on..
Overall the push to extend the reach of the app concept looks far too little. It is still possible that with the write conditions the mobile app phenomena could be reborn on the desktop as a gadget but... with Windows 8 Microsoft seem to have missed another opportunity.
Windows 8 - apps that fill the screen
When Microsoft killed Live Gadgets they also killed Windows 7 and Windows 8 gadgets. OK, you can argue that, as they weren't successful, who cares?. However, now think about the situation with the Windows 8 Metro/WinRT application.
There are no overlapping windows in Metro/WInRT. This means that each app/gadget has to occupy the entire screen. But wait Windows 8 isn't just a tablet OS it is a sort of conjoined monster that straddles the tablet and the desktop.
Now imagine a timer gadget - what does it do with a full desktop monitor? OK, it appears, interacts and then disappears into the back ground, but the whole concept is silly on the desktop and only begins to make sense on a tablet. Even on a tablet, there is no real sense in having a timer display the size of a doomsday countdown. Gadgets make use of a small part of the display by design, and apps make the best use of a small display because they have to.
Microsoft has cancelled the gadget without realizing that it serves a different purpose to the app.
It has dropped overlapping windows because, for a tablet, paging is more natural, but for a desktop machine with a larger display overlapping windows are still better and here gadgets make sense. Windows 8 may have Metro/WinRT apps but it still needs gadgets on the desktop - and yet Microsoft has just dropped support for them.
Gadgets haven't failed us, we just haven't ever given them the chance they need to take off.
Microsoft Closes Windows Live Gallery - No More Gadgets!
Getting started with Windows 7 Gadgets
If you would like to be informed about new articles on I Programmer you can either follow us on Twitter or Facebook or you can subscribe to our weekly newsletter.