Published new short book “How to Love Non-Exotic Technology”

We have published a new short book “How to Love Non Exotic Technology”, written by Karl jeffery and Dimitris Lyras, available for free download , on Amazon UK here //lnkd.in/g__Gpie and on Amazon US here. //lnkd.in/grfBgNV

The book addresses what I think is a common complaint among people I meet in oil and gas / shipping industries – that while we can see the technologies which add the most value are the ones carefully modelled around what people need, with all the modelling, standards and data management which goes behind it, the technologies which get the most attention are the exotic ones (AR, blockchain, ML)

But maybe the solution is not to just observe or complain about the situation, or try to make exotic technologies more relevant, but instead.. to show how exciting it can be to work with technologies in a non exotic way. This work may draw on skills different to usual tech skills, such as map-making, conceptual thinking and people skills, and may also offer employment avenues for bright graduates from backgrounds other than deep-tech, who can apply their skills in making technology work – including solving difficult world problems like decarbonisation.

Structured mapmaking, agile and COVID-19

Looking at the approach by health authorities to COVID-19, we see a mix of structured mapmaking and, experimentation. Most things in the real world work like this.

In the digital technology world, Agile has emerged as the dominant development method. That’s like trying to fix COVID-19 just with experiments and no maps.

Agile’s birth can be interpreted as a push by software developers against structured mapmaking – processes, documentation, contracts and plans. I suppose lots of people at the time wanted to make structure, without much sense of how to make digital technology. Perhaps it is now time for structure to push back?

Today’s digital technology, largely made by Agile methods, has weaknesses which are obvious to any heavy user, such as online services which take far too long to deliver their ‘meat’ and endlessly ask us to approve cookies.

And digital technology has potential to do far more to help COVID-19 than it does. Surely it could help tell why North Italy had so many cases, or how much the February weather has to do with the spread?

I propose a new movement to look at how Agile and structured mapmaking could have a better marriage. Perhaps call it Agile with Maps. Anyone interested in joining?

AI “doesn’t work” – here’s what does

People who believe that artificial intelligence is possible, but have an open mind, might be interested in watching this 6 minute video of AI expert Roger Schank interviewed on CNN.

Roger says that if you define artificial intelligence as a model of human intelligence by a machine, then it doesn’t exist, not now and not around the corner. What we do have is fast computer systems, mislabelled AI.

Roger has been working on AI longer than just about anyone alive – see his contributions from the 1960s cited on Wikipedia’s history of artificial intelligence page.

This mislabelling of AI is a problem if you are buying into the idea that AI might soon be able to do much of the work that people can do in the oil and gas industry, and do it much better and cheaper. A straight connection from the digital technology to the decision making and business results. It is easy to see why this idea appeals to investors, oil companies and everyone else. It is probably driving much of the current interest in AI.

The problem is – if you agree with Roger – it doesn’t deliver. But what might deliver, and potentially provide far more value to companies, governments, and individuals, is software which is designed to help people to do their jobs better. We could call this expert-centric software.

Many industries  could benefit greatly from putting far more effort into software to support decision makers, and less energy chasing the dream of AI systems showing human-like intelligence.

The most important factor in making software to help people to their jobs is that the software is ‘modelled’ around how people actually work. This is hard. Take, for example the task of a scheduler, of which there are many in our industry. The task will probably involve someone matching the supply and demand of whatever is being scheduled; understanding how long tasks take to complete and the necessary intervals between tasks; understanding the interactions involved; looking at the schedule in both coarse and fine detail; being focussed on some kind of goal, such as reliability or reducing costs; being aware of biases. A software scheduling tool, to be most useful, should cater for all these things.

Software for decision makers doesn’t necessarily need analytics or machine learning, it could just involve providing the right data at the right time. But analytics or machine learning can prove very helpful when it comes to building models of how a complex system works, spotting patterns in large amounts of data, sorting documents, or anything with information too large for a person to handle.

What future working software must look like

Let’s think about what software might look like in the future, if it is designed for the purpose of helping someone do their job better.

So it is a tool, just like a carpenter or plumber has a box of tools, an oil and gas production engineer, or building facilites manager, has a box of digital tools to help them to do different things.

In this thought experiment we are going to try to throw away any ideas about what software should look like, or how we are going to sell it, or what the IT department are comfortable with, or what the customer expects, or what Mr IT Geek believes is going to ‘disrupt’ or align with the expansion of Moore’s Law.

Put all that to one side.

