Sunday, May 14, 2023

Why the fuss about conversational programming - Part II

In my last post on conversational programming I asked the reader to "get yourself ready for a world of conversational programming" but I wasn't willing to call it for ChatGPT or the existing crop of LLMs. My advice was one of preparation and not nailing any colours to a mast. There is a reason.

I think GPT4 and systems like Github CoPilot are admirable but probably in the wrong space. I think the breathless horde of consultants prognasticating the replacement of programmers with LLMs have fallen into a trap, not disimillar to their claims in 2011 of cloud saving you money (it doesn't, you end up doing more stuff - see Jevons Paradox) or cloud needing less engineers (see above) or cloud just being for startups. 

In this case, I think the problem is to do with the medium iself.

Don't get me wrong, we're on a path to conversational programming as highlighted by Nicholas Negroponte and his paper "Architecture by yourself". As the paper noted, design is the process of a conversation between two or more pespectives in the minds of one or more designers. In today's case, one of the designers is becoming the machine. That conversation is the heart of conversational programming. But, what we're missing is the graphical conversational part of what is needed. This is the bit that Yona Friedman explored in "Towards a Scientific Architecture".

To explain, I'm going to use a map of coherent city transport. It was created through a discussion between a group of people (from Turkey to Germany to UK to the US) all involved in the transport industry. I've provided the "map" and the code use to create the map in figure 1.

Figure 1 - Coherent City Transport.

The discussion around the map highlighted that in transport planning we often failed to consider one of the major transportation systems effecting the world - that of virtual transport. Every virtual conference, every zoom chat involves a number of "virtual" miles travelled which has an impact on other transportation systems. Unfortunately, we often don't recognise this or even count the virtual miles. We've even built digital twins of cities that have ignored virtual as a transport system. It's a bit like ignoring roads.

If the idea of virtual as a transport system seems odd to you then consider the impact of different modes of transport on road congestion. Figure 2 should bring the message home.

Figure 2 - Congestion on roads by mode of transport.

This realisation of the importance of virtual as a transport system itself occurred through discussion as we explored the things on the map, their relationships with each other and the context they existed in. Now take a look at the code in figure 1. It would be difficult to make that realisation in a medium that is dominated by syntax, style and rules. In reality, the code was only ever the means to make the map. The conversation happened around the map.

Of course, both the text and the map are ways of "coding" the problem space of coherent city travel. One is simply code as text where syntax, styles and rules dominate. The other is simply code as a map where things, relationships and context dominate.

With this in mind, think about where we are with conversational programming today. We're mostly trapped in syntax, style and rules around code as text. We're not really having that conversation with the machine but instead giving it instructions - write this piece of code for me, check my code, improve my code - and being amazed at what it gives back.

A fabulous examples of this was in the NewStack article on "Developers Put AI Bots to the Test of Writing Code". The conversation often veers towards completeness or accuracy of written code but Villegas hits the nail on the head with a verdict that "AI-generated code lacks context-awareness".

That's not a problem with AI but instead the medium via which we are having the conversation. It doesn't matter if it's written or spoken, the medium is still the word, it is text. The power of conversational programming will only be truly unleashed if we can escape from the confines of text (where syntax, styles and rules dominate) and into a world of maps (where things, relationships and context matters).

Before you say "but we can create maps with words" - well, that's exactly what we used to do for navigation. Early forms of navigation were based upon epic sagas that people would learn. These were the written and spoken words for navigation. I probably sound no different from the Viking standing there pointing at squiggles on a parchment and a sun-stone to another group of bemused Vikings who had spent years learning epic sagas word for word. They probably thought that Viking was “off his rocker” and this map thing will never take off. But it did and it will again.

Words themselves are a poor medium to transmit quickly the key information needed in any significant journey. This is why we have used maps in military history as methods of communication and learning. The code for the map in figure 1 is a simplified and constrained language provided through online wardley maps. However, the code for that map contains over 1,700 different words (some hidden as digits, others hidden as links). That is pages of text in which it is hard to see the relationships between things. When we're coding our maps, the only thing that matters is the syntax and completeness of the code to produce the map. The real discussion happens over the map.

That's the world we need to get to, code as maps. At which we point we can have conversations over things, relationships and context (the real substance of a discussion) with the machines as a designer. That's when conversational programming will truly explode onto the scene. Today is just the foretaste of what is to happen.

Yes, I understand that LLMs might replace a lot of writing code itself but if you think that programming was just about writing code then you're missing the bigger picture. The world of writing code as text might diminish but the world of programming has yet to reach its golden age.

I strongly believe that the world of serverless which has already become about stitching components (or gluing things) together and thinking about the context will lend itself more naturally to the world of conversational programming. 
I suspect the techniques for conversational programming which were first hinted at by Aleksander Simovic and Slobodan Stojanovic in the AWS 2018 presentation on "Ask Jarvis to Create a Serverless App for Me" will come out of the rapidly developing open source space around multi-modal systems. 

Don't get me wrong, I admire the work of Bard, GPT4 and Github's Copilot but as engineers we are still stuck in a model of code as text. Our early entrants might have the foresight to declare "We have no moats" but to make things worse, they will already have inertia created by commercial interests.

So, keep exploring. Just remember, this battle for the future of AI through industrialisation of fundamental components is only at the beginning and we maybe in the "Sun Cloud" moment and barking up the wrong tree. That's where I suspect we are and there is much more to come. 

For interest, this is not a unique situation in business or IT. This is no different to the current situation with military organisations around the world slowly realising there are at least five landscapes of sovereignty which matter for the defence of the nation - territorial, economic, technological, political and cultural - and most of us only have maps for one of those landscapes.

Four of the other landscapes are still dominated by text - whether written or spoken. As we've learned in the territorial landscape in the American Civil war, topographical intelligence and situational awareness is critical. For that, we need conversations around maps not better text.

Same with code, same with conversational programming.


Q. Does that mean all code will be maps?
Of course not. It simply means that much our programming is likely to head in that direction to enable conversations. There will always be a need for the novel and new, the need for optimisations and the deeper you go the more likely you are to meet code as text i.e. maps might be high level but as you dig into a concept you’ll increasingly find graphs and then text alone. This should not surprise you as a graph normally contains some elements of text and a map contains a graph (of the value chain) and associated text. Each level inherits from what it is built upon.

Q. Why not just graphs?
Graphs are a fine tool but remember we're talking about conversions with context which implies some form of landscape. The difference between a graph and a map is that in a map, space has meaning. Which is why they are good for representing landscapes. See figure 3.

Figure 3 - Graphs vs Maps. In a map, space has meaning.

Q. Do you mean your form of maps?
All maps are imperfect representations of a space, they are also models and hence wrong. We use them because they are useful tools of communication but they represent a lossy trade-off between being able to discuss the context and fidelity of detail. It took our geographical brethren thousands of years to get that balance right, we've only be doing this for 18 years. We're more at the Babylonian Clay Tablet stage rather than ordinance survey maps. So, no ... I'm hoping we can create better maps than we have. I simply use my maps as an example — think odd looking Viking muttering about scribbles on parchments and sun-stones

Q. If your maps are wrong and imperfect, why use them?
Our geographical brethren didn't magically create 
1:10,000 scale representations of the landscapes with notable features overnight. These are a starting point for conversation. 

Q. Where would you look for inspiration of this change?
Two places — the open source world and the gaming world, especially the large and still vibrant community around Skyrim SE where both seem to happen. Hence keep an eye on reddit and discord groups. There’s an awful lot of work going into bringing LLMs into Skyrim SE. It’ll be interesting to see what tools they develop.

Q. Is it possible to map this landscape in any meaningful way? It’s a complex adaptive system.
Just because something is a complex adaptive system doesn’t mean everything is unpredictable and that meaningful representations can’t be created. It used to be said that you couldn’t meaningfully graph out an economy until a group in Hungary went and did that using sales tax data (figure 4) and discovered numerous chokepoints in the economy. It’s often a question of finding the right perspective and right data.

Figure 4 — Graph of the Hungarian economy. Source :

Q. We are moving from “describe the code” to “describe the app”?
That’s a nice idea but it’s slightly more than that. Describing the app still evokes concepts of commands and instructions i.e. build me this thing, I’d like buttons in cornflour blue. The future of conversational programming is more likely to start with the question of “describe your need”. In many cases, conversational programming may never need a single line of code written.

Monday, January 30, 2023

Why the fuss about conversational programming?

(a slightly more upto date version is on medium - I keep these as my original first drafts).

First, there isn't much fuss ... yet. But there will be.

To understand why, I'm going to build on my previous HackerNoon post on "Why the fuss about serverless". That post discussed the historical rise of DevOps associated with changing characteristics of compute (the shift from high to low MTTR), the rise of serverless and the development of an emerging practice built upon serverless. I called that practice FinDev in 2016. In the end we finally got a moniker of FinOps (2018) and subsequently a foundation, a book (O'Reilly Cloud FinOps) and several conferences built around those concepts of visibility into financial value and gluing together component services. This is all good but it's not the end of the story.

