Textor is now the prettiest SMS in town

Textor started as a proof-of-concept for a very common use case for landmarks - simple sharing of location through SMS. Since then we have been adding new features and streamlining the existing ones. A while ago we finally got to the todo-item “give it a great look and feel”. Making the app look great also makes the application easier to use through more consistent use of colors and other visual clues. And many of the changes that first seem purely visual actually make a big difference in usability.

Here’s how Textor now looks, in version 1.5.0:

The new look of Textor

The most important usability improvement is in the text editor and message list. When you are composing a message, you often want to check back on the previous discussion in the thread. With the new Textor, when you scroll through the thread, the editor scrolls with the message list: You have the full screen available for skimming through earlier messages. This makes a huge difference, especially so if you are writing a long message.

Scrolling in the editor and message list

Delivery reports in Textor also have great usability: They are indicated by a symbol to the right of the sent message, and the symbol changes immediately when the message is sent to the network, and once again when it is received.

Delivery report states for a message being sent

In the Inbox view, or thread list, we used to have a full sized “New message” list item, which took up the space of one thread. This has been replaced with a smaller compose button in the upper right corner, allowing for one more thread to be shown. One may think that such a small button is hard to press, but this is not the case: The clickable area for this button is much larger than the button itself, making it very hard to miss.

Compose button hot area

The combination of many small excellent details like these make the new version of Textor feel very good - to the level that the users mood also improves :). And of course it still has all the good old features:
  • Schedule messaging - also with location updates
  • Automatically location to messages
  • Cool voice announcement when receiving SMS
  • Easily add contacts to messages
  • Start calls directly from Inbox or compose view

You can download your copy from Android Market Google Play, or update your already installed Textor via Play Store on your phone to enjoy the best and prettiest SMS editor in the world.

Update April 25, 2012: We just released version 1.5.1 which fixes problems with contact names and images on devices with Ice Cream Sandwich (Android 4.0).

Scheduled messaging and a new name: Textor 1.4.0

Today we released a new version of Textor, the app formerly known as Gecko SMS. It is available now for Android phones on Google Play.

There's two major changes in this release:
  1. Send later, with location updates and repeat
  2. New name and icon for the application

Send later, or scheduled messaging, means that you can write a message and enter a day and time you want it delivered.

Ever came up with something to send in the middle of the night, and did not want to wake up the recipient? Send later saves the day.

With repeat and location update Send later becomes a simpler tracking tool: Setup a repeated message when you start a trip, and the recipient can follow your location without you touching your phone.

The cool user-interface for time and day selection is built on the very nice android-wheel open source widget. With some tweaks we were able to create a much nicer looking, and more useful, time/day picker than the usual Android version.

We think that the new name better explains what the application does: Texting. Textor is the best and most exiting SMS application!

The new icon builds on the symbol we have selected to use for "a landmark". Some things that can be seen in this symbol is a compass rose, representing location, and the letters x and o, from the new name. With a bit of imagination you can also see something expanding, meaning the global coverage of our data.

We hope you like these changes!

Add number -feature, Search fixed: Gecko SMS 1.3.1

Time for an update: Gecko SMS version 1.3.1 is now available from Android Market and other sources. It contains a few improvements:

  1. Add number -feature
  2. Search fix
  3. Other small UI fixes
Add Number is a simple but much missed feature: Have you ever been writing a message and wanted to add the number of a contact? There is not simple way to do that in the standard Android Messaging.

Now in Gecko SMS, one can press Menu > Add Number, select a contact from the list, and the name and number gets added to the message text. Simple and effective!

Note: When the contacts list is showing, the Search-button can be used to search by name instead of scrolling through the list.

The main menu of Gecko SMS has a Search item, which allows for searching for a word in the text of all messages. Due to a configuration issue, this functionality was not working in all devices. This has now been fixed. The same functionality is available though the Search-button if your phone has one. So go ahead and dig into your messaging history!

Besides these two bigger changes, there is three smaller improvements:

  1. When working on Search I found a bug in the Android system code that causes search suggestions to fail in message containing "odd" characters such as ä or ö. This was corrected to Gecko SMS, and reported to Android bug database.
  2. When composing a message: The menu items have been reordered to a more optimal settings. For example: Add subject was moved to the end of the menu.
  3. New message: When entering a contact name, the "alphabets to numbers" item was moved to the end of the list, after matching actual contacts. Assumption is that the contacts are more useful than an "GOOGLE = 466432"-item.