Here’s my answer.

There will probably be a range of different software tools to do different jobs. Work out what is happening, analyse some data, understand things a bit better, see if a task if worth doing right now.

All of these tools might be accessible from a kind of app store, and be continuously iterated and developed.

Beneath that, there will be a robust data platform where all the data which the customer might want is gathered together.

Integration and interoperability is not going to be a headache, so we’re probably talking about data exchange, data model standards, or some kind of API exchange.

The system is probably designed for a business which works in a certain way and has done for millennia. So the core logic of the domain is modelled into the system.

And running the whole thing is pretty inexpensive. The data platform and standards, once built, don’t cost much to keep running. Development work goes into the apps on an experimental basis.

Based on some interesting presentations at the ITF Technology Showcase this week, many companies, including BP and McLaren, can see the benefit of a customer driven digital system, where the person doing the work gets a digital environment where they can get everything they need, access to all the expertise they need.

But the systems being developed by McLaren and BP are probably pretty expensive. Perhaps it can be done much more cheaply.

Above all we have to get beyond the traditional tropes of software – installing complex packages, installing what we know about, complaining about ‘users’, struggling with data integration, bamboozling people, and get to something simple and straightforward and inexpensive, just like the physical tools in your tool box.

Is this a sensible direction to be thinking about?

Industry 5.0 – using software to help with business transformation

I forget what Industry 1, 2, and 3 are, but there’s a lot of talk these days about Industry 4.0 being about sensors and the internet of things. I think industry 5.0 could be about software which helps our managers achieve business transformation.

I know it sounds dull but bear with me.

At some point, people are going to realise that sensors and the internet of things, like any technology, does not change a thing, unless it helps people do something they wanted to do already.

People wanted warm houses, gas and central heating made it easier. People wanted to travel, cars and aeroplanes made it easier. People like to interact and reflect with others, Facebook (perhaps) made it easier. Doing most things requires managing money, Fintech (sometimes) makes it easier. Warm houses, travel, interaction and money management are a major part of our lives and so these technologies have a high impact.

I am not sure where sensors and the ‘internet of things’ will lead to us being able to do something easier (which is a major part of our lives), and so I don’t think the impact of this technology on our lives will be very high.

But there is something very important which just about every organisation wants to do – and that’s to manage itself better (or have better management). Or to put this point another way, there’s barely an organisation which doesn’t want to improve its own management. The best managed organisations would agree most strongly that they need to continually improve their management. An organisation which doesn’t care about continually improving its management is perhaps not one you’d care to have much to do with.

Good managers can steer the business, and its component parts, on a good financial course. They can make sure the business does what it is supposed to do, and doesn’t do things it isn’t supposed to to.

This has been true for every organisation for the last 1000 years and will be true for the every organisation for the next 1000 years, unless you can imagine a world where our robots are so good we don’t need organisations. (If it is possible to have a world, I’m not sure I want to live in it).

But at some point, organisations will get much better at installing and developing software tools which help their managers. For example, help managers get a better situation awareness of what is going on, have good views of current and archived data (including analysed data), share stories with other managers, and see what the impact of their decisions is on the current situation, so they continually learn.

Such a world will enable our organisations to continually improve, which means doing far more with less resources, and operating at higher levels of reliability. Life for managers will be one of continuous learning and sharing with others – no anxiety or loneliness, continous enjoyable work.

We’d all like to live in a world with such organisations, we’d all like to be managers in such organisations, and it can all work in a world of constrained economics, which seems to be where we are headed.

How can we make this happen faster?

How to buy a train ticket from Gatwick Airport central to London

There are three trains – the ‘Gatwick Express’ (about £20, 30mins to Victoria), ‘Southern’ (about £12, about 35 minutes, to Victoria), and ‘Thameslink’ (about £10, 40 / 50 mins, to Blackfriars, Farringdon and St Pancras). All trains go about every 15 minutes but bigger gaps late at night or early morning when you are most likely to be travelling from an airport.

If you don’t have an ‘Oystercard’ you’ll want to queue up at a machine and buy a ticket. Your choice of train will depend on probably which train is departing next, which station you want to go to, and whether you want to spend £20, £12 or £10. Finding the right ticket on the machines isn’t easy unless you want ‘Gatwick Express’. You’ll also have to keep one eye on the board in case your chosen train leaves while you are queuing up to buy a ticket. If you have the wrong ticket for the train you get on, you’ll need to pay a penalty.