One of the questions that I was asked back in 2016 was "What comes after serverless"? I responded "Conversational programming". It's about time that I make clear what I mean and what its impact is going to be. At the same time, it's probably worth discussing platform engineering which is a combination of the useful with the downright harmful. However, before we can get started, you'll need some background information.


For this post, I'm going to assume that you have a passing familiarity with mapping, you have read the previous post on serverless and concepts like co-evolution are not alien to you. I'm also going to use the current popular terms like composable architecture (old skool was componentisation, they are the same thing) which are all derived from the ideas of compositionality - the ability to break down into and build with components. Just in case, I'll re-emphasise that :-

1) co-evolution refers to the change of practice with the underlying evolution of the technology due to its changing characteristics. For example, as compute evolved from product to a utility (nee cloud) then the change of characteristic from high to low MTTR (mean time to recovery) enabled a new set of practices to form which later became known as DevOps.

2) Red Queen refers to how we have no choice over evolution. As a technology evolves to more of a utility, we gain operational efficiency plus speed (due to the co-evolved practices) plus new sources of value as the combination of efficiency and speed allows us to create new things which we previously only dreamed of. These "new" things exist in the adjacent unexplored, the space of options that was previously too costly for us but evolution of technology has now enabled. As a competitor adapts they gain efficiency, speed and value which creates pressure on all others to adapt. This pressure mounts as more competitors adapt until all are eventually forced to change. It's why guns replaced spears or electric lamps replaced gas lamps.

3) Inertia refers to our reluctance to adapt to this new world. There are 16 different forms of inertia including pre-existing capital, pre-existing business model, loss of political capital and so forth. In general terms, it's our past success with an existing model of technology that creates inertia to adapting to the new world. 

With these basics in place, let us draw a map of the existing landscape.


Let us start with a basic map of technology, see figure 1.

Figure 1 - A basic map of technology

