Tickets please

Tickets please.
Photo: Rail Technology Magazine / Progressive Media Group

The pain you have to go through to travel abroad has always bugged me. I went on a Swiss walking holiday last year and had to buy our rail passes months in advance and there were so many options and routes from various airports that my wife and I burned many an hour discussing alternatives. How much easier would it be if there was an easy way to just buy a ticket from Ipswich to Wengen, Switzerland via any of those routes with your selected airline? Then choose the trains to fit your needs.

That was the dream of the OSPT Alliance and their ticketing interoperability initiatives. The UK transport industry, Department of Transport and the Association of Train Operating Companies (ATOC) instead went for the ITSO standard as national public transport Smart ticketing technology started to come into reality.

Now it appears the two organisations are beginning to work together to avoid the need for travellers to use two different formats and move towards common ticketing on Smart card and eventually Mobile phones, e.g. using NFC.

The International Transport Smartcard Organisation (ITSO) are a limited company who manage that standard from Milton Keynes. ITSO ticketing is one of four broad groups of fulfilment used by national rail. The others are paper tickets, primarily Credit Card Size Tickets (CCST), barcode (used for self printing) and Oyster which is the proprietary format card that has been so hugely successful in London. The ITSO members who supply ticketing and the terminals for validation at stations (so-called POSTs) and by handheld terminals on trains sign up to a code of practice for interoperability and security.

The OSPT Alliance defines the CIPURSE open standard, based on a number of contactless and Near Field Communications (NFC) specifications and it appears to be firmly aiming at the mobile App market. The V2 CIPURSE Mobile spec is published and available to members for evaluation.

We’re not sure exactly how closely these organisations will be working together. The press release today (reproduced below) mentions becoming members of each others’ committees and leveraging complementary aspects. It probably means there will be some kind of integration abstraction layer in the card or network back to the various back-end systems. It probably also means more complexity and work for apportionment and settlement systems run by people like our customer who spoke at the recent AWS Summit ”ATOC Rail Settlement Plan“. In some ways it makes apportionment easier as they should soon be able to track exactly where a customer using mobile ticketing travelled rather than apportion according to estimated volumes who take certain routes as they do today.

Whichever way you look at it, the future world of ticketing is likely to be mobile so what do rail customers think? The quote below comes from the excellent Passenger Focus report on ticketing – available on their website on the subject of buying tickets on their Mobile Phone.

Some respondents had experience of this being a helpful information source that was trusted to identify best tickets or fares for unfamiliar journeys, thereby allaying validity concerns. However all acknowledged that they were unlikely to buy tickets on the phone so these would still need to be purchased elsewhere, meaning that the choice/complexity paradox can only be partially overcome through this channel.

The full emailed press release from the OSPT Alliance is reproduced below:

The Open Standard for Public Transport™ (OSPT) Alliance and ITSO Ltd., the organization responsible for the UK national specification for smart ticketing, today announced they have agreed to participate as members in each other’s organizations and to explore ways they can work together to promote the use of open security standards in public transit for smart ticketing and electronic fare collection systems.

Through their shared commitment to the use of open standards, these two leading public transit standards bodies intend to leverage the complementary aspects of their standards and ecosystems and discuss how they could be combined to create solutions that would be mutually beneficial to their respective members.

“We are pleased to have ITSO join the OSPT Alliance as an associate member, and look forward to exploring how our shared vision for the future of open standards in public transit can result in a mutually beneficial relationship,” said Laurent Cremer, executive director for the OSPT Alliance. “ITSO is an established, recognized player in smart ticketing, and has developed some key technology we believe would be of great interest to OSPT Alliance members as they deploy fare collection systems based on the CIPURSE security standard.”

The CIPURSE open security standard addresses the need by local and regional transit authorities for future-proof fare collection systems with more advanced security than currently in use. Because it is an open standard, CIPURSE promotes vendor neutrality, cross-vendor system interoperability, lower technology adoption risks, higher quality and improved market responsiveness, all of which result in lower operating costs and greater flexibility for transport system operators.

“We welcome the OSPT Alliance as an affiliate member of ITSO, and look forward to their contribution in helping to ensure that public transport operators throughout the UK can continue to maintain the highest level of security in the smart ticketing systems they deploy,” said Lindsay Robertson, chief executive officer of ITSO. “We believe that by working with the OSPT Alliance, ITSO will be better able to supply its members with a more diverse set of card products, including AES-based products, which is a solution the OSPT Alliance can deliver off the shelf in the form of CIPURSE.”

About ITSO

ITSO Ltd. is the non-profit distributing organization that oversees the ITSO Specification for smart ticketing in the UK. ITSO helps its members to set up and run ITSO-compliant smart ticketing schemes, tests and certifies smart ticketing equipment to ensure it meets the ITSO standards and ensures the ITSO Specification is up to date and fit for purpose. ITSO operates the ITSO Security Management System (ISMS), a secure key management and distribution system specifically developed to enable ITSO-compliant smart ticketing systems to be set up.

About the OSPT Alliance