If you have an ‘Oystercard’ you don’t need a ticket, and can go through the gate and the fare will be deducted from your card. But bear in mind it will still cost £19.80 with ‘Gatwick Express’, and £14.20 or £8.10 with both Southern and Thameslink, depending on whether it is ‘peak’ or ‘non peak’. (Peak usually means when people are going to work or coming home).

So note if it is ‘peak’ and going by Thameslink, then even if you have an Oystercard, it is cheaper to buy a ticket (£10 rather than £14.20).

An extra complication is that the Southern trains and Gatwick Express trains look similar. The difference is that Southern trains stop at Clapham Junction and East Croydon, and it says ‘Southern’ on the train times electronic board. But the physical train which arrives may have Gatwick Express written on it in large letters and have a voice onboard saying it is Gatwick Express, which could cause a stress if you have a ‘Southern’ ticket. But you’ll pay £8.10 to go to Victoria on it in about 35 minutes so that’s the best bargain.

This is a ludicrously complicated and potentially stressful system which nobody has thought about as an overall system. For Europeans arriving in Gatwick and trying to figure it out: this is because the UK fell in love with free market in travel systems and thinks it is good that all the train companies compete, although the competition is a bit of a myth because the government still controls the track, the ticketing prices and quite a bit of control over the trains themselves.

I read that the UK spends as much on trains as other European countries but the difference is that the UK gets the public to make a bigger contribution for the price of getting there.

It ends up with a solution where there’s a play-off between simple and expensive (just buy a Gatwick Express ticket) or less expensive and complicated as described above. If you don’t know the system then you might just pay more than take the trouble to work it out. So we have a system which rewards the wrong sorts of behaviours and rewards people who know how to play the game. This is the kind of culture we should be getting away from.

What is technology capable of doing today?

Technology today is:

– Capable of helping people have useful and rewarding work even within a big corporation.
– Capable of letting children play online completely safely.
– Capable of supporting employment for millions of people – and helping them provide value.
– Helping us achieve high levels of safety in our working environment
– Capable of helping people learn and build an understanding of just about anything
Helping us achieve high levels of security without people feeling ostracised
– Providing tools to enable experts to reduce CO2 emissions without causing society too much pain or change.
– Reducing the risk of road accidents
– Providing the core components we need to live – water, food, energy – cheaply and reliably
– By doing all of this, keeping populations of the world largely happy and happy to elect politicians who keep things that way rather than stir it up

Yet it seems that most of the software industry seems to want to make software which replaces people, or entertains people, rather than engage people?

 

A decentralised software for managing our health services

Here’s how decentralised software might work for managing health:

First there needs to be an agreed data model. This is probably the hardest part of it. Although there are plenty of examples in industry of people agreeing on a data model. The data model needs to include all of the data which people might want to share.

If it was health data, the data model might include all of the different personal health information we might want to store. It could be our health archive (our record of problems, health issues, pregnancy, genetics, past health emergencies) and current information (needing a hip replacement, current problems, treatment underway).