Stay tuned for more improvements, join our Facebook group! If you missed our previous release, here's a video demonstrating the new "Say sender's name"-feature:

And one more thing: If you came here from r/android: Hopefully some of the discussed changes will be in the next release, however I am hoping to still get some more ideas and comments out of that community to get some more perspective.

The baby has started talking - Gecko SMS 1.3.0

A new Gecko SMS version, 1.3.0, is available now from Android Market and other sources.

The most visible (or audible, actually) new feature is Say sender's name: Gecko SMS can now use the built-in Android text-to-speech engine to tell you who has sent the message, so that you can know the sender without looking at the phone, or taking it out of your pocket.

But there are lot's of other changes as well: Landmark view got a new button for "Own Location", that takes you back after panning to faraway locations. This functionality used to be available through a double tap. Now double tap works as zoom in, like in other mapping applications.


Much development time was also spent on speed: optimizing the way we handle landmarks and other data in various situations. The tangible improvement is that landmark panning and zooming feel very snappy and changing between screens is fast. Even in lower-end Android devices. Trust me: I am using Gecko SMS on a 79€ Huawei X1. That is 79 euros for an Android phone, without any contracts, not bad! More about that experience in a later blog post.

Other improvements affect forwarding and editing messages, and how subject texts in multimedia messages (MMS) are handled:


  1. When forwarding a message, landmark is now disabled by default to keep the original message intact.
  2. When editing a long message, the text field can now be scrolled normally
  3. In New message, the To:-field now shows all contacts regardless of phone number type (Home/Mobile/etc.)
  4. When forwarding a multimedia message without a subject, Gecko SMS no longer creates an "Fwd: "-subject. MMS is not used like email and most users do not want a subject to come up like this.
  5. Viewing an MMS with a subject had the subject surrounded with ugly <Subject: > -tags, now subject is shown in plain bold text.

If you are wondering how the last two problems got there in the first place. This is because Gecko SMS is built on the native Android messaging, which serves as a great starting point for Gecko. Builging on a native platform component is possible due to the Open Source licensing of the Android platform. But one has to wonder a bit: Who has specified the Android user interface for these exact cases?


What do you think of these improvements? If there some functionality you are missing in Gecko SMS? If you are not using Gecko SMS yet: What would be the feature that would make you want to use it? Let us know in the comments below, through email or through our Facebook group!

Gecko SMS fix release 1.2.1 is out, Thank You users!

Last Friday, we released a new version of Gecko SMS with a lot of major improvements. Unfortunately there was a bug in this version, which caused a Force Close -situation for a few of our users. This has now been analyzed and fixed, and a new version is available in the Android Market.

Most of the time, bugs in Android applications are easy to fix as the system has a built in mechanism for reporting the exact situation of the crash. This was the case now as well: Even when the problem only occurred with the user in certain locations, and thus was not caught in our testing rounds, the reports pinpointed it easily.

So I would like to give a big Thank You to all of our users that have reported this problem. And for everyone using and Android phone: When you get the "Force Close Screen of Death", please consider pressing Report and Send. A developer somewhere thanks you for that.

By the way, there is also two landmark related improvements in this new release:

  1. "Landmark disabled" state is now stored, which means that if you are not in the mood for using location in the messages, it is enough to press "Disable" once.
  2. Landmark adjuncts (At/Near/Going to) are also stored, per landmark, so when you select that you are "¤ At Home", it is enough to do this once and the At-adjunct is automatically used whenever you use the Home -landmark.

New Gecko SMS version, v1.2.0, now with over 2 times* more focus!

A new version of Gecko SMS is finally ready and available in the Android Market. If you already have Gecko SMS installed in your phone, you can update it easily - see My Apps screen under the Market -application.

This version includes three major improvements:

  1. Redesigned layouts with better focus on messaging
  2. Improved usability without Internet, improved landmark data caching
  3. Global panning: zoom out and use landmarks from anywhere

Redesigned layouts

Before, landmarks were shown visually in both the conversation list and the message composition view. Touching this area made the landmarks show up in full screen. When composing a message, there was a separate landmark menu.

In the new version (1.2.0), the messaging views only show the landmark text, and a button which gives access to the landmark view and landmark options (Disable, ¤ At/Near etc.). This makes the user interface cleaner, and gives better focus on the task at hand - messaging.

Below is screen shots from both versions, highlighting the changes:

*These images also explain the "2 times more" -claim: Earlier version used in average about 29 % of the messaging screens for landmarks, the new version uses only about 12%, 29/12 ≈ 2,36. As an engineer, I just could not post the number without this explanation.

