Archive for the ‘Mobile’ Category.

Caltroid 1.3 Supports Small Screens

Not a big update to Caltroid at this time, but I wanted to get out the release because Caltroid now works in 320×240 resolution (QVGA), and there are even devices out with that resolution, like the HTC Tattoo. Of course bigger screens will work as well (I’m looking at you, Verizon Droid). The other minor user visible change is that when you locate the nearest station with GPS, the destination station will stay the same whenever possible.

Under the hood I fixed the spaghetti layout into pretty clean RelativeLayout affair, except for the red strip container which is LinearLayout so I could use layout weight to size the departure and destination stations the same. Apparently this can be a performance hit, but it is probably overall faster than it used to be. (Yeah, bad me, I didn’t measure.)

Figuring out how to make an apk that would work in all SDK versions took some time as well. I ended up creating layout-320x240 and layout-land-320x240 directories to put in the QVGA specific changes needed. I should change to layout-small instead, but for some reason I could not get this to work. I also added android:targetSdkVersion="4" into AndroidManifest.xml and built with 1.6 SDK.

Final change in place is that I exported using the wizard in the Eclipse plugin, which should zipalign the apk and make the app use less memory.

Oh, I should note that Caltroid passed 100 users last month. Thanks to everyone who purchased it, and made it the best rated Caltrain schedule application for Android!

Are Android Developers Making Money?

I read about a survey of iPhone developers which found that a third had made under $250 and 52% under $15,000. Not exactly reassuring for anyone wanting to earn a living with iPhone apps.

As far as I know, there hasn’t been any similar studies done of Android developers, so I decided to set up a simple poll to see how we compare. I couldn’t find out what the iPhone survey counted as earnings, but I am limiting my first poll to just application sales and in-application advertisements. I have read Mark Murphy’s 40 Android Business Models posts, so there are definitely more ways to make money, but let’s start with the survey I set up.

With that set up, head over to the poll page.

August Caltrain Schedule Update

Caltrain updated schedules today, August 31, 2009. I released updated versions of my Caltrain schedule applications last night, so this is a little delayed notice.

My first application is CaltrainPy, which started out as a Python app for my phone, but it did not work so great on the phone after all, at least on Windows Mobile. It is fine for desktop use, though. I added schedule scraping functionality later to support the next two applications. Fully open source and all that.

CaltrainJS is a web version, optimized for Windows Mobile browser. It of course works with other browsers as well, although it hasn’t been optimized for them. CaltrainJS is free to use, but not really open source.

The last and most fully featured one is the Android port, Caltroid, which is a commercial version. I’ve added a little Google Comments gadget on the Caltroid homepage in the hopes that people would find this an easier way to communicate with me on what new features they’d want, what is broken and so on. The Android Market comment system doesn’t let me respond to comments in any sane manner, but the Comments gadget does. The gadget isn’t perfect, but hopefully better than nothing. This is also first time I am testing out Google Gadgets, so time will tell if I’ll keep using them.

The only application to gain small new features is the Python version, which basically just got some properties to identify which schedule it embeds and what schedule date it was confirmed to be able to process. I have some additional ideas for improvements, but due to currently being somewhat sleep deprived those will have to wait a bit. But if you do have ideas, please let me know.

Another Mobileish Prediction

Time for another1 (mobile-ish) prediction… Google has stated that mobile application stores are just a passing fad, and the future lies in browser-based applications even on mobile devices. This attitude would certainly explain their lackluster approach to fixing Android Market and overall Android ecosystem issues, as well as the downright schizophrenia with Android vs. Chrome OS. I think they are 80% or more right, but I think it is going to take longer than they’d like and there will still be a sizable minority that will want and need native applications.

I think the current situation on the desktop is a good indication of how things will play out for the mobile space. Most new applications are released on the web. With advances in web standards, JavaScript and overall browser performance, I think even 3D gaming will eventually move into browsers.