In the map above, a user has some need which is normally met by an application running on a device. The application is coded in some form of IDE which is built upon some concept of coding practice. That coding practice requires a run-time (e.g. Lamp or .Net) which has composable elements (e.g. libraries) which in turn run in some form of container (whether a virtual container or operating system). These containers runs on some form of compute provided through a concept of architectural practice (e.g enterprise class machines).

A number of components are shown as squares. These represent a pipeline of choice i.e. for applications we have a choice from novel apps to common place apps. Pipelines are used in maps when we have mutliple things with a common meaning i.e. power can mean renewable or fossil fuel or nuclear. Each of the choices that we can make are often independently evolving things. We can also use a pipeline to represent a choice in the evolution of a thing for example when discussing TV series we can talk about the first ever example for a particular format (X Factor) or a more evolved and repeated format (X Factor USA, x Factor UK, X Factor etc).

To explain this more clearly, let us expand out the map to discuss the serverless space.

Figure 2 - The Serverless Map.

In the map above, I've expanded out a number of the pipelines. For example, in compute we had the choice to use servers or cloud circa 2006 and onwards. For architectural practice we had developed best practice for use of servers (capacity planning, scale up, N+1, disaster recovery test) and we developed emerging architectural practices for compute as a utility (cloud). That practice evolved, was given a name DevOps and is currently good practice (there is a convergence in terms of what DevOps means). The "best" practice for compute as a product is these days called Legacy.

Equally, from 2014, the run-time has the option of Lamp / .Net or serverless environment such as Lambda or Azure. The coding practice itself has changed (the subject of the earlier post) with greater use of financial metrics and component services with the code acting more as a glue.

Now, all of these components are evolving, so let us bring it upto date by marking on the evolution and actually date the map. Given we're already discussing discrete components in the pipelines, we can simply remove the surrounding pipelines. This give us figure 3.

Figure 3 - Serverless Map, 2023.

From the map, servers shifted to cloud and enabled a practice called DevOps which is rapidly evolving heading towards best architectural practice for cloud. The legacy practice is actually best architectural practice for compute as a product (i.e. servers) but we call it legacy because it's on the way out. Common libraries are evolving to more component services in the FinOps world of serverless whereas best coding practice for use of Lamp / .Net is built upon the concept of common libraries. It too is destined for a moniker of legacy. The Lamp / .Net world is tightly linked to underlying orchestration tools and containers whereas in the serverless world the underlying architecture is abstracted away. In other words, in the serverless world you don't care about underlying infrastructure.

Of course, there will always be exceptions such as being a major scale provider of a component i.e. AWS worries about racks and physical servers because it provides EC2. It worries about infrastructure because it provides Lambda. However, most of us do not operate at this hyperscale and resistance to using such services is not normally based upon positive ideas of a better service but fear i.e. fear of lock-in, fear of loss of control. In other words, it's normally inertia to change or in some cases a percieved regulatory barrier to adoption. I say perceived because in almost every single instance where I've been told "the regulators won't allow us" - the regulators weren't actually the problem.

This is not to say that lock-in is not a concern but our lack of understanding of physical and digital supply chains including how evolved the components are, the excludability of components, their substitutability and rivalrousness means that we have little to no visibility of the risk in our supply chains. Even the US executive order for SBOMs is only a starting point on a very long journey. The blunt truth is that Microsoft, Google and AWS will almost certainly have a far better understanding (as exhibited by their ability to provide some embedded carbon information) of their supply chains along with greater resilience than your home grown operation. In a global shortage for silicon chips, these hyperscalers are more likely to secure supplies than your "mom and pop" investment bank operation serving a few million customers or your "corner shop" University with a few tens of thousands of students. Anyone in purchasing will tell you tales of how difficult it has been to get hold of computers and peripherals.


When you think about the act of writing an application today, it is often an act of gluing together a few discrete component services with some code in a utility run-time environment such as Lambda. Well ... at least, it should be. There are an awful lot of organisation dealing with much lower order components such as racking machines or worrying about container orchestration than there needs to be. That's normal, the Red Queen effect doesn't mean everyone changes at the same time. It's a non linear shift (often called a punctuated equilibrium) and companies will get there eventually. However, if you want to read about what good looks like then I'd suggest "The Value Flywheel Effect".

Even in this serverless world, the act of programming still requires you to think about what component services need to be glued together. That means you have to break down the problem into components, find component services that match, determine what is missing and hence what you will need to build, then build it and glue it all together. That is still a lot of work to be done and to be blunt, it's work that can mostly be automated and achieved through some form of intelligent compiler. This leads us to conversational programming.

Let us think about our IDE (integrated development environment). Today, they are very human centric i.e. built upon an expectation that humans will write the code. 
In a conversational programming world you tell the system what you want, or least provide it prompts for that. The IDE will be more built around the concept of Human + AI rather than just human. Let us map that out in figure 4.

Figure 4 - Conversational Programming, 2022

The rapid evolution of large language models towards more of a commodity service will enable more conversational styles of programming. If you think this is science fiction then an example of this was provided at AWS RE:Invent in 2019 by Alex. This doesn't mean that the system will build everything for you, there will always be edges that need to be crafted but the majority of what is built today is repetition of code that has already been done. 

The modern description of conversational programming is prompt engineering. Examples of which can be seen using large language models such as OpenAI. It's only a matter of time before OpenAI is tightly coupled into Azure's development environment and programming will start to look more like a conversation between an engineer with an AI making recommendations for changes and addition of services. If you wish to see the future then a wondeful example of conversational programming can be found in the marvellous StarTrek Voyager and the "Delete the wife" scene.

