Friday 28 March 2008

iPhone goes for the enterprise, BlackBerry fight back

It's an iPhone with a QWERTY keyboard!

BlackBerry 9000 in the wild

OK so no touch screen interface but this promises to be a serious bit of kit that will cement BlackBerries in the enterprise. Must check out the BlackBerry development kit so how that stacks up against the iPhone SDK that Jonathan is wrestling with at the moment.

Code Comments are they really pungent?

XP tells us that comments are a bad coding smell indicating that some functionality should be refactored out into a method. I've never been totally comfortable with this and Matt Stephens as posted a very good article as to why.

Comment judiciously, refactor if needed, avoid the 'f' word

Tuesday 25 March 2008

Are Symbian and J2ME dead?

The launch of the iPhone and Android SDKs represent a huge leap forward in the opportunities for mobile device application development. The question for me is how do the current incumbents, Symbian and J2ME, react.

I've talked before about my continued disappointment with mobile applications (Mobile Phone Applications, when will they ever take off?). These experiences have been very much routed in the pre iPhone/Android era.

In the Symbian/J2ME world, applications are poorly integrated with the phone, hidden by layers of menus and generally underwhelming. The world according to iPhone/Android has the opportunity for the application to be front and centre, and in Android's case, closely integrated with the phone functions.

The second half of 2008 promises to be a fantastically exciting time for mobile device users. The iPhone has redefined the mobile device and the version 2.0 firmware with its enterprise features will deliver a device that kicks some serious Windows Mobile butt. Can't believe they're on version 6 and it's still an overweight, clunky to use, buggy monstrosity.

Now apps for the iPhone are not going to be without issues. The big one for me is the inability/refusal to allow background processes to run. It stops all sorts of useful features like background data updates and push facilities that would really make it a BlackBerry killer. That said, it's an amazing user interface experience, and as it continues to demonstrate, even without 3G data transfer speeds, iPhones are blazing a trail in mobile web usage. Though I do suspect most of this is on home WiFi networks.

The killer feature for me is the remote update capabilities that are built into the OS. The link to iTunes is critical to the devices operation and this allows Apple to push new updates, including strategy changes, at will. I can't remember the last time I updated the firmware on a Symbian phone.

Android is taking a very different line, an almost completely open platform. Full access to all the device's functions. Now this is really a desktop-like development experience. No-holds barred, access to everything, only constrained by your imagination type environment. Only one thing is missing, handsets. It seems Samsung and HTC are in a race to deliver the first but apparently this won't be until the end of this year! So develop what you like, it 'aint going to be on a device until 2009.

There seems to be a huge opportunity for Nokia to leverage their number 1, by a long way, position in the world handset market and bring something truly powerful and pervasive to the market. Unfortunately it seemed their response was to make it even harder to get Symbian apps on phones. Why Symbian Signed must die gives a good account.

Symbian can push out news stories about how many handsets ship with Symbian, 77.3m Symbian smartphones shipped in 2007 but for me that's 77m handsets that aren't going to run Symbian apps, it's just too difficult for people, especially enterprises.

Apple are treading a very delicate path with the iPhone, keep it exclusive but get it adopted by enterprises. Historically their products haven't been adopted by this segment. If their aspirations are to get the iPhone into the hands of key personnel and in turn those personnel buy a Mac for home instead of a Windows PC then that's probably a huge result.

I'm pretty neutral on Android. Yes it's flexible, yes it's open, but it's a while before before people can actually use it and who knows what will happen then. I do wonder whether there is a bigger play here involving GrandCentral a mobile device, closely integrated with that service could be very disruptive indeed.

Symbian, IMHO, have lost the plot already. They have huge penetration but low usage and no established update process. It's going to take something dramatic from them to enable them to maintain their dominance of the high-end mobile device market.

Thursday 20 March 2008

So, I'm cycling from Nottingham to Paris on a Brompton

