Chapter 1: FaceMash
The year was 2015. One evening, in a moment of inexcusable passive aggression, I replied to a conversation on WhatsApp: "k". I don't really remember what the conversation was about, or even with whom. Was I childish? Yes. But it was worse. I was Zuckerberg-ish.
Not satisfied with being a bit of a jerk, I opened my laptop and started to code. Inpsired by this Hodor keyboard that I saw on the internet a few months earlier, I decided to spend that night building a keyboard with just the letter k. Like most of side projects and programming endeavoursi, it was a mildly amusing joke between me and myself.
It turned out that building this was quite fun, and so over the course of the next few days I doubled down on the joke, and expanded the application. It grew from one key to multiple (
Yes, No, Cool, ¯\_ (ツ)_/¯ etc), and they could all be edited. Dare I say it, it was almost useful.
So put it on the play store, billing it as a satirical keyboard "to end conversations", and posted on Reddit.. And to my surprise, it was reasonably well received! My post got a hundred or so upvotes and some small blogs even picked it up. The app was heading towards 500 dowloads on the Play Store - far more than any other of my endeavours.
A few days later, after responding to a few bugs and feature requests, I hit my inevitable point of boredom. Satisfied with my success, I left the app to be.
Chapter 2: Winklevii
A week later, whilst browsing Reddit on the train home, I came across a post that blew my mind.
Feeling lazy? Not in the mood for a proper conversation? Well the only thing you need is the lazyboard."
Somebody had posted an app with the exact same concept, features and design as mine.
I wasn't Zuckerberg. I was a Winkevii.
Filled with puny outrage, I complained to everybody who cared to indulge me. Not only had this person stolen my idea, it even became more popular! Their reddit post was picked up by Wired and even the Daily Mail. I never thought I'd be annoyed for not being covered by the Daily Mail.
I, along with some others, commented on their post, and they shrugged it off. There wasn't a lot I could do at this point. As much as I'd have loved to file a lawsuit, it simply wasn't the Harrow way. Instead, I did what any self-loathing developer would do: put the source code of kboard on Github out of spite.
Chapter 3: Drop the "The"
Over a year had passed since I had last thought of kboard. I had gotten LazyGate. Many other side projects had come and gone. It wasn't until the end of 2016 where I decided to start using kboard to solve some of my own problems, instead of chasing the adulation of strangers on the Internet.
In late 2016, Whatsapp had introduced markdown-like syntax for bold and italic. By this time I had also gone all in on VIM as a text editor. One thing led to another, and I added some VIM-like syntax, allowing you to write your own commands to do some basic text transformations.
/bold!dw,i($0) /bullets!10e(^, i(* ), ^) /birthday!dw,rnd(Happy Birthday name;Hey name, happy birthday.;hb2u;Have a great day name),fr(name,$0)
Rather than having to release a new version of the app for every new idea for a key, the logical next step was to build an API and let the keyboard request some text from the API. I used this for things like searching Youtube videos, querying Wolfram Alpha, creating a bot based of a corpus of my previous messages.
More importantly, this allowed me to fulfil one of my my life long goals as an engineer to recreate "Did you see that ludicrous display last night?" from The IT Crowd.
The last piece of the puzzle was to be able to quickly send memes. This involved adding a command to get an image from a URL, and send it as an image.
The culmination of these three features meant that I could do something I always wanted to do: automate the sending of banal messages whilst still maintaining the illusion of effort.
This year I've automated sending personalised Diwali image greetings to people, using Cloudinary's text overlay feature, and kboard's img command. pic.twitter.com/OlsJbu936I— arjun gadhia (@adgad) November 14, 2020
Chapter 4: You know what's better than 500 users?
All these changes made kboard quite a powerful app...for myself and a small number of hardcore users. It was never really meant to have mass appeal - the new features were obtuse and barely documented.
Nevertheless, my curiosity peaked I decided to look at the stats, to see if these changes got me any further than 500 downloads.
I was at nearly 500,000 downloads.
This couldn't be right. I looked further into the statistics and saw that the majority of the downloads came from a handful of countries: Brazil, Turkey, Egypt and India. My first thought was that this couldn't be real people - it had to be bots. After all, it's quite cheap to buy followers on Twitter, perhaps the same was true for app store downloads.
I then looked at some of the reviews, of which there were now hundreds. While a handful of them seemed genuine, there was a lot of translated gibberish, lending further credibility to my bot theory.
CETRAL FACTION DOMINATES IN THIS BAGUNA fåčcåø cėţřåł AMERICAN MAFIA DOMINA CARALHOOOOOO !! ANARCHY DOMINATES DIRTY HIS BOX HAHAHAHHA Pirates domina porraaaa Very good to flood ... Even more now that the old fcc are all active again, you come to the world of factions. And have fun... I AM YOUR MOMENTS, BECOME YOUR FOOT, I AM CYBER ARMY TEAM ADM 2009!
I noticed a few of them mentioned "flooding", or words that looked like "flood". So I did a quick google search for kboard (which, in hindsight, is an awful name for SEO).
To my dismay, they were real people.
Turns out, there are dozens of Youtube videos much like this one - with hundreds of thousands of views in some cases - showing off how kboard can be used to "flood" Whatsapp with large amounts of text (presumably causing it to crash). All of those comments appear to be from rival factions of "hacker" type people.
You don't get to 500,000 downloads without making a few enemies.
Chapter 5: It'll be because you're an a***hole
My app had been co-opted for nefarious purposes. Now, on the scale of "kind of annoying" to "facilitating a genocide", I'd imagine this falls closer to the former. However, as a responsible founder, something had to be done:
- Restrict the length of each of the keys
- Block certain sequences of characters
- Hire thousands of moderators to work in abhorrent conditions at the risk of their psychological damage
- Set up an independent committee to consider the potential ramifications on free speech, and fully empower them to make recommendations that I can ignore, paying them a generous salary to ensure their impartiality
- Throw AI at the problem.
While these all sound like perfectly sensible courses of action, there was just one more stumbling block.
About a year ago, I did a clean install of my Macbook. I backed up all the code...but not the key used to sign the package for the Play Store. So even if I wanted to release a new version, I can't. Oops.
Download kboard (if you promise not to use it for evil)