Having previously covered launcher basics and shortcuts, it’s time to move on to one of the things that Android is best known for: widgets. It’s an Android feature that has a lot of uses, some striking weaknesses, and a lot of hidden potential that many users are not aware of.

Widget basics

A widget is essentially a small app that is capable of running constantly in a specified area of your home screen. Unlike shortcuts, no common rules govern the look of a widget aside from the amount of icon spaces it takes up, and the functionality of a widget can vary from information display to app control. Common widget types include, but are not limited to, audio playback controls, message lists from messaging system (email, SMS) and social networks, information display (news, RSS feeds), and controls for settings (WiFi on/off, screen brightness and so on).

Widgets can be obtained by downloading apps that have widgets included, or by downloading apps that are widgets and nothing else. Unlike apps, widgets are not listed in the app tray of a device unless it has an app component. Instead, you access widgets from the home screen, normally by long pressing on it and selecting widgets (this depends on your launcher).

Display and click limitation

While widgets are essentially apps, they have some limitations that are important to be aware of. A widget can basically do two things: display something static, or be clicked. For an email widget, it displays a list of emails, and allow you to click them to go to them in the email app. Todo list widgets display todo list items and allows you to check them off or go to them in the app. Music control widgets display album art and have buttons for controlling music playback. These seem different, but in reality they’re all based on either displaying information or clicking something.

There are however many things that you could potentially do with a widget that isn’t possible due to the display and click limitation. For instance, you cannot have a widget that is a canvas you can draw on, or a widget version of Angry Birds, because those wouldn’t be possible under the display and click limitation.

Display and click exception 1: Launcher-specific widgets


The first exception to the display and click limitation is launcher-specific widgets. Some launchers have widgets either included or available that only work with that specific launcher, and as such are designed to work outside the display and click limitation. GO Launcher for instance has several GO Widgets available, where the functionality goes beyond what a normal widget can do. The GO Widget calendar, for instance, has a visual effect where you can grab the corner of the calendar and drag the calendar to a new page (new month), with the visual effect of a page being turned. This is not possible with traditional widgets, but is possible with launcher-specific ones.

Some launchers also base themselves almost solely on launcher-specific widgets, like SPB Shell 3D. While it’s technically a very weak launcher in terms of customization, its launcher-specific widgets that can pop up in 3D above the launcher gives it a wow effect that is rather unique.

Display and click exception 2: Scroll-able widgets


Scroll-able widgets are something that some third party launchers support, as well as newer versions of Android. The name basically says it all: It’s a widget that you can scroll. This is mostly used for information display widgets, and gives you the ability to do things like scroll a list of messages. On Android versions and launchers that don’t support this, paged widgets are the alternative, where you click a button to switch the list to a new page instead of scrolling.

Display and click exception 3: Tile widgets


Tile widgets are designed to be used on tablets as a way to use the screen real-estate to its fullest. The official YouTube widget is perhaps the best example, but there are multiple widgets that use this system. You essentially get widget items listed as tiles in a stack, and you can drag the items away one at a time to scroll through the stack.

First party vs. third party widgets

When dealing with widgets, it’s important to be aware of which types of widgets you can only get from one source and which types you can get from many sources. As an example, let’s use RSS feeds in Google Reader. Google Reader is available as an Android app, and that app has a widget bundled with the app. However, Google Reader also allows other apps to access the information it stores, and as such you can get third party RSS widgets and sign in to Google Reader through them. SMS, email, and even music playback are other examples of services that can be accessed using different widgets.

One big advantage of using third party widgets is that there are widgets “systems” out there that have widgets for multiple services bundled in one. Android Pro Widgets is one example, and the launcher-specific GO Widgets for GO Launcher EX is another. The benefit of using these over individual widget apps is that they allow you to use the same theme on multiple widgets, thus making the widgets look like they belong together. A big problem with widgets is that no one agrees on how they should look, so often you end up with many different widgets that each have their own style. Using a single widget system for multiple widgets is a great way to combat this problem.

Resizing widgets

Widgets sizes are measured in icon spaces, which means that a widget takes up a certain amount of normal icon slots. The number of widgets you can fit on a single home screen therefore depends on what sort of icon grid you’re using, which I explained in the previous article. Most third party launchers allow for grids up to 10 x 10 spaces, which allows for many more widgets than a more common 4 x 5 grid that many phones ship with.

However, icon space is not the only thing you have to worry about, as different widgets scale differently. Most third party launchers have the ability to scale widgets beyond their defined size, but not all widgets support this. If you have a 4 x 2 widget and scale it to 8 x 4 – which is something you might do if you want a larger grid for icons but want to keep the widget size the same, psychically – one of several things will happen.  The widget might simply double in size, scaling to the same size as it would be with the standard 4 x 2 setting if your icon grid was half of what it is. It may, however, instead stay the same size,, and simply add empty space in the extra icon spaces (and center itself within the new area).

Similarly, scaling a 4 x 2 widget down to 2 x 1 can have different results. It may scale fine, or it may cut off part of the widget. Finally, if you scale a 4 x 2 widget to 4 x 4, or another size that isn’t a multiple of the original, one of three things might happen: Either it will stretch, expand normally without stretching, or do nothing. A list widget that stretches will often look weird because each entry in the list will no longer match the font size, while one that adapts to the new size will simply display more items. For the most part, scrollable widgets will adapt properly, while paged widgets will stretch. Clock widgets, settings toggle widgets, music control widgets, and similar non-list widgets tend to scale properly if you increase the widget size while keeping the ratio, whereas the reaction to decreasing the size varies.

