Computer :(


When You Get To The Point Where A Project Feels Stuck

Last week I missed my first weekly review since I started them. Woops. Tomorrow I'll get back on that train, and make sure I continue forming healthy habits.

The last couple of weeks have been crazy crazy, I had a hard deadline to launch a project. I launched it and it feel flat on its face, making sure I had an incredibly stressful week and that the productivity of my coworkers suffered. It wasn't a great experience, and I'm still decompressing a lot of hard truths from it, that I'll probably get to expanding upon in future blog posts. One that I want to focus on today is what happens when I feel like a project is "stuck", and how I can work to reduce the strain that that feeling has on my creativity and ultimately my ability to finish that project in the first place.

Since this whole idea of convergence came around, I've spent a lot of time ruminating on how I use computers, and how I can improve my use of them to be more efficient and, ultimately, happier. I led myself to two main beliefs, as I progressed down the rabbit hole of Human Computer Interaction:

  • Cell phones are pitiful excuses for computers, and ultimately are going to end up being non-free ecosystems unless we do something about that
  • Ultimately, I need a full sized screen and keyboard to get things done
  • We've utterly failed to build a decentralized data sync system, forcing us to to give our personal data and information to third party "caretakers"

Initially, my idea was that we could solve most of this by porting GNU/Linux to something like the ASUS PadFone and using that as a base of operations to build a future similar to Ubuntu's failed attempt at creating the Edge, but with a proper look at convergent UIs and less balkanization of the free software community.

Ultimately, this lead to a number of failed attempts to find decently convergent devices which we could use to build this Free operating system and experiment with a semi-convergent future. I reached for a number of ASUS devices similar to the PadFone from the transformer series, and ultimately gave up on them, as they were riddled with issues that made sometimes made them impossible to use. During this time, I also came to love using Emacs and ultimately wrote a manifesto of sorts a treatise on the subject of how I view the usage of computers in this new world of mine. This manifesto boiled itself in to eight points and still drive the way I work, barring the eighth point, the subject of this post. In an effort to push myself towards a perfect future of building a single system to handle all of my computing needs, I pushed towards the idea that all of these external devices could act as little more than interfaces and abstractions to the central core of my computing, which would exist on my person, safe, encrypted. This culminated in the creation of my Body Computing System, a system to build the functionality of a smart phone in to a piece of clothing, and expose a layer of interface which I could build richer interactions with on top of.

That led me down an interesting path, but it still led to dead ends, ultimately. I needed an interface kit, something that I could pocket and access the system easily. In essence, I'd have to build my own minimalist smart device, something that only did ssh and had a keyboard and screen. Then there was the realities of connectivity, which I solved with a USB modem, and then the realities of powering such a system, which is where I've hit my most recent wall. Walking around the sunset today, my kit's battery died in four hours, doing nothing more than maintaining a ppp connection and taking photos. I would have to fill the jacket with batteries to make it even moderately feasible to have a day worth of connectivity, or I'd have to get really comfortable hacking on the nitty gritty of the Linux kernel's power management interfaces and the rats nest that is pppd. Yikes. The easy way out would be to carry around a my smallbag with a bunch of spare capacity, tying myself to nothing but toxic, flammable weight. The thought makes me about as uncomfortable as that of getting familiar with the pppd source code.

And so I take a step back, deconstruct the problem a little bit. What do I actually want out of this project? The answer is simple -- that is, to build a computing system which meets these criteria:

  • It is built on Free software
  • It allows me to be productive wherever I am
  • It does not rely on third party services, nor does it gratuitously send data to third party services
  • It does not force me to worry about data locality1.

To build this system, I don't necessarily have to move the needle on the state of wearables and body computers. It's a laudable goal, and one I'd like to strive towards, but it shouldn't get in the way of improving the current situation. So what are some lower hanging fruit, what is an easy way to put more joy in to computing for me? What can I do to not always feel tied to my phone, tied to the idea of consciously expressing my connectedness in such a way that I can still take advantage of the side goals of my project, namely the ability to collect useful and interesting data about my day to day life and the world around me. The ability to both disappear and be seen, as conscious choices.

And so I ponder on this, and realize that as long as I'm going to be tied to my smallbag, I can improve the state of my computing from there. As it stands, I rarely leave without putting my Chromebook in the smallbag, in case I have some downtime to write or to work on code. But the chromebook is not nearly an ideal computing platform for me, even with a Debian chroot unlocking much of the potential that was locked in this tiny little ARM computer.

What is in my smallbag?

  • chromebook
  • kindle
  • android
  • headphones
  • battery pack
  • hotspot
  • lockpicks
  • various cables

Barring the lockpicks, these are all simply parts of a computer. And what if I integrated them, such that the smallbag was a computing platform in and of itself. I can certainly fit larger density batteries in to such a system, and it could even bit a bit larger than my smallbag if it was suitably well equipped such that I didn't need to carry my full sized work laptop to and from the office. And this looks like a decent way forward, when I hit a wall that promised to keep me from being able to progress on this project in time for the ultimate end goal of the project, carrying it around at MakerFaire.

So what does my MVP look like now, and where does the Newborn go from here?2

  • A hard case, something sturdy yet light. I found this adorable gameboy carrying case when I was rooting around in my closet for something unrelated. It flips open, but not a full 180 degrees, it stops at about 100 degrees, right where I'd lock a laptop. Plus its cute as frick. I will modify it to have clasps to add backpack or messengerbag style straps, and to have a velcro-removable padding layer. Eventually I will replace this with a better case system.
  • My Ergodox keyboard fits neat stacked inside the case
  • Raspberry Pi 2 will handle the compute aspects
  • A 10 inch hdmi display sitting inside the top portion of the case will be the screen
  • It will be powered by one of my RC plane batteries, which are high density lipo
  • It'll provide a sensory plane from both the pi's GPIO headers and from an arduino fio inside the case
  • It'll provide an external connectivity via wifi and optionally the aforementioned cellular modem
  • If I get lucky, I will sew up a small glove or sleeve that will act as the notification layer, via Xbee radio.

Most of this work is off the shelf, plug and play, or has already been completed by me when I made the jacket system. It solves the "hard problem" that I reached, without taking too much time and too deep of an exploration in to a topic I am not terribly passionate about. No part of the route I've chosen nerfs my ability to build the computing platform that I want -- this system could eventually have its brain moved out of it and in to a jacket when power concerns are resolved. It is quite similar to the place I would have wound up if I had built a computer on top of Novena which, hell, I could do some day.

More importantly though, it reminds me that if I get stuck on something, I can take a step back and evaluate alternate solutions towards an overall positive goal without getting mired in uninteresting details. It's a great skill to have, and goes towards my overall goal of improving my problem solving abilities, as well as my ability to empathize and find creative ways to bring joy in to the lives of others around me. Because, at the end of the day, if I can introspect about my own abilities and interests and problems, and come to a positive solution on them, what stops me from doing that with the problems of those around me?

In short, nothing stops me from doing that. The problems I face are not unique problems, the solutions that I find can be looked at in a different light to see solutions to similar problems, and I can look to apply those to those problems. Stepping back and introspecting on problems like this gives me insight which I would have otherwise missed. Addressing a problem with the idea that one possible solution does not constitute an end goal, only a step in the right direction, allows me to make small but noticeable, conscious steps towards an amenable solution.



That is, I don't have to worry about whether my data is local, or where and how to sync it.


Sorry, not sorry.