Understanding Jolla Sailfish UI

I heard some people find Sailfish UI non-intuitive. I think the main reason is that those people do not understand the structure of this UI. I have a view of it and I guess this view also corresponds to the view of UI designers. Just imagine that after you removed the protective film (I am sure you did it ;)) there are several films remained on the transparent glass screen. And each film is the view/window to the other dimension. Also the size of the film is equal to the size of the screen. So, any finger gesture started from the edge of the screen (current film) is the pulling or peeling of a film. And finger gestures done inside the film affects view shown inside of the film itself. Now everything is in the place:

  • There is a Main View film, through it user sees long vertical view. This view consists of the Lock Screen, Home Screen and Apllication Icon Grid.
  • If application is started, first Main View film is scrolled to the Home Screen to show future location of the application miniature on it and then started. Application View film covers Main View film
  • At any time user can "unwrap" the Event View film above other films from the bottom edge of the screen: you can imagine that this film is always "wrapped" into thin invisible tubule there. This film can be "wrapped" back from the top edge of the screen (as also from the bottom edge).
  • To get any film out one just "peel" it from the top. This obviously means Application View or Event View will be closed (removed), Main View will be blanked (locked).
  • While working with Application View film, if user wants to see the Home Screen he can just start to "wrap" this film with the finger from the left or right edge. In this case Main View film (hidden under the Application film) is shown in the way allowing user to see all Home Screen indicators. If Application film is fully wrapped (to the center of the screen), it is replaced by its miniature (active cover) dropped to the Home Screen and, of course, Main View film becomes visible. Or, if user do not want to "wrap" this film and put it back to the home screen, he can "unwrap" Application film moving finger back to the edge.

What can be more intuitive and easy? If your memory will not fit this simple model, you really need to train your memory a bit ;) There is a good book from O'Reilly to help with this task.

P.S. There is a very interesting and useful user guide written by our colleagues. It explains a lot and written with love.


Nemo Mobile kernel is rebased

Current Nemo Mobile kernel is based on outdated N9 kernel sources 2.6.32-20112201+0m6.

There was many changes/fixes in the N9(50) kernel since this kernel version. DocScrutinizer05@freenode gave link to iso image with Harmattan sources provided by Nokia, the image contains updated N9(50) kernel sources tarball.

I found the nearest mainline commit, branched from it and applied 2.6.32-20121301+0m8 sources divided it onto several patches (mechanically, using basic python script) to avoid to make a single commit consisting from ~500000 LOC :), applied actual Nemo patches (most patches lost their value, it was backports of some fixes done in the 2.6.32-20121301+0m8 kernel).

Resulting sources can be found in the bitbucket git, branch mer-n9-2.6.32-20121301, Nemo Mobile package for the period of testing is hosted in my OBS home, and can be installed from Nemo Mobile repository.

I have tested it on my N950 but, of course, and it seems everything is fine. But I can't promise that your device will not destroy the Universe :-P So, install it on your risk and do not blame me. But feedback is welcome ;-).

Org version 7.8.11 with Emacs version 24


MeeGo is back to life by Jolla Mobile

Maemo/Meego was definitely the best Nokia child and it was abandoned by the current Nokia CEO to make Microsoft happy. And it was looked like everybody buried MeeGo. It was supported openly only by brave ans passionate Mer project contributors.

People who believe in MeeGo future and its high potential (technical, humanistic, marketing etc.) and who are ready to invest their spirit to make the best mobile OS ever to be alive exist not only in the wild :-) They organized Jolla Mobile to continue Nokia's excellent work on #MeeGo based smartphones together with the #N9 core professionals and #MeeGo community alumni..

So, be sure Nokia N9 is not the last good smartphone in history ;-) and follow JollaMobile for updates.


dummy PEG parser in and for python

Just another dummy parser

I tried to use different PEG parser generator python libraries and found none of them satisfies to my requirements (including ability to work with containers other then string/buffer (to use it for live stream parsing), transparent parsing tracking) while effort needed to adopt any of 'em to my needs is higher then to write own parser generator.

So, here is a small dummy PEG parser generator — ˜1 kloc including simple utility code to avoid any external dependencies, published under MIT license, tested with python2.7