Comment 343 for bug 668415

Kevin Seifert (sevkeifert) wrote :

I've been using Unity for several years, until recently (after the last update, my machine wouldn't boot). Recently, I switched over to xubuntu, which is also an awesome distro.

I've been thinking about this "bug" off and on for about two years in the process. Here are my thoughts... hopefully something useful is here:

What's good about Unity:

Overall I think the interface is very foward looking. Eventually:

    * users have thousands of apps installed (or not installed at all... apps are all in the cloud). And the line between installed, uninstalled, and cloud apps will be completely blurred.
    * eventally most interfaces will be touch-centric, or voice controlled
    * fuzzy search in Dash is a great idea

Cons:

    * the interface currently has taken a "one-size-fits-all" approach on design. Like one-size-fits-all clothing, the result may be a less than perfect fit across many form factors

How to improve it:

   The key to a universally adaptable interface is modularity. Think "legos"

   Fixed concepts in designe need to be both abstract and simple, like:

       * hot spots
       * gestures
       * panels

    Also, equally important, the interface must be completely theme-able. Can the components

       * change style?
       * move?
       * be nested?
       * be simplified for low-spec devices? The interface doesn't need a lightweight footprint, but is does it needs a _potential_ lightweight footprint to run on smaller devices.

If an interface is not modular and easily customizable, phone makers will likely not use the default interface, like how Samsung uses their Smartwiz interface instead of the stock Android interface.

The issue that moving a launcher bar from the left to the bottom is currently impossible demostrates a core weakness with the level of abstraction at which the interface is currently designed. It's not just a handful of end users who will want to move things around or customize the interface, but also device manufactures, developers, and businesses (with $$$) looking at using the interface for field use.

As it is, the design seems to have some hardcoded assumptions:

Edge Assumption:

    Why shoudl the interface assume there are four edges? This abstraction doesn't work for existing form factors. For example, for dual screen, there are 8 edges. For non-touch devices, there are zero edges. It also won't be true for a circular watch screen, where there's only 1 edge. Or google glasses (??? edges). Having four pre-defined edges is not a correct abstraction for existing or emerging form factors. Instead, the OS probably should simply allow N assignable hot spots that respond to gestures and control the visibility of panels.

Potentially wasted space

    More importantly, for a cell phone and tablet, if I were making a device, I don't really want a sidebar of buttons. This is an extreme waste of space on a small screen. I'd want the launcher bar to be full screen of apps (3 to 4 columns of icons, across like the Android apps screen), not a single row of buttons. In this case, the left/bottom placement is completely moot -- the launcher "bar" probably should fill the entire screen on small devices.

    Dash - why is this not maximized by default also? The bottom and right of the screen is completely wasted space. I think the layout of netbook remix made better use of space.

    I'd probably move the tabs from bottom of Dash to top. Otherwise, when I click Dash, I have to move all the way to the bottom of the screen to pick the tab I want. Similarly I'd move filters from the right to left side. Otherwise, when I click Dash, I have to move all the way to the right to filter. Commonly used items should be placed in close proximity -- like items in a supermarket. Not in opposite edges of the screen, forcing large sweeping motions. Ideally, to appeal to device manufactures, this type of theme change should be as simple as editing a template file.

Tabs vs Lenses:

    There are tabs at the bottom of Dash for music/videos/etc... but why are these tabs at bottom and not lenses? These concepts could be combined, where the lens could filter on

    app or file - do you execute it or open it?

    type(s) - music, video, games

    local/cloud - is this on the device, or in cloud?

If there are tabs at the bottom, these should be configurable as a set of lens filters (such as local music files). Then, types should be added (by file extension). A business will want a tablet to search for a different set of files, not music and videos.

In short, the degree to which any interface is not customizable/modular/themable is the degree to which it cannot be adopted as a universal interface. Particularly, Unity currently seems to be geared only for non-commercial uses, like for use on on a personal media tablet. For this to be a truly universal interface, something as simple as moving a bar from the left to bottom should just be a matter of editing a config file.

IOW, the particular placement of the sidebar doesn't really matter, what matters is that it _can_ move, or that it can be resized. If current assumptions in the design prevent the interface from being modular, those assumptions are probably too restrictive.

As a software engineer, I don't generally worry about where a widget is on the screen, only that a widget exists somewhere. As for the edge controls, I could see app developers however wanting to disable (or modify) default edge controls while an app is running. Having a hot edge at all times may be disruptive to the app (in which case, the app would have to request permission to disable or reassign gestures).

Overall, I do think Unity has some great ideas. If it were more modular, and completely theme-able, it would be a masterpiece :)