The OSPT Alliance is an international association chartered to define a new open standard for secure transit fare collection solutions. It provides industry education, creates workgroup opportunities and catalyzes the development and adoption of innovative fare collection technologies, applications and services. The OSPT Alliance was founded by leading technology companies, and membership is open to technology providers, transit operators, consultants, solution vendors, government agencies and other stakeholders in the transit ecosystem. For additional information, please visit www.osptalliance.org.

Wow! SyncIpswich’s second meetup and around 80 people crammed into the Eastern Enterprise Hub in the James Hehir Building at University Campus Suffolk. Many of the attendees were working for local behemoths like BT but there were also a good mix of bootstrappers, Start Ups and tech entrepreneurs with all kinds of backgrounds (even spotted a Chartered Accountant).

Organisers Carl Farmer (@CarlFarmer), supported by Anders Fisher (@atleastimtrying) and others have done a great job with SyncIpswich, which we are proud to sponsor. The focus of this meetup was on building software quickly with good practices as well as a nice introduction to the Windows Azure Cloud.

Talk no 1. Continuous Delivery

The first presentation by Chris O’Dell from 7digital (@ChrisAnnOdell) described how Agile practices (CI, Kanban, etc) combined with their architectural evolution to SOA have reduced code to deploy times to half a day  at 7digital.  And, by the sound of it, makes their developers more productive by getting away from “DLL Hell” that used to be the bane of any Microsoft Windows developer’s life towards a loosely-coupled set of services and a public API.

7Digital Logo

Chris raised some really interesting points around developing small fine-grained service components – not being that familiar with .Net myself this seemed to be similar to what we are doing in the Java world with OSGi and Service Component Architecture. I do like the policy of developing new features on the trunk (no feature branches) but making good use of feature flags rather than old-fashioned branch & merge.

They are also using Git for the code version control and Chris showed the inversion of the classic Unit Test, Acceptance Test, QA triangle. Some in our own organisation are raising question marks about the usefulness of very granular unit tests so the approach taken by 7digital of increasing the number of Unit tests is interesting.

There were a lot of questions from the floor, I was particularly interested in how the small kanban teams (about 6 or 7 members in 5 or 6 teams I think) interact when there are common services. This is a key problem that us SOA architects need to get right to get the best value on services. Feature Flags is something that we’ve also thought about in the context of simplifying application testing by, for example, switching off authentication for functional testing.

It’s great to see a company like 7digital competing successfully with iTunes and Amazon in the digital music space. I’ll be checking out their API (and their JLS back catalogue !) in more detail this weekend.

Richard Astbury AzureTalk no 2. Starting out in Azure

The second talk of the night was by Richard Astbury (@richorama) of Two10 Degrees ( @two10degrees). Richard gave a nice introduction to Cloud computing and in particular using Microsoft Windows Azure, showing a picture of a MS data centre under construction, which was something I haven’t ever seen before. I think it really brought home the sheer scale and commodity nature of the Cloud and these facilities being full of containers of kit that is just thrown away or recycled when it stops working.

Building a website on Windows Azure from scratch can use a few main pre-canned routes like the obvious “Website”, “Virtual Machine” and “Cloud Service”.

And it now includes a “Mobile Service” which is of particular interest to me. Sadly, I didn’t have time to chat to Richard about this but it’s on my “To Do” list to get a Hello Smartie mobile service up and running. In fairness, Richard did do two masterful demos for Website, including a node.js based site which he even launched from his home computer (a Raspberry Pi no less). As Carl tweeted:

Deploying to Azure from a remote RaspberryPi at home… Impressive stuff from @richorama !

— SyncIpswich (@SyncIpswich) April 25, 2013

Well done to the people of Ipswich for turning out and drinking all the sponsored free beer!
SyncIpswich will run and run.

Please Rate and Like this blog.  If you can, please leave a Comment.

Alloys

Which Essex boy doesn’t want Titanium Alloys?
Photo © Maxpro Dreamstime Stock Photos & Stock Free Images

Introduction to Appcelerator

I’ve had my eye on Appcelerator and their Titanium mobile development platform product for some time. So I grabbed the opportunity to venture north of the [Suffolk] border to the ”SyncFocus“ a SyncNorwich spin-off event that was held in the Garden House Pub, upstairs room, in Norwich last night (20th March).  So, reflecting on my rough notes, I’m posting this blog with a few random thoughts thrown in and some links to further information for those interested in javascript-based mobile developments.

This SyncFocus featured as guest speaker non other than Boydlee.  For those who haven’t heard of Boydlee, he is a mobile application development guru and specialises in the Titanium platform who, like Beyoncé, is now so famous he doesn’t need to use his surname :-) .

My “executive summary” is that Titanium is a serious productivity tool for people who can write “well written” javascript code. It is in competition with the HTML5-based approach of PhoneGap, and does not (yet) have as many surrounding services as IBM Worklight which is squarely aimed at the big Enterprise market and is not as broad in its coverage of operating systems and devices (yet). It does however, have a thriving developer community and a very attractively priced (i.e. “FREE” cloud service). It does appear to be very easy for a moderately skilled javascript developer to create apps but it’s probably just as easy to create a horrendous mess so the newest approach is to supply a framework as the well-known MVC pattern through “Alloys” – which Essex boy doesn’t want Titanium Alloys on their racer?

