I don’t understand Uber’s business model

For years we’ve had minicab companies in London which would arrive after a telephone call and take you anywhere, for an extremely competitive rate. Sometimes the rates are so cheap the driver could hardly be making minimum wage – £20 for a taxi ride which could take 40 minutes, and the driver has to go home afterwards.

Uber arrives promising to ‘disrupt’ this.

At the core of the operation you have a driver, a car, the costs of paying the driver and running the car, which are the same for Uber and for a minicab company. Any difference is in other factors – how much the administration costs, which a customer prefers, what the driver prefers, whether the car utilization can be improved, and whatever is spent on technology. How does Uber have the edge over Sams Cars, my local minicab firm, here?

Sams Cars has an inexpensive office in one area of North London with often one staff member. Uber has a big technology investment which it can share over many cities, perhaps one office covering a whole city. So it could work out cheaper per journey. But it may not.

How do drivers feel? I haven’t asked any. It is easy to imagine drivers at Sams Cars feel more part of an operation, if they are a valued part of the company and the company is valued by its customers. Although I don’t think they get any regular guaranteed income. An Uber driver gets ‘valued’ by its star rating on the website, which may not feel so great. I don’t know.

Can Uber help drivers achieve higher utility rate, for example finding a passenger on the way back? It is possible to imagine, since they have a bigger scale. It is also possible to imagine their utility rate is very low, since it is governed by how many drivers feel it is worth coming to work today. I would imagine Sams Cars probably makes some predictions and spreads the work around different drivers, once you get on its books as a driver. And minicabs also operate on a wide scale too, like London-wide Addison-Lee.

Uber has lots of expensive staff to employ, I would imagine Barack Obama’s campaign manager David Plouffe doesn’t come cheap.

Uber can be pretty cruel to its drivers, as I discovered taking an Uber in Mumbai once, where the driver felt obliged to follow a dreadful route recommended by the computer software through the back of people’s houses.

So what is Uber’s advantage – is it that customers prefer to book a taxi with some clicks on a screen rather than a telephone call? Or an obsession with mobile phone apps?

Is it that as a ‘hot’ Silicon Valley company it can get funding and use that to undercut the prices of its fares?

There are plenty of “Software for Domain Experts” angles here. In  which system are the minicab drivers happier and feeling more valued? In which system is the customer most comfortable with? Is the ‘winning system’ the one where the system works the best – or where the hype and the technology company’s agenda is winning?

Virgin Trains and seat reservations

For an example of non human centric automation, tere’s an example from my experience coming from York with 3 young children, with Virgin Trains last Sunday. We had reserved seats – but were told when we got to York station that the train had “no seat reservations”.

There had been some computer failure at the station where the train started its journey, so the reservation cards which are put on the seat indicating that the seat is reserved were not there. But we still have a ticket which tells us which seats are reserved.

So we have an automated system – designed to do a task – which had failed. What happens next?

As a passenger I have a dilemma. With a young family we pretty much need seats together. Should we go to the seats which are reserved and demand that people sitting in them move, although there are ‘no seat reservations’? That doesn’t sound like a comfortable conversation. Should we take the first seats we find together? If someone else comes on saying that they have reserved our seats, would we then move, or say ‘there are no seat reservations’?

Since the majority of population, I hate conflict, and like to do the right thing, yet I have no pathway of avoiding conflict here.

This is, of course, the sort of situation where a sociopath would thrive – a person who would be happy demanding that other people move out of his family’s seats, or refusing to move from seats reserved by someone else, because there are ‘no seat reservations’. The sociopath would nearly surely win in both situations. Virgin Rail has engineered a situation where the sociopath wins. Well done.

Virgin Rail could have made the situation better by making it clear whether that ‘no seat reservations’ meant that the seat reservations did not apply. Or it could have clarified that despite no reservations cards being on the train, passengers should still try to sit in their reserved seats, if necessary asking people in the seats to move.

The train guard actually made it worse, by saying (once we were on the train and sat down) and people with seat reservations should try to use them. Although this was pretty vague. Does he mean demand that people move if they are in your reserved seat?

A human centric system could have done more – it could have made one carriage of the train available to people who need to have seat reservations – people travelling with vulnerable people who cannot sit by themselves – such as young families.

The point to this story is to show that we have an automation-driven system – but not a people-centric system – and improving it would not be too difficult.

One of our customers is moving to SAP


One  of the customers of our small business is moving their supply chain to SAP. Not very interesting is it? They’ve sent me a long letter explaining it. I had to read it.

The letter explains why they are moving to SAP, they hope my business will benefit from their SAP, they are aligning all their businesses to SAP, I should give them my bank details if they don’t have it already (of course they have it already!) they will send me some further information before their ‘GoLive’ which “you the Vendors will see”. I should contact them if I have any questions and they value their relationship with me.

This is an example of non human friendly automation. They’re wasting my time with something I don’t need to do anything with and don’t care about, they’re subtely reminding me that my company is subordinate and needs to follow their instructions (although they haven’t actually sent any), and they’re willing to answer my questions (although not presumably why they sent this letter in the first place).

