My Jolla applications

One of the things, that I really like about Jolla is the technology to write applications. C++ is my favorite programing language and I always admired Qt. At least big parts of it. So when I got my Jolla, I started playing with SDK and writing some simple applications. It was kinda harder than I expected, but I’ll write about there in separate blog post. This one is dedicated to the applications I wrote and to show what do they do. And if you have a Jolla, maybe get you interested in those ;-) Both of them are available via OpenRepos and Harbour.

Hunger Meter

This was the first application I wrote. I was wondering how power hungry are various applications. On Android I used to have CPU usage monitor and I know that surprisingly many applications take advantage of CPU to the full extend which affects a battery life. Since I was writing the application I decided not to go for CPU usage but directly for what I was interested in – battery usage. First version was really simple, it just showed two numbers – current consumption and average (over ten seconds) one. But that already helped me to find out, that if you want to drain your battery fast, use Angry Birds :-)

I haven’t stopped developing after first version and continued extending functionality. Currently time intervals are configurable, it displays semi-nice graph for the longer interval, displays some basic information about battery and collects long time (day and more) statistics. These are not plotted yet, that is part of my TODO.

If you are interested, you can get this application from OpenRepos where is the last development version or from Harbour where is the last stable version (one that was successfully tested in OpenRepos). Sources are available on GitHub and here are few screenshots :-)

HungerMeter - CoverHungerMeter - Settings

HungerMeter - GraphHungerMeter - Battery


My second application is also simple. It’s top-like application. Shows processes, how much memory (RSS) and CPU they use, allows you to sort them, filter for GUI applications only and most importantly – allows you to kill processes you don’t like. Not much more to write about in regards to this. Just a set of links to OpenRepos and GitHub and few screenshots.

CrestCrest - kill

End note

I wrote some applications when I was using Palm OS. When I switched to Android, I never forced myself to cope with Java thingy. Although there are some nuisances in developing for Sailfish OS (more about them next time), I’m happily developing applications for my PDA/CellPhone again :-) So if you have Jolla and like my ideas for applications, try them. You can report bugs/feature requests via issues page on GitHub, maybe I’ll respond. If you submit the patch, chances that I’ll respond are much higher :-)


Cool Live flash GSoC idea

openSUSE Flash drive

openSUSE Flash drive

I have this idea nagging me for a while about how to make our ambassadors live (and mine) easier. From time to time you need a flash drive with Live version of our favorite openSUSE to show it to people. Currently it is really simple to create one using dd. But once you do it, you cannot use flash drive for “normal” purposes. People somehow doesn’t appreciate flash drive that doesn’t contain vfat. So this project is about redoing openSUSE flash drive to make it way cooler and more usable.

There are two projects out there that inspired me (or that I want to copy). It’s Slax live distribution and SystemRescueCD. Both are great and I would like to pinpoint some of the goals that project should reach.

First of all, whole flash drive should contain vfat or ntfs or some commonly supported dumb filesystem. Nothing fancy. And everything should be just a file on that flash drive. If you need to transfer quite some data, you simple delete few directories, use flash drive as a storage and then copy those directories back.

Other feature that should be implemented is to make it easily possible for flash drive to contain multiple flavors of distribution at the same time. So during the boot, you will be able to select whether you want to show Gnome or KDE. Adding new flavor should be easy – copying files with new flavor to the flash drive. Same to get rid of it – just delete Gnome flavor files and Gnome version is gone from flash drive. This is what Slax manages to do really well, although they try to combine everything into one distribution. I wouldn’t go that deep in regards to modularity for this project, but selecting which live version do you want to boot sounds like a good idea. It should be also possible to decide whether changes you make while running this Live distribution are stored permanently or lost after reboot.

Now how to make it cool for Ambassadors? I think we are not rich enough to give everybody his flash drive during conference. There are two options that I would like to see integrated in this flash drive project. First, it should be possible to boot from flash drive and load everything into memory. So people can come to the booth, use flash drive to boot openSUSE, leave and play with it till reboot and we can reuse the flash drive to boot another computer. Other cool option to have would be to make it possible to to distribute this Live version over PXE, so we can have just a few ethernet cables on our booth where people can connect to boot openSUSE.

Personally I would love to have something like this. And few students already shown some interest in this idea, so it might even happen. If you just decided to apply as well, feel free to submit your proposal to the melange and I have a simple homework for you (can be sent during reviewing process). My friend tried to run Live KDE over PXE few weeks ago and run into trouble that NetworkManager was messing up with network and thus his NFS root was having some serious troubles. Your homework is to solve this issue :-) Take an initrd from openSUSE 13.1 Live KDE and modify it so when you are booting vith NFS root, it will disable NetworkManager. Send me the result (either description or initrd or both) and the best solution (from maintainability and robustness point of view) wins.


Importing SMS from Android to Jolla

This is just a little note related to my last blog about Jolla. I wrote that I’m pretty fine with messaging application although I don’t have many SMS yet in my phone. Well, I fixed that :-) I imported all my SMS messages from the backup of my Andriod phone.

