A weird stream of consciousness written whilst sat in a coffee shop listening to Christmas music.
This week, I have been experimenting with moving my GTD process (my to do list) away from Evernote (an installed application) and into Trello (a browser based app). There are numerous reasons I’ve justified this move by, none of which are relevant to this ramble but if I’m honest, it’s probably that thing that over-privileged, nerdy people get when they’re bored of their current toys and fancy a change.
I was in London today and between meetings, so I did the familiar hunt of finding somewhere to work. I found a coffee shop that, considering it was a lunchtime close to Christmas, was pretty much empty. It was clean, I found a nice comfortable seat (downstairs), the staff were friendly and the coffee was good. So why was it empty? Rhetorical question for the story, I know you’ve read the title.
No problem, I have my phone I can tether… no signal. My initial reaction was to start to relocate, but I stopped myself, shuffled around in my soft armchair and soaked in the calm, quiet atmosphere, “Actually, this is rather pleasant”. I have some writing to do (stupid #adventblogging) so lets open up the laptop and crack on with that. Trello is still open from my last usage, so I instinctively select my blog posts board to finish up a part-written post only to be greeted by this guy:
Hmm, now what? I guess start a new post (you’re reading it), I could open notepad for that but then I need to remember where I save the file. Perhaps, it seems Evernote would have been the best tool for the job after all.
Is this a purely technical limitation? No, modern web browsers have been offering on offline support in various guises for a while now. I also have a Trello app on my phone which makes use of local storage. The phone is currently plugged into the laptop to charge, it’s literally millimetres away with all the information I need to unlock full laptop productivity and it’s physically connected via the cable. But there’s no easy way to get at it. I could use my phone to finish the other post, I actually wrote the rest of it on there, but I have some searching and image editing to do to finish it up. It’s probably viable but I’ll save that effort for another time.
So why waffle on about offline capabilities for a web app? Well, it’s an interesting problem for a couple of reasons (“interesting” in the loosest sense of the word, if you’ve read this far then I applaud you). We’ve spent the last 20 years migrating data away from our ever-more portable, more powerful computers and into “the cloud”. We’ve also spent the past 10 years grabbing that data from said cloud and storing it on our also ridiculously powerful mobile devices (although comparatively less powerful than computers, yet more connected and for me right now, more capable). We’ve arrived at a point where we have supposedly ubiquitous enough Internet access to not care about storing data on our own computers and for it to be magically synchronised to our phones without any conscious effort. But there is no technical reason why my data isn’t on both these machines, just our current capabilities and behaviours have deemed it not a common enough scenario to cater for.
I would argue we in the UK/US don’t yet have the Internet infrastructure to rely on connectivity for all task-based software and offline should be considered a first-class citizen even for web-apps. Particularly as our browsers are now offering better and better offline storage options. At the very least it should be a serious consideration. I’m defining this problem from a relatively well-connected country and there are many with much less access to wifi and roaming data connections to consider if your application is to cater for a global audience.
Thinking about data infrastructure more generally, (there are many things to be said about the implications of data ownership but my current thinking is more about infrastructure). Making use of distributed technologies such as git, bitcoin and bittorrent offers advantages over the client-server “cloud” architecture we are increasingly depending on. With distributed, we make use of our own computing resource to store our own data, optionally piggy-backing other networks and hardware to add more redundancy, secured via encryption we can control who within the system we offer access to which parts of our data. With this set up right now, I would have all of my own data on either/both of my devices and wouldn’t be ransomed to the wifi provider, Internet service provider, third-party software vendor and everyone in between. Such a change would be a massive change in thinking to where we are now but is a pretty desirable propostion. A couple of tools I’m aware of in this space are Resilo and the open source Syncthing which I will be taking a look into soon.
Anyway, that’s enough rambling for now, I’m going to sit here, listen to Christmas music and enjoy my coffee…
I’ll post this when I’m back online later!
#adventblogging post 9 of 24 see the rest.