Skip to content

Development for SailfishOS

SailfishOS

Yes, I'm developing software for the alternative mobile operating system SailfishOS. SailfishOS is a trademark of Jolla Ltd.

You'll find some information about the Twitter client Piepmatz, the offline dictionary Wunderfitz and the registration/feature management framework Wagnis.

Piepmatz

Piepmatz

Piepmatz is a Twitter client for Sailfish OS

Already now, it supports many features which you need in your daily Twitter life:

  • Personal Timeline
  • Mentions
  • Search (for tweets and users)
  • Profile Pages
  • Complete display of extended tweets
  • Embedded tweets
  • Inline display of pictures
  • Multi-picture support, incl. pinch-to-zoom
  • Embedded video/animated GIF playback
  • Link preview powered by Open Graph (e.g. for Instagram, Facebook, news sites etc.)
  • Retweet/In Reply to information on top of tweet
  • Favorites/Retweet count with every tweet
  • Favorite/retweet directly from your timeline
  • Reply to other tweets
  • Follow/unfollow people
  • Attach images/videos to tweets
  • Open tweet in browser
  • Direct messages (up to 10.000 characters)
  • List of followers/following accounts in profile page
  • System notifications for new messages and mentions
  • Details view for tweet
  • @-mentioning support in new tweets
  • Geocode your tweets
  • Show trending topics in your area
  • A lot of eye-candy

Development is still in progress, so please expect some glitches here or there. The application is generally not optimized for bigger screens yet, but runs fairly well on the Jolla Tablet for example :) Many other features are in the pipeline, so ensure to have always the latest update installed.

Available on OpenRepos and in the Jolla Store.

Screenshots

Screenshots Piepmatz

Wunderfitz

Wunderfitz

Wunderfitz is a mobile dictionary application for offline use, supporting dict.cc dictionary export files and including the Heinzelnisse Norwegian-German dictionary (heinzelnisse.info).

This application already contains the complete Heinzelnisse dictionary. In addition, you can import dict.cc dictionary export files. Please follow the instructions in the app to be able to use them.

All dictionaries are imported for offline use. Therefore you don't need any internet connection when using it.

Available on OpenRepos and in the Jolla Store.

Screenshots

Screenshots Wunderfitz

Wagnis

Wagnis is a registration and feature management framework for SailfishOS. It can be used to register users anonymously and to control which features a user can use depending on certain boundary conditions. Wagnis is currently in prototype status and used to register users and for a survey in Piepmatz.

Motivation

You might ask why do we need such a thing like a "registration and feature management system" on SailfishOS...? You might also say that such kind of software is bad or evil (did anybody say "DRM" already?) and that you don't want something like that on SailfishOS in general or specifically on your device. Before you come to such a conclusion, please let me explain a few things. Thank you in advance!

Knowing the amount of users a little bit better

As a developer you are usually pretty curious how many people actually use your software. Jolla Harbour actually tells me a pretty nice number of active installations per application, but the other - very popular - distribution platform OpenRepos only tells me the complete amount of downloads. There, I have no idea how many of these downloads are just updates. Moreover, it could be that people switched over from Jolla Store to OpenRepos because there they get their updates much faster. In order to know if it's actually worth developing more features which I personally don't need, but a big amount of people in the Community actually do, it would be great to know how many people use the current version of a certain app. So, Wagnis requires a registration at the first startup of the app. Only at this time and really only then - there is no tracking of your behavior or anything similar. It only registers your copy with this server using a unique ID - the "Wagnis ID" which is specific to your device.

What's this "Wagnis ID" about?

