Monday 22 December 2008

Best Present this Christmas?

Discovered the Guitar Hero: Air Guitar Rocker in John Lewis yesterday.

Got to be up there with some of the best, daft Christmas presents. Perfect for who I bought it for.

VAT Reduction worth more than 2.5%

VAT notice in M&S

I was Christmas shopping with the boys yesterday and was struck with a realisation about the VAT reduction. At checkout after checkout, the price was always a little bit lower than I was expecting.

Most retailers haven't changed the price tickets, so it's not till you get to the till that you see the saving. On a £30 clock it was 75p, not a huge amount but still cheaper.

The feel-good factor was far in excess of 75p.

The continuous little reductions were adding a little shiny glow to each purchase. Put shoppers in a good mood and they'll spend more. Simple but effective.

Like many people, I had some doubts over the impact of the VAT reduction and questions remain over the affordability. However, I didn't consider this benefit of retailers not being able to change the price tickets quickly.

Some good Christmas retailing figures certainly won't harm sentiment and as we've learned recently, sentiment seems to be the foundation of the Western economies.

Picture credit: Simon Aughton

Friday 12 December 2008

Wahay! My Photo Was Selected

Melbourne - Trips & Activities - Fitzroy

Seems I'm one of quite a few, but hey.

I'm trying to like Rummble, I really am

Rummble has real potential to be a mobile location service I would use. The promise of being able to:

  1. find out what's good where I am right know
  2. add my own views and contribute to the knowledge map

is a tantalising proposition. With Rummble, unfortunately, it still remains just that.

To really succeed, a service like this has to operate from my mobile. If I've got something to say about somewhere, I'm far more likely to be there rather than in front of my PC. I'll be still queueing because I'm in the middle of a bad service experience or (just finished) enjoying whatever I want to share with the world so they can experience it too.

Enter the Rummble iPhone App, perfect device for this. GPS built in, advanced user interface capabilities, fantastic connectivity. Problem is the Rummble app has taken advantage of the first two and assumed the last one.

If you build a mobile app, you can't assume it will be connected to the internet

I've tried a number of times to Rummble on the move now and it's just painful. For a start the start screen takes an age to load, even on my work WiFi connection it's ponderous. Immediately barriers are preventing me from expanding the network of knowledge.

Trying to add a Rummble when you haven't got 5 bars worth of 3G coverage is a joke and has resulted in a number of app crashes. What's really cute is how the app doesn't remember anything you've typed in so you have to go through the whole painful process again. Probably fair to point out that this hasn't crashed on me since the latest update.

I'm in danger of this turning into a rant and that wouldn't be fair at this stage. I've developed enough apps in my time to understand the issues and I'm also a big believer in the concept. There is still time for Rummble to rethink their mobile app architecture.

I believe mobile apps should be built from the ground-up to be able to operate without network coverage. Especially if they're capturing data. Work from that base and make the app synchronise when the connectivity is available.

The key thing Rummble needs is data, it needs to get enough reviews in enough places that I visit to be useful to me. It must allow users to enter these into the app without connectivity. Even if that means creating stubs that I then need to complete when I'm next online, either with the app or on the website.

The really valuable information is in my head right now, allow me to write a comment quickly, get it off my chest. If I can complete the review there and then marvellous, but don't deny me just because my mobile network isn't giving me the coverage the app needs.

I wish Rummble every success, it would be great for a UK company to succeed in this space.

It's all about the resources

mine

Our new web application, codename Doyle, is being built on the ASP.NET MVC framework. The primary driver for this was enabing Test Driven Development for web apps. Increasingly frustrated with the brittleness of the traditional approach this represents a fantastic architecture for building robust web apps.

The big challenge however has been conceptual. Patterns the team are comfortable with, have turned out to be unsuited to this approach. Discussing one such question at the whiteboard yesterday, it occurred to me that the issue we were having was we thinking in terms of method based architectures rather than resource based.

To date, our approach has been to have thin Data Objects that are passed to facades and sub systems that perform operations on them. We're a messaging shop so I guess that's where it came from. A message gets passed around, operations are performed on it, decisions are made about it.

The term Controller implied a co-ordination role with knowledge of controlling one or more sub-systems. However MVC tells us that is bad, Controllers should be thin and Models should be fat.