Re-sizing widgets and choosing the right icon grid size can be very important for how the widget ends up looking. A widget that only scales if the size increases by an even amount can for instance be centered by increasing the size in one direction but not the other. A 4 space wide widget can normally be centered in a 5 space wide grid by simply increasing the widget width to 5 spaces. A widget that won’t display properly when resized from 4 x 2 to 2 x 1 in a 4 x 4 grid might display perfectly as a 4 x 2 widget in a 8 x 8 grid, despite the resolution of the area it’s assigned being the same. On the other hand, another widget might simply not display properly at any grid size if the resolution of the area it’s given is too low. Widgets are unfortunately not standardized in how they act, and as such, you get different behavior from them.

Widgets vs. shortcuts

I covered similarities between shortcuts and widgets in my article about shortcuts, and now I’ll expand a bit on that. To put it simply, shortcuts are like widgets that only have the click functionality, not the display functionality. Widgets can update the information they display, while shortcuts only have the ability to display a static icon and do a single thing by being clicked. Shortcuts are however governed by rules that decide how they look, and can often be better suited for a task than widgets because of this. Shortcuts are also generally supported in more places than widgets, like on lock screens in inside folders.

Aside from being able to display dynamic information and contain more than just a single clickable object, widgets are sometimes used instead of shortcuts in order to create shortcuts larger than a single icon space. This is the basis for many home screen designs, like if you’re creating a home screen where your most used apps have larger shortcuts than the rest. You can also use widgets to fit more shortcuts into a certain amount of icon spaces than what shortcuts allow, like having a 2 x 1 widget with three shortcuts buttons in it.

Widgets are also preferable to shortcuts if you want the “icon” to reflect a state. As an example, a settings toggle button on the home screen benefits greatly from being able o display the state of the setting it controls, like a WiFi toggle being green while WiFi is on but gray when it’s off. Widgets can do that, but shortcuts can’t.

The biggest drawback of widgets compared to shortcuts is that the widget developer decides how it looks. Most launchers can replace the icon for a shortcut, as well as rename it, separate from what it “ships with.” Widgets on the other hand look the way they do unless a customization feature has been built in by the developer.

Widgets vs. pop-up apps

Pop-up apps are apps designed to launch quickly, and often not even in full screen mode. I have one such pop-up that I made myself, and it shares many similarities with a widget. It is, however, launched as a pop-up box by a shortcut, and is as such not a widget. A pop-up app can be a better alternative to a widget if you need to quickly access something, but would rather not dedicate the screen real-estate needed for a full time widget. Since a pop-up app is really only an app that I came up with a new name for to reflect its use, the normal widget limitations don’t apply.

Customizing widgets

Some widgets can be customized, others can’t. Even if a widget can be customized, there is a ridiculous lack of agreement as to where that option is found. Most of the time, widget customization options are available when you add a widget, like with the above example from HD Widgets. It’s important to pay attention to this, as many widgets can’t be edited once they’ve been added to the home screen. Some widgets can be changed using settings available in the main app that the widget belongs to, and some widgets have buttons or clickable areas that bring you to customization screens.

Common widget settings include background color and/or transparency, options for scrolling or paging, update rates, and what to display. Since widgets are essentially apps that run constantly, it can be a good idea to make sure you’ve not set them up to update automatically using any kind of internet connection, as that can affect your data plan or cost you money.

Creating your own widgets

Myc-anchor

Creating your own widgets is actually perfectly possible. There are apps out there that allow you to do this, and there are different apps for different uses. Zoom, by the Tasker developer, is more of a “anything goes” type of a widget creator. Minimalistic Text specializes in text based widget creation, whereas Make Your Clock Widget centers around making a clock widget. All three of those apps also work with Tasker, allowing you to pass data from Tasker into those apps. Tasker in return is able to pull practically any data from anywhere, which means that you can potentially create widgets that display anything. The way these custom widget apps work is generally that you open the main app to use an editor, save your creation, and then choose that saved creation when you add the widget.

To use an example from my phone, the “AC 15″ text that can be spotted in the clock widget in one of the screenshots above is the number of articles I have written in the current month. I have set up Tasker to archive the links in a specific way, and as part of that, it’s also capable of counting the number of articles in a specific month and send that information to Make Your Clock Widget.

Like I mentioned above though, I also have a pop-up settings box that I designed myself, and that essentially works as an alternative to a self-made widget. Before setting out to create your own widget, it’s a good idea to consider whether you actually need a widget or a pop-up box.

To widget, or not to widget, that is the question

Widgets are great, but it’s easy to get too hung up on widgets, to the point where you’re using widgets for the heck of it. I talked about pop-up apps above, and like I said, they’re really not special in any way other than that they’re designed to jump straight into the action. Many apps start up very fast, and bring you right into a similar view of what a widget has, and in those cases you should think about whether you actually need to dedicate space on your home screen for a widget or if simply using the main app is just as easy.

At the time of this writing, I have widgets for upcoming TV episodes, calendar, todo list, and a clock. For the former three of those, I only use the widgets, no app at all. For other things, like SMS, email, and music playback, I use only the app. Those decisions are based on trial and error, and I’ve had both email, SMS, music playback, and other types of widgets on my home screen before. It’s really all about personally preference.