Having just got a new phone, I spent a while looking for good apps to put on it. I found most of the markets pretty useless. I don't know if I have different taste from everyone else, but there just seems to be a lot of dross there. The reviews tell you basically what the app does, but if there are a bunch of apps that do the same thing, it was hard to get a decent rating between them. Also, the apps are not very well categorised - 'Tools' is just too broad a category.

One, perhaps uncommon, constraint I have is that I don't have a data plan for my phone. While I'm within WiFi range I'm fine. When I'm mobile I have my net connection switched off.

Here are the Apps that I have on my phone at the moment:

TouchPal

This is a great app made by CooTek who have been making virtual keyboards for Windows Mobile for a while. It replaces the default virtual keyboard on my Hero (or any other android phone). Its predictive text seems to be better than most others, and it just seems to work better. When I downloaded this app it was free, but I'd pay for it.

There are still some rough edges on this app. While the keyboard itself is great, there are some oddities in the way it interacts with the rest of the system. I hope that these are sorted out soon.

Pure Calendar Widget

The Pure Calendar Widget is one of the few apps that I paid for. It is great! It allows me to have a large agenda for the next few days displayed on the home page of my phone. It does this simple job well. Surprisingly, this wasn't a common feature in many of the calendar apps I saw.

MoreLocale

While I purchased it in Australia, my HTC Hero was imported from Taiwan. It came with a default set of international locales, which do not include Australian English, British English or American English as selections. I assume this is to help HTC segment their market.

Anyway, MoreLocale allows you to set your phone to any of the many locales supported by Android regardless of the subset the standard preference app gives you. Useful for both developers and users of imported phones.

SIM Checker Lite

SIM Checker Lite is an app that will send you an SMS and/or an email when someone puts a different SIM card in your GSM phone. Given that the Hero is not exactly cheap, this seems like a good app to have. The nice thing about it sending an SMS when the SIM card changes is that you get the number of the new SIM card.

Security is one of those areas where I have a strong preference for Open Source. There don't seem to be any good Open Source solutions for android that I could find, so I currently use this and the following application.

Kor.im Phone Locator

Phone Locator does exactly what it says -- it allows you to locate you phone. You can send it one of two SMSs. The first one has the phone respond with its location. The second has ring on full volume -- more useful if you phone is lost at home rather than being stolen.

Share Your Board

Share Your Board is a great app for saving a whiteboard of information. The camera on your phone takes a picture of the whiteboard. An edge-detector detects the rectangle that is the whiteboard, crops out the surrounding walls, and then a perspective projection is applied to square the photo up. White balance is then applied to clean up the image. The end result is a much better image of the whiteboard than you could otherwise take. Great for archiving whiteboards after a discussion.

Wifi Analyser

Wifi Analyser is a very simple app. It prints out the available WiFi networks with their channel and signal strength in a very simple format. Useful if you want it, useless for most people. :)

OI Flashlight

This is a very simple flashlight app. No ads, low memory footprint, can have the colour adjusted; but basically just gives you a white screen. There are a few apps out there that do this. I chose the Open Intents one because I like what they're trying to do. Given the choice between two equally good, free apps, I'll take the open source one over the closed source one. Then I'll take the well-maintained one over the poorly maintained one. OI gives me both.

OI File Manager

Again, there are many file managers. I went with the Open Intents one. It works fine.

Shazam

Shazam is a great app if, like me, songs you like, but don't know their names. Simply let to record some music and it will

ConnectBot

ConnectBot is an ssh client for Android. Unfortunately there are some adverse interactions with TouchPal.

A useful feature here is port forwards. Using a port forward from this device I can access my home web server securely from the net on the android web browser.

Scientific Calculator

Scientific Calculator is the best calculator I've seen. That's not to say it is as good as I can imagine - i.e. it isn't as good as the Calculate widget I use on my mac. But it is a reasonable, albeit simple, scientific calculator.

Locale

Locale is an app that allows you to schedule certain things to happen on certain triggers. e.g. Turn the phone to vibrate only when my calendar shows I'm in a meeting.

There are various plugins available that allow you to add extra effects. Unfortunately there is no way to add extra triggers.

While I feel this should be useful, I find that I don't actually use it all that much.

MythDroid

MythDroid is the best of the MythTV remote control apps I've seen. It actually acts as a remote control, as well as giving access the EPG.

This app is not available through the market - its .apk must be downloaded and installed separately using the Android SDK.

Aldiko

Aldiko is an e-book reader. I also needed to install Stanza on my Mac to convert some eBooks to the correct format. I'm not particularly wedded to Aldiko, but it seemed the best (performance/price) of the few e-book readers out there.

MapDroyd

I wanted a map application that used the OpenStreetMap map data offline. MapDroyd does this, and seems better than the alternatives, but I'm using it because it is the best of what is available, not because it satisfies me.

SipDroid

I have SipDroid installed on my phone, but I haven't got around to setting it up yet. I used to have a sip server running on my home server, but that's down at the moment. I have this installed, waiting.

Text to Speech library

The Text to Speech Library doesn't do anything by itself. It allows other apps to speak text though. There are some other eyes-free apps available that I tried briefly, but I didn't use them, so I removed them from my phone.

