Stella Launcher

I've been using Stella Launcher on Nexus 5 for a while now. Originally I was skeptical about the whole concept. Jolla's UI is just so different than Android's so how could it be a good experience to have launcher from Jolla and then just normal Android UX in apps, system, and settings? Also because of Android API restrictions the launcher could not support all the things Jolla's homescreen has, so even the launcher is not 100% same as homescreen experience in Sailfish OS. There are some rough edges, but all in all I'm positively surprised on how it turned out. Personally, I prefer using Stella Launcher on my Nexus 5 over having standard Google launcher.

I think I prefer Stella Launcher because it makes the homescreen simpler. There is just my apps and running apps. No widgets, no app shortcuts, nothing extra. All the apps I rarely use are in folders so my app grid is just one page and I get to apps I use often really quick. The one thing I'd like to see improved is the integration to Android notifications. It would be really nice if access to Android's pulldown notification menu could somehow be improved.

It's great that with Stella Launcher wider audience gets to explore a bit about Sailfish experience.



I pretty much always listen to music in random order and I have not moved on to Spotify and instead listen to tracks from files. It has annoyed me a bit that in Jolla's Media Player I had to first open it up, then go to "All Songs" and wait for 5 secs for all my tracks to load, and only after then I can choose "Shuffle all". I thought that I could do something simpler for myself and thus started a little hobby project I call Shuffle.

Shuffle is now ready for its first release. The UI is as simple as possible. When you start the app it starts playing immediately and only options for user are next and pause. I'm not going to add much more, the idea really is to keep the app simple and optimized for random playback.

Shuffle is now available from OpenRepos and sources are at github.


Pragmatic programmer

"The boring front-end developer" by Adam Silver:
Cool front-end developers are always pushing the envelope, jumping out of their seat to use the latest and greatest and shiniest of UI frameworks and libraries. They are often found bridging the gap between native apps and web and so will strive to make the UI look and behave like an app. Which app? you may ask. iPhone? Android? What version? All good questions, alas another topic all together. However, there is another kind of front-end developer, the boring front-end developer. Here is an ode to the boring front-end developer, BFED if you will.


When given the choice to add a preprocessor (e.g. LESS, SASS, CoffeeScript etc) to the technology stack, the BFED realises there is a deeper impact beyond just "writing less code". Will developers need to learn a new language beyond the language of the web (i.e. HTML, CSS, JS)? Will debugging code be harder? If the answer to any of these questions is yes then the BFED will say no to preprocessors.


The BFED realises that users have different abilities and preferred ways of using a computer, whether its a mouse, finger, thumb, screen reader, keyboard or a combination of all, websites should be consumable no matter the audience, screen size or capability of the browser.

This great post got me thinking about my own attitude towards code. I've always thought that I'm pretty good programmer but not a great one. I lack the ambition to know everything there is to know about certain specific area. I prefer just to solve the problem at hand and move on to solve the next challenge. I always try to solve the problem well, but I rarely go the extra mile to create awesome solutions.

Sometimes I get annoyed when rockstar programmers create really ambitious and risky solutions (or use tools unfamiliar with the team) to problems that are in my eyes just regular problems where regular solutions work quite well. Of course sometimes radical approaches are needed, otherwise we wouldn't have really great improvements like QML. I guess having the taste to understand when its appropriate to take risk and go with radical solution is what separates wannabe rockstars from truly great programmers.

I just try to be practical and get things done.


Taking a break

After two awesome years, I left Jolla last week. I felt a strong need to do something else since coding hasn't felt as fun as it has been earlier. I still have huge respect for Jolla and for the people in it. The company is still a young and evolving. If someday Jolla has the kind of position I want, I'd love to go back.

Next I'm planning to chill, travel, and do some hobby projects, like continue to maintain Tweetian for Sailfish. I'm of course keeping an eye out for great opportunities and I'll surely apply if I see something close to my dream job, but I'm not stressing at all about getting a day job quickly and instead I just want to be sure that whatever I do next is just right for me.

My dream job? I don't know, who really does? I'm nowadays more interested in what software does than actually creating the code so I think I would like working as a product owner for an app or service. I've also enjoyed a lot doing the Sailfish app development presentations at conferences and would definitely be interested in a job where I could do more that kind of tasks. Startups are interesting and I think I would be ready for taking a big role in a startup and help it make the product and grow bigger. I've also done project management and team leading. Perhaps being a technical program manager or a team lead in some interesting project would be a nice challenge.

The farewell wishes from the whole Jolla crew was heart warming. I really appreciate their kindness and understanding. They gave me this awesome lifebuoy as farewell gift and it will surely keep me afloat while I try to find dry land.