Of course, much of this will start with text based system but it's a small jump to voice from there. What is relevant is the conversation itself and not the medium (text or voice). One thing you might note in the map is how I've linked FinOps to conversational programming. Serverless has brought remarkable changes such as refactoring having financial value to the focus on financial visibility within code (including carbon cost of code) and these are unlikely to be lost in a conversational programming world. Again, those decisions are ones which an AI can help with. It's not just the code itself (and reducing duplication) that will matter in these IDEs but the meta data suchy as the cost per function and capital flow within an application whether carbon or dollar or yuan.

We're still waiting for those conversational programming environments to fully form but we're getting close. The technology is there (i.e. large language models), the concept is there (i.e. conversational programming) and the attitude is there (i.e engineers getting swamped by complexity). All the factors needed are in place, it's only a question of how quickly this evolves and which actor launches first - Microsoft or AWS? Of course, whomever launches first and drives this to more of a utility will gain the advantage of the meta data for applications built on top. This is a huge strategic advantage which in the past AWS has thoroughly enjoyed and made use of (see Reaching Cloud Velocity) and it's at the heart of the ILC model (described in that book). Which is why I can't see AWS doing an IBM and letting Microsoft walk away with this show. It'll be an interesting battle.

I want you take a moment to think about this. The speed of one company with engineers building systems through conversational programming (i.e. a discussion with the system) versus the speed of a company whose engineers are messing around with containers and orchestration systems (such as kubernetes clusters) versus the speed of a company whose engineers are still wiring servers in racks. I want you to think about the Red Queen effect and realise that you will have no choice over this evolution.


Back in 2019, I put together a rough timeline for when this would all start to kick off, see figure 5. I put a stake in the ground around 2020 to 2023 which means sometime this year. However, it depends upon actors actions which are notoriously difficult to predict and we've had a number of shocks to the economic system. That said, with systems like GitHub's CoPilot, you could argue we've already started.

Figure 5 - Timeline, 2019.

As with all these changes (cloud plus devops, serverless plus finops, conversational programming plus any new moniker for the practice to built on top), there will be the usual gains in efficiency, speed and new sources of value. It will be a punctuated equilibirum (non linear change) which means it will seem to be growing slowly but the doubling rate will catch out most analysts. There will be the usual inertia, the usual crowd of CxOs dismissing it as a fad followed by the usual panic and scramble for skills. There will also be the usual nonsense peddled by large management consultants. It's probably worth listing these :-

1) You'll need less engineers. Nope. See Jevon's paradox. You'll need to retrain to a new world but you'll end up doing more stuff. You'll need those engineers.

2) It'll reduce IT budgets. Nope. See Jevon's paradox again. You'll end up doing more stuff, more cost efficiently.

3) You have choice. Nope. See Red Queen Effect. This is only a question of "when" not "if".

4) It's only for startups. Nope. Startups have less past success and hence lower inertia barriers to change. Large enterprises will resist the change due to the pre-installed capital. Eventually, they will have no choice. See Red Queen Effect.

5) We can build our own. Nope. Well, technically you can but you'll regret it. Doesn't mean that want stop hordes of self interested vendors trying to persuade you to do so for reasons of "security", "lock-in" and "customisation to your needs".

6) I can make a more efficient application by hand crafting the code. Nope. Well, technically you can but the time taken to hand craft it all will be vast (especially if you decide to go down to the level of containers or even worse hardware) compared to the speed at which competitors will move. I'd also suggest reading into Centaur Chess if you think even the most gifted engineer will outcompete an average engineer with an average AI.

7) It'll be the death of DevOps / FinOPs etc. Nope. Well, technically it will be but that takes a very long time. Never underestimate how long legacy (i.e. toxic) IT sticks around. So whilst it'll take 5-8 years to see who the winners and losers in this conversational programming world are, it'll take 10-15 years to become seen as the new norm and anywhere from 30 to 45 years for the old world to truly disappear into very small niches.


If I look at the map above, then all those components on the right hand side can be discussed as building a platform - a cloud platform of utility infrastructure, a serverless platform, a platform of component services and eventually a conversational programming platform etc. In general, it's not a good idea to provide components as services exposed through APIs to others unless those components have become industrialised which is why conversational programming requires large language models to become more industrialised.

There are a number of discrete skills - code respository, toolsets, monitoring - around those "platforms" but in general the main platform principles needed are build discrete components, build WITH discrete components and shift as much of the platform to utility providers. Unfortunately, the term platform engineering seems to have got wrapped up with the idea of building your own platform. This is downright harmful if there are utility providers out there. I've even listened to people talk about their data centres as a platform. I'm afraid, those companies are going to struggle in a world of conversational programming particularly as the training for some of these large language models can run into the hundreds of millions of dollars. I'm sure there will be vendors willing to sell you this but I would pause before spending and think about all those large data lakes you were sold and how much ROI you actually got or think about those private cloud efforts or how much return you're getting on a kubernetes cluster in a world of serverless? Caveat Emptor.


Oh, that's where the fun really starts. If you look further up the map (figure 4) around the area of application and device this is where we get into the world of Spimes and SpimeScript. Though I suspect we're going to call that CyberPhysical. Anyway, that's another post for another year, we're quite some way from that at the moment.


In summary, get yourself ready for a world of conversational programming. We're not quite there yet but we should be there soon. When it arrives, embrace it and thank me later.

Friday, April 22, 2022

Look before you leap.

The different types of situational awareness.

