Still alive, still playing with phones

I don’t have too much time to write this so I will just cut right to the chase. I used Ubuntu Touch as my daily driver for 30 days (actually a bit longer than that) but just didn’t have time to update the blog. Not that it would be any interesting, at it’s current stage none of the selling point features are implemented yet so I would have nothing good to show you other than the standard phone features. I can’t really complain either because since Ubuntu Touch hasn’t been officially released yet it wouldn’t be fair on my part to complain about any bugs or shortcomings of the system.

All I can say about Ubuntu Touch is that I like the direction it’s heading in and I like how much the community is involved in making Ubuntu Touch. I made a simple farting app today as a joke that’s available for download on the phone already. I was really surprised how fast the review process was, the whole thing took about 30 minutes, it’s probably mainly due to the low number of apps being submitted but I was impressed nevertheless.

Moving forward I’m still planing on playing with phones and other stuff here but I’m not doing any challenges for a while since following schedules obviously isn’t working for me. I’ve heard that someone compiled Firefox OS for Raspberry Pi so I want to play around with that. I also have some cool toys coming in the mail soon so that should give me something to write about in the coming weeks.

Day 7: Fairly normal use

I got trusty to work and now finally I got a few days of normal, relatively stable use. I’m saying relatively stable because I had apps crashing several times a day, and it wouldn’t bother me that much if Ubuntu would recognize the fact that something has crashed and kill it and/or restart it automatically. Instead, if for example the Messages app crashes when you turn the screen off, and then turn it on again to read the new message you got the process will be still there preventing you from viewing your messages or starting the app again until you kill it manually. It’s annoying and not because applications are crashing, that’s just part of the development process, it’s annoying because often the issue could be resolved while the phone is in my pocket and without me even knowing.

Otherwise it’s been fairly normal for the past few days. I’ve been making calls, sending text messages and getting high scores in Falling Blocks and realizing how boring Ubuntu is right now. None of the big, selling point features are available yet. Playing in terminal with all the commands that I’m used to using on a desktop is strangely satisfying though. Tomorrow I should have some more time to write so I’ll talk a bit about core apps.

Day 04: In Tahr we Trust

I upgraded to Trusty Tahr today and it seems like all of the most obvious issues I’ve been having with Saucy have been fixed. I tried replicating a couple of bugs I encountered before and I wasn’t able to do so and most importantly now the audio playback is fixed. Ubuntu didn’t leave me satisfied for too long because shortly after I tested the audio something crashed and I wasn’t able to run or install any apps. The operating system itself runs just fine but when I want to start an app the screen just turns white for some time and then does nothing. Even most basic apps like Dialer, Contacts and Messaging don’t work. Rebooting the phone didn’t make any difference. I’m going to try to find a fix for this tomorrow morning since right now I’m too sleepy. Then once I get this  to work properly I will finally be able to do some proper testing. Maybe I’m being a little harsh but I think that chances are rather low that Ubuntu will be ready for use on phones by consumers in May 2014 which was the estimated time for the Ubuntu Edge to ship if the crowd-funding campaign would succeed.

Day 2: Weird music app issues

So today I decided to catch up on some podcasts and I ran into a few issues. First of all I clicked on a link to an ogg or mp3 file the browser just opened up a html5 player which is fine and actually the expected behavior but when you tap and hold on a link it doesn’t give you an option to download the file which is a problem in this scenario. The browser does give you an option to copy the link so I figured I will do that paste the link in the terminal and use wget to download the file. That doesn’t work either because you can’t paste stuff in the terminal, actually come to think of it I wasn’t able to copy and paste anything anywhere even though the options to do it show up here and there.. I know that this is a developer preview but for some reason I expected this to work and the whole experience left me a little disappointed.

I downloaded the podcasts I wanted on my PC and just moved the files over through USB. I got into my car in the morning ready to listen to some StarTalk Radio, connected my Nexus 4 through the 3.5mm jack and then I found another issue. A few seconds after the screen turns off the playback stopped. It happened regardless of whether I turned the screen off with the power button or I just let it time out. I played around with it for a few minutes, tried different files and nothing worked, eventually I just gave up listened to local radio for the rest of the day. When I got home it got a little weird because I was not able to replicate the issue even though I’ve done it at least five times in my car. What I did notice was the fact that the playback would stop one hundred percent of the time if the music player is running in the background. I did not have time to look deeper into the issue to check if it’s actually a problem with the Music app or the operating system. And before you even ask I did not submit a bug report either, I’m taking a mental note of every issue that I’m running into and when I have some time I will sit down and try to replicate and submit reports for all of them. I ran into quite a few bugs though so I might start writing them down just so I don’t miss anything. That being said, the Phone and Messages apps work great and seem very reliable so far.

Day 1: Edges, swiping and karma

