So, as promised, here’s a short summary the current status of my projects & where they’re heading.
Just to have them conveniently listed, my current projects are: ViEmu, Codekana, J1CK, and NGEDIT/Kodumi. ViEmu and Codekana are already working products, which I have been selling for almost 4 and almost 2 years, respectively. You can see each one’s website for more details. J1CK (previously known as “Kimua“) is a project with its focus around cell-phone web browsing, which we’ve been working on for a year now, and which is now starting to become a working prototype. Finally, NGEDIT is the original project I started with, the text-editor-to-rule-them-all, and which gives name to this blog and my company.
ViEmu and Codekana
First to ViEmu and Codekana: the short version is that the financial crisis seems to be hitting hard, and sales are lower than they used to be in early to mid 2008. I say the financial crisis, and the general bad state of the economy, because this is the only explanation I have for the slow sales.
Since this is my main source of income, I do have to take measures to reverse this trend somehow, or supplement these sales with other revenue. So that you will have an idea of the current sales profile, I’ll tell you that ViEmu sells much more than Codekana, and that among the ViEmus, the Visual Studio version is the main seller by a long shot.
I don’t expect sales of the other ViEmus to grow much in the future. On the other hand, when I find the resources to implement many new features, I do expect Codekana will grow a lot, and that it will outgrow ViEmu. The potential audience is much larger — it’s just a less mature product.
J1CK
The J1CK project is shaping up greatly. The whole system is already working, and we already have several demos. You can get a sneak peek of one of its early (still in beta) applications at http://j1ck.com, where an animation shows our specialized Wikipedia browser.
For a change, I’m not doing this project alone. I’m doing it with a great team of other people, and I’m not coding anything at all myself, I’m doing product design & business tasks. We’ve had a lot of interest from several presentations, and we’ll be doing a pilot installation shortly with a local carrier. Also, in order to pursue all open leads, we are planning to get some external investment soon.
This project is hugely promising, it’s advancing well, and we do expect to start getting great advances and some sales during 2009.
NGEDIT
NGEDIT, the text editor, is still in a long research and development process — it’s not frozen, though. I didn’t want to do “yet another text editor”, so it is involving a major research effort. I’m designing a new programming language, or more than that, a new programming paradigm. The base is not imperative, object-oriented, or functional. I’m not totally sure yet, but I think that it’s not even Turing-complete.
Basic research as a discipline is very difficult. It requires inspiration, and you can’t force advances just by putting in more hours. This is always on the back of my mind though (and sometimes in the front), and I achieve small advances every so often. It will still take a long time. It will exist, anyway, unless I get run over by a beer truck – I’m close enough to the goal that I can see that. The idea is that the tech that results will make its first appearance in Codekana, and then in Kodumi, the actual planned name for the text editor.
The bad news is that, for those that have been waiting, there is still a long way to go. The good news is that the result will hopefully be well worth the multi-year wait.
About the last few months
I’ve been working in J1CK part-time. This is a completely separate venture, a separate company, etc… we have an office, and I like being able to context-switch in order to freshen my mind. The rest of the time, I work at home in my other projects.
Supporting and improving ViEmu is like a gas filling a container: it can simply take as much as I can give. On one hand, support issues can be tricky – interactions with other 3rd party add-ins, problems with the host application, etc… this is especially true for Word & Outlook, the internal architecture of which is closer to a Frankenstein than to any proper design.
Maintenance and support of the current products can take a full-time professional career, but it doesn’t provide growth. The current ViEmu is already very good and very complete. Of course, providing a constant stream of improvements helps make current customers happy, and that is important to reach more people, but it has to be done sensibly. I doubt many people abstain from buying ViEmu because of a lack of features. On the other hand, if I spend 100% of my time in improving ViEmu, the business can’t grow. ViEmu sales sustain a full-time developer, but if I am that full-time dev, there will be no growth. And the business needs to grow: Codekana, Kodumi, my other projects… plus a business needs a “buffer” zone for stability. You can’t be just making ends meet (of course, you can, but it’s not wise), or some day, a storm will take you down. As an entrepreneur friend of mine likes to say, if you’re not growing, you’re dying.
So the idea is to take current sales to a level where it can provide some growth, and I’ve been thinking about the best way to do this.
Possible Next Steps
There are always different ways you can try to attain the goal of making revenue grow:
- Doing other products — which is just out of scope right now.
- Doing consulting work — which I’d rather avoid. I prefer to invest in product development, one-off work is something I will only consider if absolutely necessary (or if it is very, very well paid, but these opportunities don’t usually come up unless you actively look for them, which I don’t plan to do).
- One area I still haven’t worked on, and which makes the whole product business a bit absurd, is that I haven’t started to charge for upgrades. Absurd because, as described above, support & improvements cost real time and money, so they need to generate revenue, or things are not working correctly. Since my first release in 2005, the purchase price always offered one year of free upgrades, with the idea to charge an upgrade fee for new versions after that. The thruth is that I actually have yet to charge for an upgrade. To get this working as originally planned, I have to set up the whole online store infrastructure for that, and of course, provide enticing enough improvements so that current users will want to upgrade. It’s quite a bit of work, but it will help with the business of ViEmu, Codekana, and other products for a long time to come.
- One other option I have is improving Codekana to try to make it more attractive. Both the product and the website could use some improvements, and this could improve sales. I have a couple features planned that can really improve the usefulness of the product.
- And apart of these options, there is one extra option of another nature: just further marketing the current products. Investing time and effort in publicizing the products can really pay off. When you are the author of something, sometimes, you feel it’s too imperfect, and it’s a common developer mistake to invest more in improving the product than in marketing it. I have received some feedback about Codekana recently, mentioning that (1) users like it more the longer they use it, and (2) that it seems to be undermarketed. The current Codekana is much too simple compared to the one I envision, but I shouldn’t make the mistake of underestimating its value.
Thus, I could attempt some marketing activity to try to get many visitors to the Codekana website. The main way I know how to do this is to write an interesting article, and try to make it to the top of the programming reddit. I’ve managed to achieve this two or three times for ViEmu, so I know it can easily bring a lot of visitors to your website. The tech behind Codekana provides enough material that I think I can write a potentially very interesting article, mainly about innovative parsing technology and multi-threaded code. If I manage to get the inspiration flowing, I should be able get several tens of thousands of visitors from the programming reddit, which will ensure at least some exposure to Codekana. That may or may not translate in sales in the short term, but it’s an experiment I have to do at some point.
What now?
So, I’ve described three options above: (1) try to start getting more revenue with ViEmu upgrades, (2) try improving Codekana to see if I can sell more, and (3) try to promote the current Codekana to improve sales.
The least risky option out of these ones, and one which will make everything better in the mid- to long-term, is to set up the system to charge for upgrades. This will make support work on ViEmu more profitable, the system will also allow the same thing for Codekana, and should help grow revenue to hire extra help. It can easily take me two or three months to set this all up, and then the time to actually implement new features to make upgrading worthwhile for existing customers, so it’s not a small effort — but I think it’s almost guaranteed that I will get some extra sales over the months.
Improving Codekana with new features can take quite a bit of time (it always takes longer than expected), and the return is not guaranteed at all. Of course, if I improve the product a lot, it will help, but I’m talking about short- to mid-term revenue increases.
Finally, even if it’s not sure it will have a valuable effect, I think I should consider the pure marketing operations for Codekana. I think I can attempt to do something in a few days or a couple of weeks, and if it works, it could really help a lot. It will also be a valuable experiment to see how much pure marketing (without new features) can help sales by just bringing targeted visitors over to the site.
So, basically, what I’ll do is the following: first, take a stab at promoting Codekana. Invest a bit of time in this. And once I’ve done that, the next milestone will be setting up the whole system to charge for upgrades. This involves reissuing keys, which as a nice secondary effect will invalidate the keygens out there. And then I will start pumping valuable upgrades to the products. I’m thiking about a very affordable pricepoint (probably $29), which should be able to ensure a bit of growth from upgrades.
What to expect
So what to expect in the short- to mid-term:
- A hopefully interesting article (or two) about Codekana
- A sytem to charge for upgrades to ViEmu & Codekana
- And finally, meaningful updates to entice current users to upgrade
There will also be public betas of some J1CK products in the near future, I’ll post here when there is something new to look at.
I also want to write more and blog more, I have to find the best way to do so. Some of these new articles may appear on the Codekana blog, even if they’re not specifically about Codekana, to try to promote the site. I’ll post about the interesting ones here anyway.
And, of course, I’ll be happy to hear your thoughts about any or all the above points!