Intelligent Infrastructure

The internet will be subsumed into our infrastructure. One of my earlier postings was about the future not being linear; not everyone ending up with a smart phone.

That’s because the world around us will become smarter. So we won’t need to carry around a smart phone.

I have gone back to using a flip phone for day to day use. It’s quite a recent model, small and lasts for over a week on a single charge. I’m not disconnected from the internet because so many things around me are connected. There’s usually a tablet or laptop around.

I’m not the only one who thinks this and I want to recommend you watch this great TEDx talk . It is about a journey of a couple making a bricks and mortar business fit with the modern world.

It really is worth the 15 minutes to watch it.

To me this is where IoT is leading us.


Web Assembly and the death of the browser

Original html was not designed with a rendering model in mind. It was simply a means to link information together.

The first browsers were text based, and lynx, such a text based browser, is used even today.

The need to animate this information, this content, only came about once there were visual browsers like Netscape. Once the browser integrated the display of visual content with the text, people started dreaming of more interactive, more dynamic displays.

At the root of these displays was still the notion of linked text and media, mostly static visual images. But by using a markup language the visual images could be tagged so they were semi-processible. However the metaphor of a 2 dimensional display remained.

Even when people added software plugins like Java and ecmascript the 2 dimensional model remained. Many trials happened with 3 dimensional extensions but none were accepted into web standards.

The reason was everyone thought in terms of a browser, and that was a 2 dimensional display device. Microsoft could see that the browser was the display system of a personal computer but because of their dominant position in the market all the other players could see Microsoft would destroy any competition. Legislation eventually stopped Microsoft completely integrating the browser into the personal computer system their called windows. Once again a metaphor constrained us. This time just the name of an operating system for a personal computer.

Windows, like the browser, was a mostly flat representation. You could see “through” the windows, but it was mostly to view an imaginary desk with documents on it. Occasionally, attempts were made to see through the window and view a 3 dimensional image but most personal computers were so underpowered that images would be sluggish if animated and impossible to render in real time.

Slightly more power is available with graphics co-processors, or GPUs. However still not enough to do virtual reality, so currently we are stuck with augmented reality.

There is a trajectory, so we know the direction. It will almost certainly be discontinuous but as a society we are moving away from a browser as the only window into the internet.

And web assembly will take us there.

Web assembly is as attempt to speed up interactivity in browsers. What it will do is outlive browsers. Originally designed as the next, standardised, step after Asm.js and NaCL, web assembly is a way to take any software and run it at machine speed. Instead of trying to make the software portable so it runs on any hardware and any operating system and any browser, web assembly will specify a virtual machine. We already use virtual machines in every area of Computing apart from our personal computers.

Nowadays personal computers are really personal. Where we had the dominance, almost a monopoly, of Microsoft operating systems, personal computers have mostly two; iOS, and android. Via Linux and Mach, these two really personal computer operating systems are derived from Unix, an operating system that is over 40 years old. It has a single processor model and fakes multiprocessor with a number of schemes. One of these schemes has given birth to the container fad, a way to dumb down virtual machines and continue along the dead end that is Unix.

With web assembly, we have a virtual machine model. It’s not real and as long as it can mutate, we can build new end points of the supra-computer we call the internet.

We need no longer be constrained by end point devices that have a piddling number of processors with an attached graphics processing array if we’re lucky. We can make displays that have a processor for every single pixel, we can make holographic generators that suck in more information than the internet has at the moment. If you can imagine what you can do with unlimited processing power and unlimited information then you are probably not thinking deep, far or wide enough.

Web assembly releases us from real machines and marks the end of 2D browsers with their clunky document model. It becomes an holistic universe.

Mechanical Turk?

I went into a Barclay’s Bank last week. My wife asked me to pay some money into her account.

I know she normally insists on dealing with counter clerks and shuns the various machines they have in the foyer for paying in, paying out, getting statements, etc.

I thought I might try the machines, but was swooped on by one of these ‘Eagles’ Barclays have to get technophobes to start using the technology. This was a rather young eagle, and possibly more an eaglet because she told me more than I think she should.

We went through filling in a paying in slip (how quaint) and putting the money and the slip into an envelope. I was given the couterfoil for the paying in slip and then the envelope was placed into a slot in the paying in machine.

Then the Eaglet said; “And now Stuart will process that payment”. Stuart? Is that the name of the machine.

