Posts tagged ‘android’

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.

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

Background

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="http://schemas.android.com/apk/res/android"
      package="net.heikkitoivonen.android.caltroid"
      android:versionName="1.1.1" android:versionCode="1110">
 
    <uses-sdk android:minSdkVersion="1"></uses-sdk>
...

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.

d20 Ability Calculator for Android

I just released my second application for the Android platform, called d20 Ability Calculator for Android. Just in time for your weekend gaming session ;) It is again a tool to scratch a personal itch: while I like the ability point buy system for Dungeons & Dragons that I first saw with the 3rd Edition, for some reason it has always been annoying for me to calculate the ability scores that way. Especially when your campaign allows for lots of points, like we used in the Dead of Winter campaign. This application makes it easy:

d20 Ability Calculator for Android 1.0 screenshot

d20 Ability Calculator for Android 1.0 screenshot

The d20 Ability Calculator does not aim to be a full character generator. There is the venerable desktop application PCGen for that, although the learning curve to be able to use PCGen is pretty steep. But the Android application is a quick and easy helper when you don’t (or can’t) deal with PCGen and want to quickly create a new character. And let’s face it, you just about always will have your phone with you, which can’t be said about your laptop (even if you have one). There are already several dice applications available, so you can gather quite an arsenal of role playing utilities and tools for Android.

I was quite surprised that there does not appear to be anything like this available for the iPhone in the appstore: search for d20 with appshopper. You can use Cyrket and androidstats to keep track of how this application is doing in the Android Market:

From programming point of view the application presented some new challenges for me to overcome. I needed to launch the configurator Intent and inform the main calculator when that was done. The landscape layouts are also significantly different from portrait, which was not the case with the previous application. I became a fan of Toast, and will definitely consider using something similar for my other, non-Android applications as well. I also feel like I am slowly becoming a better Java developer. I still feel like my beginner Java skills are still the biggest hindrance in me getting anything done quickly on Android. Oh, and I definitely need to get better at making icons, and using custom buttons, backgrounds and so on to make esthetically pleasing applications.

I did the initial checkin on February 22nd, but didn’t really start working on it until March 1st. After that I spent probably 4 hours per evening, 6 days a week on it. So about 50 hours total I’d say.

There are lots of potential improvements and new features, but I’d like to get some user feedback first to see on which areas I should concentrate first. Drop me an email or leave a comment, and enjoy!

Caltroid Upgrade

I just pushed the 1.1 upgrade of Caltroid to the Android Market. The 1.1 release includes the upcoming March 2, 2009 timetable and ticket information.

While the free open source version got a few hundred downloads (as far as I can tell, since the distribution was picked up by sites I had not even informed about Caltroid’s existence) in about one and a half months, the 1.0 version on the Market got 12 happy customers during the first week. Everyone who bought it is still using it, and I heard no reports of any problems with it. Four people rated it with an average of 4.25 stars, and one person left a (positive) comment.

I hope my users will be able to upgrade without a problem. Caltroid does not use the “copy protection” scheme which seems to be causing problems for some, nor does it use a database which seems to be another problem area during upgrades.