Regular readers will know I've been dusting of my web site development skills to builda web site for a charity ride that I'm taking part in in May. I've set up www.r4rh.org to promote the Ride for Round Hill school charity cycle from Beeston, Nottingham, to Paris, France. 355 miles in 4 days.

We, myself and 14 other riders plus support, are raising £15,000 to fund the purchase of a school minibus, secure cycle storage for children's bikes and cycle safety training.

The minibus is the big chunk of the money but in many ways this will give the most back. It will mean that lots more extra-curricular activities are available to all children at the school. At the moment this requires coordinating 5 car drives and means a lot of the time it doesn't happen.

Why the Brompton?

When I first started talking about the ride to friends there were reasonably impressed but thought it was well within my capabilities. The point of the exercise is is to raise as much money as possible and people seem to donate more if there's pain involved so I decided to up the ante.

For the uninitiated among you, a Brompton is a fabulously practical folding bike that is perfect for a 5 mile commute. It's what I ride most days either to our Nottingham or London (I use the train most of the way there!) offices. It's a terrible machine on which to attempt a 355 mile cycle in 4 days.

The picture above shows quite well the difference between me (the one at the front on the little bike) and everyone else (on normal, fast looking bikes). On my racing bike I'm pretty comfortable at 18-20mph on the Brompton this is more like 12-14mph. This means I'm going to spend 50% more time in the saddle to cover the same distance. This also means 50% more effort.

Esendex are getting involved of course. As well as the web hosting we'll be providing mobile blogging and hopefully some other things depending on how my discussion go with some other parties.

So if any of you fancy helping us in our quest by making a donation that would of course be marvellous. Just go to www.justgiving.com/adamebird.

I appreciate that this is very much a community project and doesn't necessarily have the broader relevance of charities like the NSPCC, Marie Curie Cancer, etc. But a wise man once said "children are our future" and the more opportunities we give them, the brighter that future will be for all of us.

Wednesday 12 March 2008

Loving the new BBC mobile site

Loving the new BBC mobile site
I'm guessing it's iPhone specific rendering because it fits really well.

When I travel to different places I often find myself wondering what it would be like to live there. It's institutions like the BBC that remind me that Britain is a great place to live.

It's unparalled anywhere to have an organisation whose remit is to ensure content of all types is available to all and not just the most popular denominator and without the pressure of appealing to the advertising dollar.

This has resulted in one of the best websites in the world, IMHO. I'm pleased that they're also blazing a trail in mobile.



Mobile post from the Esendex BlogIt service

Tuesday 11 March 2008

Putting SLAP to use - Dynamic Config

Now I've got the specifications of the SLAP protocol out of the way, I'd like to describe how we're using it and the benefits we are seeing. The first being the dynamic configuration of service end points.

In a service like ours we have a series of nodes that process messages and apply rules to manipulate and route them. If we want to change the location for a service, we have to first notify all the upstream services of the change of location.

In a planned scenario this can be laborious. All services that may make use of the service have to be reconfigured, often requiring a restart. It is possible to have these services monitor a config file for changes to avoid a restart but this doesn't remove the need to manually go through each service config and make the necessary changes. This becomes increasingly complex in a distributed system spanning many machines and networks.

The unplanned scenario is even less desirable. There are many reasons why a service can stop and this will generally be at the most inopportune times. Having to manually reconfigure services in response to a failure is not acceptable in a high availability scenario like ours.

The other problem with the unplanned scenario is that the client service has to deal with the unavailability at the point it's attempting to consume the service. Say for example this is a network service, it could be waiting for a network timeout before it recognises that the service is not accepting requests. It then has to fire-fight, cleaning up because it thinks the service is unavailable.

Far better for it to be told categorically that the service is unavailable, it can then queue requests or whatever has been coded as appropriate, while it waits to be informed that the service is operational again.

It is possible to use separate load-balancers to handle this kind of outage, but they cost money, need configuring, draw power and the solution the bring is by no means dynamic. I'll actually discuss load-balancing using SLAP in a subsequent post.

