[SailfishDevel] Update on SailfishOS roadmap

Hi all, Here is an update on our progress from the past month. Do note that they are all work in progress and not release ready for another few months. * Tablet hardware adaptation is nearly ready for MWC - USB charging, stereo speakers, sensors, accelerometer, Bluetooth, WLAN functionalities have been verified * Work on the new UI framework is progressing at a good pace - lock screen has been separated from the homescreen - improved notifications with visual grouping and additional actions - events view with a richer user experience - improved home screen interactions and transitions - new swipe edge transition * Lock screen media player controls implemented for the native media player app, under review https://together.jolla.com/question/3414/control-music-from-the-lock-screen/ * IMAP idle/push support implemented https://together.jolla.com/question/493/imap-idle-imap-push-for-the-e-mail-app/ * Landscape mode enabled in Maps * Toolchain has been updated (upgraded to GCC 4.8, binutils 2.25, switch to Thumb2+NEON for ARM by default, march=i686 and SSE2 minimum for X86) and will take into effect with update13; expect a huge download size for the update * Dual-stack support (ipv4 and ipv6) for cellular connectivity in the middleware * Update to GStreamer 1.x: souphttpstc is enabled, AAC encoding/decoding works * Prototyping of encrypted filesystem: This is currently on hold for a short while due to MWC preparations - We have a development template to build filesystem layout on tablet that could allow home encryption - Most of the real work is still ahead of us: studying if in-place conversion can be done with changing LVM logical volumes, /var/ encryption, user application binaries and user app data encryption and most of all placement to home instead of root, boot target for password query * Drop upower in favour of statefs: - udev is used directly to fetch power and battery temperature information via statefs power-udev provider - MCE now fetches battery info from statefs * Performance improvements: - Improved performance of adding items to the scenegraph, particularly when e.g. scrolling lists - Pool allocator for shadow nodes in the scenegraph used to reduce possible memory fragmentation - Substantially reduced the number of nodes required by the scenegraph - Reduced the amount of memory required by internal JS structures - Reduced the need to heap allocate when dealing with IR structures - Reduced the amount of memory required for SQLite caches As for the next OS release, we are currently at release candidate 5 for Yliaavanlampi (update 11) and expect to have another release candidate before we can decide on the release schedule. For this iteration, we have two main goals: 1. Demonstrate the new UI framework and Tablet functionality at the Mobile World Congress, Barcelona 2. Make the device usable in filesystem full condition to allow the user to recover from it on her own In addition, we have planned to work on the following: * Tablet specific work: - Bluetooth audio configuration - Integrate microphone - Improve boot up and shutdown time - Support for OBEX FTP Bluetooth profile - Upgrade Bluetooth AVRCP to version 1.3 - Check Bluetooth+WLAN coexistence - Verify MTP functionality - Performance improvements - Intel support for Android runtime * Enable OpenVPN support on the OS * Update to Facebook API 2.2 * Telepathy farstream / SIP Audio routing policy * Bug fixing on issues related to Bluetooth sync, presence and accounts/calDAV * New settings options to - display disk space used by images, media, backup, app data etc - display SD card information * Update main view of Gallery app for the Tablet The following activities continue from the last iteration: * Adapt middleware to modemless device i.e. Tablet * Work towards Pulseaudio 6.0 * Drop upower in favour of statefs * Allow factory reset operation to reset the OS to the latest available public version instead of the age old factory image * Run btrfs balance operation before installing OS update * Improvements to PackageKit for software update handling * Sensor detection, USB, camera adaptation and filesystem layout for the Tablet * USB tethering UI implementation https://together.jolla.com/question/3798/usb-tethering/ * Private browsing https://together.jolla.com/question/1821/private-mode-in-web-browser/ * Continue working on landscape mode for apps Thats all for now, bijjal