Karma Machine
Source: http://developer.ubuntu.com/2013/10/winners-of-the-2013-ubuntu-app-showdown/

One of the selling points of Ubuntu Touch is the gesture based user interface and I must admit it is pretty cool, a swipe from any edge of the phone gives you instant access to different features. If you are not familiar with this idea here’s a video that explains it very well. I think it’s going to take me a couple of days before I will get used to it but after one day I must say I am starting to like it. On the very beginning though all the swiping was a source of frustration, for several reasons. For one, it is pretty obvious that it needs a lot of tweaking, this morning after I put my phone in the rubber case I usually keep it on I noticed that since the case covers the edges of the the phone swiping from left and right didn’t work very well. In order to make it work often I have to just push the case out a bit and then swipe to get to the icon dock or to switch between running apps. Sometimes even without the cover I had to swipe a couple of times before Ubuntu would do anything. Another reason why this is annoying is the fact that it does take some time to get used to it, even though I know I’m supposed to swipe quite a few times I looked at the screen confused by the lack of buttons to tap. It wasn’t until I tried an app called Karma Machine that I realized that maybe it’s worth to spend the time to get used to Ubuntu’s UI. Karma Machine is a Reddit client in which you swipe a comment or post from the left to upvote it or from the right to downvote. So now I could have Messaging app and Karma Machine running simultaneously on my phone, I could respond to a text message and then swipe from the left edge to bring up Reddit and swipe left and right to to up and down vote comments in a thread and when I get a text I swipe from the left edge again to bring up Messaging. This creates a great, seamless user experience and I hope more developers will realize that and include swiping in the design of their applications for Ubuntu.

Ubuntu Touch Challenge Day 0

20131126_000645Some of you knew this was going to happen and those who didn’t know probably expected it anyway, it seems like a logical next step for this blog. The installation process of Ubuntu Saucy A.K.A Ubuntu Touch 1.0 was fairly easy but I can see how it could seem a little intimidating for someone who is not familiar with Linux command line interface. I didn’t have too much time to play with Ubuntu today, at least not through the touch screen. I spend a lot of time connected to my phone through SSH trying to update my contacts, there seems to be some contradicting statements as to what formats work and what don’t out there so eventually I have just given up on getting my contacts from a vcf file and settled on syncing it with my google account. I thought it was kinda odd that there is no mention of getting your contacts from a SIM card though. So tomorrow I can start proper testing and see how Ubuntu handles itself as a daily driver device.

As far as this project goes it will work the same way as it did with Firefox, I will use Ubuntu as my daily driver for 30 days and report my findings here. I will also develop a simple application and try to get it in the Software Centre witch seems to be kind of non existing at the moment on Ubuntu. This time I will try my best to not go longer than three days without a post.

30 Day Firefox OS Challenge – The Closing Statement

I didn’t really know when I was getting into when I started this project. I never used a Firefox OS device before the 30 Day Firefox OS Challenge and I didn’t even try it in the simulator. I just jumped in head first very aware of how easily this could fail and hoped for the best. On the other hand my hopes were pretty high since there is a certain standard of quality we have all come to expect from Mozilla. And the reason why I decided to go through all of this was to find out if Firefox OS is really as bad as a lot of articles I have read described it to be. So… is it?

2013-10-24-23-38-00After 30 days of using Firefox OS device (namely ZTE OPEN) as my daily driver I’m convinced that it is a great operating system for what it was made for, and it is very important to keep the purpose of this OS in mind to give it a fair evaluation. Let me explain, most articles I’ve read about Firefox OS threw it right up against iOS and Android and naturally came to a conclusion that it’s too far behind the competition and is an interesting but failed project at best. But Mozilla never intended to compete with iOS and Android, they found a void in the mobile market that Apple and Google have missed, low cost devices. Naturally low cost means low power, at least compared to the latest and greatest devices on the market, and this is the kind of hardware Firefox OS was designed to shine on. I’m not really blaming other reviewers for dismissing Firefox OS so easily, especially at its current state because I’m guilty of it too. In one of the previous posts I said that FFOS is not ready to be called a 1.0, I was wrong. It is easy to think that  Firefox OS is unfinished when you compare it to other operating systems that have been in development for much longer but the fact is that FFOS 1.0 meets all the initial goals of the project, it’s stable and it has all the features to be called a smart phone. It has served me well for 30 days and I didn’t have any major problems with it, I spend most of my time with version 1.0 but I know that most of the problems I did encounter have been fixed already in 1.1 and later releases. For someone who is using the newest available Android, Firefox OS will feel a little rough and unfinished but it’s not for them. FFOS has been made for people who couldn’t afford a smart phone before or don’t want to get stuck with an expensive contract to get a better phone. Not that FFOS is somehow dumbed down compared to the competition, I was able to do with my ZTE Open pretty much everything I do with my Android, even if sometimes it would require a few extra steps, the exception here are the hardware intensive tasks like browsing through big pdf documents. So overall Firefox OS gets my stamp of approval, not that it really matters since it’s already a success, according to information from October it made up more than 12 per cent of smartphone sales in Venezuela and almost 9 per cent in Colombia (source) which is really good for a product that the general public is not familiar with.