I searched around and I found really interesting thread on that describes how to import SMS from n900. As they are doing it via csv, it was easy to put together a simple one-liner that would produce the csv from my SMS database. Now how to do it…

My database used to be at /data/data/ You can get it from your phone to your PC for example with

adb pull \

Now download the script and get your csv

curl > sms_export
sh ./sms_export mmssms.db > sms.csv

What is left is to fix all the extra newlines in SMS. But without fixing them, the import program just imports messages without newlines which was good enough for me as most people don’t use new lines in SMS.

Now time to play with Jolla and that part is simple thanks to Merlin1991 who wrote importer application. I will assume that your are sshed on your Jolla and and you copied your csv file over to the current directory. Now what is left on device is following:

curl \
   > jollaImport
chmod a+rx jollaImport
./jollaImport -s sms.csv

And SMSes are transfered from Android to Jolla :-) Many thanks to Merlin1991.


Communicating with Jolla

On Monday I wrote about my new amazing cellphone – Jolla – and one of the comments/complains I got was that I haven’t said anything about how you actually use the phone to communicate. Well, I don’t use cellphone to make calls or send SMS most of the time, but since I was asked about it and I already have phone for almost two weeks, I gathered few SMS and calls. So today it will be about communicating using Jolla :-)


Contacts are synced from the accounts you entered in settings. Supported so far are Google, Facebook and XMPP. No CardDAV yet. Disadvantage I encountered so far is that all of them are synced. What is wrong with that? Well, I added one of my jabber accounts… So now I have in people application several bots and transports. I also have all the people that I for whatever reason added on G+. In the end, my contact list is almost total mess. And to make it harder, there are no groups and UI is done in a way that you have to pick a letter from the first name (you cannot select to sort them according to the surname) and it will show you contacts only afterwards. What saves this application from being unusable is that you can search for people and favorite them. Then you will have them on top as small pictures.

Application also shows people you recently communicated with, which is actually really useful and it is how I use contact lists everywhere. Even on desktop, I don’t have a fixed contact list, I just have mail addresses of people I communicated with in last month and pick recipients from that. It’s good enough approximation. As for Jolla, I’m currently stuck with this workflow. Not that I mind much, but it’s a shame that application managing your contacts is quite unfriendly at the first sight.

Calendar e-mail


Calendar application is pretty simple with only month view and showing events for selected day. Synchronization is supported only for Google calendar so far and only one way. You can create your events online and they will get synced to your phone, but edits in your phone will not get back. At least till next OS update. Support for syncing with own CalDAV is not implemented yet.


Phone application will take you to the list of last calls (made/missed/received). Unfortunately every person is there just once. So if you missed a call and returned it later, you’ll find there only the most recent event – you making a call. Not a really big deal, but having a full call history would be nice. If you try to call somebody, you’ll end up in people application I spoke about before. I’m not a big fan of that one. What I really like is answering phone. Pull down to answer, push up to cancel. What is unfortunate though is that to end call, you have to press a button on screen, not use gesture as for answering :-(

Calls messages e-mail


The important part about messages is that on Jolla your messages get mixed up together, similarly as contacts does (but this time it’s not that bad). You have one messaging application and that one stores both SMS and IM messages. It tells you which one is which, but tries not to make a distinction between them so obvious. As for IM, it’s deeply integrated. In notifications, you set your global presence and from that moment, you’ll start getting messages via XMPP. As for starting conversation, you would have to go to the people app and find your bot you want to message according to his name (I have bots in separate group on jabber, but as people application doesn’t handle groups…). In general, I think, messaging application is quite usable, except for the part when you have to interact with people application. Sometimes I would appreciate classic IM client with roster and groups and not mixing my jabber with my people by default (nice to have when I choose to, but sometimes I prefer to have them separated).


This is the functionality I use probably the most on cellphone. Keeping up with my mailboxes. Jolla has a nice mail application to do that. At least I consider it nice. I was using K-9 on Android and found it a little bit confusing. On the other hand, it could do many things Jollas mail client can’t do yet. I have multiple e-mail accounts configured on my phone. First screen I enter when I open the application is some kind of unified inbox. All unread mails from all accounts at one place. Realy useful. And it also shows all my e-mail accounts. Whenever I tap on account, it opens full inbox (including read mails) for that particular account. What is still missing though is notifications for subfolders (only inbox gets synchronized automatically) and no support for flagging e-mails. Also there is no threading support yet. But I can live without threading especially as I have e-mail conferences filtered into subfolders and thus not directly at tips of my fingers, but few gestures away, which is too far to bother :-D

Overall, Jolla phone capabilities are good enough for me, but might not be the case for you. Especially if you still use your phone mainly for making calls and have quite some people. The weakest point I see is the people application. But as things are getting fixed and people are developing like crazy, I hope we will get fixes for issues that I mentioned here soon or somebody will implement alternative people application :-) This time, it doesn’t sound so positive overall, but I still like my phone and as making calls is not a use case I’m most concerned about in my cell phone, I have no problem waiting for Jolla to polish this part.