I’m a bit of a stuck record when it comes to supply chains, situational awareness and mapping. In order to get myself off the subject, I thought I’d have a bit of a rant about this bugbear of a topic. I’m going to do this with the aid of multi-domain defence.

Setting the scene.

Why do we need defence? Let us start with Government.

Government needs a society i.e. something to govern. This doesn’t mean society needs government, however that’s a conversation for another time. A society also needs citizens otherwise you’re governing the society of yourself.

Beyond a society to govern, it also needs legitimacy in governing. That legitimacy can take many forms but if some other Government can exert its percieved legitimacy more than yours then you won’t be governing — they will.

Legitimacy implies something to be sovereign over such as a physical territory. Sovereignty implies some sort of theatre to act within. For example, land or sea or air. To operate in that theatre assumes there is actually a landscape to operate within, that you have the capability to do so and some way of operating (an operating model). Finally, a theatre does imply that you are aware of the existence of the landscape. This will be our basic scene for discussing defence and I’ve drawn it up in a map.

Step 1 — the basic scene.

Belonging and success.

Societies have norms of behaviour — a combination of principles of operating (or heuristics) with the beliefs (or values) of that society. But having those norms is not enough, a society must be successful in spreading or at least maintaining its norms. Citizens also require a sense of belonging which in turn requires some element of trust and an appearance of success. A key thing to note, appearance of success is not the same as actual success i.e. it’s perfectly possible to convince a population that we’ve “won this war” when the opposite is happening.


On the map we have several pipelines (those rectangular blocks). Whilst most of a map represents statements of logical AND such as this needs this AND that. A pipeline represents a non exclusive OR. For example, trust consists of many components which share a meaning of “trust”. This includes integrity (I trust you to do what you say), benevolence (I trust you to work for my benefit) and competence (I trust you have the skill). You can choose to be competent but lack benevolence or integrity, you can choose to have all these components or you can choose to be weak at all. The level of trust will depend upon how much of each you invoke.

Our understanding of what these components mean is also evolving. It should be noted that all components evolve, the arrow in the pipeline doesn’t mean one evolves to the other but that they are all evolving independently.

Naturally, the components of trust are connected to other components — competence is tied to success, norms of behaviour are tied to integrity, benevolence is a key part of belonging. Benevolence doesn’t mean it won’t cause you harm, abusive arrangements can be based upon a “greater” threat i.e. you sacrifice rights to be protected against a perceived “greater” threat.


Moving down the map, we can now flesh out the concepts of sovereignty. Typically we think of this as territorial sovereignty (i.e. protecting our land) but there are many elements to sovereignty — protecting our culture, our political systems, our economy and even our technology (i.e. digital). For a Government to have legitimacy it requires control over the political system rather than being appointed by someone else (i.e. a puppet government of others). If it is a puppet then the others are exerting their legitimacy to determine how the political system works.

Success is often tied to protecting “our” land along with our economic and technological progress. Integrity and benevolence is often tied to our cultural systems and the stories we tell — the myths of great deeds or tales on the balance of conflict i.e. robbing the rich to help the poor (Robin Hood) versus robbing the poor to pay the rich (Sheriff of Nottingham). The “appearance” of success and integrity is also tied to our political systems. The society might be failing but we can still build belonging if our political system has the social capital to tell a few fibs.

One thing to note is that all maps are imperfect representations of a space. What I’m showing you are my assumptions and my biases on the subject. Hence, all maps are open to challenge and improvement.


Sovereignty applies to a theatre. For example physical sovereignty applies to land, sea, air and space. Digital sovereignty applies to the area of cyber including technology and social media. Culture applies to the theatre of art. These theatres are where we compete with others. There are many forms of competition including conflict (fighting others), co-operation (helping others) and collaboration (working with others).

Let us take the theatre of art. Hollywood was historically used to spread Western culture through the medium of film. Today, the most significant theatre of art is immersive video games hence organisations like Hezbollah produce video games. These might seem unusual theatres of competition but we shouldn’t limit ourselves to land and sea. Areas such as social media can be used to enhance or undermine (through radicalisation) our political systems. The economy itself is a theatre of war from sanctions to exclusions such as the recent use of SWIFT protocol.

Critical national infrastructure (CNI)

Another theatre is CNI. This covers many areas from food to water to energy to telecoms. I’m going to expand this one out because it is tied to the appearance of success. It’s hard to use political capital to convince people within the society which you govern that things are going well when they are starving or lack access to fresh water or heating for their homes.

Other theatres are also tied to elements of CNI. You can’t manage the theatre of cyber if you’ve lost control of telecoms. It’s hard to have an economy if you’ve lost control of finance.

Landscapes (Territory)

These theatres apply to landscapes. The one we are most familiar is concerned with physical sovereignty i.e. our land, our borders, our territory. Of course, territory itself varies a lot i.e. France is not UK which is not Germany. Understanding your landscape and the elements within it (situational awareness of the physical landscape) is critically important. If you don’t know where your resources are or where an attacker is or the type of land then you will be at a severe disadvantage. Sending tanks to defend against an invader might sound sensible but quickly degenerates into farce when you discover that the land you’ve sent the tanks to is a swamp, the invader has significantly more numbers and they’re not even at the swamp you’ve sent the tanks to.

Fortunately, we’ve learned these lessons over time and are are pretty good at physical awareness. We have built a host of systems to enable this from radar to accurate maps.

Landscapes (Supply chain)