The "Wagnis ID" is a cryptographic hash of the following information:
  • IMEI(s) of your device
  • Serial number of your device (only if there's no IMEI such as on the Jolla Tablet)
  • MAC address of your Wi-Fi adapter (if available)
  • MAC address of your Bluetooth adapter (if available)
  • the application name
  • the Wagnis version
The hash is calculated on your device and doesn't leave your device as only the hash is transferred to this server. Due to the nature of such a hash, nobody will be able to calculate the originating (sensitive) data. However, as everything is specific to your device, I ensure that one device is only registered once - even when you perform an update or reinstallation.

Why do you transfer the country as well?

Your country is identified exclusively using your IP address by contacting the service ipinfo.io. So, it's sometimes not correct, especially if you are using a VPN/similar service or when you are on vacation. However, I need it because I need to get a rough estimation how many users are coming from which country. Why? The reason is simple: I consider extending Wagnis to a paid app system. Because of EU and German tax laws I would be required to pay taxes in the countries I'm selling software to. This is no problem in EU member countries (really, thank you EU for at least this simplification!), but for all other countries it might be difficult. There would most certainly only be very little sales in each individual country and consequently the effort and costs of registering in each country would easily surpass the projected benefits. However, in order to be sure about the distribution, I need to know the facts.

Why are you planning paid apps?

The SailfishOS ecosystem has lived without paid app support in the Jolla Store for about 4 years now. Moreover, the SailfishOS Community probably considers Open Source so important to their applications as no one else in the market and you could say there are a lot of crowdfunding or donation systems which you could use - the Jolla Store even has a Flattr button. But to be very open an honest: They simply don't work or only in some well-defined environments. If you only ask for donations and such polite requests can be clicked or swiped away without any consequences, only a very small amount of people will donate. What comes in addition: Developers do great and hard work and it's simply disgusting that especially open source developers need to act like beggars in order to get at least a little bit in return for they efforts. (Actually, nobody should need to become beggars, but that's maybe another discussion...).

I'm not talking about becoming rich or anything close to that. Considering an active user base of certainly below 100,000 active users you can simply do the math how many users would need to pay for an application in order to pay back the development costs only - without any "profit". If I took my normal salary into account, for example the development of Piepmatz would have cost about 25,000 Euro. Currently, I estimate about 1,000-2,000 more or less active users. Hardly anybody pays a two-digit Euro price for an application which has some competitors on SailfishOS and especially which faces fierce competition from Android applications which run smoothly on Alien Dalvik. Android app developers can calculate differently as they have a much broader user base and are also quite keen towards advertising - which I want to avoid at all costs by the way. Consequently, the price will realistically be somewhere around the Android prices or even below them... In the end, the sales will only make up a nice dinner or a short vacation.

So, why am I doing this if there's hardly anything to expect? The answer is also pretty simple: Developers need certain incentives beyond a nice slap on the back especially when the Community expects additional development which goes beyond the original requirements of the developer (which are in many cases the motivation for creating an application). Moreover, when the Community wants to avoid being tracked or bugged by nasty ads and also in the end wants to get high quality applications, you need to take a stand. There is simply no such thing as a free lunch! If you want to have a look at more aguments, please have a look at together.jolla.com:

But what about Open Source?

To make it short: My applications are Open Source and will remain Open Source! If you think that Open Source and mandatory financial contributions to these applications are contradictory, please take the time and read the licenses in detail. Take for example one of the most popular and best-known licenses - the GNU General Public License it even explicitly includes the possibility to sell copies of GPL applications. To quote the license: "When we speak of free software, we are referring to freedom, not price." - or in other words: Free as in free speech, not in free beer!

So what I probably (it's not finally decided yet) do is to ask for mandatory contributions for GPL-licensed software. As I don't trust in voluntary donations, published packages would then include a Wagnis-powered feature management which will disable certain or all features of the application if no contribution has been made after a trial period of about two weeks. So Wagnis is also not a copy-protection - not even close. Software should be tested and evaluated before you are forced to pay or make a contribution.

What about if it doesn't work?

As the software remains Open Source, it would be rather easy for developers and probably also for other people who can read some documentation to take the source code, strip Wagnis and publish a free-beer-package of the application. That's a calculated risk. Of course, the implementation is also not as hardened as similar solutions on the market - so you can patch/hack it most certainly pretty easily. That's also calculated. But if people rather do that or even simply use such forks/hacks (which only exist to remove the feature management, not to add additional value) instead of contributing the value of about 1-2 cups of coffee to a software which probably creates value to them for days, weeks or even months and years, it's also a decision. It would be a decision that tells developers like me that the Community doesn't appreciate the hard work behind the curtain or that the application is simply not worth the few Euros. I hope that this doesn't happen and that's also one reason why I want to try it out.

So I also want to be very clear what will happen if people don't contribute, or in other words if this "Wagnis" (German for venture) doesn't succeed: I'll stop publishing software for SailfishOS and be one of the devs who jumped ship because of frustration or other similar reasons. Others will probably follow if paid apps won't be there for good on one of the few remaining alternatives on the mobile market. It's again pretty simple: Nobody is forced to use certain applications, but also nobody is forced to publish certain applications... However, these are just my thoughts about the future. For now, I'll only do a small survey on the potential of a paid Piepmatz. I'm really curious about the outcome! :)

Change is in your hands. Make something out of it!

Screenshots

Screenshots Wagnis

Geschrieben von Sebastian Wolf | am