Text enforcer hands out heavy fine

June 27, 2006 | Comments

Text enforcer hands out heavy fine: "One of the chief complaints was that one consumer had sent the text 'Stop sending me this message’. The rules are that the Stop command should be interpreted as an indication that the recipient doesn't want to pay for anything else.

Summit's response was their software had seen the word ‘messages’ and interpreted the letter ‘a’ in that word as attempt to answer a multiple choice question where ‘a’ happened to be the correct answer. Yeah, right."

Interesting, and serves as a reminder that people see text messaging as a conversational medium. Whilst the logo and ringtone industry - and TV voting - might have done a fair job in training folks to use properly keywords to talk to SMS services, there's still a need to handle, or at least attempt to account for, the vagaries of everyday conversation if you're building these services.

Fred Brooks quoth

June 27, 2006 | Comments

Fred Brooks quoth: "Much of present-day software-acquisition procedure rests upon the assumption that one can specify a satisfactory system in advance, get bids for its construction, have it built, and install it. I think this assumption is fundamentally wrong, and that many software-acquisition problems spring from that fallacy."

Designing J2ME MIDP Navigation

June 27, 2006 | Comments

Designing J2ME MIDP Navigation: "Yes, that’s right: all phones now have a Nokia user interface with J2ME Polish applications!

I can understand this decision, but it results in a number of pretty - but very hard to use - applications. A RAZR user suddenly faced with an Options menu to select a radio button will be very confused."

Nice post - and yes, this is something we see again and again. Developers of mobile apps often go for consistency across devices over and above consistency with the underlying individual UI metaphors, and the place this is most obvious is in placement of options menus.

Motorola screenshot Nokia Series 40 screenshot
Ghost Detector
Motorola screenshot
Ghost Detector
Series 40 screenshot

When we're developing MIDP apps, we tend to work around this using a combination of tools: the lovely Antenna toolkit, a set of preprocessing directives embedded into the source code, and our wonderful internal UI toolkit, called Cactus (or Sponge - depending on who you ask ;)). With this combination of tools, we get to:

  1. Specify the UI completely - no horrible MIDP high-level components need be used, we get pixel-perfect control over what appears on the screen no matter what handset the app runs on.
  2. Do the UI differently on different devices - so that a Motorola version doesn't feel like a Nokia application.
  3. Manage the build process for a vast number of handsets (well over 85 for some of our applications) so that you can build every version with a single click.


Of course (warning: Future Platforms plug ahoy) it helps if you've got a team of very smart folks who've been doing this for years too...

Database Migration With Spring

June 26, 2006 | Comments

Database Migration With Spring: "One thing I've often found plaguing software updates during infrequent or less-than-trivial deploys is that invariably a small, but important schema change gets lost, run out of order, or skipped entirely; even when the individual deployment goes sound, ensuring the changes between development, qa, staging, and the final production environment stay in sync is bound to go wrong somewhere."

Beluga Whales learn to blow Soap Bubbles

June 26, 2006 | Comments

Beluga Whales learn to blow Soap Bubbles: "In the wild, some dolphins and whales blow bubble rings by inhaling air through their blowholes and releasing it through their mouths underwater. But thanks to scuba diving equipment, AIIya can do it anytime."