Main points:

  • Titanium is purely JavaScript library coding against the Titanium api, the platform compiles the source to native Objective-C or Java code for the iOS and Android Apps and can easily be linked with the Xcode or Android SDK to complete the builds.
  • Links with emulators for iPhone, iPad and Android
  • Appcelerator has over 400,000 registered developers worldwide (a counter on their home page tells me it is just under 430,000 today)
  • The libraries themselves are “Free and open source”, available on GitHub
  • However, the Titanium studio is not free, and you can take the Appcelerator Paid support
  • An estimated one third of cross- platform apps are built on titanium
  • Claims to also support BlackBerry 10, but Windows 8 is not available until later this year

One really nice feature is a very large “Module marketplace” which is mostly compiled binary code aimed at one native operating system or the other that can be downloaded and incorporated into the build – for example something to integrate to native libraries, plugins, e.g. Barcode scanning

A lot of those modules also have their source code on GitHub, building the community even more and improving the eco-system. This appears to be thriving and also includes some javascript extensions as well as the compiled native iOS and Android libs.

Appcelerator Mobile Service (ACS)

ACS is an interesting move to give a free level of Mobile (application) Back-end as a Service (MBaaS) to developers of services, running on AWS.

This includes 20GB storage, 5m push, 5m api and 20 pre built common services, including key-value pairs (similar to AWS Simple DB), Ratings, Geo services, media, including thumbnails, Social integration (Facebook) and storage of custom objects, which I think was based on Mongo DB as a service. There is certainly capability to link directly with Node and Mongo backends and simple stuff like SMTP integration (again similar to AWS’s Simple Email Service “SES”).

Coding practices

Boydlee recommended looking into Common.js best practice for relative newbies to Javascript. Other frameworks are available, like backbone, require.js and one of his blog posts has recommended the javascript patterns book by Stoyan Stefanov.

There are also free books online available on styling, including best practices to cascade for tablets so you don’t just get an enlarged phone experience that sucks.

The CSS approach also over-rides for different devices, so it’s not always best to stick with pure javascript for everything, however, for those who really are blinkered by javascript there is a CSS to JSON converter library.

Boydlee’s books are on PACKT or there are kindle versions. Boydlee’s best practices book is one I will be getting for sure.

Finally, the newest developments in Appcelerator will probably be using Alloy which includes full Model View Controller (MVC) frameworks (again, all built on well-known javascript frameworks) that claims to speed up App development by another order of magnitude.

Comparing it with the IBM Mobile First offering the coverage of mobile O/S is much wider in Worklight (Windows 8 and BB 10 were available very soon after launch), the adaptor environment, the upgrade management and enterprise app centre seem more developed and you have the whole extra wrappers of security, analytics and so on within IBM’s Mobile offering. The customer list on Appcelerator’s website is mighty impressive for consumer-oriented Apps but the ability to integrate with Enterprise back-ends is less of a focus, which is why in our case we’re focusing on IBM for Enterprise mobility but Appcelerator is certainly worth considering.

Please Like and Rate this post.  If you can, please leave a Comment.

Mobile phones are strictly banned in all grades of prison in England and Wales, apart maybe from the odd experiment. But are the authorities missing something?

The recent debates about the jailing of Huhne and Pryce  (BBC News, 11 March 2013) have called into question again the purpose of jail as a suitable “punishment” for offenders with some people suggesting they should instead be forced to do something for society (as a community sentence, perhaps Pryce could drive Huhne around to clean up litter in London parks for the next 6 months?).

Image from http://gizmodo.com/Cell-Lock_Up/

Hardly Bonnie and Clyde. But it got me thinking about a conversation with my brother-in-law who works in HM Prison Service and he mentioned about a new initiative to give all prisoners a phone (or more generally speaking “terminal device”) in their cells to be able to access “limited” Internet services and make personal phone calls to family – that sort of thing. He was saying about the positive rehabilitation effect it should have that would far outweigh the negative.

The point is that combined with today’s mobile technologies (such as provided by MeshDETECT) you could also use relatively cheap touch-screens to have in-cell personal devices that can deliver personalised training or educational games and keep track of prisoners. Alright that last one is a bit “Big Brother” but it should be possible to help monitor someone who might be a suicide risk for example through inbuilt motion-detection.

There are apparently plenty of problems today with smuggled mobiles and fights to get to the communal telephone on the landing in the prison which this would obviously alleviate.

There have been news stories about this in the past (BBC News, 11 September 2011)  and one last weekend (The Telegraph, 01 March 2013).

There have also been objectors, most recently some quite ill-informed (technologically-wise) comments such as this, which comes from a short article in the Daily Record (Daily Record, 31 January 2013):

“It is a crazy idea as it would give prisoners the opportunity to plan and control their business on the outside.”

That depends. What is their business? If it’s illegal then why’s it not shut down?

