It’s hard to believe that this year is the 30th anniversary of Tim Berners-Lee’s great invention, the World-Wide Web, and that much of the technology that enabled his creation is still less than 60 years old. Here’s a brief history of the Internet and the Web, and how we got to where we are today, in ten significant events.
#1: 1963 – Ted Nelson begins developing a model for creating and using linked content he calls hypertext and hypermedia. Hypertext is born.
#2: 1969 – The first message is sent over the ARPANET from computer science Professor Leonard Kleinrock’s laboratory at University of California, Los Angeles to the second network node at Stanford Research Institute. The Internet is born.
#3: 1969 – Charles Goldfarb, leading a small team at IBM, developed the first markup language, called Generalized Markup Language, or GML. Markup languages are born.
#5: 1993 – Mosaic, a graphical browser aiming to bring multimedia content to non-technical users (images and text on the same page) is invented by Marc Andreessen. The web browser is born.
#6: 1995 – Jeff Bezos launches Amazon “earth’s biggest bookstore” from a garage in Seattle. E-commerce is born.
#7: 1998 – The Google company is officially launched by Larry Page and Sergey Brin to market Google Search. Web search is born.
#8: 2003 – Facebook (then called FaceMash but changed to The Facebook a year later) is founded by Mark Zuckerberg with his college roommate and fellow Harvard University student Eduardo Saverin. Social media is born.
#9: 2007 – Steve Jobs launches the iPhone at MacWorld Expo in San Francisco. Mobile computing is born.
#10: 2018 – Tim Berners-Lee instigates act II of the web when he announces a new initiative called Solid, to reclaim the Web from corporations and return it to its democratic roots. The web is reborn?
I know there have been countless events that have enabled the development of our modern Information Age and you will no doubt think others should be included in preference to some of my suggestions. Also, I suspect that many people will not have heard of my last choice (unless you are a fairly hardcore computer type). The reason I have added this one is because I think/hope it will start to address what is becoming one of the existential threats of our age, namely how we survive in a world awash with data (our data) that is being mined and used without us knowing, much less understanding, the impact of such usage. Rather than living in an open society in which ideas and data are freely exchanged and used to everyones benefit we instead find ourselves in an age of surveillance capitalism which, according to this source, is defined as being:
…the manifestation of George Orwell’s prophesied Memory Hole combined with the constant surveillance, storage and analysis of our thoughts and actions, with such minute precision, and artificial intelligence algorithmic analysis, that our future thoughts and actions can be predicted, and manipulated, for the concentration of power and wealth of the very few.
In her book The Age of Surveillance Capitalism, Shoshana Zuboff provides a sweeping (and worrying) overview and history of the techniques that the large tech companies are using to spy on us in ways that even George Orwell would have found alarming. Not least because we have voluntarily given up all of this data about ourselves in exchange for what are sometimes the flimsiest of benefits. As Zuboff says:
Thanks to surveillance capitalism the resources for effective life that we seek in the digital realm now come encumbered with a new breed of menace. Under this new regime, the precise moment at which our needs are met is also the precise moment at which our lives are plundered for behavioural data, and all for the sake others gain.
Tim Berners-Lee invented the World-Wide Web then gave it away so that all might benefit. Sadly some have benefited more than others, not just financially but also by knowing more about us than most of us would ever want or wish. I hope for all our sakes the work that Berners-Lee and his small group of supporters is doing make enough progress to reverse the worst excesses of surveillance capitalism before it is too late.
There have been many, many reports both globally and within the UK bemoaning the lack of digital skills in todays workforce. The term digital skills is somewhat amorphous however and can mean different things to different people.
To more technical types it can mean the ability to write code, develop new computer hardware or have deep insights into how networks are set up and configured. To less digital savvy people it may just mean the ability to operate digital technology such as tablets and mobile phones or how to find information on the world wide web or even just fill out forms on web sites (e.g. to apply for a bank account).
A recent report from the CBI, Delivering Skills for the New Economy , which comes up with a number of concrete steps on how the UK might address a shortage of digital skills, suggests the following as a way of categorising these skills. Useful if we are to find way in which to address their scarcity.
Basic digital skills: Businesses define basic digital skills in similar terms. For most businesses this means computer literacy such as familiarity with Microsoft Office; handling digital information and content; core skills such as communication and problem-solving; and understanding how digital technologies work. This understanding of digital technologies includes understanding how data can be used to glean new insights, how social media provides value for a business or how an algorithm or piece of digitally-enabled machinery works.
Basic digital skills: Businesses define basic digital skills in similar terms. For most businesses this means computer literacy such as familiarity with Microsoft Office; handling digital information and content; core skills such as communication
and problem-solving; and understanding how digital technologies work. This understanding of digital technologies includes understanding how data can be used to glean new insights, how social media provides value for a business or how an algorithm or piece of digitally-enabled machinery works.
Advanced digital skills: Businesses also broadly agree on the definitions of advanced digital skills. For most businesses, these include software engineering and development (77%), data analytics (77%), IT support and system maintenance (81%) and digital marketing and sales (72%). Businesses have highlighted their increasing need for specific advanced digital skills, including programming, visualisation, machine learning, data analytics, app development, 3D printing expertise, cloud awareness and cybersecurity.
It is important that a good grounding in the basic (core) skills is given to as many people as possible. The so called digital natives or “Gen Zs” (at least in first world countries) have grown up knowing nothing else but the world wide web, touch screen technology and pervasive social media. Older generations, less so. All need this information if they are to operate effectively in the “New Economy” (or know enough to actively disengage from it if they choose to do so).
The basic skills will also allow for a more critical assessment of what advanced digital skills should be considered if making choices about jobs or if people just need to understand what social media companies they should or should not be using or how artificial intelligence might affect their career prospects.
I would argue that a basic level of advanced digital knowledge is also a requirement so that everyone can play a more active role in this modern economy and understand the implications of technology.
And by implication, do they need Enterprise Architects?
For the last few years I have been meeting with startup and scaleup founders, in and around my local community of Birmingham in the United Kingdom, offering thoughts and advice on how they should be thinking about the software and systems architectures of the applications and platforms they are looking to build. Inevitably, as the discussions proceed and we discuss not just what they need now (the minimum viable architecture if you like) but what they might need in the future, as they hopefully scale and grow, the question arises of how and why they need to worry about architecture now and can’t leave it until later when hopefully they’ll have a bit more investment and be able to hire people to do it “properly”.
To my mind this is a bit of a chicken and egg type question. Do they set the groundwork properly now, in the hope that this will then form the foundation on which they grow or, do they just hack something together “quick and dirty” to get paying customers onto the platform and only then think about architecture and go through the pain of moving onto a more robust platform that will be future proof? Or do they try and have their cake and eat it and somehow do a bit of both? Spending too much time on pointless architecture may mean you never get to launch because you run out of time or money. On the other hand if you don’t have at least the basics of an architecture you might launch but quickly collapse if your system cannot support an unexpected surge in users or maybe a security breach.
These are important questions to consider and ones which need to be addressed early on in the startup cycle, at least to the degree that if an enterprise architecture (EA) is not laid out, the reasons for not doing so are clear. In other words has an architecture decision been made for having an EA or not?
No startup being formed today should consider that IT and business are separate endeavours. Whether you are a new cake shop selling patisseries using locally sourced ingredients or a company launching a new online social media enterprise that hopes to take onFacebook, IT will be fundamental to your business model. Decisions you make when starting out could live with you for a long, long time (and remember just five years is a long time in the IT world).
Interestingly it’s often the business folk that understand the need for doing architecture early on rather than IT people. Possibly this is because business people are looking at costs not just today but over a five year period and want to minimise the amount of IT rework they need to do. IT folk just see it as bringing in new cool toys to play with every year or so (and may not even be around in five years time anyway as they are more likely to be contract staff).
Clearly the amount of EA a startup or scaleup needs has to be in proportion to the size and ambitions of the business. If they are a one or two man band who just needs a minimum viable product to show to investors then maybe a simple solution architecture captured using, for example, the C4 model for software architecture will suffice.
For businesses who are beyond their first seed rounding of funding and are into series A or B investment then I do believe they should be thinking seriously about using part of that investment to build some elements of an EA. Whether you use TOGAF or Zachman or any other framework doesn’t really matter. What does matter is that you capture the fundamental organisation of the system you wish to build to help offset the amount of technical debt you are prepared to take on.
Here are some pointers and guidelines for justifying an EA to your founders, investors and employees.
Reducing Your Technical Debt
Technical debt is what you get when you release not-quite-right code out into the world. Every minute spent on not-quite-right code counts as interest on that debt. The more you can do to ensure “right-first-time” deployments the lower your maintenance costs and the more of your budget you’ll have to spend on innovation rather than maintenance. The lower, in other words, are your technical debt interest repayments. For a scaleup this is crucial. As much of every dollar of your investment funding that can go on marketing or innovating your platform leads to an improved bottom line, more customers and overall making you attractive to potential buyers. This leads to…
Enhancing Your Exit Strategy
Many, if not most, startups have an exit strategy which usually involves being brought out by a larger company making the founders and initial investors rich beyond their wildest dreams enabling them to go on and found other startups (or retire onto a yacht in the Caribbean). Those large companies are going to want to see what they are getting for their money and having a well thought through and documented EA is a step on the way to proving that. The large company does not want to become another HP who got its fingers badly burnt in the infamous Autonomy buyout.
To Infinity and Beyond
Maybe your founder is another Mark Zuckerberg who refuses the advances of other companies and instead decides to go it alone in conquering the world. If successful there is going to be some point at which your user base grows beyond what you ever thought possible. If that’s the case hopefully you architected your system to be extensible as well as manageable to support all those users. Whilst there are no guarantees at least having the semblance of an EA will reduce the chances of having to go back to square one and rebuilding your whole technology base from scratch.
Hardly an Earth shattering statement but often one which you tend not to consider when starting out. As technologists, we all know the ever increasing pace of change of the technology we deal with and the almost impossible task of keeping up with such change. Whilst there may be no easy ways to deal with the complete left-field, unexpected (who’d have thought blockchain would be a thing just 10 years go) having a well thought through business, data, application and technology architecture which contains loosely coupled components with well understood functionality and relationships at least means you can change or upgrade those components when the technology improves.
K.I.S.S (Keep It Simple Stupid)
It is almost certain that the first version of the system you come up with will be more complicated than it needs to be (which is different from saying the system is complex). Anyone who invests in V1.0 or even V2.0 of a system is almost certainly buying more complexity than they need. That complexity will manifest itself in how easy (or not) it is to maintain or upgrade the solution or how often it fails or under-performs. By following at least part of a well thought through architecture development method (ADM) which you iterate over a few times in the early stages of the development process you should be able to spot complexity, redundant components or ones which should not be built by you at all but which should be procured instead as commercial of the shelf (COTS) products. Bear in mind of course that COTS products are not always what they seem and using EA and an ADM to evaluate such products can save much grief further down the road.
It’s All About Strategy
For a startup, or even a scaleup, getting your strategy right is key. Investors often want to see a three or even five year plan which shows how you will execute on your strategy. Without having a strategy which maps out where you want to go how will you ever be able to build a plan that shows how you will get there?
Strategy as Planning – large planning exercises, defining the future of the organisation.
Strategy as a Ploy – to act to influence a competitor or market.
Strategy as a Position – to act to take a chosen place in the chosen market.
Strategy as Pattern – the strategy that has evolved over time.
Strategy as a Perspective – basing the strategy on cultural values or similar non-tangible concepts.
For startups, where it is important to understand early on your ploy (who are you going to disrupt), your position (where do you want to place yourself and what differentiates you in the market) and perspective (what are your cultural values that makes you stand out), an EA can help you formulate these. Your business architecture can be developed to show how it supports these P’s and your technology architecture can show how it implements them.
As an aside one of the most effective tools I have used for understanding strategy and mapping and deciding what should be built versus what should be bought are Wardley maps. Not usually part of an EA or an ADM but worthwhile investigating.
So, in summary, whilst having an EA for a startup will in no way guarantee its success I believe not having an EA could inhibit its smooth growth and in the long run cost more in rework and refactoring (i.e. to reduce the amount of technical debt) than the cost of putting together, at least an outline EA, in the first place. How much EA is right for your startup/scaleup is up to you but it’s worthwhile giving some thought to this as part of your initial planning.
If you want to understand the likely trajectory of the new Conservative government you could do worse than study the blog posts of Dominic Cummings. In case you missed this announcement amongst all the cabinet reshuffling that happened last week, Cummings is to be Boris Johnson’s new “special adviser”.
*For what it’s worth I could equally have used any of the adjectives ‘disruptive’, ‘powerful’ or ‘dangerous’here I think.
Cummings has had three previous significant advisory roles either in UK government or in support of political campaigns:
Campaign director at Business for Sterling (the campaign against the UK joining the Euro) between 1999 and 2002;
Special adviser to Michael Gove at the Deprtment for Education between 2010 and 2014;
Campaign Director Vote Leave between 2015 and 2016.
Much has already been written about Cummings, some of it more speculative and wishful thinking than factual I suspect, that you can find elsewhere (David Cameron was alleged to have called Cummings a “career psychopath“). What is far more interesting to me is what Cummings writes in his sometimes rambling blog posts, and what I focus on here.
In his capacity advising Gove at the DfE Cummings wrote a 240-page essay, Some thoughts on education and political priorities which was about transforming Britain into a “meritocratic technopolis”. Significantly during Gove’s tenure as education minister we saw far more emphasis on maths and grammar being taught from primary age (8-11) and teaching of ‘proper’ computer science in secondary schools (i.e. programming rather than how to use Microsoft Office products). Clearly his thoughts were being acted upon.
Given that his advise has been implemented before it does not seem unreasonable that a study of Cummings blog posts may give us some insight into what ideas we may see enacted by the current government. Here are a few of Cummings most significant thoughts from my reading of his blog. I have only included thoughts on his more recent posts, mainly those from his time in exile between the end of the Vote Leave campaign and now. Many of these build on previous posts anyway but more significantly are most relevant to what we are about to see happen in Johnsons new government. The name of the post is highlighted in italics and also contains a hyperlink to the actual post.
Cummings is very critical of the UK civil service, as well as government ministers, that he maintains do not make decisions based on facts and hard data but more often on intuition, feelings and inevitably their own biases and prejudices. In this post he suggests that ‘systems’ should be implemented to help run government. These would be things like:
Cognitive toolkits and AI that would support rational decision-making and help to decide what is possible as well as what is not (and why).
Prediction tournaments that could easily and cheaply be extended to consider ‘clusters’ of issues around themes like Brexit to improve policy and project management.
Red Teams and pre-mortems to help combat groupthink and “normal cognitive biases” . He advocates that Red Teams should work ‘above’ the Cabinet Office to ensure diversity of opinions, fight groupthink and other standard biases that make sure lessons are learned and government blunders avoided or at least minimised.
Seeing rooms that would replace the antiquated meeting spaces found in much of government (e.g. the Cabinet room) and use state of the art screens, IT and conference facilities to ensure better and more accurate decision making.
Two people mentioned often in this post by Cummings are Bret Victor and Michael Nielsen. Victor is a an interface designer, computer scientist, and electrical engineer who writes and talks on the future of technology. Nielsen is also a writer and computer scientist with an interest in neural networks and deep learning. The way Cummings immerses himself in fields outside of his area of expertise (he studied Ancient & Modern History at Oxford) and makes connections between different disciplines is itself instructive. Often the best ideas come from having such a cross-disciplinary approach to life without confining oneself to your particular comfort zone.
This post, published as a paper in February 2017, looks at what Cummings refers to as ‘mission critical’ political institutions” i.e. government departments with huge budgets, complex programs of work like HS2 (or Brexit) and those dealing with emergency situations such as terrorist incidents and wars. It looks at how disasters can (or could) be avoided by deploying “high performance man-machine teams” where the individuals involved are selected on the basis of their training and education as well “incentives”. The paper considers the development of new ideas about managing complex projects that were used by George Mueller to put men on the moon in 1969.
This quote sums up Cummings concerns with our current political institutions:
The project of rewiring institutions and national priorities is a ‘systems’ problem requiring a systems solution. Could we develop a systems politics that applies the unrecognised simplicities of effective action? The tale of George Mueller will be useful for all those thinking about how to improve government performance dramatically, reliably, and quantifiably.
The paper gives a potted history of systems engineering ideas and practices bringing in everyone from the military strategist John Boyd to the mathematician John von Neumann and along the way. Cummings is also fond of comparing the success of NASA’s mission to put a man on the moon and bring him safely home to the failure of the European Launcher Development Organisation (ELDO) to even launch a rocket. The difference being (according to Cummings) that NASA’s success was due to “a managerial effort, no less prodigious than the technological one”.
Cummings corelessonsforpolitics which he believes “could be applied to re-engineering political institutions such as Downing Street” are many and varied. but here are a few, which even after less than a week of Boris Johnsons government I think we are seeing being enacted. How that is happening are my italics in the below.
Organisation-wide orientation. Everybody in a large organisation must understand as much about the goals and plans as possible. The UK is leaving the EU on 31st October 2019.
There must be an overall approach in which the most important elements fit together, including in policy, management, and communications. Johnson has completely gutted May’s cabinet and everyone new onboard has allegedly been told they must be on message, tow the party line and vote with the government in any upcoming parliamentary votes.
You need a complex mix of centralisation and decentralisation.While overall vision, goals, and strategy usually comes from the top, it is vital that extreme decentralisation dominates operationally so that decisions are fast and unbureaucratic. Interesting that Johnsons first act as prime minister is to visit the regions (not Brussels) promising them various amounts of money presumably to do just this.
People and ideas are more important than technology. Computers and other technologies can help but Colonel Boyd’s dictum holds: people, ideas, technology — in that order. It is too early to see if this approach will be implemented. Certainly government does not have a good track record when it comes to implementing IT systems so it will be interesting to see if the ‘solution’ to the Irish backstop does end up being IT driven.
What this post is about is probably best summed up by Cummings own words near the beginning of the article:
In SW1 (i.e. Whitehall) now, those at the apex of power practically never think in a serious way about the reasons for the endemic dysfunctional decision-making that constitutes most of their daily experience or how to change it. What looks like omnishambles to the public and high performers in technology or business is seen by Insiders, always implicitly and often explicitly, as ‘normal performance’. ‘Crises’ such as the collapse of Carillion or our farcical multi-decade multi-billion ‘aircraft carrier’ project occasionally provoke a few days of headlines but it’s very rare anything important changes in the underlying structures and there is no real reflection on system failure.
Although this post covers some of the same ground as previous ones it shows how Cummings ideas on how to tackle the key problems of government are beginning to coalesce, probably best summed up in the following:
One of the most powerful simplicities in all conflict (almost always unrecognised) is: ‘winning without fighting is the highest form of war’. If we approach the problem of government performance at the right level of generality then we have a chance to solve specific problems ‘without fighting’ — or, rather, without fighting nearly so much and the fighting will be more fruitful.
If you see the major problem of government as solving the wicked problem of Brexit it will be interesting to see how, and if, Cummings manages to tackle this particular issue. After all it has already led to two prime ministers resigning or being pushed out and even Boris Johnsons’ tenure is not guaranteed if he fails to deliver Brexit or calls an election that gains a greatly increased majority that allows him to push his ideas through.
The Digital Activist’s View
Few would argue that a government that based its decisions on data, more scientific methods and industry best practices around project and systems management would not be a good thing. However, using data to understand people and their needs is very different to using data to try and influence what people think, how they vote and the way they go about their daily lives. Something that Vote Leave (and by implication Cummings) have been accused of by proliferating fake new stories during the leave campaign. In short who is going to sit above the teams that position themselves above our decision makers?
One of Cummings pet hates is the whole Whitehall/civil service infrastructure. He sees it as being archaic and not fit for purpose and an organisation whose leaders come from a particular educational background and set of institutions that religiously follow the rules as well as outdated work practices no matter what. To quote Cummings from this paper:
The reason why Gove’s team got much more done than ANY insider thought was possible – including Cameron and the Perm Sec – was because we bent or broke the rules and focused very hard on a) replacing rubbish officials and bringing in people from outside and b) project management.
The danger here is that by bringing in some of the changes Cummings is advocating just risks replacing one set of biases/backgrounds with another. After all the industries that are spawning both the tools and techniques he is advocating (i.e. predominantly US West Coast tech companies) are hardly known for their gender/ethnic diversity or socially inclusive policies. They too tend to follow particular practices, some of which may work when running a startup business but less so when running a country. I remember being told myself when discussing ‘disruption’ with a civil servant in one of the UK’s large departments of state that the problem with disruption in government is that it can lead to rioting in the streets if it goes wrong.
There is also a concern that by focusing on the large, headline grabbing government departments (e.g. Cabinet Office, DWP, MoD etc) you miss some of the good work being done by lesser departments and agencies within them. I’m thinking of Ordnance Survey and HM Land Registry in particular (both currently part of the Department for Business, Energy and Industrial Strategy and which I have direct experience of working with). The Ordnance Survey (which is classified as a ‘public corporation) has successfully mapped the UK for over 100 years and runs a thriving commercial business for its maps and mapping services. Similarly HM Land Registry has kept several trillion pounds worth of the nations land and property assets safe in digital storage for around 50 years and is looking at innovative ways of extending its services using technologies such as blockchain.
Sometimes when one’s entire working life is spent in the bubble that is Westminster it is easy to miss the innovative thinking that is going on outside. Often this is most successful when that thinking is being done by practitioners. For a good example of this see the work being done by the consultant neurologist Dr. Mark Wardle including this paper on using algorithms in healthcare.
If UK government really is as devoid of skills as Cummings is implying there is the danger they will try to ‘import’ skills by employing ever larger armies of consultants. This approach is fraught with danger as there is no guarantee the consultants will be as well read and immersed in the issues as Cummings hopes. The consultants will of course tell a good story but in my experience (i.e. as a consultant, not in government) unless they are well managed their performance is unlikely to be better than the people they are trying to replace. Cummings acknowledges this potential issue when he asks how we “distinguish between fields dominated by real expertise and those dominated by confident ‘experts’ who make bad predictions?“
Finally, do we really want Whitehall to become a department of USA Inc by climbing into bed with a country which, under the presidency of Trump, seems to be leaning ever more rightward? As part of any post-Brexit trade deal it is likely the US will be seeking a greater say in running not just our civil service but health service, schools and universities. All at a time when its tech companies seem to be playing an ever more intrusive part in our daily lives.
So what is the answer to the question that is the title of this post? As someone who trained as a scientist and has worked in software architecture and development all of my life I recognise how some of the practices Cummings advocates could, if implemented properly, lead to change for the better in UK government at this critical time in the nations history. However we need to realise that ultimately by following the ideas of one, or a small group of people, we run the risk of replacing one dogma with another. Dogma always has to be something we are prepared to rip up no matter where or who it comes from. Sometimes we have to depend on what the military strategist John Boyd (one of Cummings influences) calls “intuitive competence” in order to deal with the novelty that permeates human life.
I also think that a government run by technocrats will not necessarily lead to a better world. Something I think even Cummings hints at when he says:
A very interesting comment that I have heard from some of the most important scientists involved in the creation of advanced technologies is that ‘artists see things first’ — that is, artists glimpse possibilities before most technologists and long before most businessmen and politicians.
At the time of writing Boris Johnsons’ government is barely one week old. All we are seeing for now are the headline grabbing statements and sound bites. Behind the scenes though we can be sure that Cummings and his team of advisers are doing much string pulling and arm bending of ministers and civil servants alike. We shall soon see not just what the outcomes of this are, but how long Boris Johnson survives.
This is the transcript of a talk I gave at the 2018 Colloquium on Responsibility in Arts, Heritage, Non-profit and Social Marketing at the University of Birmingham Business School on 17th September 2018.
Good morning everyone. My name is Peter Cripps and I work as a Software Architect for IBM in its Blockchain Division.
As a Software Architect my role is to help IBM’s clients understand blockchain and to architect systems built on this exciting new technology.
My normal world is that of finance, commerce and government computer systems that we all interact with on a day to day basis. In this talk however I’d like to discuss something a little bit different from my day to day role. I would like to explore with you how blockchain could be used to build a trust based system for the arts world that I believe could lead to a more responsible way for both creators and consumers of art to interact and transact to the mutual benefit of all parties.
First however let’s return to the role of the Software Architect and explain how two significant architectures have got us to where we are today (showing that the humble Software Architect really can change the world).
Architects take existing components and…
This is one of my favourite definitions of what architects do. Although Seth was talking about architects in the construction industry, it’s a definition that very aptly applies to Software Architects as well. By way of illustration here are two famous examples of how architects took some existing components and assembled them in very interesting ways.
1989: Tim Berners-Lee invents the World Wide Web
The genius of Tim Berners-Lee, when he invented the World Wide Web in 1989, was that he brought together three arcane technologies (hypertext, mark-up languages and Internet communication protocols) in a way no one had thought of before and literally transformed the world by democratising information. Recently however, as Berners Lee discusses in an interview in Vanity Fair, the web has begun to reveal its dark underside with issues of trust, privacy and so called fake news dominating much of the headlines over the past two years.
Interestingly, another invention some 20 years later, promises to address some of the problems now being faced by a society that is increasingly dependent on the technology of the web.
2008: Satoshi Nakamoto invents Bitcoin
Satoshi Nakamoto’s paper Bitcoin: A Peer-to-Peer Electronic Cash System, that introduced the world to Bitcoin in 2009, also used three existing ideas (distributed databases, cryptography and proof-of-work) to show how a peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. His genius idea, in a generalised form, was a platform that creates a new basis of trust for business transactions that could ultimately lead to a simplification and acceleration of the economy. We call this blockchain. Could blockchain, the technology that underpins Bitcoin, be the next great enabling technology that not only changes the world (again) but also puts back some of the trust in a the World Wide Web?
Setting aside the hype, blockchain, at its core, is all about trust. It provides a mechanism that allows parties over the internet, who not only don’t trust each other but may not even know each other, to exchange ‘assets’ in a secure and traceable way. These assets can be anything from physical items like cars and diamonds or intangible ones such as music or financial instruments.
Here’s a definition of what a blockchain is.
An append-only, distributed system of record (a ledger) shared across a business network that provides transaction visibility to all involved participants.
Let’s break this down:
A blockchain is ‘append only’. That means once you’ve added a record (a block) to it you cannot remove it.
A blockchain is ‘distributed’ which means the ledger, or record book, is not just sitting in one computer or data centre but is typically spread around several.
A ‘system of record’ means that, at its heart, a blockchain is a record book describing the state of some asset. For example that a car with a given VIN is owned by me.
A blockchain is ‘shared’ which means all participants get their own copy, kept up to date and synchronised with all other copies.
Because it’s shared all participants have ‘visibility’ of the records or transactions of everyone else (if you want them to).
A business blockchain network has four characteristics…
Business blockchains can be characterised as having these properties:
All parties in the network have to agree that a transaction is valid and that it can be added as a new block on the ledger. Gaining such agreement is referred to as consensus and various ways of reaching such consensus are available. One such consensus technique, which is used by the Bitcoin blockchain is referred to as proof-of-work. In Bitcoin proof-of-work is referred to as mining which is a highly compute intensive process as miners must compete to solve a mathematically complex problem to earn new coins. Because of its complexity, mining uses large amounts of computing power. In 2015 it was estimated that the Bitcoin mining network consumed about the same amount of energy as the whole of Ireland!
Happily, however, not all blockchain networks suffer from this problem as they do all not use proof-of-work as a consensus mechanism. Hyperledger, an open source software project owned and operated by the Linux Foundation , provides several different technologies that do not require proof-of-work as a consensus mechanism and so have vastly reduced energy requirements. Hyperledger was formed by over 20 founding companies in December 2015. Hyperledger blockchains are finding favour in the worlds of commerce, government and even the arts! Further, because Hyperledger is an open source project, anyone with access to the right skillset can build and operate their own blockchain network.
This means that once you add a new block onto the ledger, it cannot be removed. It’s there for ever and a day. If you do need to change something then you must add a new record saying what that change is. The state of an asset on a blockchain is then the sum of all blocks that refer to asset.
Because you can never remove a block from the ledger you can always trace back in time the history of assets being described on the ledger and therefore determine, for example, where it originated or how ownership has changed over time.
The shared ledger is the place that all participants agree stores ‘the truth’. Because the ledgers records cannot be removed and everyone has agreed them being recorded on there, that is the final source of truth.
… with smart contracts controlling who does what
Another facet of blockchain is the so called ‘smart contract’. Smart contracts are pieces of code that autonomously run on the blockchain, in response to some event, without the interference of a human being. Smart contracts change the state of the blockchain and are responsible for adding new blocks to the chain. In a smart contract the computer code is law and, provided all parties have agreed in advance the validity of that code, once it has run changes to the blockchain cannot be undone but become immutable. The blockchain therefore acts as a source of permanent knowledge about the state of an asset and allows the provenance of any asset to be understood. This is a fundamental difference between a blockchain and an ordinary database. Once a record is entered it cannot be removed.
Some blockchain examples
Finally, for this quick tour of blockchain, let’s take a look at a couple of industry examples that IBM has been working on with its clients.
The first is a new company called Everledger which aims to record on a blockchain the provenance of high value assets, such as diamonds. This allows people to know where assets have come from and how ownership has changed over time avoiding fraud and issues around so called ‘blood diamonds’ which can be used to finance terrorism and other illegal activities.
The second example is the IBM Food Trust Network, a consortium made up of food manufacturers, processors, distributors, retailers and others that allow for food to be tracked from ‘farm to fork’. This allows, for example, the origin of a particular food to be quickly determined in the case of a contamination or outbreak of disease and for only effected items to be taken out the supply chain.
What issues can blockchain address in the arts world?
In the book Artists Re:Thinking the Blockchain various of the contributors discuss how blockchain could be used to create new funding models for the arts by the “renegotiation of the economic and social value of art” as well as helping artists “to engage with new kinds of audiences, patrons and participants.” (For another view of blockchain and the arts see the documentary The Blockchain and Us).
I also believe blockchain could help tackle some of the current problems around trust and lack of privacy on the web as well as address issues around the accumulation of large amounts of user generated content at virtually no cost to the owners in what the American computer scientist Jaron Lanier calls “siren-servers” .
Let’s consider two aspects of the art world that blockchain could address:
As a creator how do I know people are using my art work legitimately? As a consumer how do I know the creator of the art work is who they say they are and the art work is authentic?
As a creator how do I get the best price for my art work? As a consumer how do I know I am not paying too much for an art work?
Challenges/issues of the global art market (and how blockchain could address them)
Let’s drill down a bit more into what some of these issues are and how a blockchain network could begin to address them. Here’s a list of nine key issues that various players in the world of arts say impacts the multi-billion pound art market and which blockchain could help address in the ways I suggest.
To be clear, not all of these issues will be addressed by technology alone. As with any system that is introduced it needs not only the buy-in of the existing players but also a sometimes radical change in the underlying business model that the current system has developed. ArtChain is one such company that is looking to use blockchain to address some of these issues. Another is the online photography community YouPic.
Introducing YouPic Blockchain
YouPic is an online community for photographers which allows photographers to not only share their images but also receive payment. YouPic is in the process of implementing a blockchain that allows photographers to retain more control over their images. For example:
Image tracking and copyright tools.
Smart contracts for licensing
Every image has a unique fingerprint so when you look up the fingerprint or a version of the image it points out all of the licensing information the creator has listed.
The platform could, for example, search the web to identify illicit uses of images and if identified contact the creator to notify them of a potential copyright breach.
You could also use smart contracts to manage you images automatically, e.g. receive payments in different currencies, or maybe you want to distribute payment to other contributors or just file a claim if your image is used without your consent.
ArtLedger is a sandbox I am developing for exploring some of these ideas. It’s open source and available on GitHub. I have a very rudimentary proof of concept running in the IBM Cloud that allows you to interact with a blockchain network with some of these actors.
I’m encouraging people to go onto my GitHub project, take a look at the code and the instructions for getting it working and have a play with the live system. I will be adapting it over time to add more functions and see how the issues in the previous stage could be addressed as well as exploring funding models for how such a network could become established and grow.
So, to summarise:
Blockchains can provide a system that engenders trust through the combined attributes of: Consensus; Immutability; Provenance; Finality.
Consortiums of engaged participants should build networks where all benefit.
Many such networks are at the early stages of development. It is still early days for the technology but results are promising and, for the right use cases, systems based on blockchain have the promise of another step change in driving the economy in a fairer and more just way.
For the arts world blockchain holds the promise of engaging with new kinds of audiences, patrons and participants and maybe even the creation of new funding models.
The genius of Tim Berners-Lee when he invented the World Wide Web back in 1989 was that he brought together three arcane technologies (hypertext, markup languages and internet communication protocols) in a way no one had thought of before and literally transformed the world. Could blockchain do the same thing? Satoshi Nakamoto in his paper that introduced the world to bitcoins 20 years later in 2009 also used three existing ideas (distributed databases, public key or asymetric cryptography and proof-of-work) to show how a peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.
The documentary The Blockchain and Us made by Manuel Stagars in 2017 interviews software developers, cryptologists, researchers, entrepreneurs, consultants, VCs, authors, politicians, and futurists from around the world and poses a number of questions such as: How can the blockchain benefit the economies of nations? How will it change society? What does it mean for each of us? The intent of the film is not to explain the technology but to give views on the it and encourage a conversation about its potential wider implications.
Since I have begun to focus my architecture efforts on blockchain I often get asked the question that is the title of this blog post. According to Gartner blockchain has gone through the ‘peak of inflated expectations’ and is now sliding down into the ‘trough of disillusionment’. The answer to the question, as is the case for most new technologies, will be it’s “good for” some things but not everything.
As a technologist it pains me to say this but in the business world technology itself is not usually the answer to anything on its own. As the Venture Capitalist Jimmy Song said at Consensus earlier this year*, “When you have a technology in search of a use, you end up with the crap that we see out there in the enterprise today.” Harsh words indeed but probably true.
Instead, what is needed is the business and organisational change that drives new business models in which technology is, if required, slotted in at the right time and place. Business people talk about the return on investment of tech and the fact that technology often “gobbles up staff time and money, without giving enough back“. Blockchain runs the risk of gobbling up too much time and money if the right considerations are not given to its use and applicability to business.
If we are to ensure blockchain has a valid business use and gets embedded into the technology stack that businesses use then we need to ensure the right questions get asked when considering its use. As a start in doing this you could do worse than consider this set of questions from the US Department for Homeland Security.
Many blockchain projects are still at the proof of technology stage although there are some notable exceptions. The IBM Food Trust is a collaborative network of growers, processors, wholesalers, distributors, manufacturers, retailers and others enhancing visibility and accountability in each step of the food supply chain whilst the recently announced TradeLens aims to apply blockchain to the world’s global supply chain. Both of these solutions are built on top of the open source Hyperledger Fabric blockchain platform which is one of the projects under the umbrella of the Linux Foundation.
What these and other successful blockchain systems are showing is actually that another question should be tagged onto the flowchart above (probably it should be the first question). This would be something like: “Are you willing to be part of a collaborative business network to share information on a needs to know basis?” The thing about permissioned networks like Hyperledger Fabric is that people don’t need to trust everyone on the network but they do need to agree who will be a part of it. Successful blockchain business networks are proving to be the ones whose participants understand this and are willing to collaborate.
Today (12th March, 2018) is the World Wide Web’s 29th birthday. Sir Tim Berners-Lee (the “inventor of the world-wide web”), in an interview with the Financial Times and in this Web Foundation post has used this anniversary to raise awareness of how the web behemoths Facebook, Google and Twitter are “promoting misinformation and ‘questionable’ political advertising while exploiting people’s personal data”. Whilst I admire hugely Tim Berners-Lee’s universe-denting invention it has to be said he himself is not entirely without fault in the wayhe bequeathed us with his invention. In his defence, hindsight is a wonderful thing of course, no one could have possibly predicted at the time just how the web would take off and transform our lives both for better and for worse.
If, as Marc Andreessen famously said in 2011, software is eating the world then many of those powerful tech companies are consuming us (or at least our data and I’m increasingly becoming unsure there is any difference between us and the data we choose to represent ourselves by.
Here are five recent examples of some of the negative ways software is eating up our world.
Over the past 40+ years the computer software industry has undergone some fairly major changes. Individually these were significant (to those of us in the industry at least) but if we look at these changes with the benefit of hindsight we can see how they have combined to bring us to where we are today. A world of cheap, ubiquitous computing that has unleashed seismic shocks of disruption which are overthrowing not just whole industries but our lives and the way our industrialised society functions. Here are some highlights for the 40 years between 1976 and 2016.
I have written before about how I believe that we, as software architects, have a responsibility, not only to explain the benefits (and there are many) of what we do but also to highlight the potential negative impacts of software’s voracious appetite to eat up our world.
This is my 201st post on Software Architecture Zen (2016/17 were barren years in terms of updates). This year I plan to spend more time examining some of the issues raised in this post and look at ways we can become more aware of them and hopefully not become so seduced by those sirenic entrepreneurs.