[SailfishDevel] Update on SailfishOS roadmap

Hi all, We are keen to share our plans with you after our iteration planning day this week. This turns out to be quite a long post, but should provide a good overview on whats cooking. 2015 will see Sailfish OS evolve towards a display resolution and form factor independent operating system capable of running on a range of devices. It will also bring a renewed Sailfish UI. We plan to demo this evolution at the Mobile World Congress in March. We have now started to work full speed on the new UI framework changes and are currently in the prototyping phase. Our main driver is to introduce changes that 1. enhance user experience on both the phone and tablet 2. strengthen the OS core 3. simplify implementation for a better managed code base Here is a list of things we are trying out w.r.t the new UI framework: * improved notifications system * richer Events View with more widgets and actions * separating lock screen from the home screen for simplified UX and technical architecture * home screen interaction improvements with revamped navigation hierarchy We have progressed quite well in the direction of Sailfish UI scalability already, for example we have the following implemented in our internal development branch: * scalable icons * home screen and application layouts take physical display dimensions into account, for example larger displays are able to show more content * display-size optimised graphical effects During this month we'll continue adapting ambience wallpapers to different display sizes and aspect ratios. Our next big UI task is to enable landscape mode in apps, system dialogs, active covers, and optimise the design for the best use of the additional space. On the platform level, in this iteration we are working towards the following goals: * System update improvements (will be utilised for update 12 onward): - run btrfs balance operation before installing OS update - Part of https://together.jolla.com/question/66595/request-automaticbackground-btrfs-balance-defrag-type-cleaning-of-filesystem/ - enablers to allow factory reset operation to reset the OS to the latest available public version instead of the age old factory image provide an API to check the system update size - enablers to allow store client to handle downloading the OS update in the background without interfering with the user - upgrade to using latest upstream versions of libzypp and zypper to get new features (to allow us to later take them into use, namely better pattern support and conflict calculations) * Adaptation work for the tablet: - make Jolla tablet turn on promptly and give understandable progress/status information - design and implement filesystem layout - check power management functionality on the tablet - bring bluetooth related fixes to tablet kernel Sensor detection, USB and camera adaptation - check stereo speakers functionality - check iphb wakeups functionality on the tablet - ensure USB charging works * adapt middleware to modemless device i.e. tablet * work towards Pulseaudio 6.0 * drop upower in favour of statefs - this has been in plans for a while and we are now on it as fixing issues on upower is not the best use of our efforts * dual-stack implementation (ipv4 and ipv6) for cellular connectivity * prototyping excrypted filesystem * research SELinux as a solution for system security and application access control * toolchain updates - we are working towards upgrading to GCC 4.8, binutils 2.25, switch to Thumb2+NEON for ARM by default, march=i686 and SSE2 minimum for X86 * Performance improvements: - continue to analyze memory usage and chopping off bits wherever possible - work on a benchmarking tool to measure progress <- this may not happen (yet or completely) due to priority shifts - continue work on the QML engine and forking to save memory As you may notice, there is lots to do in the lower levels and middleware to take the OS to the next stage. Nevertheless, we are keen to continue provide new features where and when bandwidth permits. In the next update we intend to release: * renewed browser UI - simplified tab view, search for word on webpage, user friendly toolbar and URL field - https://together.jolla.com/question/4197/search-in-browser/ * weather info integration to events view (Foreca) - https://together.jolla.com/question/1967/weather-application/ * option to customise the highlight color of your favourite ambience in ambience settings (in Gallery app) * notification to the user if there is insufficient disk space (< 500MB) while attempting to upgrade the OS * allow editing of mobile data setting always (currently if the device is in roaming and data roaming is set to "Do not allow", mobile data settings are disabled) In the spirit of supporting the community TOHkbd project, we have also implemented keyboard slide policy that will guide the display (un)blanking behaviour when sliding the hardware keyboard in/out. During this month, we have planned to work on the following features: * private browsing https://together.jolla.com/question/1821/private-mode-in-web-browser/ * lock screen media player controls https://together.jolla.com/question/3414/control-music-from-the-lock-screen/ * enable USB tethering in the UI https://together.jolla.com/question/3798/usb-tethering/ * IMAP idle/push support https://together.jolla.com/question/493/imap-idle-imap-push-for-the-e-mail-app/ Not to mention that bug fixing is part of our daily work and will carry on in parallel with all of the above activities. Sailfish OS updates will continue to be delivered frequently. Due to the nature of the tasks at hand, the gap between releases may vary. It does not imply that we are intentionally slowing down -- on the contrary, we are ramping up with extreme dedication in the next few months to deliver a scalable, refreshed and coherent platform, requiring time and focus to make things right. In order to better support our goals, our internal QA setup has been further enhanced to allow working on multiple releases in parallel and keep release instances longer for possible updates at a later point in time. In a nutshell, we are excited to work towards the new horizon and will continue to share our progress with you. Cheers! -Soumya