Monthly Archives: November 2015

The best software for a doctor

I heard a quote that ‘400,000 people die in America because of preventable medical error’.
(The quote wasn’t attributed to anyone, so I don’t know how realistic it is. But let’s say its true).
With a US population of 318m and life expectancy of 79 years (thankyou Wikipedia) about 4m people die in America every year. So if that quote is right, 1 in 10 die because of ‘preventable medical error’. Perhaps that should be more accurately put ‘die earlier than they otherwise might’.
There’s a lot of talk about using computers and analytics in health – but perhaps it is also worth asking the question of whether we should be giving doctors better tools to make decisions with.
I know enough about health to know that it is very complicated and there are many reasons why bodies end up as they are, and most things have human causes. It might be true that ‘we are what we eat’ but we eat what we eat for other reasons which all goes into it.
This is the kind of abstract pattern spotting intelligence that humans can do much better than computers.
A computer can support an expert by providing statistical analysis, searching through academic papers, making word associations, finding some obscure paper with a special mixture of search terms in it. It can make lots of incorrect associations that lead to the wrong diagnosis. Computers are good search tools.
Is anyone thinking about how the power of computers can better be used to support experts -or does everyone in IT assume that the human brain will be eclipsed by computing power very shortly and so it isn’t worth the effort?

Can it be unnecessary to look for information?

A lot of thinking around corporate data systems is making information easy to find. Experts (we are told) spend too much time looking for information, or aligning it.
What if they never had to search for information at all?
Ok some people are going to have to spend time looking for information. Researchers and detectives for example.
But most of us shouldn’t. We have complex expert work to do, but we’re predictable enough that the information could be right there.
Our systems are nowhere near designed that way. How can we get closer to it?

What intelligence actually means

Roger Schank, speaking at our first ‘Software for Domain Experts’ conference in Athens last week, gave a theory of what intelligence means – or to be more precise, how we usually use our intelligence.
Perhaps the most interesting way we use our intelligence is when we spot patterns.
To tell an old family story – at my father’s mother’s wake, my uncle was sitting outside the house in Battersea on a doorstep, and an old lady walked by who said it was very sad news that she had died. My uncle asked her who she was, and she told him. My uncle put some patterns together and realised it was the lady who had (at this point the story is not so clear but she’d had a colourful past which he’d heard about – or was illegitimate – or something). But he’s putting together patterns based on little bits of information.
To give another example, in city restaurants tonight, old friends who work in a similar field but not together, will meet for dinner and talk about what they were doing, and someone will say what they will doing, and trigger another story about someone’s experience, an their conversation will go like that – “that reminds me of ..” “i think i know that guy” “once we had something like this in Paris”
This is all mundane stuff but this is how we use our intelligence.
And computer can’t do this or anywhere close.
Roger told an example about IBM’s Watson, supposedly the world’s most advanced ‘artifical intelligence’ – which basically reads Wikipedia pages in a sophisticated way, like Google does.
In the Jeapardy quiz show (which Watson famously won), the question was asked of ‘what was the anatomical oddity U.S. Gymnast George Eyser, who won a gold medal on the parallel bars in 1904.”
The answer is that Mr Eyser had an artifical leg.
Watson read the Jeapardy Wikipedia page, which had notes about his leg, but Watson couldn’t understand what it was actually saying. So Watson gave the answer that is leg was an ‘anatomical oddity’, not that he had an artificial leg. But Watson can’t spot patterns.
When we really develop artifical intelligence, it will spot patterns – as well as you can and my uncle can. But we’re nowhere near there yet.

Experts want to spot patterns and be told facts