Tweetian for Sailfish OS

As a hobby project I've been porting Tweetian to Sailfish OS. Last week I finally thought it was good enough and submitted it to Jolla Store, and it's now downloadable from Jolla Store and for early adapters there is a bit more advanced version available at OpenRepos.net

Here is how latest version runs on Jolla:

Big thanks goes to Dickson Leong for creating original Tweetian.

All the features in our sailfish port come from the original. Main part of porting has been adjusting the UI to suit Sailfish OS. For the features we have done some small changes since Sailfish uses Qt5 and the original was done with Qt4.

Big help in getting Tweetian running nicely on Sailfish has been Siteshwar Vashisht, he did the initial Qt5 port and has done many pull requests to get UI working nicely. Stephan Beyerle has helped in creating more Sailfish like icons. Thanks to other contributors too. Many of my colleagues at Jolla have provided feedback and tips, thanks for those and for making our beloved device real.



Holding a keynote presentation at this years Akademy was the highlight of my summer.

I really enjoyed keeping the presentation. Usually my presentations have been almost purely technical, but since this was keynote I told a bit more about what kind of company Jolla is and where we come from. It was nice to have the opportunity to tell my view on the Jolla story so far.

I enjoyed the conference and the co-located Qt Contributor's summit. There was a lot of interest toward Jolla, and I talked with many interesting people. Some people were curious about the device, some about the OS, and many had interesting ideas about what kind "Other Halfs" for the Jolla device would be nice. Everybody were really positive and supportive toward us, and there were a lot of people that had used and liked N9, or N900 and really wanted us to produce worthy successor to those devices.

I still like R&D work, but I have to admit that nowadays I enjoy more going to events like this to give talks and I'd probably want to do that even more often then I'm doing now. Next one that I will attend is SmartDevCon at Poland in two weeks.


Qt Developer Day Beijing and a mini tour in China

About a month I was asked to attend Qt Developer Day at Beijing and Jolla developer events at Beijing, Shanghai, and Shenzen at the beginning of June. I had never visited China before and so I agreed to go.

Our hosts arranged a fancy meal for the first evening in a gourmet restaurant. The food was delicious. I tasted the famous Beijing duck and many other great dishes.

The conference was at the second day. Marc held a keynote, and Joona had presentation about the user interface. The guys did a great job in their presentations. I had a smaller demo session about "Getting started in Sailfish SDK" in a smaller room. To my surprise the room was packed full. My colleagues didn't even fit the room. It was nice. There were many questions and people seemed really interested. Our booth was also quite popular.

Before my talk I went to my room to concentrate and I discovered this wonder:

Apparently you can have instant coffee that is also good.

In the evening we had dinner at a restaurant with a traditional upper class (royal?) style. The atmosphere of the place was amazing. There was traditional Chinese decorations everywhere and the staff were in fancy costumes. They also presented couple of dances and old music for us.

During our last day in Beijing we had some time to see the sights. We woke up really early to visit the Great Wall. Unfortunately, it was raining heavily and there was also fog, so the views weren't great. It was still nice to see it though. After coming back to the city, we wen't to the Forbidden City since we had some time. It was one of those places that are much bigger than you think. Buildings were pretty, and there were a lot of tourists. Everybody were taking pictures, all the time.

Developer meetup was at a coffee shop that was decorated in a true hacker spirit. For example the walls of men's room were filled with old keyboards. The event was nice, and people seemed genuinely interested in what we are doing. I loved the experiences we had in Beijing, but I did not like smog, traffic, and hugeness of the city. During the time we spent in Beijing I did not see the sun, the pollution was that bad. Our hosts took good care of us and I'm more than happy to revisit, but it is not place I'd recommend for ordinary tourists.

In the next morning we woke up really early again and took a bullet train to Shanghai. Shanghai felt completely different than Beijing. The skyscrapers were taller and prettier, there was a breeze of fresh air from the sea, and the old colonial style building by the river, opposite of the famous Pudong area, were really looking nice.

After the meetup in Shanghai we went to 30th floor sky bar which had amazing view towards Pudong. After one drink we head back to hotel, since the wake up was even earlier in the following day.

The last day of the trip was the longest one. We flew from Shanghai to Shenzen and went straight to the meetup. Again we met nice and enthustiastic people and they gave a really nice calligraphy as a gift to Jolla. After the meetup we drove by taxi to Jolla office in Cyberport, Hong Kong for quick visit. The office was quite small, but the place was really nice with a really cool views.

It really was a super busy week and I was totally exhausted after getting home, but it was an amazing trip and I'm so happy that I had opportunity to do it. All in all, I'm quite positive about Jolla's chances of making it in China.