Whilst some of our theatres operate over landscapes we are familiar with, not all of them do. For example economic and cyber theatres and elements of CNI operate over supply chains. Even our capabilities are built on supply chains.

Supply chains themselves are more uniform than territory — there are only so many ways to build a bullet or to make a window. Unfortunately our awareness of those supply chains is in general … atrocious. The UK has been through a number of shocks from brexit to covid in which a better understanding of our supply chains would have helped. Today, we have conflict related to Ukraine and shocks such as climate change facing us. The problem with acting in theatres (such as the use of sanctions) is that if you don’t understand the supply chain landscape then … well, it’s a bit like dropping a bomb on a physical landscape without looking at where you are dropping the bomb. Targetted approaches do require you to look at the space.

A note to the future

Across these theatres, our ability to defend ourselves and others (whether from shocks or conflict) and our ability to effectively co-operate and collaborate with others depends upon our awareness of these landscapes. Supply chain attacks across software, across physical goods, across CNI, across our political systems (in a future of AI generated video content when you can’t tell whether the person speaking to you is real or not), across our cultural systems (the use of radicalisation, the alteration of history) will become more common over time. Kinetic warfare (throwing deadly stuff at others) is expensive and opponents will look for asymmetric advantages.

For the last decade, I have repeatedly watched the executive functions of government and corporations ignore these issues and be outplayed by others. Let me be clear, our weakness is in our lack of situational awareness over our supply chains from digital to physical. These spaces are dominated by stories and graphs with rarely a map to be seen

I’m hoping that in the future we embrace a concept of defence far beyond land, sea, air, space and cyber which is built upon the ideas of situational awareness of not just territory but the landscape of supply chains.

Feel free to take the map and modify it yourself. I’d like to see someone improve the map. As I said, it comes complete with my own biases, inertia and assumptions and should be challenged —

Rant over.

Tuesday, November 16, 2021

Mountains matter in digital sovereingty

I'm going to explain a few things that don't matter in order to explain one thing that does. So let us start.

First, I invented a method of mapping competitive landscapes. This not only includes physical activities but practices, data, knowledge and even ethical values. I used such a map to map culture.

A map of culture

The map of culture is not important except I'll note that collectives (groupings of people) are differentiated by our values (i.e. beliefs) and the behaviours we exhibit. Those collectives are in competition with each other and that competition (the act of "seeking together" whether seeking some knowledge or some resource) can take many forms including co-operation ("working together"), collaboration ("labouring together") or even conflict ("fighting together").

When we talk about physical sovereignty (I italicise as we rarely mention the physical word) then we tend to use a map of the territory and mark out where our collective (and our values and our behaviours) exist surrounded by a border which demarcates the "outside".

Physical sovereignty

We can create a map of competitive spaces (see the above mention that I invented a way of doing this) then we can apply patterns (discovered through mapping) to anticipate potential future states. For example, this was a map created in the DVLA around 2014 of the future automotive industry. A number of its anticipations have already started to happen but that's not interesting for this discussion nor is the map itself.

Future of the automotive industry

What is mildly interesting is that we can bring elements of the culture map onto our competitive spaces. For example, we can show how a collective can embed their values in simulation systems for intelligent agents (AI). When we export products based upon this, we're also exporting our values to other collectives but then we've been doing this with film, music, games and art in general for a long time. It's a form of non kinetic warfare.

Embedding values within commercial systems.

As I said, most of this stuff in unimportant. What does matter and what I want you to think about is when we discuss digital sovereignty then we should be talking about where our borders are on those maps i.e. what are the bits we wish to protect for our collective, our behaviours and our values?

Digital sovereignty

So, why does this matter?

Imagine listening to a conversation on physical sovereignty where no-one has any maps and therefore no-one can discuss borders but everyone wants to talk about the importance of mountains or hills or lakes or forests or roads. You would probably think it's gibberish or at the least utterly hopless. Those are simply components that exist in a landscape and are mostly irrelevant on their own to the discussion at hand.

Well, this is exactly the conversation that is happening today in digital sovereignty. Few (in western Governments it seems) have maps of their competitive landscapes and as a consequence we not only poorly understand our supply chains but we have no idea where our borders should be in the competitive space. So, instead of trying to map the environment, we've replaced it with an entire conversation on the importance of mountains (clouds) or hills (cybersecurity) or lakes (data) or forests (AI) or roads (networks). It is utterly hopeless bordering on gibberish.

Wednesday, September 08, 2021

Those virtual battlegrounds ...

In this post I'd like to discuss why I believe video games will become a new battleground for the soul of a country.  Before I start, I will need to cover some basics. However, I'm also going to have to make a few assumptions including :-

a) that you know how to map

b) that you've read my posts on mapping culture 

c) you're familiar with my discussion on the issue of digital sovereignty

If not, well you might struggle with this but let us try it anyway. I'm going to start with the latest version of the culture map and dig a little bit more into several parts. I'm going to do this through a lens of power.

The basics

figure 1 - the culture map.

The map is an imperfect representation of the concept of culture itself including the components that make it. At the top of the map are the two anchors of "Me" and "We". How much do we focus on ourselves and how much do we focus on others and the wider society. Each of us have a bit of both. In some collectives (i.e. some nations) there is a stronger "We" focus, in others it's more about the individual. You can see some of this in the nation state responses to COVID.

When we focus on the "We", we're focused on our collectives ability to control our environment (see figure 2 below). It's all about power with others i.e. we can defend or build a new land, we can create freedoms for everyone. Often this is represented through concepts like co-operation, labour unions and in our social contract to each other. As MLK pointed out "the freedom of collective bargaining” has been critical to many of our most cherished rights.

