Open Thinkering

Menu

Tag: version control

Technological innovation and mental models

A lot of what it takes to understand a particular subject or domain comes through having a mental model. The digital world is no different. The following are things you can’t do in (what some people call) ‘real life’ – i.e. without computers and the digital world. Grok these, and you’ve got it made. Well, some of it.

CMD-ZCTRL-Z

I press CTRL-Z (or the Apple equivalent CMD-Z) so many times every day it’s unreal. This, of course, is the keyboard shortcut if you want to undo something you’ve just done. It’s so instinctive that my thumb and forefinger have extremely powerful combined muscle memory when I do something incorrect. It’s automatic. There are times when I’ve spent inordinate times in front of a screen and I return, blinkingly, into the world. If I do something regrettable (like break a coffee mug) my fingers will ever so slightly twitch. Sad, I know.

Revision history

I’m not old enough to remember whether ‘track changes’ pre-dated the ability to see a ‘revision history’ on a wiki. Probably. What’s valuable about a revision history on a publicly-accessible resource is that it adds a level of accountability and reassurance to those co-creating it. Some idiot has vandalised it? No problem, just revert to the last known good version. Want to know who’s had a hand in creating it? Just look at the revision history. It’s a simple thing, but extremely powerful – just look at Wikipedia!

Once you’re used to having a revision history for a resource, it can be infuriating to go back to working without one. Instead of being able to see why and how something developed, you’re left with something that might as well have landed on your desk or in your inbox from outer space.

Version control

Version control

Some people lump revision history and version control together. But, to my mind at least, they’re different. Version control is necessary to mediate (technical) conflicts when co-created resources are built asychronously. An example of this is Git (popularised through GitHub), where ‘branches’ can be created and then merged back into the ‘trunk’.

This is the point at which I’d suggest that educational technology (‘edtech’) departs from modern software development. There is a GitHub for Education, but the problem is that it doesn’t hide enough of what’s happening in the diagram on the right. Some of this is to do with vocabulary (‘send a pull request’) and some to do with hiding the benefits of version control.

Proof of work

Most people at this point will have heard of Bitcoin. I first wrote about the online payment system in 2011 and later that year thought about a potential Bitcoin / Open Badges mashup. Whatever your thoughts on Bitcoin, the core innovation provided by the technology it’s based on is the blockchain.

The blockchain is a ‘public distributed ledger’. Every time something happens (in this case, bitcoins spent/received), each node on the network is updated.  What this means is that there is what’s called proof of work that’s publicly accessible. A distributed ledger means that you can prove that something happened at a certain time. This is useful for proof that a transaction took place, but also that you own something, gave your consent to something, and so on.

Conclusion

As scary as some of the things enabled by these technological innovations may be, understanding something is the first step to using it for something positive. I’m guessing that everyone reading this ‘gets’ what it means to undo something. Most will understand (and use) revision history. The real power is when we start using version control and proof of work as part of everyday life.

Main image CC BY John Morgan

css.php