Improved data caching and transfer, global panning

Changes 2. and 3. are both part of a rewrite on how landmark data is handled in Gecko SMS. The old versions gave access just to the 50 closest landmarks, which is a simple approach and worked pretty good for most use cases.

In the new version however, one can pan and zoom to anywhere in the world. All downloaded landmark data is stored locally in the phone, which means that after one use it is instantly available without an Internet connection.

If you pan and zoom around in Gecko SMS, you may notice green or cyan rectangles shown. These mean that Gecko SMS is downloading more detailed landmark data for that particular area. Below is an example of zooming into Buenos Aires, when landmarks are only partially loaded.


So go a head, check it out. And when you do try the new version, please don't hesitate to send us comments at geckosms@geckolandmarks.com, or using the blog comment form below!

Without GPS, how does Google and Android know where I am

Simplified diagram of the messages passed during a network location lookup
in Gecko SMS. The messages are usually passed purely inside the phone
with cached data, sometimes over the Internet

Gecko SMS and many other applications are dependent on knowing the location of the phone they are running on. The usual way for a device to get its location is using GPS, Global Positioning System, but this can be slow, use a lot of battery, and is sometimes totally unavailable; especially indoors.

But Gecko SMS for Android phones works really well even when GPS is turned off or not available. How is this possible?

The answer is "network location", which is a method based on either the mobile or WLAN networks that the phone can detect. Basically each cell (i.e. tower, base station) in a network has a unique ID*, so it is possible to build a list of all the IDs and their coordinates. Mobile phones are always connected to some network cell**, so to get the location or the phone, one can look it up from this list based on the current cell ID.

The tricky part is getting a list of all the mobile network and WLAN cells in the world, with their coordinates. Mobile operators do not usually publish the locations of their towers, and there is no central list for wireless network routers either. This means that someone must physically go to all possible places and record the IDs using some kind of a device. This is where big companies have great advantage, and for example Google has two major ways for doing this. The first one is by crowd sourcing: Everyone that uses Google Maps on a mobile phone with GPS enabled is also feeding back network data to Google. This is quite brilliant and works well: the phone needs to contact Google servers to get the maps, so there is little overhead for also gathering the network data. It also means that for Google Maps, network location is really reliable in all the areas where they have active users. The second method that Google uses is data collection by their Street View cars that drive around many countries. In Europe, there was some controversy about this as the cars accidentally collected a bit more data from the WLAN networks than just network IDs.

Such a list of ids and locations for each cell in the world is too big to be stored in a phone, and needs to be constantly updated, so the full data is stored on servers. The phone uses normal mobile internet connection to get the relevant locations from the server when it needs them, and stores these for later use.

This whole solution from Google is built into the Android platform, so all Gecko SMS needs to do is use the provided APIs and it can almost always get a location to work with. Pretty neat!

Also other new smartphone platforms have similar functionality built-in, but this has not always been the case. Last year when we built a prototype of Gecko SMS for the older S60 Symbian platform, we had to deal with the cell ID lookups and related database queries in our own code. Simple HTTP requests, but nevertheless tedious to get right especially when network connections and location tables are not 100% reliable.

Network cell IDs are not a foolproof way of getting a location. As networks change, there is a chance that the list of locations for the cells is outdated. I noticed this first hand a few months ago when I moved house: my WLAN router had physically moved, but still had the same ID as before. Thus at my new place, all my test phones were giving the location to my old place. This continued until I renamed the WLAN, so Google picked up the change. These kinds of incidents however are rare enough that it basically "just works".

Another limitation is that especially for GSM networks, a single network cell covers a wide area, so the location defined by it is quite inexact. GSM cell location is accurate to about 200-3000 meters, whereas WLAN and WCDMA (3G) cells can provide an accuracy of 50 meters or even less. This inaccuracy is something that has to be handled on the application level. In the case of Gecko SMS, the application learns the users choices and can automatically single out the exactly correct landmark even from inexact location information.


Google Maps and Gecko SMS show current position with a large circle to indicate that the location is inexact, in these examples detected from a mobile network cell ID.



*) That was a bit simplified: For GSM/3G networks this ID contains Mobile Country Code, Mobile Network Code, Location Area Code, and Cell ID. For CDMA it is System Identification number, Network Identification number, and Base Station ID (SID, NID & BID). For WLAN networks it is the MAC address and network identifier (SSID).

**) If the phone is not not in airplane/offline mode