No, Stuart is the person sitting at a desk right behind the slot. It wasn’t a machine. It’s a mechanical letter box.

So, after the Eaglet filled in the paying-in slip, Stuart then handles the money again, counts it again, verifies the paying in slip and then enters the data into the bank system.

And they want to teach people how to use technology?

Surely Barclays, you need to reduce the human processes, not increase them? My wife thought it laughable. If she’d walked into the bank and deposited the money with a counter person, the data would have been entered into the computer system by a single person.

Or does it actually print it out somewhere and a clerk with a quill pen update your own ledger with the transaction?

Oh to be in England…

Yesterday I went to this briefing event in Cambridge. I quote:

“The Technology Strategy Board, with Tech City UK Ltd and Cambridge Wireless, are to invest up to £1m to support micro, small and medium-sized businesses working on the Internet of Things (IoT).”

Apparently the ‘competition’ for the grants started on the 16th. June 2014. There is a process, all explained in great detail with plenty of friendly advice and one contradiction (No Prototypes). Pitches happen 19th. November 2014, with possibly funding sometime in the new year.

One advice from the Lead Technologist was that the awards were not ‘cash flow’. Winners would have to submit claims and payment arrives as soon as possible after the claim. 

  • From announcement to pitches – 5 months.
  • From announcement to money coming into the organisation – possibly 8 months.

Meanwhile you can’t start anything; yet this is for innovative research projects.

Rather than use a government department to manage ‘innovation’, why not give the £1m to one of 300 plus incubators or accelerators. I’m sure some teams would have started by now.


I can’t do what?

I was updating nuget in VS2012.

I found this limitation in the licence:

You may not

work around any technical limitations in the software;

So, no more running off to Stack Overflow to find out how to fix a problem.



Can Dinosaurs pupate?

A prediction was made about computing devices a long time ago. I think it was around 2005, although this report is dated 2008. Nigel Clifford, then the CEO of Symbian and the supplier of software to Nokia said:

“All of those single use devices – MP3 players, digital camera, GPS – are collapsing onto the phone.”

Basically, Symbian and Nokia both thought that the Smart phone was so good that there would be a convergence of mobile devices into the one form factor. Naturally this was the form factor that Nokia was selling. Here’s another quote from that story from the BBC:

“Converged devices are always with you and always connected,”

That was Olli-Pekka Kallasvuo, then CEO of Nokia. Neither Nigel, nor Olli-Pekka now lead those companies, Symbian has gone and Nokia will become a device brand name for Microsoft, which at that time in history was Nokia’s worst nightmare.

So, is the future diverged devices? You’d think people who run these large companies born from the start of the microcomputer boom (early 1970s) would learn.

Here’s another, more recent, quote:

“The world in the next five years and 10 years is not going to be defined by the form factor we know and love today, but by the variety of form factors that will come to be over the coming years,”

This time it’s from Satya Nadella, currently CEO of Microsoft, speaking at the launch of Office for iPad. So, in nine years some of the big companies have noticed that the earlier predictions were wrong.

Sadly it’s still a behemoth thinking they know the way that things will go.  This is the company that had it all once and missed so many changes, including the kick to the internet given to it by the World Wide Web.

It’s not that there aren’t good predictions around. Symbian, Nokia and Microsoft all had people with good, realistic visions.

Realistic predictions are based on the reaction of humans (and cats) to technological change. Companies get it wrong when they predict that the changes will be as a result of their company road map.


YAGNI applies to process

You Ain’t Gonna Need It – YAGNI, comes from extreme programming. Basically don’t write code just because you think you’ll need it.

YAGNI also applies to documents. In the Scrum control methodology the main concern is Return on Investment (ROI) for the customer. And this applies to non-software items.

You should always ask; does the customer want or need to pay for this?

In fact you can probably not create quite a lot of documents. Process documents for example. If you come from a traditional (waterfall) project management background or even if you think you are agile you may want to create a document that ‘captures’ best practice.

Don’t do it. Scrum has a retrospective activity that allows the team to consider how to improve what they did.

Good practices should be like folk lore; passed down by experience and demonstration.

The oral tradition applies to management. Any document should have emblazoned on the front:

‘Out of date if you are reading this’.


Keeping the tags on

I was going to mention Internet of Things in the last post about simplicity of applications in the face of growing diversity of devices.

