Progress Ratchets

Let’s just get this out of the way:

  • Ratchet (device), a mechanical device that allows movement in only one direction

When going back to play an old video game with blocky polygons and low framerates, or watch an old movie with badly lit CG, or when looking at an older monitor with a lower resolution, the advances we’ve made for these technologies are obvious.

But when we first saw higher framerates, fewer polygons, better lighting or higher resolutions, it typically wouldn’t stand out as “exceptionally good”. When watching my first 720p HD video, I didn’t think “wow, this is so high res!” Similarly, not much later when watching 1080p for the first time, I just enjoyed the content.

These types of changes are only noticeable in one direction — improvement in framerate, resolution, etc. are nearly imperceptible, but degradation in the same is obvious. We experience discomfort now trying to play Smash Bros 64 with its slow, laggy gameplay, but when we first saw Smash Bros Melee, no one said “whoa this is too smooth!”

Did 480i->1080p change our lives? No, but we’d be unhappy to go back. Did 2004-era cellphones change our lives? They seemed important, but it wasn’t a huge deal when they were off — people just missed calls or texts. Compare that to 2014-era cellphones: many people express feeling alone or lost if their phone drops its network connection, let alone turns off.

A caveat to this could be something like 48 or 60fps video. It looks noticeably different, and (to my eyes) noticeably bad. There’s something about the way objects track and light looks at that rate that doesn’t sit right. Perhaps it’s an uncanny valley effect where film is now so realistic it starts to convince us it’s really real, but fails to finish that job and leaves us unsettled.

My personal bet is that a century of making films at lower speeds has led to techniques in lighting, editing, framing and motion that applied well to 24 frames per second and helped to craft the cinematic feel. Those tools and techniques just haven’t had time to be adequately adapted to higher frame rate filming, but they will be eventually. What I think we’re experiencing discomfort over isn’t the frame rate change itself (or an uncanny valley because it’s all too real), but more likely the failure of our tooling and techniques to keep up with this change, which has produced a noticeably, objectively inferior product.

Any change could be bucketed:

  1. noticeable going forward or backward
  2. noticeable only forward
  3. noticeable only backward
  4. totally beneath notice

Innovations that are only noticeable going forward may be things that sound like a big deal, but if you regress you probably wouldn’t notice a qualitative difference. One could further differentiate changes that depend on other advances to be useful, as with 24->48fps film relying on new techniques, or old vs. new cell phones relying on big screens and small, high capacity, fast-charging batteries.

There are implications here for innovators. When working on something, innovators aim to create value — if that value is not noticeable at a glance, it will require much more convincing to get it into the hands of users. If that value is not noticeably lost when slipping back, it’s unlikely to be an innovation with staying power. If it’s obviously better at a glance, and you notice it missing right away, it’s likely a pretty big deal. And if there’s some other thing missing which an innovation requires, now may be an opportunity to get ahead of the game by working on that missing thing, or setting the stage for when it becomes available.

good code is legacy code upon instantiation

This is a pretty good post (rambling, but give it some license):

http://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to

I got there from here, also a decent read:

https://medium.com/@rdsubhas/10-modern-software-engineering-mistakes-bc67fbef4fc8

I think the first one gets across what I was going for with “Write Once, Copy Once, Refactor Once” more effectively and with an increased breadth of vision beyond the scope of what I was considering. The ideas and arguments in each should be balanced against one’s innate desire to build a temple — after all, life under any lone paradigm of thought is abominable tyranny. 🙂

In other news, wow, it is snowing a lot today.

On Distractions and Tools

I’m writing this blog post to relate the following:

I’m planning a reading tour through the American Revolution, probably starting with Ideological Origins of the American Revolution, by Bernard Bailyn. It stood out most to me after perusing multiple pages for good starting points.

Truthfully, I’m writing this blog post to relate why I’m planning a reading tour through the American Revolution. It was instigated by my sudden desire to get a grasp of the basics of the Revolution and the people and ideas around it. That came out of peeking into an IRC channel full of my American friends. Which happened because I opened my chat terminal session. Because I’d just logged on to my server.

I logged onto the server to change my status page from working.gif to dancing.gif. I was doing that because I had just visited my own blog and seen the status-page post on it. I visited to… write a brief post, about doctype vs DOCTYPE in html5 documents. I was writing that post to relate some amusing and interesting facts that came out of researching it. [1]

I found those facts after an instance of “DOCTYPE” in Bootstrap’s examples set me off reading about why people prefer the different casings and whether they matter at all.

That’s all because I sat down half an hour ago, thinking, “I should make a quick stab at building my list-webapp page, or at least think about it.” I’ve since been like a ping pong ball zooming back and forth between making and consuming, flung by inspiration and curiosity. Continue reading

Our Corporate Vision

We will do everything.

Everything that everyone does, they’ll do it through us. Email, music, notes, chat, storage, web browsing, we will do all of it.

We’ll combine all of the disparate services you and everyone else use, and all of the different data bits you have on all of your computers, and we’ll deliver it to everyone in a better interface than any of the other jokers out there can manage.

We’ll by default be sleeker and faster and easier to use and more powerful, but we’ll also expose a rich programmability to allow power users to have total control over their environment and information. They’ll be able to share and modify each other’s improvements and help everyone who uses us become better.

We’ll let you use whatever storage backends you want — we probably can’t compete with them on price — but we will encrypt everything we get as it comes into us and as it goes out and we’ll only store the encrypted data for backup purposes for customers and we won’t ever look at it, and we will utilize a law enforcement requests canary and whatever other means we can to protect our and our users’s privacy and rights.

We’ll make our service available on every platform in every way imaginable — iOS, Microsoft, Android, FirefoxOS, our own custom mobile OS forked from Firefox’s, webapps, desktop clients, web browser extensions and even our own web browser and operating system.

We won’t just think different. We won’t just not “be evil.”

We will be everything, to everyone, and not just organize the world’s information, but give it back to them neatly folded on demand and guarantee them that we never ever fucked with it.

When we have made ourselves indispensable, when we have paid back our investors 10x their input and guaranteed ourselves financial independence, we will set the whole thing free and operate it as an international non-profit organization devoted to the global betterment of computer technology and its availability.

We will become a fundamental utility, and we will make ourselves universally available for free, forever, as soon as it is possible to do.

Free as in libre, and free as in beer.