As an example, yesterday I was writing about the “Pipeline Open Data Standard”, a standard way of holding data for a pipeline, including 19 different categories of data (see //www.pods.org/pods-model/what-is-the-pods-pipeline-data-model/ )

Then there needs to be a suitable architecture where someone takes responsibility for data, suitable security / confidentiality is met.

For health, perhaps we’d all have a local organisation which would manage our data – for example our local doctor surgery. This organisation would host the data on their own servers, and take responsibility for the accuracy of it, and it could be done on a small scale (no big IT needed).

Accuracy is essential. But because the local organisation is basically chosen by us, and we have a strong incentive for our health data to be accurate, it ought to work.  (Perhaps we could update / correct our own personal health data online).

Then – and this is the clever bit – everyone else could access the data as required, subject to being authorised (probably by us as private individuals). The regional hospital can plan out its hip replacement operating room by downloading data of everyone who needs a hip replacement, looking at any special needs, and making a schedule. The same for any other non emergency services. The data can be made available in aggregate for managing health services, matching supply against demand and making predictions for the future.

The trouble with this idea – and why it would probably never work – is that big health organisations probably have an entrenched mindset that the way to get their IT done is to go to a big software company and sign a big cheque. IT managers, in health as anywhere else, have built their careers and experience in dealing with big IT companies.

And a system like this does not have anything to offer big IT companies. If they build a data model, they’ll want to make sure they have an advantage over competitors somehow in implementing it (which would destroy the whole point). There’s no need for my local surgery to contract with IBM to build their own system, a local IT company could do it just fine. And the same for all the other systems.

Meanwhile health IT has a bad reputation – particularly in the UK – because of contracts delivered to big software companies, who have built centralised systems, which haven’t delivered. (Which is not surprising if you consider that the complexity of software seems to have a logarithmic relationship to the size of it – making a national IT system centrally controlled is perhaps beyond the capability of any one company).

So this may mean it could never be built. Yet Wikipedia got built without any central control. Maybe Jimmy Wales could build something like this?

Could non centrally managed software be the business advance of the next decade?

Business software is traditionally and currently nearly always done like this. Big company buys software from big software company which promises to solve their problems. Small companies have less budget to buy it, and small software companies can’t make such large and complex products, but it is still roughly the same thing.

What if the future is something completely different – with multiple software tools, platforms, data exchange platforms, robust information security, all linked together to achieve the same thing?

Here’s two business examples I’ve looked at – offshore oil and gas drilling, and refugees in Greece.

 

In OFFSHORE OIL AND GAS DRILLING – there has been a dream for decades that you’d have multiple service providers on the drilling rig, operating different sensors and devices, all generating data, which they then send in real time (using a standard data exchange system) to various experts working in different offices around the world. The experts would go through the data and spot problems about to occur, or even problems currently occuring, and help improve the efficiency of the overall operation.

What happens is a long way from this. We hear that the different service providers on offshore drilling rigs can’t even synchronise their clocks (so one stream of real time data might be 10 seconds ahead of another one). Drilling is actually getting slower, due to longer delays (known as ‘non productive time’) which means the cost of an offshore well has grown from $13m to $30m even post oil crash prices.

Drilling rigs can cost $500k a day so the incentive to reduce non productive time is enormous, yet the problem doesn’t get fixed.

 

For REFUGEES IN GREECE  – one problem which the non governmental organisations face is poor data – it is very hard for them to know basic numbers like how many people are where and how many people need medical  help. There are multiple stakeholders involved (different NGOs, the government, refugees themselves). People can easily get counted twice (eg if a refugee is looked after by different NGOs). Developing a software system which could fix it would be very hard – because (among other things) every stakeholder would need to agree to use it, otherwise it would be pointless.

But perhaps developing a standard data exchange system for refugee data, and a standardised method of unique identity, could be relatively easy to make – and then each stakeholder could adjust their own software to use it (including refugees themselves, since many of them have smart phones) ? Security would be perhaps an even bigger concern than for drilling, since it might include people’s personal health data.

For now, this system isn’t being built either. There’s not much money involved in looking after refugees of course but many highly motivated and highly skilled people.

 

It isn’t hard to think of more examples where non centralised software might work. Many businesses have complex eco-systems with money changing hands rapidly along long chains of companies working together, with many complex payment systems, loan systems, invoicing and accounting systems adding to the complexity. if all the financial systems used a data exchange standard, perhaps the actual funds exchange could be much simplified, perhaps with one business to business financial transaction a year for each company, and lending where required could be guaranteed against future business which has already been agreed, so banks can fill deficits in working capital at low interest rates.

 

Going further – right now most people work in big companies but would prefer to work in small companies – and could be much more motivated that way, and there could be much less cost in the overall system.  Where there are barriers to information and data exchange, big companies make sense. Does the opposite apply? Could non-centralised software make it much easier for hundreds of thousands of talented but underemployed young people to set up their own start-up?

What is people centric software engineering

People centric software engineering means building software which is designed to help people. If the people has a specific objective to reach and the software is designed to help them reach it (so we are not talking about for example computer games), what might this mean?

 

  • Presenting people with information they need to make decisions and understand a situation
  • Understanding what people need
  • Providing good data
  • Providing good tools via mobile devices where applicable
  • Building software which can automatically go through standard steps which a person might go through
  • Building tools so the right people can provide the right information where required
  • Constantly reviewing so software does not have superfluous features etc
  • Good data models / domain models in the tools beneath it
  • Understanding what people actually do
  • Software company building up ‘platform’ businesses of having expertise in certain areas – because while there are differences in how people work between companies, the core ideas are probably pretty similar
  • Easy ways to build tools and try stuff out (‘low code’)
  • Robust and accessible underlying data management systems
  • Tools to check data and make it easier to enter
  • Automate tasks like sorting through old paper documents
  • Make it clear how decisions are being made