As far as timing goes, I don’t think anything will really change in the next two years for mobile applications. Most apps will be native. But in about 5-6 years I’d expect most of the applications that are currently available in desktop browsers will be in equal positions on mobile devices. Things like email, calendaring, word processing and the like. As for 3D gaming, I think it will be around 10 years in the future before we’ll see that in mobile browsers (it isn’t really available in desktop browsers either, yet).

Another trend I see is that most web applications will offer a free version and get revenue through ads or some other means. However, I don’t think that is a reason to abandon mobile markets today.

So to summarize: eventually most applications will be browser based even on mobile devices. However, there are still several years where native applications make much more sense in just about every possible application category. It seems to me it would be worthwhile to invest moderately into mobile application stores to make them easy to use. And even after mobile browser applications have taken over majority of the market, there will be people who will want native for one reason or another. Given the huge number of mobile users, that number of people will remain a sizable market (as in, one percentage point equaling around 30 million devices by a rough estimate).

1 It seems my prediction is on the mark except for the CPU speeds, which I had the most doubts about. It seems like we’ll be lucky to pass 1.5 GHz by the end of 2012 at the current rate in mobile phone CPU speeds.

ChandlerQE for Android

The Chandler ecosystem gains a new member: ChandlerQE for Android. Your phone is always with you, so you can quickly send notes to the Chandler Hub, and then use Chandler Desktop or your desktop browser to manage your items.

To get started, you must first create an account on Chandler Hub with your desktop browser. It is easy, and free. Of course, if you are already using the Hub you can just use your existing account. This step cannot be done with the browser in Android, because Chandler Hub does not work in a mobile browser (which is the main point why I made ChandlerQE for Android). If you are new to Chandler, be sure to check out the quick product tour.

When you first launch ChandlerQE for Android, it will ask for the Chandler Hub username and password. It will also try to automatically connect to the Hub to fetch your collections every time you change your username or password. The main UI consists of the title field, the content field, the collections list, and the send button. Enter the title of your note in the title box, then content in the content box, and select the collection you want to send the note into. If your collection is not listed but you know it is on the server, select the “Update from server…” item from the list, and after the list is updated, select the collection you want. Finally hit the Send button. After a little while you should get message in the UI informing you that the send was successful.

ChandlerQE for Android 1.0 Screenshot

ChandlerQE for Android 1.0 Screenshot


Unless you lived under a rock the past few years, you have probably heard of the Chandler project. Mitch Kapor of Lotus fame founded the Open Source Applications Foundation (OSAF) in 2002 to create great Open Source software. The flagship project is and was Chandler, the note-to-self organizer, which aimed to be the killer personal information manager. While Chandler didn’t gain mass adoption similar to Firefox, it is still pretty innovative and used by thousands of people. There is even a book written about Chandler development: Dreaming in Code.

OSAF is running a free instance of the Chandler Server, aka Cosmo, called the Chandler Hub. The server is written in Java. Its original purpose was to enable sharing between Chandler Desktop clients, but the server quickly grew a UI as well, so it can be used on its own. Unfortunately the web UI is not usable in a mobile browser such as the one that ships with Android, nor will the desktop client – which is written in Python – run in a mobile device. So we needed a native client, hence ChandlerQE for Android.

Even while I was employed by OSAF between 2003 and 2008 we were thinking of ways to get revenue to make the non-profit foundation self sustaining. Many different models were considered and dropped. Currently OSAF relies purely on volunteers and donations. I have been tinkering with Android since early 2008 and when the Android Market went live with paid applications a light bulb went on. People have been willing to pay small amounts of money for mobile applications, so why not try that with Chandler? So I proposed to OSAF that I will create a Chandler-on-Android application, sell it on the mobile marketplaces since I am already doing that with some of my other projects, and donate a percentage to OSAF. OSAF said yes, so here we are! Depending on how well this takes off, we might consider something else in the future.

And if you need one more reason for ChandlerQE for Android, there already was ChandlerQE for iPhone. That just won’t do for us Android fans. So what are you waiting for, go grab ChandlerQE for Android!

Minor Update to Caltroid