figure 2 - the culture map and collective power.

When we focus on the "Me", we're focused on our individuality and our agency i.e. our ability to make choices, to change things and to exploit the environment to suit ourselves. Not everyone has the same agency. In the West, the wealthy have more agency than the poor. As the Adventures of Stevie V would say "money talks". That agency requires us to have some power over the collectives that we belong to and hence power over others. Often this is represented through concepts like hierachy, ownership and exclusion. I've show this in figure 3.

figure 3 - the culture map and agency

But there is another form of power worth noting. That is the power that I have but which I gift to others. The behaviour of gifting often appears in collectives that have strong beliefs (i.e. values) on sharing. For example, many sections of the open source movement are based upon these beliefs. Not all mind you, some collectives (and companies are collectives, same as nations, families, churches and any group of people) view open source as more of a marketing tool or as a means to accelerate the diffusion of their products or as a form of gameplay to undermine competitors. What they tend to believe in is diffusion of their product which is not necessarily the same as sharing. Hence you can often see a different set of behaviours with such open source companies changing licensing rules because others in their communities are being more successful. Yes, it's "open" but they want to retain power over others rather than it's open and we've gifted power to others. I've represented this in figure 4 and the link from power through behaviours (i.e. sharing of power) to values (i.e. we believe in sharing).

figure 4 - the culture map and gifting power to others.

In the above there are three basic types of power - with, over and to. Now, why the connection to the Adventures of Stevie V? 

