Task:Improving the Application manager

As one of the foremost application's in a new user's experience of Maemo, Application manager needs to be one of the platform's best (perhaps only superceded by the browser and email client). As it stands, though, it is still in need of improvement in a lot of areas.

Contents

Category view

I was having a discussion with X-Fade today on the repository category mess, and the possibility of having usable categories besides "All" (sadly, I haven't even looked at anything but "All" since at least OS2005 :\) made me consider some of the issues with the current category setup in Application manager.

Grid view

Mock-up of the grid-view

The current category view has an awful lot of wasted whitespace. My initial reaction here was that a grid view in place of a the current list-view would make better use of space and improve the thumb-ability (ordering is badly messed-up in my mock-up—it should be left-to-right rather than top-to-bottom). The number of packages in each category should be noted parenthetically next to the category name (shown in the tree-view mock-up).

This view does have a few downfalls, though. It doesn't make it easy to see what's in any particular category, so if you're searching for something or just browsing around, you will be jumping between the category view and application list view quite a bit. Which is expensive in taps and rendering. Also, longer category names may cause rendering issues (Communications becoming Communicat... is just plain bad).

Mock-up of the tree-view

Tree view

The grid-view is probably the most straightforward and immediate solution, but some extra options wouldn't hurt. Some sort of tree view (while mildly ungainly with such limited screen real estate) could give a nice overview alternative to "All" while reducing the number of screens the user needs to scroll through. Show all the categories as collapsible branches, and indicate the number of packages in each category parenthetically next to the category name. The user can collapse or expand a branch by tapping on the category name, or using the dpad up/down to scroll to the desired category and the left/right to collapse or expand it.

Column view

Mock-up of the column-view

Finally a column view could be another useful alternative for reducing the number of screens to tap through and provide a better overview. Put a column of categories on the left (again, with the number of packages in each category indicated parenthetically) and display the packages in that category in the right column. Basically, the same behavior as the File manager.

Each of these views has their own advantages and disadvantages, as such, a single view shouldn't be picked at the exclusion of all others, rather, all views could be implemented and a switch (either in the menu, or on the button bar, and perhaps as shortcuts for N810 users) added to toggle between them depending on user-preference on use-case.

Application list

The application list is where most of the user's time will be spent—browsing and installing/removing/updating applications and packages—and is arguably the most important area of the Application manager. As it stands, most of what's wrong with the application list is either technical (e.g., the irritating list refresh) or related to the various dialogs related to the list (e.g., the info dialog), and the basic UI of the application list is really quite fine.

Info dialog

What the information dialog suffers from is a bad case of the scrollies. Practically every tab for almost every package presents the user with a horizontal scroll bar. This should really never happen for a native widget.

Or of both of these things will reduce the occurrence of the horizontal scroll bar:

  • The horizontal width of the info dialog should be expanded slightly to contain more information (there is a lot of additional room available in fullscreen).
  • The information being displayed should be intelligently soft-wrapped and/or slightly reformatted to fit into the dialog.

Summary

The summary tab is mostly OK. Adding a "Repository" item to indicate which repository a package is in would be useful (especially for identifying Extras and Extras-devel packages). The largest problem is the short description that doesn't get soft-wrapped. Soft-wrapping this description would eliminate the horizontal scrolling in most cases for the summary tab.

Description

The description field also needs soft-wrapping to make some descriptions fit. The problem here is that many descriptions are already hard-wrapped, which might result in ugly half-soft/half-hard–wrapped text. This may need to be addressed packaging-side.

Installing/Uninstalling/Upgrading/Problems

This tab is a particularly bad offender, as the content is a known value—we know the type of information that appears here and we can predict how it will be formatted. The first and simplest solution is to take all of the packages under each heading and aligned them with the left side of the dialog. Most of the problems crop up from having such a huge amount of whitespace to the left of the package lists, so bringing these lists down a line and over to the left would eliminate a lot of horizontal scrolling. The headings (e.g., "Application packages missing:") will need to be offset from the text somehow, too.