The last comments are an effort to sugarcoat their machine with a bit of humanity, but it makes it worse, it would be better if they considered me a human in the first place. “To: all suppliers”.

I guess this letter was produced automatically by SAP, including the translated versions. Doesn’t SAP know enough about my company to know this is a completely irrelevant letter? Clearly not. What matters is that they will “design, develop and deliver common best practice business processes and systems to drive profitable growth and functional excellence across all businesses”. That’s the machine again.


Defining our digital future

So many software discussions seem to resolve to one question – who is ultimately defining and driving the software – the customer or the software company?

Almost always, its the software company. The software come up with something they want to sell, and a business model around it, and they go and sell it.

When customers complain about software – it is unwieldy, inflexible, too complex, doesn’t do what they want – usually an underlying problem is that these concerns are not coming to the surface enough while the software is being bought.

Ideally there would be a different business model entirely, around ongoing services with complete flexibility, no-one being tied to one company.

When the software procurement process is designed to try to ‘hear the voice of the customer’, often it fails too because the customer is not sophisticated enough to know what it (as a company) wants, or what it wants is too expensive to build and the person with the budget overrules it, and so on.

We can’t change the fundamentals of the software industry very easily. But what we can do is create better conversations about what software would look like if the customer really was in charge – and that will give customers much better ability to get it built.

Because the thing is – when customers think hard about what software they want, they usually seem to come up with the same thing – a range of flexible, light, configurable (including user configurable) ‘apps’ and dashboards at your fingertips, and a powerful database engine, with standard data, underneath it.

How should the right conversations be set up to build this?

Perhaps that is the right question to ask.

Getting past the password tyranny

I was asked to submit my home electricity and gas meter readings this morning. I clicked on a link on an e-mail which took me to a mobile web page of the meter provider which .. asked me to enter a username and password.

Why is this still OK?

I’ve clicked on a link in an e-mail, i’m using the same phone I used last time, so the company can identify me fairly securely. And the data I’m entering, a meter reading, has no security value whatsoever.

I can’t see the password I’m typing because it comes up on a screen with stars. That’s a bit of a problem when entering the password with a mobile phone. It is a Blackberry, so I can at least feel which key I am pressing, which you can’t do when typing on a glass screen. For the 99 per cent of phone users who don’t have a Blackberry it must be nearly impossible.

Compare this to Google, which feels that it has identified me enough, once I have logged onto my computer, to show me all my e-mails without any other password entering at all.

The whole password system is becoming nonsense. In the early days, we could all use the same easy to guess password on every website and there were no problems. I understand we can’t do that now. But the idea of using a different password on every computer we logon to, and not writing it down, and using a mixture of upper case, lower case, numbers, punctuation marks, and in one particularly bad example, no repeated letter, is ludicrous.

Surely just about all of us have about 200 different logins to different systems we use these days.

The right answer is that the whole process is thought through much more deeply. How much risk is there of the wrong person logging into this? How sure can we be of the person without asking them to enter a password? If there is a password, why can’t we use a simple one? What are the risks if the worst happens and someone malicious in Russia finds themselves entering my meter reading? And if this does happen, how many flags would we have to know about it – the different device, different IP address, hinting at a different location, the meter reading very different from what the electricity company is expecting. Does the software company count how much frustration it is causing from people who would have liked to enter their meter readings but were blocked by the login screen?

This stuff doesn’t seem so difficult – yet it doesn’t happen – perhaps because the people like you and me who have to use the systems have little say in how the process is built. Perhaps a more interesting question is how this might be fixed.



Rigidity and flexibility

The conventional software model, provided by big companies, does not put any premium on flexibility. The customer should know what they want in advance, we build it, and it is much more expensive for us to keep changing it.

When flexibility is expensive, then everyone benefits from keeping everything standardised – the Model T Ford business model.

But software flexibility is much less expensive today than it used to be.

We can envisage a world where all the data software might need is available on a platform, it just needs someone to build a tool to help the various domain experts access and work with whatever they want, whenever they want it. They can try something out, throw it away and try something else.

Ultimately the domain experts could build their tools themselves and change them whenever they want – leading to ultimate flexibility.

Now like many things in the business world, it is one thing to imagine a better world, another to put the various business incentives in the right place for it to be built.

If software companies are in charge, they are unlikely to embed more flexibility unless customers force them to, or they can see a new business angle from doing so.

But if the customers are defining how stuff is put together, then everything changes.


Data management – and software for domain experts

Most industries struggle with data management – certainly the ones which we look at in detail do (shipping and oil and gas).

Data management is a problem for the organisation but not usually anyone’s individual problem, because leaving data in a mess today causes problems for the unknown person who has to make sense of it in 3 years time, and there lies the root of the problem.

If companies want to take the challenge seriously, then the solution probably comes to
– understanding the data flows which the company actually does
– coming up with agreed systems which will lead to the right data being stored in the right place
– giving all of the people in ‘crunch’ positions, who enter data into the corporate archive, tools to help them check that the data is in the right format
– people with responsibility for the ongoing quality of different types of data who have tools to check that data being entered is the right quality and format.