Well, there are many ways to adjust the beliefs (i.e. values) of a collective. You could nudge behaviour (encouraging more of this, less of that) or create new threats (i.e. new collectives we're competing against). As an aside, it's worth noting that when we are in competition, there are many forms of gameplay that can be deployed e.g. direct conflict, co-operation, alliance and collaboration. Your choice of gameplay maybe limited by your values i.e. direct conflict does not suit a collective that is focused on the "We" and sharing. However, we can use that threat of conflict to change our own values and hence enable other forms of gameplay. You can also influence values by embedding them in technology but we covered that in the "Digital Sovereignty" discussion. Another way to change values is to alter memories i.e. rituals, symbols and heroes. The most effective way to do this is with Art.

Art is a powerful means of changing values and hence behaviour in others. Hollywood and Walt Disney was used to promote Western values, Bob Dylan became the bard that crystallised the values of the 1960s, even a song like "Money talks" can have some influence.

So what about video games?

Video games are art. 

Let us first skip past the tendency of the industry to try and turn children into addicts with cheap psychological tricks in return for money. Yes, it's abhorrent. Ignoring that, the games themselves have values embedded within them whether it's belief in property (the hoarding of gold coins) or fairness or sharing or whatever the creator wishes. The very act of creating a video game will embed our values within it whether the action to add them was conscious or not. Video games are now so widespread and immersive that they must be considered a powerful channel for spreading values and they rival radio, television and film. These are all enablement systems for values, allowing our values to diffuse to other collectives. Unfortunately as with digital sovereignty, as with Brexit, as with COVID and as with most aspects of life then we don't map or even understand the basic components of the supply chain. That doesn't mean others can't or won't exploit this space.

If you think China is simply reducing video game usage in children for reasons of addiction, I would suggest you consider that it is also limiting exposure to unfavourable beliefs. In the battle between nations, kinetic warfare occurs when all other means have failed i.e. direct conflict is the lowest form of warfare. Whilst alliances, collaboration and co-operation are far better, the most powerful forms are when you simply persuade others to just become you by altering their behaviours, values, memories, rituals ... you get the picture ... or was that the Hollywood blockbuster?

Others are starting to explore these areas i.e. sugar games and project violacea, These forms of play will no doubt intensify with the development of progammable video (with systems like Synthesia) as the virtual and real worlds blur. You'll not only have to face the prospect of artifical collectives radicalising people in social media (something which has to some extent become industrialised) but also the programming of values into children through the games they play. 

Well, it's happening already even if it is accidental. Fortunately, people are starting to talk more about this subject i.e. Tyler Cowen on How Gaming Will Change Humanity as We Know It.

The new battleground will be video games and I don't just mean running around fragging some newbie.

Thursday, October 22, 2020

Digital Sovereignty.

It has been a long time since I've posted and there is so much to discuss. The continued industrialisation of the technology stack, the automation of radicalisaton online, the impacts of physical isolation in accelerating adoption, the ethics of choice against the ethics of care or the entire question of how to balance "Me" vs "We" in a modern society? There is so much to choose from that it's difficult to know where to start. But start I will and I suppose a bugbear is as good a place as any. My bugbear for today is digital sovereignty.

I'll need to explain what digital sovereignty is and that task is about as easy as explaining what culture is, something that anthropoligist have failed to do in over one hundred years of concerted effort. To make matters worse, I'm going to have to use culture to explain digital sovereignty. I'm already starting to regret my decision to leave my self imposed exile on twitter to return to a bit of blogging.

Anyway, enough dallying. Let us begin with the culture map (see figure 1). Now, you might not have seen this before but that's ok. The map itself is simply a representation of what culture is and the details are not important. What matters is to realise that culture consists of many components including values, behaviours, memory and other concepts linked to our collective. We belong to many collectives from nation state to church to family.

Figure 1 - The Culture Map

Within the map, there can be found numerous feedback loops. These loops can be both stabilising and destabilising (see figure 2) for the collective. For example, it's the visible success of our collective in spreading its values through our behaviour that makes us feel safe with a strong sense of belonging to our collective. For example, our economic success in the West and our values of democracy are intertwinned with our fervent belonging to our collective (notions of the West is Best etc) and the sense of safety that we gain for being "right" or at least more powerful than those other collectives which we might fear. Of course, if our economic success stumbles or other collectives become seen as more successful than us (in whatever pursuit) then our sense of safety and belonging might decline.  We might put up barriers to those dangerous "others".

Figure 2 - Feedback loops

Again the mechanics of this are not important, well not for now. What matters is that the major feedback loops are connected to landscape (see figure 3). 

Figure 3 - Landscape


So, what do I mean by this? Well, we live in a context i.e. a physical landsdape that we live within. We use maps to describe this context, "our land", "our borders" and the bit that "our collective" occupies (my nation, my home, my church etc) and where we impose our values, behaviours and even have collective memory. It could be UK, it could be France (see figure 4), it doesn't matter. The collective memories include heroes and rituals, for example "Remember, Remember the 5th of November" really only has meaning within the context of Great Britain. 

Anyway, in the land that my collective rules then we have physical sovereignty. 

Figure 4 - Map

Now, we don't just live and compete in a physical landscape. There are other landscapes that we and our collectives are involved in. For the example, the competitive landscape of business. This can also be mapped. However, we need to be careful here. Most of the things that we call maps in business have one thing in common - they're not maps, they're graphs. To understand the distincton (see figure 5), in a map space has meaning i.e. if you move things it changes your representation of the space. In other words, take an altlas, shift Australia next to the UK and you've got a "different" atlas. The same is not true for most business "maps" - mind maps, business process maps, system maps - because they're "graphs".

Figure 5 - Graph vs Map

In order to create a map, you need three basic characteristics - an anchor (i.e. north), position of pieces relative to that anchor (this is north or east of that) and consistency of movement (i.e. south means south). For reference I have provided a map of an industry that has those characteristics in figure 6. The map was produced over five years ago and was a projection of the future of the automotive industry from its current state at that time to 2025. Maps are often used for anticipation of change and other areas that are beyond the scope of this discussion.

Figure 6 - A Map of Business

Well, the map has many components most of which are becoming commodity-like according to this projection. Firstly you need to know that all maps are projections. They are imperfect representations of a space (they have to be in order to be useful) and being models they're all wrong. But despite being imperfect and wrong, they happen to be useful. Secondly, maps are excellent forms of communication, challenge and learning. According to the map which was produced in UK Government around 2014 then much of the industry would start to head towards utility like models with self driving cars and little differentiation. Hence there would be pressure in the market to find new models to recreate difference and status. The possible options included digital subscription models linked to route management (see figure 7) and sure enough, four years later, BMW was talking in such terms. There are a lot of negative consequences of this path including embedding social inequality into transportation system but that's another discussion.

Figure 7 - Anticipating with Maps.


If you look closely at the map, the anchor which it is based around is the user. However, users are members of collectives (nation, family and otherwise). Those collectives have value and we embed those values in our technology systems and choices. In this case, through training data used in  AI and simulation models (see figure 8)

Figure 8 - Collectives, Automotives and Simulation



You can see this yourself by asking the Trolley Question. If the self driving car has to kill someone would it be the impoverished family of four or the wealthy industrialist? The answer will depend upon what you value in your collective and those answers will vary between collectives. Regardless of your answer, self driving cars will have values embedded in them through training data and those values may well not be our own if we don't produce the vehicles. This is already becoming clear through the Beijing AI Principles. There are many principles within that declaration that other collectives might not agree with, for example "be designed to benefit as many people as possible" might not chime well with those looking to sell exclusive products to a select few.

Digital sovereignty is all about us (as a collective) deciding which parts of this competitive space that we want to own, compete, defend, dominate and represent our values and our behaviours in. It's all about where are our borders in this space. It's no different to physical sovereignty (see figure 9)

Figure 9 - Digital Sovereignty

Unfortunately, the field (in the West) seems to be dominated by management consultants and other gurus telling stories and trying to define what "digital sovereignty" is as though the general who wins the war is the one who comes up with the best name for it. Our repsonses all seem to include a slide into protectionism with claims that we need to build our own cloud industries. We seem to have decided to forget that we don't produce all our own food and cross border trade is an important part of life. Lastly we do like a good moonshot and yes, an artillery barrage can do wonders but it's a really good idea to look at the landscape before you press fire.

China's play on the other hand remains sublime as they go from strength to strength building on the work of Deng Xiaoping in the 1970s. The remarkable feat of constantly climbing up the more industrialised components of the value chain (something that Amazon has also done) from luggage to high end technology (or books to everything) has been spectacular to watch in both in its skill and co-ordination of directed investment (see figure 10). Obviously as China's industries have succeeded and brought their values into areas once dominated by the West it has created tensions particularly as our own collective slowly start to question our success. It's hard to maintain our fervent value that "our form of democracy is the answer" when you're losing ground to others  even if we can't see the ground that we're losing. It's a bit like that moment in 2014 when IBM and others had finally started to realise what dreadful mistakes they had made in 2007 by letting Amazon run freely.

Figure 10 - China

Anyway, that's what Digital Sovereignty is all about and yes, you need a map if you want any chance of  playing in this game. 

So why a bugbear? These games take time, China has been operating its play for 40+ years but we are rushing to be seen to do stuff, powered by storytelling, cheered along by management consultants and without a map in sight. 

We're not in a good place and we're doing little to help ourselves.