2014-02-08

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.

2013-08-31

Akademy

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.

2013-06-20

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.

2013-05-20

An engineer's view on product launch

Today we launched the Jolla-phone:

We have worked hard to get to this point and there is still a lot of work ahead before this beauty is in the shops. Launch is one of the major milestones in any product's lifecycle, and many potentially good products do not even see that day. I'm so happy that we have gotten this far and the general public starts to see what we have been cooking.

For an engineer last weeks before product launch are typically quite intense. There are a lot things to do.

This time around I was pretty much doing my normal development work until almost last week before the launch. I was initially not too involved in the launch preparations since I was thinking that the app I've been lately working on would not be demoed, since it was not quite yet good enough. However, last week there was demand to get that also in a bit more polished state so that it also could be demoed if needed. I got some additional help working on it, and we got the biggest issues solved.

At the end of last week I was also asked to help with a demo content a bit so I did couple of longer days helping to get that done. Friday was the longest day for me. In the morning I quickly updated one of our older apps since somebody from management thought that we need to be able to quickly show it if needed. After finishing updating the app, it was time to prepare the devices for the hands-on sessions. We had few of the devices at the office and we were going to put the final software and setup on them, and then test that it all works perfectly. This took a bit longer than we thought and it was about 10 at the evening when we were ready.

I'm actually quite happy about how the last minute crunch went. Some people did work on last weekend, but most of the stuff was ready early enough. In some launches it has been much worse, I remember times when practically whole teams have lost their final weekends for last minute preparations.

Today and the next few days are one of the most interesting days for me. This is because now the feedback starts to come in. I love reading feedback on the device and on the software. The thing is that when we plan and design the features, the look, and in general how it all will works we do a lot of thinking and speculation on how people will use the device and what to they need. There are sometimes quite strong debates around these areas ("It needs to have this", "it can't behave like that", "That color is not pink enough"). Now we start to really see if we have been right or wrong in our thinking, and I find it very fascinating to know how well we have understood people's needs and answer them with a product.

2013-05-14

Replacement for Google Reader?

Does complete replacement for Google Reader exist?

Threre is just couple of weeks of time to find a replacement and so far I haven't found what I need. To me most important part is to have 3rd party API available so I can write a client for my favourite mobile platforms, which obviously are MeeGo Harmattan for my N9 and Sailfish OS for Jolla. I'd also like to have good Android tablet app for my Nexus7 and decent website when I'm at work.

Best part of Google Reader was that it offered all of these for free. The replacements I've seen so far are either paid solutions or are not offering an API. I'd really love to find a free solution (free with ads is fine).

FeedWrangler is the paid solution I'm currently considering if I can't find a decent free one. It's 19$/year and looks like it offers the things I want.

I haven't looked into the alternatives in that much detail so I'd really appreciate any recommendations.

2013-05-09

Swipe on!

Nokia's new Asha 501 is quite an interesting device.

I like the user interface, which is quite close to the Swipe UI on the N9. On demo videos UI is running quite nicely, even though the device is cheap and probably quite low-end specs. My understanding is that making modern UI running nicely Nokia ditched S40 platform and developed a new one based on the SmartedPhone OS. To me this makes the Asha 501 one of the most ambitious devices Nokia has developed recently.

I'm happy to see Nokia innovate again and that they had the guts to actually ship. Battle agains cheap droid manufacturers will be hard. For true innovators sake I really hope Asha platform will succeed.

Nokia's challenge is to make consumers understand the benefits of having platform optimized for low-end devices. The problem is that on paper these cheap Android devices look good, too good to be true if fact. And in real life most of the time they aren't good at all. Their battery life sucks, they are buggy, despite seemingly nice specs the UI can be laggy, and they are quite complex to operate. Some devices are obviously better than others, but in general at least usability, durability, and battery life should be clearly better in Asha 501. I'd also expect basic phone functions (calling, texting, etc.) to be way better in Asha given Nokia's years of experience in building mobile phones.

I think there are two markets for these new Ashas. Developing world is the obvious one. The second one is people in western world that want some smartphone features, but do not want complex device. I think iPhone has a lot of users that prefer it over Android just because its simpler to operate. Now, with modern UI Asha is way cheaper alternative and should be just as usable. For example I think I could recommend Asha 501 for my retired parents, or I might buy one for myself as backup phone for travel, etc.

As an application developer, I'm not that interested in the platform. I'm generally ok with Java as language, but I do not like traditional UI Frameworks and as long as there is no proper declarative way (like QML) of building the UI, I'm not going to bother. Good interface building tool might help here, for example Apple's interface builder is quite nice. I haven't actually checked if there exists one nowadays for J2ME, but I doubt it. As an alternative to J2ME it is possible to write Web Apps for Asha platform. These devices are having quite limited performance and with web technologies its even more difficult to write well performing apps so I'm not really interested in trying that route either.

It has been a while from the last time I was as exited about Nokia product as I am now. Glad to see old colleagues still delivering cool stuff.

2013-03-10

Tweetian

One of my hobby projects for Sailfish OS has been porting Tweetian on it. This is not a complete port yet. There is plenty of stuff that does not yet work, but basic stuff is already working as you can see from the video below.

My code is still hackish and incomplete. I'm hoping to get it soon to good enough shape so that I can contribute it to upstream project. In the meanwhile sources of my port are available be found from my github fork under branch sailfish-port.