Portrait Mode for Desktop and General Interface in Fremantle

Posted on 2009-09-25 07:31 UTC by Mario Rojas. Status: Duplicate

In Fremantle, currently being deployed on the Nokia N900, landscape is the mode used for the default desktop and general interface. This is due to many factors, between them, software heritage from previous Maemo releases, as well as the hardware design of the device currently using it.

However, the reduced size of the device, which makes it easier to carry in one hand, as well as an opening of Maemo to a broader audience has brought interest from many users have in having wider support for portrait mode in Fremantle.

Currently, applications can be designed to work either in landscape or portrait mode, and the methods to do so are available to developers wishing to implement them, but portrait mode is not mandatory for development.

The implementation of Portrait Mode across the whole Fremantle UI is a complex task, which will require skills from UI designers, software developers and some intensive, and possibly, time consuming, work process. It is currently unknown if Nokia is going to add Portrait Mode for Fremantle by themselves. In case they aren't, members of the community are interested in working to address this issue.

There are many challenges to add portrait mode to Fremantle:

Challenge 1: The UI has to be designed for it. This includes the re-designing of the dashboard for portrait mode, and if necessary, re-positioning of the on-screen buttons, icons and shortcuts when the user changes from landscape to portrait in the different menus and sections of the OS.

Challenge 2: The widgets: The default desktop is clean, which allows the user to install the widgets in the way he finds more comfortable, in any position in the screen. This implies the development of a method to change the widgets from their landscape position to portrait in a friendly and coherent way.

Challenge 3: A landscape input method has to be designed and developed. This would mean the addition of a portrait on-screen keyboard. This keyboard may be numeric (like a phone) or qwerty. It would need text prediction and correction capabilities. From the visual standpoint, it would be visually pleasing for it not to cover the whole screen and to be semi-transparent.

Challenge 4: Some applications will have to be re-designed for Portrait Mode, or another applications with similar functions will have to be developed and promoted (browser, media player, among others).

Solutions for this brainstorm

Solution #1: Solution for Challenge 1

Posted on 2009-09-25 07:35 UTC by Mario Rojas.

It will be necessary to go through Fremantle's code to make sure no closed components prevent the changes needed. Once we have this assurance, then an open invitation will be made for UI designers to propose the required UI changes, and to be sure we have developers to implement them.

Solution #2: Solution for Challenge 2

Posted on 2009-09-25 07:44 UTC by Mario Rojas.

Since the widgets can be placed in any part of the desktop, and the widgets themselves can be of any size, the change from landscape to portrait is more complex than, for example, the Nokia N97 (where the widgets had pre-defined sizes and positions in both modes).

A possible solution would be that, the first time the user changes from landscape to portrait, the desktop is scanned and divided in a grid. The blocks of this grid should be squared, and the widgets inside this grid would simply rotate by the middle. Widgets between blocks would move to the area where they occupy more.

I am sure better solutions can be found, so waiting on your ideas!

Solution #3: Solution for Challenge 3

Posted on 2009-09-25 07:51 UTC by Mario Rojas.

While the design of the keyboard itself shouldn't be too complex, decisions should be made regarding:

  • It is going to numeric (T9 style), QWERTy or both?
  • The invoke methods for this keyboard.
  • The development of Error-correction and word prediction.
  • Eye-candy.

A poll could be conducted, or the decision could be made by the UI and developers in charge of the process.

Solution #4: Solution for Challenge 4

Posted on 2009-09-25 07:56 UTC by Mario Rojas.

In this case, we have to make sure that, if we default applications are going to be changed, if they are closed or open. However, it shouldn't be too hard to find alternative for the browser (Tear, or Fennec) and Media Player (maybe Canola?).

Solution #5: Solution for Challenge #2

Posted on 2009-09-26 00:04 UTC by Marcus McFann.

Create separate widget locations on the desktop based on orientation.

(Most users will place the widgets on the screen while in their favored orientation. But upon rotation, they will be scattered, overlapping, and not placed for optimal viewing. This is my solution to optimize that viewing conundrum in the alternate orientation.)

When rotating from the original widget placement orientation (for this example, landscape, but the inverse would be the same concept...) for the first time, place all widgets in a cascading stack in the middle of the desktop. Have a message appear on screen appear for the first time saying, "Reposition widgets to optimal portrait mode position. (click here to not show this message again.)". This would happen on all four desktops, but could be turned off for more experienced users per user preference.

Once the widgets have been repositioned for the portrait orientation, they are locked in that position. This will be the case for all 4 desktops, having a set position for each widget in both orientations. Anytime a new widget is added in one orientation, it will default to the top center position in the other until it is placed in an optimal position. Anytime a widget is moved in either orientation, that position is remembered and locked for that orientation.

The widget movement during rotation should be animated, showing the widget both rotate and slide to its new location for each orientation. This will ease the user's perspective of where things are relocated, and create a pleasant aesthetic to the eye. The entire rotation and animation should happen in less than one second, preferrably a half a second.

Solution #6: Solution for Challenge #2

Posted on 2009-10-10 11:55 UTC by Philip Dean.

Portrait Mode should have its own 4 panormaic Portrait Desktops independent of the 4 panoramic Landscape Desktops (ie device has 8 desktops in total).

The 4 x Portrait and 4 x Landscape desktops would be totally independent.

Switching device from Landscape to Portrait orientation would not involve "rotating" the Landscape desktop, but rather, switching to a completely separate Portrait desktop.

Device remembers last Desktop shown for a particular Orientation and switches to that Desktop when the Device next switches to that Orientation.

User will start with clean Portrait Desktops (just as they start with clean Landscape Desktops).  User can add widgets, shortcuts, contacts, bookmarks etc to each of the four Portrait Desktops as they wish.   Configuring the Portrait Desktops will be completely independent of the configuring of the Landscape Desktops.  The user will be responsible for setting up all 8 desktops (4 landscape and 4 portrait) as they wish.

Portrait Wallpapers will be 480(w) x 800(h) [or if continuous across all 4 panoramic Portrait desktops, then 1920(w) x 800(h)].

Switching between the 4 panoramic Portrait Desktops will still involve swiping left or right.

On the Portrait Desktop, Status Bar will still be across the top of the (portrait orientated) screen with Dashboard/Apps button in top left corner of Status Bar.

In Portrait Mode, Dashboard would show same App thumbnails as the Landscape Dashboard, but instead of being up to 3 rows high x 4 icons across, it would be up to 5 rows high x 2 icons across.  Again, with button in top left corner of portrait orientated screen.

Similarly, Apps Menu in Portrait mode would be 5 rows x 3 icons across, rather than 3 rows x 5 icons as in Landscape.


Latest activities to brainstorm Portrait Mode for Desktop and General Interface in Fremantle