And if it is legal, why is this such a bad thing to keep a business running that presumably employs people? It’s only when a previously eminent person like Chris Huhne goes to jail that this seems a nonsense. Of course he should be encouraged to continue any of the good things he does, just never get behind the wheel of a car again as some think he is apparently incapable of driving responsibly (The Independent, 11 March 2013). What possible good does it do society to just lock away an intelligent, capable person to make no contribution

 “These guys are in there to serve time, not to be in a position to potentially plan other crimes.”

Oh dear… I thought the aim of prison was rehabilitation and showing an alternative lifestyle, through education and communication with the right people not just to “serve time”

 “My big fear would be the monitoring of it.

It’s fairly cheap and simple to automate monitoring of the IP telephony through speech-recognition these days – admittedly this would be a bit difficult in Scotland perhaps but if communication is going on anyway using illegally smuggled-in mobile phones wouldn’t it be better to offer a more official method of communication that was monitored? The technology is there and storage (especially in Cloud systems) is so cheap you could record everything.

“If you put phones into every cell, it would be a nightmare. Where would the staff come from for this? You couldn’t possibly monitor it.” He added: “It seems ridiculous.”

Well, maybe it does seem ridiculous and to some people yet another example of the state giving “luxuries” to prisoners (along with their Sky TV packages and fussball tables no doubt) but why can’t we harness the power of cheap, modern tablet technologies to educate and help to prepare prisoners, especially long-term prisoners serving time a long way from home, with human contact? Or even with non-human contact in the case of educational programs that could be installed for prisoners who want to learn. The central server technology can carefully control the access, reward prisoners for achievements and generally I can see a lot of good to come out of this initiative.

The prisonercellphones.com view

If you really want to “punish” prisoners why on earth is smoking still allowed in HM Prisons?

Banning smoking as this story  (The Mirror, 02 march 2013) suggests would (a) help health education and (b) be of benefit to the whole of society if those prisoners continued to stop smoking after they are released and don’t then get smoking-related diseases. Perhaps the 80% of prisoners who now smoke may be encouraged to give up and invest money in that equally addictive pastime of our generation – the mobile phone.

But that’s another story.

Tonight’s British Computer Society (BCS) event in the Davidson Building opposite the Savoy in London was the first one I’ve attended for years. The subject was the Network Rail “ORBIS” programme which focuses on data asset management.

The attraction for me was three-fold: First, I’m developing a keen interest in the railways generally thanks to our work with ATOC RSP and second, because of Smart421′s focus on BigData challenges. Thirdly, the agenda mentioned something about specialist mobile apps, which is my main interest in leading our Enterprise Mobile capability in Smart421 which is backed with IBM Mobility solutions.

Secure end user enterprise mobile devices

The slick presentation from the impressive Davin Crowley-Sweet and his team brought out the approaches to data as an asset and highlighted the challenges of modernising an organisation that still collects much of its information, such as survey data, on paper. The slideshow was “Prezi” style zooming in and out like a game of Angry Birds and contained a LOT of detailed analysis and roadmaps which made me glad I sat in the front row to try and take it all in.

My rough notes are summarised here but I believe the interested reader can learn much more about ORBIS (which has been “reverse-acronymed” with the name “Offering Rail Better Information Services”) from the Network Rail website. The first point to note is that this is not another BigData experiment but an extremely far-reaching business transformation programme, focussing on business processes and aiming to be business-led. There are very serious business benefits already being gained and (according to the paper linked to above)

the £327 million total cost of ORBIS is expected to yield £270 million in asset benefits plus £100 million per year in maintenance improvements.

An iPhone for every maintenance engineer

Maintenance worker using new tablet technology

The company took the far-sighted step of giving every engineer their own ruggedized iPhone along with the request to use the built-in features as best they could to suggest what can be used. Not surprisingly, one of the most useful features was GPS, accurately pinpointing problems with rails. Then when engineering work comes along on the Sunday consigning us travellers to the replacement bus service the disruption should be minimised as engineers should be guided directly to the problem location. Taking photos with the iPhone of problems with rails was another obvious use and now there are Apps being developed (one per month on average) that can automate some of the data capture along with the photos. I asked the presenter Edward afterwards about the apps and he said there are now developments across other platforms and O/S to use other (perhaps cheaper Android-based) handsets. Having around 12,000 engineers with a ~£500 iPhone is significant cost although the positive aspect of the workers being given the desirable devices should not be overlooked.

These unstructured data inputs were combined with significant mapping data, collected using helicopters and cameras on trains similar to “Google Streetview”. I think they mentioned collecting a few Terabytes of data from each train journey that was recorded in this way. That is some BigData problem to deal with the analysis and Network Rail to develop some sophisticated decision support rules around which stretches of railway need maintenance work most urgently based on the data analysed around curvature of the line, weather conditions, etc.

Some 20,000 miles of track, 40,000 bridges and tunnels and huge electrical, telecoms and physical networks make for a highly complex set of problems to manage. The seven year mission focuses on 5 asset types: Fixed assets, Fleet assets, Topology, Topography, Unstructured data (schematics, drawings, etc). It has several defined stages, in stage 1 it asked “what?” and “where?” and continues in stage 2 to try joining up and optimising the collected asset data.