So you probably end up with a ‘Software for Domain Experts’ type structure with small ‘apps’ for doing specific tasks, entering data, checking data, checking the data which has been entered, which the domain experts use

And behind that, the corporate database.

If software is driven by the customer then everything changes

The software industry is driven in 2016 by software vendors – whose objective is usually selling complex software for high prices, which tie the client down.

How can we be sure of this? Because if we start with software from the customer’s perspective we come up with completely different answers to the ones we currently have.

A customer would most like their software to be highly flexible and configurable, present exactly what different domain experts need to know, perhaps have a range of ‘apps’ to do different tools which is separate (and from a separate supplier) to the company which provides the database and transaction engine below. No constraints from the way the data is stored.

In other words, when we think about software from the customer’s perspective first, the ‘Software for Domain Experts’ approach almost naturally emerges.

Moving further with this – the ‘internet of things’ is a completely vendor driven idea. Show me a customer who would like an ‘internet of things’. The domain we understand well, shipping, is a great playground for proponents of ‘internet of things’ because there is so much you could put a sensor on, yet the value generated is almost nothing, because the information experts actually want to know, such as how much fuel did my ship use today and how far did it move, can be generated with two sensors – a fuel gauge and a GPS.

I’m not trying to bash the vendors – because they have done far more to drive the software industry than customers ever have. But I think it is worth us all understanding, when we get frustrated with software, or can see it can do far more, that is probably because there isn’t enough ‘customer driving’ out there. And if we could get customers driving more, we could end up with software which does more for everyone and potentially creates more value for everyone.

How can we get there?

Learning from Pokemon

Pokemon, and games like it, can model millions of people and things in real time.
Why can’t we have software like that for our organisations?
Problems happen in organisations because of the complexity, ‘it’s not my job’, and because very few people can actually see the full complexity.
Companies are divided up into small divisions, each with a manager, and might run fine as division. But perhaps the only person joining the dots between each division is a senior manager with a lot to think about.
But when big problems happen, such as a patient who dies for waiting for the right sort of doctor, or a road accident because of something it was ‘nobody’s job’ to fix, or an offshore oil drilling disaster, then it is clear to everyone that it would have been worth making more effort to connect the dots better.
We are not going to advocate different ways to manage organisations, such as employing more people to connect dots between different divisions. There are plenty of other people doing that. We are going to advocate better ways to use software so people can understand what is going on.
In 2016 it is possible to build software which simulates what is actually happening in the real world in real time – so that anyone can see what is happening from their desktop computer. The senior managers do not need to walk around hospital wards, drive on a dangerous road or visit an offshore oil platform to see problems which are happening or about to happen.
The software can work out what problems are about to happen as well. Think about how Pokemon manages the world in real time. It would not be a computational challenge to think about what the Pokemon world will look like tomorrow as well, and guess what the players might do based on what they did in the past.
There isn’t a safety hazard from bumping into a Pokemon, but there is a safety hazard from bumping into plenty of things in the real world.
This means a shift in how we make our software. Currently most ‘enterprise software’ revolves around relational databases, a kind of filing system. This needs to change. Computer games are not built around relational databases (we imagine) and neither should enterprise software be.

Hospitals – why can’t we have software to manage their ‘systems’?

I heard a story yesterday of a colleague who took a day off work to take his fragile elderly mother for some surgery in a hospital by ambulance, only to find that the consultant scheduled to do the work did not turn up. He said it was a stressful wasteful day.

Your first reaction may be ‘this is completely normal, why are you telling me this’.

Yes, it certainly feels like normal, what we might expect from a hospital in 2016. But why is it like this?

I don’t know any more about the story than the two lines above. But I am guessing that a few things are happening.

First the consultant is probably under a lot of stress. The consultant certainly doesn’t see it as her ‘job’ to inform patients if she can’t come to work or is engaged somewhere else. Perhaps the consultant had 4 other patients to see that day and wasn’t sure how long the other 4 would take?

Second it is perhaps ‘nobody’s job’ to inform the patient, the patient’s family, or the ambulance driver about consultants who are not able to do scheduled work.

Third the infrastructure in the ‘middle’, where people co-ordinate the ‘system’ of connecting patients with consultants, probably does not exist in a very strong way. Hospitals are co-ordinating patients in the hospital and consultants in the hospital, there are surgeries around the country co-ordinating local patients.

But fourthly why is no-one thinking about this? There has been a big waste of resources (including spending money on an ambulance) which could have been saved with one text message.

Hospitals are big complex organisations with lots going on – and this could have been one of tens of thousands of ‘meetings’ scheduled for the day. One central scheduling office would barely have been able to cope.

My solution – and the ‘Software for Domain Experts’ solution – is to do it with software – but not software designed as medical software usually is (around patient records, or finances, or diagnosing health problems) but about whether the goal of managing patient health with minimum resources is actually being achieved. Software which monitors what is actually going on – and could tell that this problem is about to occur.

Perhaps the sort of software which is designed for computer games, which can co-ordinate millions of people in a single environment, and work out where things are about to collide.

Is that so difficult?