I had coffee yesterday with a friend who is formerly one of the top project managers in the UK oil and gas industry, developing billion dollar projects, a real expert.
I asked him what kind of software he would have ideally liked. (Actually I may have asked him something a few steps back like, what do experts actually need).
He said that experts want to spot patterns and trends of what is happening
And experts want to know facts of what’s happening.
That’s it.
That’s the same for any expert, a doctor, school teacher, policeman, engineer, business development person.
Why can’t software provide that?
The software industry is developing alerts, messages, drill down information systems, dashboards, collaboration tools, analytics, news services, ‘we thought this might be useful’, all this fragmented mish mash of tools. But missing the opportunity to give expert users what they really need.
Of course, for software to distill all the data available and get the right ‘fact’ to the right person is an enormous technical task. Facts might be based on analytics.
Perhaps many lives could have been saved if security experts were more aware of the fact (which I read today) that it has been possble to get on a plane at Sharm El Sheikh without scanning your baggage, on payment of a fee of £20. (see http://www.independent.co.uk/news/world/africa/russian-plane-crash-sharm-el-sheikh-airport-security-concerns-raised-after-tourists-pay-20-to-skip-a6723591.html)
But technology has the capability to do this – and no-one (much) is developing it.

Good software supports but doesn’t direct

I don’t know why it is so popular among software designers to try to direct the users. It is an insane idea.
I bought a new Amazon Kindle last weekend. Before I could read a book on it, I was required to actually do stuff to show I knew how to use it, or forcing me to learn how to use features like highlight a sentence,
Most infuriating of all was a page which asked me to enter my Twitter and Facebook IDs – and there was no option to say ‘no I don’t want to connect my Kindle to a Twitter or Facebook account I just want to read books on it’. I had to select ‘I’ll do it later’ or something similar to go to the next screen.
Once I start thinking like a hacker, like the programmers do themselves, then it is no longer infuriating. The way to get to the next screen is to click ‘I’ll do it later”. But still, I would rather not be guided at all.
I’m a human just like you are – I like to go my own way. “My Way” is maybe Western culture’s most popular songs. Why don’t software enginers get it?
Good software should be like my servant. Its there when I need it and out of my way the rest of the time.
I’m not speaking like an idiot, I’m saying this is how my brain is wired to be, and so is yours.
When will software do that?

The best software should be invisible

I’ve just bought some wine and dinner in Tescos supermarket and paid with a self-service checkout,

I forgot about it,
Then I started thinking about how much easier Tesco’s self-service checkouts are compared to the Sainsbury’s ones I have used twice over the past week, buying something similar.
Start off with the fact that I don’t expect to use my brain when I go to supermarkets, at least the logical part of my brain. I think hard at work and go to supermarkets when I am not at work, so trying to rest my brain. I can cope with a smile at a check-out attendant and sometimes some chat and taking my card out that’s it. I don’t expect to have to work out how to use software.
I don’t like social interaction much when I need to get something out of it. I have to do that a lot at work, which is fine, but I don’t expect to have to do it at supermarkets. So I hate it when the software bleeps at me and I have to find someone to type in a password (which is all they do, by the way, never do what the software is asking them to do, ie confirm i’ve put what i said i put in my ‘bagging area’).
The first time I went to Sainsbury’s on the weekend, I had to get an attendant twice – once to confirm I had in fact bought one bag, and once to confirm I’d put a pencil sharpener in the ‘bagging area’ which was too light for the scales to pick up (not that the software was clever enough to know).
The second time I had to get an attendant 3 times. The first time I put the shopping basket in the “bagging area” and think I couldn’t just remove it, someone had to type in a code. The second time to confirm I was over 18 to buy wine. A third time to confirm I had bought 1 bag.
In Tescos I bought 1 bag and bought wine and didn’t need anyone to type in any codes.
A third example – when buying a chocolate bar in an airport last weekend, already stressed from having to look after 3 small children and bags (with my wife’s help), I was faced with a self checkout machine. An attendant came over and (perhaps seeing the look in my face or perhaps he does it to everyone) agreed to operate the machine for me. That was great for me but from the software’s point of view, is pretty much admitting defeat.
It is much easier to use software when you know how it works and you know its quirks and bugs – just like the people who build it do. It is horrible to use it, particularly when you don’t want to use your brain.
The relevance to the Software for Domain Experts blog is this. Experts don’t want to think about their software – they don’t even want to feel that they are using software.
Making software which does this is hard – but worth the effort.
When will someone do this for experts?

3 strong threads

There are 3 strong threads to the Software for Domain Experts idea.

The first is the technical one. Using ‘low code’ tools, and other methods which make it easier to build code, new applications can be built much faster. This is very essential when we start to move away from the ‘step by step’ process of building software, to one where software is continually evolving, after the users are using it. This makes it easier to make software which is more stable, and adapt software – for example to the needs of a different country.

The second thread is the commercial one. If experts have better software, they can do so much more with it – which means more profitable organisations and investment opportunities. And there are opportunities for small software companies building tools to help them.

The third thread is the psychological one. Decades of research has been made into how the mind works. We like to follow regular patterns, we love to learn, we like security, we don’t like change, we can’t handle much complexity. We can spot connections between different things much more powerfully than computers can – and most expert work perhaps comes down to a form of this (like the fire chief who recognises a house which is about to collapse before a non expert does).

All of this comes together in an exciting business opportunity.