Image for post
Image for post

OK, my story is this. A few years ago I got frustrated at not having a convenient way to put class notes online. I needed a way to do mathematical notation and also to insert images, since they say that one of them is worth a thousand words. I also wanted to be able to transform what I had written into PDF, LaTeX, or god knows what at the click of a button. Writing is hard enough, without having to rewrite just because the format is different. And so, with much labor and love, and also frustration and moments of elation, was born

What have I learned so far, and where do I want go with this? Well, first off, it has taken A Lot Of Time. There is a Part I a Part II and Part III. Hopefully there will be a Part IV.

I hope that those who read this will respond with advice to this noob developer. I spend most of the time in Columbus, Ohio. If you are a developer there, I’d love to get in touch — jxxcarlson at gmail.

Part I. Off and on over the N years of my working life, I had written a bit of code — short bits, first in ancient languages now dead or nearly so, then Lisp, Scheme, C, Objective C, C++, Python, Swift, Ruby, maybe a few more. But they were short programs. The Scripta project, born as, was different. The code, first written in Rails, gradually became big, then bigger, and finally HUUUGE. At least it was huge for me, a lone novice developer. Not working in my basement, though sometimes it felt that way. By this stage, I had trouble navigating, much less understanding my own code. The Frankenstein was getting off the operating table and coming straight for me, gurgling as it lurched forward. I was no longer in control.

Part II. Well, the last few lines are exaggeration for literary effect, but that is what it felt like. I started looking around for a framework other than Rails that was more suited to my needs, limitations, and tastes. After a few days of Googling an Reading, I settled on Hanami, an open source project lead by Luca Guidi. It took a few days to grok its philosophy and style. But from that point on, rewriting the whole project went smoothly, helped along by the truly wonderful Hanami community. My project was in much better technical shape. It was much easier to add new features and improve old ones while keeping the code organized and beautiful. I was a happy developer once again.

Part III. All good so far, but (ahem) what about my user base? It existed, as we mathematicians like to say, but it was small. Minimal perhaps, but definitely not viable. By a stroke of good luck, I had met two young but much more experienced entrepreneurs, J and D, who looked at the site and gave me much needed advice, both technical and human. Part of it can be summarized as Get out of the garage and talk to people. Show them what you are doing. Watch how they use the product. Ask them for advice, and ask them if they know others who might be interested. And they told me about Medium …

I’ve been working on the advice— the usability-for-others part, the talking-to-others part—and already have a few more users. I have a plan — not written, but a strategy that fits in working memory and requires out-of-garage activity. Much, much more to do. But then, with luck and sweat, there will be a Part IV. To be continued.

Lessons learned.

(1) Build one to throw away. I knew the expression, and had even read The Mythical Man Month, a classic from the old days of punched cards and huge rotating disk drives whose wisdom still lives. But when I started, I thought that I was working on the real deal, not one to throw away. For more experienced developers, that is no doubt not needed. But for me it was, and it turned out to be the right decision.

(2) Talk to people. Listen to what they have to say. Thimk about it. Expand your circle of contacts and acquaintances.

Written by

jxxcarlson on elm slack,

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store