My Jolla – first impressions

It’s been a week since my new cell phone – Jolla arrived. I was probably the last of the first ones (people who preordered) due to some issues with gmail (almost as if Google didn’t want me to switch from Android to Sailfish :-D ). But as I finally got my new phone, it’s time to share my first impressions :-)

Let’s start with obligatory unboxing. Box is nice. It opens a little bit unusually by sliding out. Content is pretty much what would you expect. If you are more interested, take a look at pictures bellow. I quickly opened it and started to play with what was inside :-) First setup was was pretty ordinary nowadays – wizard asking some questions for your setup – with few exceptions/things I would like to mention. First was that Jolla asked me for my name and it didn’t had a Czech keyboard, so I couldn’t write my name with all accents. I ended up hunting them character by character from various keyboards for other nations, but I managed to succeed (thanks to Polish, French, and some others) :-) There is already a request to fix it and workaround available in the forums. But I don’t complain, I understand that we are small country (although I know surprisingly a lot of Jolla users from my country) and thus we are not first priority. Other thing that surprised me more (I would say pleasantly) was language selection. I was looking what options are there and wanted to select US English. It is not there! There is only UK English :-D So no simplified English on Jolla, although I haven’t come across anything where would I notice. Part of the initial setup was also tutorial to show the gestures. I already read about most of them upfront, so no big surprise there.

Jolla BoxBox inside the boxContent of the box

Regarding the gestures, as most of you know, there are swipe from left, right, up and down and they differ whether you start on the edge of phone or on the part of display that actually displays something. Surprisingly quite convenient after a while. At first I had troubles with swiping from up to down (especially from the edge) as phone is quite large and it was a little tricky with one hand. But luckily for me, I have long fingers and got used to it :-)

Gestures are in general quite nice but there are exceptions. For example provided map application map. As there is a full screen map that you can move around, only gestures from the edge works. And as in most applications you can access settings menu/other actions like search via gestures on display part of phone, you’ll feel lost in map application without any visible UI. That is the only drawback I noticed, otherwise gestured are nice and convenient.

Language selectionFirst update

Before describing the OS and SW in more details, let’s stay with HW for a while. According to the specs, it’s generally nothing really outstanding, I would say pretty solid standard (2×1.4 GHz ARM, 1G RAM, 16 G flash, MicroSD, WiFi bgn). Important part is the Other Half. I pretty like the concept although I didn’t had a time to exploit it yet :-) Back covers of the phone are replaceable and have access to the power in/out and I2C connectors. Which makes it possible to extend cellphone with whatever crazy gadget you can think of. There are already templates for 3D printers, so you can create your own gadgets. Looking forward to that. What is not so nice about the Other Half is the way it is attached to the phone. It’s simple and you can just put it and just press it to snap on. But you are depending on bending the plastic a little on the way in and more on the way out. This makes replacing the other half quite stressing as I’m afraid that I will bend it to much and it will break. I hoped there would be some more clever solution :-/ On the other hand, it probably makes 3D printing of other halves easier.

Now to the software side. Sailfish OS is based on Mer, uses rpm for packages, btrfs for rootfs, systemd, Wayland to manage the display, QML for UI, Connman for network management and PulseAudio for sound management. So pretty much the coolest and most bleeding edge technologies out there in GNU/Linux world. No reinventing the wheel, using open source software that everybody either know already or is about to (Wayland & Qt 5). What is not so up to date is kernel :-( Kernel is 3.4 compared to the current 3.12 which probably means that some parts of drivers are not in upstream yet :-(

Ingress on JollaJolla home with mail and browser

Now a little bit about apps. One of the things I didn’t expected was that default package repositories are quite empty regarding default linux tools. No mc, vim, wget, … That could be solved by either packaging them, but haven’t investigated where to put them yet (to be properly integrated with mer together with all dependencies) or by installing other ARM linux distribution into chroot. Will try that one later. Regarding selection of native Sailfish OS GUI apps, it’s growing rapidly. More people are getting their Jollas everyday and more and more people are developing or packaging stuff for their phone. You can find these either in default store or more adventurous types on OpenRepos. OpenRepos is a community place for application developers to post their applications. Advantages – easier and faster to get stuff in, drawback – no QA and you can download stuff with not so great quality as well. So use with caution. Good thing is that it creates a repo per developer, so you can create your own list of trusted developers.

What also helps regarding apps is Android VM that could be running on your Jolla. You can install it and from that time, you can install Android applications as well. They even get integrated nicely into Sailfish – you’ll get new icon for every Android app. But Android VM is behaving kinda like a real VM, so you can have only one Android app open at the same time. I tried it and was really pleasantly surprised. I got Angry Birds GO! running while they refuse to run on my Android tablet and I even got Ingress running there :-) Other nice “feature” is that Android don’t see my contacts/messages, so my privacy is covered :-)

I probably missed half of the stuff I wanted to talk about, but it’s getting lengthy and I want to get back to playing with my new Cell phone, so more about it in some future post.

Older posts «

» Newer posts