Since the Android Cupcake version has started rolling out to devices I went through my Android applications to see if any needed updating. While I was most concerned about UI glitches, there were none. However, Caltroid sources included use of the Google Maps API although it was not enabled in the Caltroid UI because it wasn’t fully ready yet. However, the maps API usage is different in Cupcake, and this prevented me from installing Caltroid on images running SDK 1.5 aka Cupcake. Rather than finishing the map activity, I decided to simply rip it out for now.

When I tried to upload the new version to Android Market I was greeted with the dreaded minSdkVersion error. The Android Market now requires you to specify the minimum SDK version in the manifest file. The trouble was I did include it. Luckily the workaround mentioned by many in the forums worked for me: just place the uses-sdk element as first child of manifest element:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=""
      android:versionName="1.1.1" android:versionCode="1110">
    <uses-sdk android:minSdkVersion="1"></uses-sdk>

8525 as USB Drive in Ubuntu

I have had an AT&T 8525 cell phone running Windows Mobile 6 for a couple of years now, and one of my remaining issues with it is that I can’t sync it with my Dell Latitude D820 running Ubuntu 8.04. Yesterday I took a picture of a cool license plate with the phone and wanted to put it on my blog, but didn’t feel like booting my other computer running Windows just to extract the photo. A few web searches later I am still no closer to syncing, but I was able to access the SD card via USB cable plugged into the phone, and copy the photo from the card to my hard drive.

If you try to plug in the 8525 via USB cable to Ubuntu, Ubuntu will see this as a new internet connection. There are applications you can install on the 8525 that when running, make the phone appear as storage. At first I tried WM5torage, but Ubuntu did not seem to recognize the phone as storage even then. I even managed to hung WM5torage so bad that I had to reboot the device. After that I read about someone having succeeded with Softick Card Export. I installed it, launched it, then plugged the USB cable in. Success!

Softick Card Export is not free, but it has a free evaluation period. I will probably not end up buying it since I am thinking about getting a new phone soonish.

d20 Ability Calculator for Android – Statistics

Almost a month ago I released a little tool for people who play role playing games using the d20 system. The tool takes care of the calculations when determining starting ability scores using the point buy system.

The sales have been pretty depressing. Seven people bought the $0.99 application the first day, and of those, three canceled the order. I had four more sales trickle in the next four days, then nothing. Of those four, one canceled, and one had authorization problem with their credit card. After I added an option to buy it through SlideME for international buyers and mentioned the application on a handful of RPG forums where a few hundred people have seen the release announcement, only one more person bought it through SlideME. The buyer was located outside the United States.

It seems pretty clear most people bought the application on impulse after seeing it in the Android Market new applications list. I counted 110 applications releases within four days of my application, so it must have disappeared from the new list pretty quickly. When I released my first application, it got a longer period of initial sales, probably because fewer applications were being released. I am guessing high cancellation rate might be caused by the short description leading people to think the application is something else.

I just released new 1.2 version which added new features, and also released a free, ad supported (through AdMob) Lite version which is effectively the paid 1.1 version. It might break 100 downloads within the first 24 hours. Looking at AdMob statistics, the application is used a lot, but this will no doubt be a passing trend since I would think even the most hard core gamer would only need the application a few times a month at most. It is way too early to predict advertisement revenue with any certainty, but comparing first day ad revenue to first day sales shows ads brought in only 2-3% compared to sales.

AdMod also includes ad performance statistics based on geographic location. North America leads with 41%, but surprisingly South America comes next with 39%, then Europe at 20%, and Asia gets the rest with 1%. I am not sure if I can trust that South American statistic, but the rest seem credible.

The Lite version pops up an alert to inform users there is a version with more features and without ads, but so far there have been no more sales of the normal version. I guess it would be a bit too early to expect people wanting to upgrade within a day of usage.

Although there have been too few review comments and ratings left to make any statistically significant observations, it was still interesting to note that for the paid application the average rating is 4.5/5 (all given for the 1.0 version), whereas the free version has been rated at 1.5/5 (which is effectively the same as the paid 1.1 version). You can see the Lite ratings on Cyrket.