The Contribution of Data Analysis to saving lives

There is a strong emphasis on improving safety through improvements to data management; recommendations following rail disasters like the terrible Lambrigg crash in Cumbria, for which Network Rail are still apologising, said that the points failure could have been detected and fixed earlier with better data analysis. Literally a case of life and death software.

Davin answered questions after the presentation and made the very relevant observation that enterprises should manage their operational data in the same way as they manage any other (physical) asset: know what it is and where it is, monitor its quality, use it while it is relevant and when it reaches end of life get rid of it.

Wad of cash

© Flowah | Stock Free Images & Dreamstime Stock Photos

There has been a bit of a stir today with the patent Apple have taken out relating to mobile cash. Some twitter users thought it was a joke at first but actually Apple is only taking a method that has been proven in developing markets and applied it to the US market.

The basic premise is that registered “cash providers” can provide the folding green stuff to someone in need of it using their iPhones and iTunes plus location (maps) as the enabling technology.

At first this seems bizarre, why would I as a total stranger trust you to come and take cash off me? The proposed 1% commission doesn’t seem much incentive on the average cashpoint withdrawal but I guess on larger transactions it might be attractive.

On closer inspection, this is actually very similar to hugely successful mobile payments systems like the M-Pesa “unbanked” system that relies on networks of agents around rural communities in Kenya and other countries. Bill Gates recently championed M-Pesa as a great example of ideas that have “digitally empowered” subscribers but commented:

Without omnipresent cash points, M-Pesa would be no more convenient than traditional ways of moving money around. At the same time, it was impossible to persuade retail stores to sign on as cash points unless there were enough M-Pesa subscribers to make it profitable for them.

And is it really that much different to the ad-hoc person-to-person (P2P) mobile payments being promoted by Barclays Pingit and others?

This is just yet another example of an attempt at getting people using their phones for financial transactions. The “closed system” nature of M-Pesa wasn’t a barrier in a country with very little alternative and only a minority of people with bank accounts. The concept of using agents for so-called “Cash-In” and “Cash-Out” services made perfect sense. However, in countries with thousands of ATMs and where most places are now happier to take card payments than cash due to the downsides of handling cash I really can’t see this latest Apple patent catching on.

I had my first real experience of mobile train ticketing today. The Greater Anglia mobile app on Android has the capability to purchase single tickets which come with a mobile barcode (QR Code) that you activate as you get on the train (or just before you pass through the barrier if there is one).

As a long-time follower of mobile technologies this was actually an exciting moment for me. The purchase process was pretty standard last night – choose the trains to travel outward and return and buy the ticket.

I used the app for the first time last week and successfully collected my ticket at the station using the RSP Ticket-on-Demand (ToD) functionality that I happen to be working on… but this time, looking at the ticket options, the return was actually more expensive than two singles so I went for the two singles. It was only then that I noticed the option to buy as mTickets! So that’s what I did.

I’m fairly sure this app comes from Masabi who are leaders in the UK on mobile ticketing apps – see their description for how mTicketing works

There are obvious advantages of mobile tickets over conventional paper tickets (no need to print them being one) but there are also in my opinion a lot of advantages for train companies and businesses using the trains for travel.

There are also questions that arise: what if my mobile battery dies? What if I forget to activate it at the start of my journey? How does it cease to be active? Checking the Greater Anglia Terms and Conditions there are some answers (extract reproduced verbatim below)

… you must check that your mobile phone is compatible with our tickets by downloading a test ticket where indicated prior to purchase.

It is your responsibility to ensure that you carry your mobile phone on the relevant journey and that your phone is charged, functional and that you are able to display the ticket for inspection when you travel.

Due to the wide variety of mobile phone handsets and networks we are unable to offer technical support or assistance.

You may incur data usage charges from your mobile phone operator for downloading a ticket. You should check with your network provider as to what charges may apply.

I also noted this extra requirement which still links to a payment card:

For identification purposes you must also carry the credit/debit card used to make the booking.

It appears that currently there isn’t much recourse if you do lose or forget your phone:

We shall not provide duplicate or replacement tickets. The ticket must be stored on your mobile phone until the date and time of travel and such safekeeping shall be your responsibility. M-Tickets are non-transferable.

By purchasing a M-Ticket, you agree to cooperate with the train inspector and let him/her clearly view the ticket on your mobile phone and you acknowledge that you may be requested to hand over your mobile phone voluntarily for inspection. If you do not produce your ticket or hand over your mobile phone upon a request to do so by the train inspector, the train inspector shall be entitled to consider that you are travelling without a ticket.

Fortunately, my experience was very positive.

On the outward journey the 12:19 train was a couple of minutes late so I activated the ticket as it came in at 12:20. The first interesting thing to note was that it was taking the time from my phone (as it put up a message asking me to check my phone clock was correct).

Image

