Remembering Why I Write Software

I’ve worked on 2cloud for almost a year now. Since its inception, it has been used by tens of thousands of people, covered by dozens of publications large and small, and entered the lexicon of Android development. My professional career has been advanced by it and my personal network of friends has been augmented by some truly wonderful people I would not have met, were it not for the exposure this application received.

In all that time, however, I was never really cognizant of the software itself. I understood its function, I understood why it was cool, but I didn’t think of it as useful. Part of this is the reason I started developing it: I started working on it for the sake of working on it. I wanted to learn Android development. I wanted to learn how to write a Chrome extension. I didn’t have some pressing problem that this app would solve, no target use-case for it. I just wanted to learn something, and it seemed like a fun exercise. When people asked me why it was better than just emailing themselves a link, all I could think of was “it’s a little more convenient.”

Yesterday, somebody showed me why it was useful, and that is something I’m grateful for.

I had decided that people who donate will receive hand-written notes, thanking them for helping keep the server online. I was having a bad day, and I wanted to focus on the good in the world, instead of all of the things I hate about it. Writing letters to people who were kind, people who validated everything I believe in, made me feel better. I duly wrote and emailed out three of these notes to our latest round of good Samaritans. One went to an individual I’ll call Sam.

Last night, Sam wrote back to me. In his email, he explained that he works shifts and has a young son, and so didn’t get much time at his computer. By using the application, he could “speed browse” during his breaks, send the links to his machine, and have them waiting when he got a moment to sit down. He got some time to keep apace with the world, but still had time with his son. Because of this, Sam said 2cloud was “one of, if not the, best apps on [his] phone.”

It was the perfect ending to a bad day. I remembered why I believe in open source software so much. I remember why I work on 2cloud whenever I can. I remembered that people found value in my work, and some of them weren’t afraid of saying so, with money or words.

If you write software, I highly encourage you to communicate with your users on a personal level. Ignoring all the benefits it will provide your user experience, it will give you the most pure appreciation for your job that you can get in our line of work. As much as possible, get to know your users; some of them may be scum, but putting up with them is absolutely worth getting to know the gems.