XKCD Viewer
XKCD Viewer is now avaliable in the Firefox Marketplace

Developing for Firefox OS was just as easy as making a website, in fact it wasn’t much different. Thanks to the fact that all apps are made in HTML5 it doesn’t require good hardware to compile and test on and because this technology was designed to render identically on different devices you won’t need to own a stack of phones to make sure your app runs well on all of them. Use of HTML5 also means that it’s very easy to port your projects to and from FFOS. If you ever had to look anything up in Mozilla Developer Network you already know that the documentation is solid. The process of submitting an application to the Marketplace is as straightforward as it could be and there are no fees involved, and even though I ran into some trouble there the support I received was great. Folks at Mozilla obviously recognize how important it is that there are a lot of apps available for Firefox OS so they made a system that is easy and non-intimidating to for newcomers to develop for and comfortable for seasoned developers.

So if you are in the market for a good, inexpensive device I strongly recommend that you take a look at one with Firefox OS on it. And if you are a web developer I think you should have an even closer look, this new market may just be your opportunity to make a fortune on a new killer app.

Day 30: The lack of a grand finale

I was hoping that the grand finale of this project could be me announcing that my app is available in the Firefox Marketplace, but that is not going to happen. My submission got rejected and after talking to some people in #app-reviewers on irc.mozilla.org it appears that the problem is not in my code but in the phone of the person who reviewed my app. The problem is that apparently the comic isn’t showing on the screen which is most likely caused by bad permission settings, no internet connection or a slow connection. If the comic wasn’t loading because of a slow connection then I only have myself to blame for it because XKCD Viewer instead of something like “Fetching Comic Strip” just displays raw XMLHttpRequest state so all the user would see is numbers 1 and 0 and probably assume that the app isn’t working. I guess I should make human readable status messages a priority on my to do list now. Well, I just have to wait another day and hopefully tomorrow I will be able to say that my app made it to the Marketplace.

And this rather unappealing note closes my 30 day challenge. It’s been an interesting ride and I’m going to give myself a day or two so my head can stop spinning before I write down my final opinion of Firefox OS.

 

Day 29: Submitting an application to Firefox Marketplace

Today I submitted XKCD Viewer to the Firefox Marketplace. I did have to make some changes to make it comply with all of Mozilla’s requirements but that wasn’t a problem thanks to the app validation tool which tells you exactly what changes you have to make before your app will be allowed in the marketplace. The submission process wasn’t any harder than registering on an online forum, I had to provide some additional information about my app, select some categories and had the option to upload some pictures and then after uploading a zip file the submission process was finished. Now all I have to do is wait, for how long I don’t know, hopefully it will only take a day or two.

You might have noticed by now that Firefox Marketplace is rather plain and boring, there is one thing though that makes it interesting. The code that makes it work is Open Source, if you are unhappy with Mozilla’s submission requirements you can make your own marketplace and serve your apps from there. And as far as I know there is no reason why guys at Mozilla wouldn’t let your Markatplace app in the Firefox Marketplace so loss of exposure shouldn’t be that much of an issue. The reason why I’m mentioning this is because I think that in the future one of the selling points of  Firefox OS is going to be more marketplaces. Telcom companies and phone manufacturers could make their own marketplace to serve apps dedicated for their customers or maybe even exclusive for them. Have you ever spend hours trying out different apps before you found the one you like? How about a marketplace that won’t allow an application in if there is already an app there that does the same thing better, and if the new app is better then the old one gets removed and the new application takes it’s place. It would be awesome for busy consumers and great spotlight for developers.

But these are just my speculations and ideas that come to me as I’m waiting for XKCD Viewer to get approved.

Day 28: XKCD Viewer

I wanted to write a useful app today but on one hand I didn’t want to get stucked with a huge project I will not be able to develop and on the other I wanted something that will let me explore some interesting aspects of development for Firefox OS. I figured I will make a simple viewer for XKCD comics. This gives me a simple base to get started and gives a good possibility to explore touch controls. Right now I just made it work with some buttons so I can make sure the app is functional an the next step is to get it through the App Validiation Test. Right now the only reason why it can’t be validated are some content security policy issues that need to be resolved since XKCD Viewer needs to run as a privileged app, nothing really harmfulm, I just have to remove event triggers from my html. Once I submit my app to Firefox Marketplace I will start working on adding simple gesture controls to it.

For those of you interested in trying it out here’s a GitHub repo.2013-11-17-05-13-28  2013-11-17-06-00-26

 2013-11-17-06-00-17