The second interesting thing to note was that the place where the “Activate Ticket” button had been replaced by an animation of the current time against a colourful background. I’m not sure, but assume the colours are to prove the App is real and not some kind of spoof as anyone with a moderate knowledge of HTML could quickly spoof a ticket otherwise.

When the conductor/guard/whatever they are called these days appeared he took some time to study my phone before saying it was fine. The App does generate a QR Code but he said they hadn’t got the equipment to scan them yet so this is technology leading the way it feels like.

As of this moment, 9 hours after my journey completed, the mTicket still seems to be active on the phone so it doesn’t look like the App times out a ticket (UPDATE: It seems to time out overnight as it showed “Expired Ticket” the next morning.

There are plans to introduce interoperable centralised fulfilment and centralised, real-time validation through the Rail Settlement Plan (RSP) modernisation programme but in the meantime if you’re willing to take the plunge and try out new ticket Apps it would appear that there could be some good prices available for mobile tickets and for the convenience alone it is worth checking out.

I managed to finally get along to Norwich last Thursday (18th October) for the latest in the SyncNorwich “Meet-Ups”. It was held at Epic Studios on Magdalene Road, famous for the cheesy Sale of the Century quiz show from the seventies which was hosted for years by Nicholas Parsons and included the first TV appearance for a certain Simon Cowell.

This meet-up included two groups: Daniel Wagner-Hall talking about Google testing and Simon Cromarty, presiding over a more interactive session on iteration planning in agile delivery.

I went to Dan’s presentation and it was an entertaining and informative talk which started off with him saying Google didn’t believe in testers, at which point a tester somewhere died… I had a number of thoughts during the session that I am putting into this post and wish there had been time to raise or discuss them but for now they will stay as my own opinions – for one I DO believe in testers.

Some facts and figures from Google presented by Daniel are really quite scary:

- Google have 15,000 engineers in 40 offices
- There are 4,000 projects active, some of which result in technical debt and tests that end up being “flaky”
- the average team size is just under 4, and many are called Software Engineer in Test (SET)
- These teams make 5,500 software changes a day, averaging more than one per second

- The codebase has about 100 million lines of code. There is one code base all in one repository

- On average, 50% of the code changes monthly
- The “infinite grid” of servers is actually about 100,000 cores in a global grid
- 4,000,000 browsers are launched for testing (not all chrome)
- The complete suite of 5 million test cases are run 20 times a day, meaning ~100 million tests per day
Massive scale of change
In other words, there is a massive amount of change going on, with multiple diverse teams spread across wide geographies and complete testing all the time is just not possible. Through static analysis, Google document that there is no way a change in one component can affect another component test.
Some other points that I noted down included “Make clean” is considered a bug. Petabytes of output needs recreating in case of a complete rebuild and time stamps are not a reliable attribute so Google’s build tools take a hash of source files to check for changes.
Needs hermetic control
Incidentally, every tool is controlled in the source code repository so Google make developers use consistent versions of all the tools and can then increase consistency and productivity by copying of built artefacts. Copying outputs between builds is always better than repeating a build with distributed workforce and data so the incrementality of building can be small as typically at least 90% is already been built at that version, and with those versioned tools, in other words it is entirely reproducible (“hermetically sealed”) and is a strategy known as “Hermetic builds” which I confess I had to look up and found a really good descriptive blog by Jeff Brown (see the link). Having small, composable services is similar to feature flags, little “switches” in software that turn features on or off at runtime – see Pete Hodgson’s blog on using these in javascript (which incidentally forms a huge part of GoogleMail’s code base).
Managing test dependencies
Other slightly more obvious advice was to parallelise component builds by having small libraries of <15 files, which makes perfect sense to me… but it did make me slightly confused why tests on such built components would need to be re-run and goes against the component-based paradigm of testing in isolation (remembering that earlier it has been stated to run all tests for every change).
The answer was that test results are also stored in the build system and if there are no (dependent) changes the answer to the test is the same so get it from the cache.
Something that struck a chord with me was “Don’t test for all different browsers” – if there is a problem with the way code works on a browser then it is the browser’s problem. Many is the time that I’ve spent ages tracking down and fixing a display glitch that only appears in Safari or IE. This is a problem dear to me in relation to testing multiple mobile devices so maybe I need to understand Dan’s points better. I think Dan mentioned that Saucelabs provides the cross-browser testing as a service.
Other common problems can include glitches in tests related to authentication and sessions so “Don’t log in for every test, spoof a cookie instead”. I’m not completely sure about this but as long as there are a suite of test cases to specifically test the login and session-handling then I guess it can help simplify functional tests.
Quadratic increase in code and test arises in growing companies where hiring of new developers is roughly linear, and writing code is also linearly growing, hence there is a quadratic increase in code and tests that has to be allowed for in capacity planning.
The Build Cops
So what happens when builds and tests start to go wrong? Google have “Build cops”, people who investigate what is going on. What broke? Who broke it? and have the ability to Rollback and retry change. They also chase down “flaky tests” in quiet times. I thought Dan went on a bit about flaky tests and got slightly sidetracked in a discussion about flaky tests indicating flaky code.
Release often and twitter pants
One other obvious strategic change was to have more frequent releases, which arose because Google Chrome had problems with last minute commits before releases when developers wanted to get in changes they were working on but perhaps not totally happy with rather than wait a long time for a subsequent release. So my takeaways from this are to think very carefully about encouraging/enforcing developers to be even more diligent in designing and implementing componentised, provable code modules and just re-inforcing the agile manifesto principles.
Finally, another take-away that I’m taking back to the team is “twitter pants” which I am sure is not funny at all in the US but in the UK the discussion around “Labels in pants” and python in pants will surely cause a few giggles. This is a shame as the framework for controlling dependencies actually sounds really interesting and I’m thinking we could invent a similar tool and call it Smart Trousers in honour of the Trousers of Reality. How much different would that book series have been if it were called the Pants of Reality?
And as a very last memory, it was nice to see that real software engineers still sport beards and ponytails (at least in Norwich). Oh, and thanks to all the organisers and my employers Smart421 for the free beer.

IBM Mobile Foundation

Last week I went to a premier partner event at IBM on the London Southbank to learn all about their mobile application development and management tools strategy

IBM Southbank, London

The exclusive event was well attended and presenters Tony, Johannes, Jordi and Jonathan outlined how IBM’s acquisition of Worklight complements their Cast Iron and Endpoint Manager products to deliver the Mobile Foundation portfolio of software and services. David Taylor blogged more generally about the last Websphere User Group and recent IBM developments including the Websphere Liberty server that comes included with Worklight but this event was focussed entirely on mobile.

Mobile First

As everyone knows, mobile development is universally “hot” and has been even before Google’s Eric Schmidt used the term “Mobile First”. The $billions of growth in revenue from mobile applications predicted by IBM’s market research has woken Big Blue up to the need for a credible offering in mobile. They carried out a survey, targetting 3,000 of their major clients, which backed up independent research by Forrester and others that showed some 75% of companies are strongly focussing on mobile, making it the second most important focus (behind BI and analytics).

Bring Your Own Device

There’s especially interest now in serious business applications rather than games and social networking-oriented apps that have been so popular in the consumer market. Retail companies, financial services and transport industries are now extending their existing internal applications to their mobile workers and partners who are using their own phones and tablets – the trend known as BYOD – and this has Tech Services and Security people losing sleep at the risks of losing control of the workforce and their critical data being left on a phone that gets into the wrong hands. This is where IBM Endpoint Manager (formerly BigFix) for mobile devices comes in, it provides device management so that companies can manage the Apps and data on employee phones, wiping the whole device in extreme cases although the aim is to only have access to the “corporate” side of the device.

Mobile Device Management

It was acknowledged that Mobile Device Management (MDM) as provided by Endpoint manager has no real business “value” as far as revenue is concerned but it is important to protect data and be secure; in other words selling on fear rather than benefit.
However, in BYOD-world, the same reverse argument applies to employees not being too keen on letting their employers have unrestricted access to their own ~£500 gadget.
There has to be some common sense and trust applied and one area where service providers like Smart421 can help is defining policies and controls around the area of BYOD and MDM.

Worklight and Phonegap and the diversity of mobile

The main focus of the event was the Worklight product set which provides comprehensive mobile application development tools that cover everything from developing the Apps themselves, building them for iOS, Android, BlackBerry and Windows phone operating systems, through to managing integration to back-end enterprise services securely and even some service management plus analytics.
For those with any interest in mobile app development it is well known that the native languages for developing applications are different across all the main operating systems. If anything it has got worse in the last few years and shows no sign of slowing down as the mobiles get more and more powerful and the hardware and software companies get more and more litigious (see graphic below from phonearena.com).
The brilliant graphic of “who is sueing who” in the mobile space
This diversity in native development (partly for fear of infringing somebody else’s patent) has recently led to a resurgence in commonly supported and open web technologies (HTML5, CSS and Javascript) being used to develop Apps that will transfer across all these devices. Worklight itself is built on top of Adobe Phonegap which claims to be:
“the only free open source framework that supports all 7 mobile platforms”.
Phonegap provides the runtime component that wraps all that common HTML5 and JavaScript code in a native container that then compiles and downloads just like any other App.

Developing Applications for Mobile through the whole lifecycle

I have been interested in mobile, handheld applications for over twenty years and our lead developers have been doing application development (thanks James Elsey for the blog linked here) for some time, more recently using Worklight itself (expect a further blog post with “lessons learnt” before long) but there has not been much traction within companies aside from consumer-oriented trials and the dreaded “proof of concept” type work that often ends up going nowhere.
In the past, the cost for professionally developing, launching and supporting applications across the multiple mobile platforms that developers have to contend with has discouraged many of our enterprise clients from taking serious steps into the mobile space. Worklight isn’t cheap, but as a rule of thumb a business case can be made for using it where a company plans building 3 or more apps on 3 or more of the platforms. I can see many companies needing at least that in the next year or two.
The Worklight system manages versions and updates, it can manage messaging to the numerous different push messaging APIs and when the new version 5.0.5 comes out on 16th November it will include an Enterprise App-Store style feature known as the “Application Centre” (probably to avoid yet another logo being added to the litigation graphic).

Example success stories

A couple of interesting use cases that were presented were (with Youtube links):
  • A tire distribution company developing apps for route-tracking, their drivers are moving from expensive purpose-built boxes to software running on standard mobile devices which means it can be updated any time and managed remotely much more easily
  • A US cable network is running the same program guide software on all mobiles as on the set-top box, leading to a nice, consistent user interface for users

The sceptics among you may still be wondering what companies gain from developments based on a common approach like this, especially if their users all have iPhones. One consideration is that with hardware refreshes at least every 2 years the speed to deliver app updates and new apps is becoming more important than getting the better quality and tight integration with native features that native apps can give.

WorkLight enables updates for new O/S quickly (within one month we were told typically) and one other bonus for corporates is the lack of tie-in to a specific manufacturer or operating system if the apps are developed to work across all of them. This isn’t quite as straightforward as it sounds, the majority of apps can be around 80% common HTML5, CSS and JS code with 20% still being developed as over-rides in the native code.

Javascript Frameworks

The rise of javascript is probably the most surprising aspect of all this to those of us long enough in the tooth to have done some web development in the late 20th century when javascript first appeared and who have suffered the problems of IE6 and other browsers not working in quite the way you expect with simple client-side js. A number of javascript frameworks have sprung up that provide a lot of the UI and native feature wrappers that are crucial for supporting the cross-platform aspects.
In the current version of Worklight the Dojo framework is included but the studio designer also supports jQuery and Sencha Touch. We can see this being an interesting area for incorporating more and more of the core handset interfaces, not just the UI, Location and File system (through encrypted cache which is a security feature aimed to alleviate worries of corporate data on devices) but also features like NFC that could open up ticketing and payments in the next few years.

So why are Smart421 interested in this?

As someone who developed my first “mobile app” for the Epson EHT-10 more than 20 years ago (and got on to the cover of computing and mathematics magazine - I am the one on the left) I think this is an interesting time where everybody wants to jump on the bandwagon and companies like IBM would have you believe that making apps is going to be easier than ever before using tools like Worklight and standard web design.
Epson EHT-10 running Turbo pascal on z80
In reality, I think there is still a need for both UI development skills, some native development skills and back-end integration, which is why IBM have included Cast Iron in their  mobile portfolio. The adaptors feature of the Worklight server is particularly in line with our SOA and integration focus and the built-in authentication features of Worklight will find synergies within Identity and Access Management (IAM) programmes to be able to link mobile security with corporate security and Single Sign On.
If anyone is interested in learning more then feel free to contact us.

Yesterday I was lucky enough to do a presentation on “mobile money” at the Telefonica Digital Future OIPD Conference at the Mermaid Conference Centre in London. The site with more details is still up at http://www.yourdigitalfuture.co.uk/ which is a great domain to own by the way :)  The event was sponsored by Smart421 and other companies who are working closely with the Online and Integration teams at Telefonica in the UK (the company also known as “O2″).

After some very amusing if fairly dodgy references by Andrew Pattinson to the growth of digital data he highlighted the stellar success of the “O2 Priority Moments” campaign which as @grahamknox of Telefonica has previously tweeted - With new adds at 50K per week, #O2 #PriorityMoments has more users than #Groupon#Foursquare and #Voucher Cloud combined. This is the power a mobile operator with around 30 million registered customers in the UK alone has.

My theme compared and contrasted the low-hype and fantastic success of M-PESA in emerging markets with the relatively mooted success of financial/mobile services in the UK with “O2 Money” just having closed in November after initially being the most successful prepaid card product in the country. All the emphasis recently seems to be on NFC-handsets and wallets like the Google Wallet just launched in US and coming here to the UK next year. but it’s interesting (according to Gartner) that there is so much hype around contactless payments and NFC when it is still 5-10 years from maturity. The quiet maturity of other services appears to be being overlooked.

Two other presenters on the day focused on historical themes. I learnt from Julian Browne, overcoming technical microphone problems to shout about the “100 Year architecture” of the web – the fascinating history of hypertext, the web and in particular the objections by Ted Nelson who proposed the alternative Xanadu paradigm - http://en.wikipedia.org/wiki/Project_Xanadu. The keynote speaker at the close was @IanSRobinson of neo4j who talked about the history of NoSQL and in particular graph databases.

Other speakers that I saw and enjoyed were:
Chris Perry, Joint CEO Fabric-Faster – Opportunities presented “Using consumer behaviours and patterns to drive faster delivery” which highlighted the power of Big Data and text mining for sharing marketing intelligence.

Drew Cosgrove on “Frictionless Integration” which aims to smarten up the ease with which applications will be able to use the services on offer from Telefonica. There was a great level of discussion and interest from the attendees and everyone seemed to appreciate the day away from the office and day-to-day delivery worries. Thanks to the organisers and the Mermaid Conference Centre.

Follow

Get every new post delivered to your Inbox.

Join 801 other followers