Travel laptop

I wanted to get a cheap and light laptop mostly for travel use. I did not need a lot of performance, but I wanted enough so that I could do a build of Tweetian using Sailfish SDK if I wanted to. This rules ARM based netbooks out and in practice means that device needs to have 4GB of RAM at minimum and reasonably modern CPU.

I ended up buying Acer Aspire V3-111P The device was quite cheap at 399€. The performance seems to be good enough for the tasks I had in mind and even though the hardware has a bit cheap feel to it the device looks good. Trackpad and keyboard are OK and its surprisingly fun occasionally use the 11.6 inch touchscreen for pointing and scrolling.

I've never had Windows 8 or Windows Phone device before so I was curious about the Metro UI and for the first days I used the preinstalled Windows 8.1. The UI indeed was quite nice for touchscreen use. However, a lot of the time the things I needed were traditional mouse/keyboard driven things and the mixed traditional/touch environment become quickly painful. Originally I thought of making dual boot system with preinstalled Win8 and Kubuntu. The device had secure boot and UEFI enabled in BIOS and getting dual boot to work correctly did not work right and quick Googling did not help so instead I just changed to traditional boot and installed only Linux.

Display brightness adjustment has issues and Ethernet does not get IP, but everything else works with Kubuntu. Two finger scrolling is too fast with trackpad, other than that keyboard, trackpad, and touchscreen are working quite well. 4GB of memory means that sometimes the device lags a bit, but less than it did with Windows. Also, Sailfish SDK is clearly quicker under Linux. According to specs battery should last 7h of use. I haven't measured, but my feeling is that it is probably true, could be even a little better.

I really wanted to buy a MacBook Air, but it would have been way too expensive just for travel use. I think I got good value for the money and if the laptop gets stolen or broken during a trip it will not be a huge loss like it would be with a premium laptop. I may still swap the 500GB harddrive to SSD to get a bit more speed some time later though.


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.