In the SLAP world, services are not configured to use fix endpoints like sip:ems3.prod1.esendex.com:8067 but rather are bound to well known service names eg: slap:smsrouter. The actual endpoints to the service are advertised in ANNOUNCE in order that clients can maintain a record of the current state of the services they need to consume.

If a client service wants to make use of an smsrouter service, it checks the state in it's local service state table before sending the request to the correct service URI. This information is kept up to date by the service. Most will announce their state on a periodic basis but I'd also consider it good practice for the service to send an ANNOUNCE when it's state changes, perhaps when it's under load or is shutting dowm, to ensure all clients are kept up to date.

The development team at Esendex have also found it very useful when building and debugging services as Jonathan describes in SLAP, my service’s up!. This was an unforeseen benefit but another one that has cut out a lot of the hassle with debugging services. The guys can step through the code, find the issue, write the unit test and rebuild very quickly which get's us to market far quicker.

More on load balancing soon.

Monday 10 March 2008

Web-sent SMSs now face restrictions

Picked this up from my Google Alerts : Web-sent SMSs now face restrictions

Of particular interest was the following paragraph:

The committee has also decided that the service providers must also ensure that the SMSs received by their network from a website would not have India’s country code +91 as the sender party’s address. The code +91 is strictly reserved for messages sent from a mobile phone.

This is definitely one to watch. Esendex don't do a lot of business in India, but markets have a habit of following each other.

As part of a standard service, we allow our customers to change the sender of messages to be their mobile number or a virtual mobile number we provide. Both providing a legitimate reply path for the recipient. If we were providing Indian national mobile numbers, we would be falling foul of this regulation.

To me this looks disturbingly like their following the US approach of requiring all SMS traffic be sent via shortcodes for A2P (Application to Person) traffic. While this is billed as protecting users against SPAM it also serves to stifle the market for innovative services to smaller organisations.

The issue with shortcodes is that they are short and therefore in scarce supply. Long numbers on the other hand a re long and in plentiful supply. The other benefit of long numbers is that the costs of sending to them are the same as any other mobile number. No need for the dreaded 'standard network charges apply' clause on every bit of communication, no need to educate the end=users to prfix their messages with a keyword in order to communicate.

This makes them both accessible and affordable for SMEs who wish to extend the communication mix and bridge between the Internet and telecoms. They can be used for normal communication appointment reminders, server alerts, customer service applications, etc and not just marketing and promotion of large company's services.

As we extend our interconnects around the world, I hear time and time again that 'this operator doesn't like A2P traffic' and 'that operator has restrictions on this kind of traffic'. It's this kind of ill-considered, blanket approach that brings my blood to boiling point. It's so short-sighted, so protectionist without real thought, and so stifling of innovation.

There are 2 weapons against SPAM that are well within the reach of all network operators.

  1. Interconnect fee - the operators can setup AA19 agreements with all networks they wish to receive traffic from specifying commercial terms for doing so. If SPAM costs too much, it stops.
  2. SPAM filtering - most SMS hubbing companies I speak to these days have robust SPAM filtering to prevent these messages from passing through their hubs and onto the network. Unfortunately, the networks don't seem to be interested.

IMHO The only real growth in SMS volumes are going to be from the A2P arena. Everyone has phones pretty much and I would bet they're going to reach the limit of what they want to text to each other about. Get them texting with applications and the explosive growth days can reign again.

Virtual mobile number based services represent the Long Tail of innovation that can touch everyone. A company sending just 500 messages a month to key stakeholders is not going to revolutionlise traffic but multiply that by 10,000, 100,000 or a million companies all sending their own messages to their own stakeholders and that starts to get significant. Add onto that the replies from the recipients and surely that should be of interest to the networks.

Friday 7 March 2008

Just got a Vodafone USB Modem

Just got a Vodafone USB Modem
Was going to post an entry about how great it is to be able to access the Internet from wherever I am. Unfortunately I'm on a train and the coverage is shocking. I'm sure I saw this advertised as being used on a train.

Luckily SMS still works



Mobile post from the Esendex BlogIt service