I’d seen a presentation about IoT that used a retail fashion application. There was an RFID (NFC) tag on the swing tag of the article. If people selected an article the in-store web application could suggest items that would complement because the system knew the type, style, colour, etc.

Once the device is sold the swing tag and the attached RFID tag is removed.

Why? If the RFID tag remains on the item of clothing the owner has a machine readable history of the garment. If they go into a dry cleaners with the garment the operators can ensure they treat the garment properly.

Why not? Apparently the tags are blasted to stop working because of privacy concerns. People might be tracked by their cardie. That’s ignoring the phone, credit cards and any Bluetooth devices that might be broadcasting their ID carried by the person.

For retailers, if they could find out what is the colour and style of the clothing the person is wearing, they would know a lot more about the psychological makeup of the person. Perhaps they wouldn’t waste their time on someone who is in no mood to be sold to.

This can be extended to other items that people purchase. I watched Country File last night. Litter was being collected from a beach left by visitors. If RFID tags were attached to low value items like plastic water bottles and plastic bags then the people who have the greatest environmental impact could be made liable for that impact. This could be via a fine; perhaps even taken directly from the debit card used to pay for those items bought for a picnic on a beach and left to be eaten by a seal who then died.

A plastic bag or a bottle may not cost a lot to manufacture. As we all know now, the environmental impact is getting bigger. IoT enables us to track everything that is making our world a worse place to live in.


Simple makes it complicated

The problem is pervasive, it applies to all mobile implementations. The solution needs to be simple otherwise it won’t be used.

I suspect that’s the reason this particular problem hasn’t been solved before.

To make the solution simple it needs to work with most mobile devices. By sales that’s Android then iOS. By data volume it’s iOS then Android.

At the moment.

By this time next year there could be a number of other devices providing significant volumes of data. For example Mozilla OS intends to market a device for around $25 and at that price it could be of interest to many people who currently don’t have mobile devices. Add to that the challenge made by Facebook and others that, with support from the relevant mobile network operators they could connect the last two billion people on earth.

Make no mistake these new two billion mobile users are not there for the voice. These companies want them to be new end points to the internet.

I think 2014, with these initiatives, is likely to be the year that the mobile network operators realise that to charge extra for their data is self defeating, possibly even suicide. Once we have really simple devices that are more or less permanently connected to the internet networks will understand that Voice is just another data application.

The mobile phone will be dead. Long live the mobile device.

To make this solution simple we have a lot of work looking at the specifications of the possible contenders for mobile devices.



No promises mind, life gets in the way too much.

I’ll post here when I can’t stand to do any of the many other things I should be doing. Consider this displacement activity.

So, another attempt to start a business. Instead of trying to think of something that, according to my wife, will make lots of money, I’ve listened to customers.

They have a problem and we’re going to try and fix it.

We, this little group of people who I’ve asked if they want to be involved, will create a product that will solve this problem. It’ll be slightly better than what happens at the moment. That’s the best we can hope for.

Why the blog? Because we’ll be doing it the way that modern startups do things, but we’re not in California. That’s an accident, but we’ll get to that later. To collaborate we were using email until we got to the point of realised that we need all the stuff a business needs. Now we’ve started using Glasscubes.

Up to now we’ve discussed the idea, done a business model based on the lean canvas in lean stack and then started backlogs using Easy backlog for the minimum viable product (MVP). Once we have a product we can think about funding. My idea is to go to enterprises and see if they’re interested. This approach could take longer but we can keep talking to people as we refine the product. My experience with big customers is they always want a slightly different product. In that case you have two options; disengage until they decide they do want the product you have to sell them or negotiate a price that will allow you to make the changes for them.

We’re using freely available tools where we can. Some of us are hardware engineers and low level hackers, so we’ll need hardware design and layout tools, embedded software tools, as well as data design and web service tools. There’s also the business support tools.

Process? What process? The product design and implementation must be documented and eventually it will have to be tested for compliance with various safety and other legislation. To go to production the design will have to be acceptable and comprehensive enough to avoid problems caused by us, because we can’t afford to make mistakes.

Two of the team are Scrum Masters. So the project control methodology is Scrum. It’s simple, very flexible and applies to any dynamic project, not just software. Which is good because this is not just software.

This post may change if revise it to add links. There again my thoughts about links are changing. If it’s obvious, you can simply copy something into a search bar and you’ll find the references.