MyTracks

MyTracks is a GPS logging app for android phones.

Barcode Scanner

BarCode Scanner is both an app and a library that can be used by other apps. It provides scanning of multiple kinds of barcodes, including the square QR ones. It can then do a google product search on the UPC code. There are more full-featured barcode scanners out there, but I don't actually use this it that much so I just wanted something simple. This seems to be the simplest of the full-featured readers.

Google Sky Map

Google Sky Map is a fun little app. It uses the G-sensor and compass in the phone to detect where you are pointing your phone. It then displays a labelled map of the sky in that direction.

AnyCut

AnyCut is an app that allows you to make a home screen shortcut to execute any Android intent. Very powerful. There is a simple user-interface for the basic uses of the application. There is a complex user-interface for the full power of the application. I found myself a little stuck with this app. The simple part is too simple for my liking, but the powerful part a little complex. It really needs some work on the complex UI.

I can think of two things that would improve the complex UI of this app:

  • It would be great if it could record all intents that were triggered on the phone in a short period of time, and allow you to select from those. This would allow you to program shortcuts by example. (On my Hero I have multiple intents that are detected by AnyCut with the same name. I don't want to have to figure it out by trial and error.)
  • It would be nice if there was a web site that recorded which intents are used by various apps so that you could crowdsource the intents - something like the secrets list for MacOS X.

TasKiller Free

TasKiller is one of a number of Task Killer apps on the Market. I don't really know how to choose between them. I chose a high ranked free one as I haven't really had to kill many tasks. It seems to work OK.

There is a button to kill all tasks. This doesn't seem to be something you really want to do, at least on my Hero. You'll spend a little while waiting for the TouchFLO home screen to start back up.

Android Intent Playground

The Android Intent Playground allows you to send arbitrary intents within the android system. Sometimes useful for developers (and tweakers?). Note really useful for end users.

Android Scripting Environment

The Android Scripting Environment gives you a number of scripting languages on your phone, e.g. Python, Lua, JRuby. Also comes with a Locale plugin so that the scripts can run as the effects of locale actions. Allows Locale to do most things.

This app is not available through the market - its .apk must be downloaded and installed separately using the Android SDK.

Bubble

There are many bubble-level apps out there. Bubble is the one I chose. It seems fine.

Compass

A simple compass app.

AndFTP

AndFTP is a simple FTP/SFTP/FTPS client. Given that there are no Bluetooth OBEX file transfer profiles on android yet, and Androbex doesn't work on the Hero (at time of writing), this is one way to get files to and from the phone apart from the USB cable.

AutoLock

The android OS blanks the screen to save power relatively quickly (it is adjustable, but you want to relatively quick to save power :) ). It has an annoying habit of turning off just as you're about to get back to it. If you have your phone locking for security, this can be annoying.

AutoLock allows you to have a longer timeout on the lock than there is on the screen blank. This keeps the security of the screen lock, but makes it much less annoying if you're using your android phone intermittently.

Places Directory

The Google Places Directory app allows you to find shops near your current location. Requires a net connection.

OI Update

OI Update is a support program mainly for use by developers. It provides a mechanism so that any apps that use it don't have to develop their own update procedure. The google Market already does some of this, telling you if an app is up to date, but google Market requires you to look at it. This app checks itself and notifies you.

Something like (albeit much simpler than) Sparkle for MacOS X.

OI About

OI About is another Open Intents support library. It is only useful for end-users if they have another app that uses it.

OI Safe

OI Safe stores encrypted data for both the user and other applications. The data can be unlocked once and then auto-lock at various times.

OI Notepad

A simple Notepad add. Can use OI Safe to encrypt notes, although I don't use this feature.

Google Search by Voice

This is an app that allows you to search by voice. The result is that you don't need to type long search queries. Requires net access, but then so does searching.

My Maps editor by Google

MyMaps for android is a google app for playing with maps. It allows you to overlay your own maps on the maps app.

Java/J2ME Runner

While Android is based around Java, it uses its own VM rather than the standard Java VM. This means it, by default, cannot run normal Java apps. The Java/J2ME Runner allows you to take normal J2ME apps and run them on an Android device.

In general this doesn't work amazingly well. The apps run, but they aren't pretty. You'd be much better off with a native app. But, if you need to run a particular app, and there is only a J2ME version, then this is a great solution.

In my case, I wanted to run MobileOTP... until I get a proper android port written.

DeTeXify

DeTeXify allows you to draw a LaTeX symbol on the touch screen and it will try to figure out the tex to give you that symbol. I assume this app uses this web service. Requires a net connection, and isn't perfect. There are times when I'd just like a nice PDF latex reference manual so I can look up the command myself.

aiMinesweeper

A Minesweeper game.

TiltMazes

TileMazes is a Sokoban/puzzle style game, not a NeverBall/arcade style game. Controlling it with the 'tilt' sensor is actually a bad way to play. Fun though.

Sudoku Free

This is a simple Sudoku app.

BreakTheBlocks Lite

BreakTheBlocks is a simple Breakout clone. You have to move the paddle to hit the ball. The ball has to hit all the blocks to end the level. Touch control is an interesting addition to the standard breakout game.