A good example is our new send message page.

The first pass involved the controller iterating through the recipients, constructing message objects and passing them to the Esendex ReST API SMS Message Dispatcher via our C# SDK.

Very quickly the controller got fat, validation, error condition handling, suddenly it was squatting behind the view like a Sumo Wrestler tucking into his 7th chicken of the day.

The light-bulb moment was the realisation that rather than thinking about sending a message, we were actually sending a batch of messages. Enter the MessageBatch resource.

All the controller has to do is load up the MessageBatch resource with the parameters (recipients, body, etc) and call Send. This returns either true or false, successful or failed.

The controller then just has to make one decision go to one page if successful, or another if not. Safe in the knowledge that the MessageBatch object will be duly populated with an error/validation info required for the view to render and give the user the option of what to do next.

Yes this has just moved the logic to another part of the system but being in the Model layer gives the opportunity to refactor, inherit, and most importantly, mask the complexities of sending a message batch from the front end. We're comfortable unit testing and doing it this way forces as much logic as possible into units.

So, if you're making the transition to MVC then consider looking at some of the thinking behind ReST web services (I read: RESTful Web Services as a good primer). I've come to the conclusion that ReST and MVC are intrinsically linked.

Photo credit: alarch

Thursday 11 December 2008

Business Messaging - Your Server's Gone Down

Server monitoring is key to the availability of many business systems so knowing as soon as a server or services is having an issue is critical.

It's also not just the engineers that necessarily need to know. Other stakeholders like support personnel, account managers (who are going to be taking customer calls) and even key customers can all benefit from being kept in the loop about issues.

Most system monitoring solutions can send an email in response to a monitoring event. Just wire that up to an Email SMS service and you can notify anyone, pretty much wherever they are.

However there are times when SMS is not enough. They can be missed. If there are key people that you need to notify and need to know that they've got the message a Voice SMS is a great option.

Using IVR menus you can have the recipient acknowledge receipt of the message. It can keep ringing them until they do or your escalation rules kick in contact someone else.

Thursday 4 December 2008

Business Messaging - Your Taxi's Outside

A local taxi firm, DG Cars, schedules a call back when your taxi is on its way. This is a great way of improving customer service as well operational efficiency for the cab firm.

This can also be achieved simply be sending either an SMS or Voice SMS message direct to the pickup as the taxi is approaching.

  • The customer knows when to come outside/get their coat on/say their goodbyes
  • The taxi not sitting idle waiting for someone who's not ready when it could be moving onto the next fare sooner.
  • Include the drivers mobile number in the message and the customer can all the driver if they're held up.

Dead simple and dead effective.

Wednesday 3 December 2008

5 mobile services I actually use

Thought I'd collate my current list of mobile services I'm loving or would find life difficult without.

Kizoom

This has been a bookmark in every phone had I've since 2001. This mobile version of the National Rail enquires web site is a must have for any train user in the UK.

SMS

Is on my iPhone dock bar in place of the phone application. Still the original and still the best.

TwitterFon

The best twitter client for the iPhone. Simple and fast, two must haves for any mobile application.

GoogleTalk for BlackBerry

BlackBerry have got push nailed, their platform allows third party apps to raise message alerts and push them into the system inbox. The GoogleTalk IM client embraces this and allows me to maintain conversations wherever I am.

Rummble iPhone App

This is a new one and it's early days but it seems more useful than BrightKite. It allows you to log your location, send status updates and post photos but also to "Rummble" about where you are. If it gets critical mass, this could be a winner.

Business Messaging - Stories from the front line

It's occurred to me recently that we have a wealth of knowledge about how to use business SMS, MMS and Voice SMS services currently "locked" up in our customer base.

We have some fantastic case studies, from companies like Ocada (using SMS to communicate with both customers and workers) and Taptu (reliable SMS using our API). The problem is this is a tiny sample of the 5000+ Esendex customers, let alone companies that don't use Esendex.

I know it's hard to imagine but some companies actually use other service providers.

I'm going to start posting a series of thoughts, ideas and real life examples (without names) about how business messaging can and is being used to delivery real commercial benefit to companies that embrace business messaging into their processes and workflows.

Follow them here: Business Messaging