The cliché goes that you can develop software quickly, cheaply and properly – but you can only pick two. My problem to date as joint MD, co-owner and software architect is that I want our customers to love us, to leave our profits intact, and also to make perfectly-designed software with abstractions in all the right places. So we’ve done a lot of software properly and cheaply (because I’ve done about 30-50% of it myself, and supervised the rest), but boy has it been slow. The code that runs bits of Bytemark is often the kind I’m not proud of, that staff don’t like very much, and that the customers (thankfully) don’t see. I find user interfaces stressful to get right. And by and large, I refuse to buy software that we could (eventually) develop ourselves because I like to keep our business independent, and proprietary software compromises that. So all of this had conspired to make software development at Bytemark a stately affair.
But I’m starting to look up this year because we’ve started to deploy little components that have been in a state of undress for the last few years; they swirl around our laptops being improved bit by bit while we get on with our day, finally to emerge months later doing something useful. So you can now use our control panel to renew domains which relies on our open-source OpenSRS interface library, probably the simplest possible interface to register domains.
Another recent release sprung from years of telling our customers how to set up their servers in very very similar ways: bytemark-vhost is a straitjacket for your Debian GNU/Linux server which turns it into a flexible and easy-to-use hosting environment. You simply configure it by creating directories and files, and there is integration with our DNS service so that domains "just work". You don’t even need to use the shell; once installed you can administer the system fully through secure FTP. Thanks to Pat and Steve, this went from concept to production in about three months earlier this year, and is still being improved with customers’ feedback.
Finally back in January I started a new script for our phone system. It matches up inbound callers to the staff that they’ve been dealing with, tells you when staff are on holiday, when they’ll be back, who can deal with your call instead, and so on. We recorded a couple of hundred voice prompts for it in a studio with my voice artiste sister. But it had stalled on the small detail of needing a completely custom calendar package writing, because it needed to know who was on holiday, and we had never been very organised about that. I like to think these things ought to be simple with the right talent and time, even if I can’t quite do it yet, so it sat on the shelf for a few months waiting. Nick wrote that calendar program in about 4 weeks, and we’re using it now, so next-but-one on my list will be to get this phone system deployed so our customers get laser-guided, prompt-free phone service, and our staff don’t hear a ring unless it’s (almost) certainly for them.
It will be a while before we do big launches, because I prefer this bubbling-to-the-top approach to quality software development, and our business model can (thankfully) support this. But we are approaching a critical mass of developers in the company now, and the bubbles are starting to move fast enough for some more interesting plans