Archive for the ‘business’ Category

Spring ’08 Status Update

Monday, April 7th, 2008

My professional life now revolves around a sometimes dizzying 6 axes:

  • Maintenance & support of the current ViEmu products, with frequent new minor releases.
  • Maintenance & support of Codekana, with occasional new releases.
  • Defining & overseeing the development of the new “NGEDIT Customer Portal”, done by a local programmer in Python, hopefully for release before the summer.
  • Defining & overseeing the development of ViEmu 3.0 features, done by a very good C++ programmer in Mexico D.F., hopefully for release in a few months time.
  • Ensuring the ongoing development of the Kimua project, a new project and company I’ve set up with a good friend of mine, for which we’ve hired two great programmers. Getting all jazzed up with J2ME Java and Python these days. Gaining some new insights from reading code in these languages (fortunately I’m not doing any of the coding here at all!).
  • Researching the technology that constitutes the base of the kodumi text editor (codename: ngedit), and also the base of Codekana 2. This research has been basically a pen and paper endeavor for the past three years. In the last few weeks, I’ve reached the point where it is basically ready to start actually coding. Not bad for a development project.

With so many open fronts, it’s sometimes a challenge just to prioritize the different needs and focus on one of them to work on. From the above, I also hope you’ll understand my unfortunately infrequent blogging.

Hiring external help for development poses its own challenges, but it’s the only meaningful road looking towards the future. Revenues are not high enough to hire permanent help, but investing my savings into my own projects is the only sensible thing to do (even if a bit scary!). No loans yet, but it’s not out of the radar. Although getting investors is a very real possibility, I’m finding I value my full independence more and more every day. The Kimua project is already set up with a partner and with a development team, so it’s not like I’m alone all day any more.

The moment I have a solid product that appeals to a larger audience, blogging will become very important as a vehicle to spread out the word. This blog will move to another URL with a better branding strategy and a nicer look. I recently thought about dedicating a full week to blogging, writing a handful of interesting essays, etc… But it just doesn’t make sense if it’s just a one-week effort and I don’t post again in months. I won’t start doing this unless I find a way to keep a sustained effort. I’ve decided it just doesn’t make sense to invest much in this now that I have so much work and that the main products I offer appeal only to 1% of programmers out there. Codekana will probably fill this gap, but it will only really shine after I reach a more functional 2.0 version. Hopefully by the end of the year everything will be clearer, and I’ll have the resources to invest into a personal communication strategy, something which I will really enjoy doing given the right context.

One other option would be to write shorter posts requiring less effort, but I think it just doesn’t make sense. I follow and enjoy blogs that always have something in for me, either insightful or entertaining (or both in the best cases), even if they update only occasionally, so I think I should focus on providing that the day I really make blogging a central part of my efforts. And this takes real work.

BTW, for some reason the FeedBurner subscriber count widget on the sidebar has been showing “17 readers” for the past couple of months. I know from the http logs that I still have the 250 or so subscribers that FeedBurner used to faithfully account for, but their count is now broken. Maybe they don’t like me any more?

Pricing changes

Tuesday, November 6th, 2007

I’ve decided to raise the price of the ViEmus at the end of the month: from the current US $69.95 for a single ViEmu license to $79. For the two-ViEmu packs (Visual Studio + Word&Outlook, or Visual Studio + SQL Server), the change is from $114.90 to $129. And for the full Enterprise pack including the three ViEmu editions (Visual Studio, Word & Outlook, and SQL Server), the change is from $149.85 to $169). I’ve also used the chance to drop the cents and use round dollar figures.

The upcoming price change is now announced on the web site, and the new prices will be applicable starting on December 1st.

The latest raise of the price of ViEmu was back in July ’06: it went from $49.95 to the current and about-to-expire $69.95.

I’m as of yet undecided whether to raise the price of Codekana at the same time, or wait a bit more. In any case, this will happen sooner rather than later.

So if you want to get the best deal on ViEmu, be sure to buy it before the end of the month.

Focusing is difficult

Monday, September 10th, 2007

If you are starting out, focusing in a single product is a great idea. Actually, if you can focus in a single product all the time, it will be much better for your productivity. I’ve been overwhelmed just by the sheer amount of stuff I have to do, in almost completely unrelated areas, that I’ve been pretty much blocked from advancing significantly in the past week.

Over the weekend, I have finally formalized my roadmap for the next few weeks:

First, I have to finish the Codekana release process. I know, I know, it’s already been released for one month, there is a 1.1 version already out there, there are a lot of users, etc… but there are some things I haven’t done, and which I like to consider part of the release effort. One, notifying some people explicitly about it, and possibly contacting both dead-trees and online magazines. Apart from this, I’d like to write one or two articles with the potential to become popular on reddit and other social sites, which can bring certain awareness. One has to walk very carefully the fine line between promotion and interesting content to get there, but I think I can pull that off. And it will help a lot with growing traffic to the Codekana web site. There is one additional note here: since I want to publish this article in the Codekana web site for SEO purposes, and since the current web design would make it pretty hard to read it, I will have to revamp the web design before publishing it. All this is priority #1, as I’m doing Codekana a disservice until I provide some exposure.

Second, I want to address some outstanding issues with the ViEmus and prepare new builds. Continuously improving a product over a long period helps a lot with customer satisfaction and the success of the product. I have only done very minor things to the ViEmus in the past few months, and I want to do this before I embark in a major development burst again.

And finally, only in the third place, I will be working in new Codekana features, my Kodumi text editor project, and more ambitious marketing/exposure projects, which include setting up new blog(s) and writing several articles I have the theme for, and for which I just can’t find the time. But it just doesn’t make sense to engage in these activities until the current issues above are properly addressed.

There are two extra tweaks to this “grand plan” which are worth mentioning: first, I am kind of impatient, so I should just wrap my mind around the fact that each of these will easily take weeks. I tend to grow impatient seeing the list of pending things, and trying to finish the current one quickly. It just doesn’t help. And second: while I’m working on each of of the items, I should just erase the others from my mind. Important and interesting as the other things may be, they’re just a distraction until their moment arrives.

Oh well, I had to get that out of my chest. I’ve felt pretty stressed lately.

As a closing note, I’ve been trying to move this blog over to using Feedburner. There are a couple of reasons, the main one being that I’d like to get a more precise count of how many people are reading the blog and show it on the sidebar. Since I browse the http logs every once in a while, and since rss aggregators send the subscriber count in the referer string, I know there are about 200 people subscribing through these services, plus probably at least 100 more subscribing directly. Not bad for a blog I don’t update all that often, and which has often taken second place to actual product and development work. Anyway, I already set up the Feedburner feed, and I also installed a wordpress plug-in that should automatically redirect all subscribers over there, but it seems it’s only working partially. The feedburner subscriber count is showing only 120 readers now, and http logs show that many requests (notably those from bloglines and newsgator, which many people use) are getting a 304 code (“Not modified”), instead of a 307 (“Temporary Redirect”) which is what the Feedburner plugin uses. There are two potential reasons, one being that the transition won’t be complete until I post a new article (which I’m doing right now, so I should find out quickly), and the second being that I should really upgrade my wordpress installation, which is using and older version (I’ll probably do this in a couple of days). I’ll update this and let you know which one it was as soon as I find out, in case you ever have to do the same thing.

[UPDATE: A new post seemed to do the trick. The subscriber count is now added to the sidebar.]

Desperate to stand out

Wednesday, September 5th, 2007

A friend of mine is a designer. She’s not specifically a graphic designer, but she has a great talent for graphic design too. I recently showed her my Codekana web page, as well as those of other products in the same or a similar space. You see, I was quite proud of the web page and its ‘bold’ look, although I knew it was a tad too aggressive. But she nailed it when she said what she thought: “it looks desperate to stand out”. Ouch! That kind of feedback can be hurtful at first, but it’s definitely the best kind of feedback you can get. She elaborated a bit on what things made her thought that, and they were all spot on, of course.

I’ve received some other “actionable” feedback about the web page. The awesome Andy Brice, author of the best-selling package for wedding seating plans and the mind behind the cunning write-ups and experiments over at SuccessfulSoftware, gently reminded me that I didn’t mention what languages Codekana worked with in the whole web site. What an oversight! Of course, I promptly fixed that. The supported languages are C/C++/C# in the current version, although I will be adding support for other languages in the future, and improving the support for the current ones. Andy also sent me some excellent suggestions on the product, which I plan to address Real Soon Now. And he also posted about Codekana on his blog, which is very helpful (thanks Andy!). It doesn’t look like I will be getting married any time soon, but I will definitely try out his software if I ever get to that point 🙂 Also, Andrey Butov, while busy releasing a new version of his Blackberry spam filter, found the time to have a look at the Codekana web site and let me know that the colors were just hurting his eyes. He couldn’t look at it for over 30 seconds.

I will redesign the web site around all this feedback, tone it down a bit, and try to give it a more relaxed and professional look while keeping a distinct look. But I’m happy I went a bit over the line: if you are learning something, you need to allow yourself to overshoot.

I now have at least a handful of different large areas of work, including marketing and improving all my products, web design, tweaks to the sales offerings, and what not. For each product, I have dozens if not hundreds of suggestions and requests that are waiting for some attention. My to-do lists are pretty daunting. So of course, now comes the moment of prioritizing tasks.

As a first priority, I decided to work in Codekana 1.1 during August, and I finally released it last week (see the list of changes in Codekana 1.1). A 1.0 is always a bit rough, and giving it some quality time is very important to get closer to “product/market fit” (as the amazing Marc Andreessen likes to put it – if you haven’t already, and you are into startups in any way, I suggest you read every single of his blog posts about startups and entrepreneurship). All in all, 1.1 is a more solid product, and I’m already looking forward to 1.2 with a few more improvements.

In any case, I expected low sales in August, as I had in August ’06. But it turns out they have been very good – ViEmu has been equal or better than in previous months, and Codekana sales have been ok-ish for a first month. Now September is finally here, with everyone back at work and hopefully even better sales.

Although there are a couple of things I want to work on in the next few weeks, I have finally come to the conclusion that my next major product release will be kodumi 1.0, my always-work-in-progress text editor, and the final goal towards which I’ve been working for well over two years now. I have also decided that I don’t want to rush a 1.0 and release a text editor with nothing special over the many offerings out there – it just wouldn’t make sense. With advanced syntax highlighting courtesy of the Codekana engine (which will also be part of the editor), I now have almost all the core functionality needed for a standard modern text editor, but I have decided against taking that route. There are some parts of the core new tech I want to get up to speed, in order to release a product that Stands Out on its own without requiring aggressive colors and huge fonts on the web page.

The short term priorities include some work in new releases of the ViEmus, a bit of marketing work here and there, a bit of blogging, and some tweaks to the sales offerings. Of course, I will release new revisions of all my products while I work in kodumi 1.0, but the main focus in the mid- to long-term now is to get kodumi out of the door.

Wish me luck!

Codekana 1.0 released

Tuesday, July 24th, 2007

Here it is:


I have just officially released Codekana 1.0 for Visual Studio. You can visit www.codekana.com for all the details and to download the latest build. If you installed any of the beta builds, you will have to manually uninstall it before installing this one (hopefully the last time, as post-1.0 builds will sport automatic upgrades).

With regards to the product, its capabilities, how it can make your code reading and writing experience smoother and more productive, I think the best is that you visit the web site. I’ve made a big effort to convey the usefulness of the product, so the text and illustrations on the web site will probably be the best to explain it.

I have tried to design a more modern look for the website: a colorful design, large fonts, concise copy, etc… Even if the product is good (and, of course, I think it’s very good), nice packaging is always very important. I do plan to make quite some effort in marketing this product. ViEmu is a product for a very small niche, but for that niche, just making sure searches for “vi visual studio” or “vim outlook” reach the right page is the most important thing. For a product like Codekana, where hardly anybody will be looking for “enhanced syntax highlighting visual studio”, it is very important to raise awareness and to present the value of the product properly. Since writing articles has proven to be a very powerful method to get many thousands of developers to my site(s), I will probably do quite some writing about various development-related areas in the near future. It’s very likely I will set up another blog, more development-centric, and less oriented towards growing a small business. More news about this coming soon.

I have decided to finally release 1.0 today even if there is still one known issue with Codekana: sometimes, mainly when reinstalling it, Codekana colors and/or Visual Studio colors can get reset to odd values. This only happens occasionally, but it’s annoying, and it gives a certain feeling of instability to an otherwise rock-solid product (even if not perfect, of course). I know for sure that a feeling of being solid is important to sales, so it could detract a bit from sales if someone stumbles into it early. So, why did I decide to release without fixing this? Here is a short list of the relevant reasons:

  • The problem is due to some internal problem’s in Visual Studio’s color configuration system. You can check this VS forums thread for the details, how the behavior can be isolated and reproduced on a clean VS install without having Codekana installed, and how it seems only VS 2008 will fix it. I’ve spent weeks trying to work around this buggy VS behavior with no luck.
  • When it happens, the only effect is that colors can appear wrong, and this is fixed very easily by just going to Tools|Options|Fonts and Colors and clicking “Ok”, or resetting Codekana colors in Codekana’s settings dialog (the Codekana support page describes this in detail).
  • The rest of the product is rock-solid by now, after well over a month in beta testing, and it’s very useful already.
  • I was already planning to implement a revamped coloring system in a future build, to overcome some of VS’s limitations by doing my own rendering and bypassing its coloring system, and I’ve realized this will be the only way to reliably work around the buggy behavior. No need to say it, this will take quite some work to get working (it’s not a couple days’ hack)

All in all, I decided to release 1.0 today, put a prominent notice in the blog announcement and on the support page, and work from there. Hopefully it won’t be too annoying, it won’t detract too much from sales, and I will be able to have a better solution even before the trial period of the first users expires. Posting about a known issue on the release day is not very satisfying, but I think it’s only fair.

I will keep posting about how Codekana fares, what my next steps will be, my marketing initiatives in the near future, and of course the slow but steady advance towards kodumi 1.0, my always-in-development text editor.

ViEmu around the world

Monday, April 2nd, 2007

It’s not my fault. Ian Landsman started, and I just couldn’t resist. His blog post describes a cool php component to use the Google Maps API and show a list of addresses in a map. He used it to show where Helpspot (his popular help desk software application) customers are. And I had to do it. A couple of hours and quite a few manual fixes later, here are some cool takes (not all of the addresses resolved, and the ones who payed through Paypal, including as a few Chinese customers, aren’t shown here either):


All around the world!


The U.S. and Canada (most of my customers)


Europe (UK addresses don’t show up)


Japan and Korea – there are a lot of customers in Japan, but I had to reduce it to just cities


The bay area.


Seattle


Southern California


And an overview of the East Coast.


Even in the land down under!

And here are a few exotic places – now how cool is that?







I’m planning to set up a ViEmu-specific blog in the next few days, and I was meaning to post this there – but I just couldn’t resist! I may even add some of this to the ViEmu home page, it makes for a good, reassuring visual explanation that ViEmu is used by lots of people around the world!

March’07 Status Update & Interesting Lesson

Saturday, March 31st, 2007

As a first interesting point, ViEmu sales are very strong now. At the level of sales I had reached in the second half of 2006, I could live off of ViEmu exclusively, even if a bit tightly. I’ve definitely lived with quite a lot less than that. In February, I released ViEmu for Word & Outlook and updated the web site design to present the three products and to get a more professional look. I was expecting a lot of existing ViEmu/VS customers to buy the Word & Outlook version – I offered a 15% discount as an incentive and to show my appreciation for their support. Quite a few bought the new product, but nowhere near a significant fraction (surprise). Anyway, February sales were about 30% higher than in January. I was also expecting lower sales in March, as the existing-customer-conversion factor would disappear, but nope. March sales have been over 30% higher than in February. Surprise again, this time a happy one.

This means that I can currently work full time in ViEmu and the text editor. Which, by the way, I’m already doing. I still have some ties to my previous day job, helping out now and then with areas which have not been covered by anyone else, but it’s a small part of my time. Hopefully, this will diminish further over the next weeks and months, until my involvement there is virtually non-existent. In any case, this is the moment sales allow fulltime dedication with ample room for slack – about 2 years since I first started, and 1.5 years since the release of ViEmu/VS 1.0. I’m single and have no major financial obligations, and I can live on quite little, so someone with a family and a morgage to pay would probably need more than that, but I hope this can be an interesting data point for others starting up out there – development takes time, marketing and building up awareness takes time, taking the product to a mature stage takes time, reaching the point where hundreds of people will talk about your product and support in such a favorable way that others will easily decide to buy, also takes time. Definitely wall-clock effort time, but calendar time is also necessary.

As a subjective summary, it’s taken longer than I expected, but the sales level achieved by ViEmu is way higher than I ever expected. I never thought it could pay a full-time salary for someone to maintain it. In the future, as the text editor becomes the main source of revenue, ViEmu sales will support having one person full- or part-time maintaining the product.

This month I’ve been less active than usually. Several things have confabulated to result in this. For one, I was planning to move to a new town after I finished the Word & Outlook version, and I have just done so. A lot of time this month has gone into finding an apartment to rent, buying all the necessary stuff, sorting out all the bureaucracy, multiple visits to the closest Ikea, and just generally getting installed in the new place. Now I’m starting to feel at home at the new apartment and able to concentrate in work somewhat again. I’ve kept taking care of support all the time, of course, as it’s the key point to keep customers happy and the business working, but I haven’t been able to do anything major.

But as a second important factor, I started reducing the stress I was submitting myself to – I was working way too many hours a day, and the last part, implementing ViEmu for Word and Outlook, had been as close to a nightmare as possible. I will give you some stats on lines-of-code counts which will show it, but the main point is that dealing with Word has been a huge effort. Difficult to do, so much that at certain points I had doubts that I’d be able to pull it off, and with that kind of difficulty that erodes you as you fight and overcome it: poorly thought interfaces, undocumented behavior, tests that require three days to implement only to find out that it’s not workable and you have to find another way around… If I was tired for two years of excessive work, this was the cherry on top. Once I got to release it and fix the most important flaws, I needed to take some rest. And my body has decided that I need an intense rest to compensate. For the past few days, I’ve been almost without energy, sleeping a lot, and not able to put a lot of effort or concentration into anything. It was probably something to expect. Anyway, I’m going to take everything in a more relaxed way for the next few weeks and see how I feel. “One task a day”, or something similar, should be doable and I will certainly enjoy the much needed recovery. This morning I implemented support for the “Orcas” version of Visual Studio (which is available as a preview), and this afternoon I’m writing this blog post, enough for a Saturday. I will also start exercising regularly, which should help in feeling better – and losing the 10kg (20 pounds) or so I’ve gained courtesy of ViEmu.

Even amidst all of this, I have been able to start slowly pounding away at the text editor. I’ve already forgone the possibility of releasing 1.0 by the summer, as that would require a level of work I cannot put in right now, but I will be working in it during the next few weeks and months, and hopefully having something working soon enough. I’m still agonizing over the name, fortunately I have some time before I have to make a final decision.

I was talking about lines of code. This is a breakdown of my current codebase (all in C++):

Core library (including regular expression engine): 15,500 lines
Vi/vim emulator: 15,000 lines
Visual Studio and SQL Server integration: 21,450 lines
Word & Outlook integration: 21,300 lines
Text editor: 38,150 lines

The last chunk (the text editor) is, as of yet, unreleased code, and still contains quite a few known problems. All the rest is released and quite solid, production quality code.

Over 100k lines of code, a single person over a period of two years, initially while holding a full-time day job – you can understand while I need some rest now. You can see how the integration in the environment can be pretty hefty, quite a lot larger than the actual vi/vim emulation core. I don’t repeat myself too much, as much as possible is reused by isolating as common templates or libraries (the whole vi/vim emulator is a bunch of templates that can hook into any of the supported environments).

The good thing of this? It’s some pretty solid technology that can’t be replicated easily. And there are some things there that I can and plan to use in additional products.

I promised an interesting lesson – where has the sales increase come from? On one hand, the number of orders has increased: increased popularity, better and more products, a more professional-looking web site, a more professional image given by the wider line-up of available products… I guess all of them are meaningful factors. But there is an additional factor: market segmentation, in an unusual way. Some time ago, I considered the idea of having “standard” and “professional” versions, at different price points. This allows you to charge a bit higher to those that can afford it like companies or professionals – or to charge less to those who can pay less, however you want to see it. But I ended up thinking that it didn’t make sense for a vi emulator. The goal for an emulator is clear, the features are already defined by the emulated product, and when the goal has been so clearly set for so many years, and one can’t make a meaningful standard/professional feature distinction, it would just look lame to arbitrarily cut functionality. So I put the idea aside.

But when I released the Word & Outlook version, I also added very interesting discounts for packs of the different ViEmu products. If you buy two ViEmu versions, you get about 35% off in the second one. And if you buy the three of them, you get the three for the price of two. Since the target market, although not exactly the same, is very similar for the products, this indeed acts as a segmentation tool. Those who can’t spend too much buy just one of them, but those for whom $100 or $150 isn’t too much (that is, companies and professionals) often buy a two-pack or the full three-pack. And this makes the average order quite a bit higher than it used to be. Together with increased number of orders, this makes for a nice increase in dollar-sales.

Give it some thought, as it’s another segmentation strategy that can work for your own products!

PS: Post written using vi emulation in Word 🙂

ViEmu for Word and Outlook released

Thursday, February 8th, 2007

At long last, ViEmu for Word and Outlook 1.0 is out of the door:

ViEmu in Word 2007

Together with the new web design, you can have a look at it at viemu.com.

I’ve had a few sales already after being out for 12 hours or so, so it’s some kind of proof that there is some interest. Thanks to those who’ve bought it!

After this, I’m going knee-deep into the development of kodumi, my up-and-coming text editor. I’m thrilled to go back to it, and I hope I will be able to reach 1.0 in just a few months. The goals are very ambitious, but getting 1.0 out of the door is a priority, even as soon as it offers just a glimpse of what will be coming.

And I’m incredibly happy, not only to get on working in my editor, but also to *stop* having to fight against poor and hostile interfaces, as provided by other apps. It will be refreshing to fight my own interface designs instead of others’.

Thanks to Andrey, Jose, Dennis and Ian for posting about it on their blogs even before I did!

As an aside, I must say I like Word & Outlook 2007’s new interface very much. I think many people will want to have it as soon as they try it out.

Digg, reddit, vi/vim for Word and Outlook, and Happy New Year!

Tuesday, January 9th, 2007

Happy New Year everyone!

Here is my bandwidth graph for 2007 so far:

bandwidth graph

Yes, I got dugg and reddit-ed during the weekend. The first hump is reddit, the large spike afterwards is digg. The URL was from this blog, back in June’05:

The story of why I got started with vi/vim editing

I submitted it after seeing a post about “Bill Joy’s greatest gift to mankind: the vi editor” on the front page of programming.reddit.com. I didn’t expect so much popularity, but it seemed to resonate with the audience.

The comments both in reddit and in digg were very numerous and fun to read:

http://programming.reddit.com/info/x6zg/comments

http://digg.com/programming/Why_learning_vi_vim_still_makes_sense_in_2007

Having had about 20,000 people visit my blog during the weekend is always nice. It almost, but not quite, prevented me from concentrating on my current work:

ViEmu for Word screenshot

Yes, ViEmu for Word is already working. Yes, you can use Japanese text in ex commands and move around with a block cursor in proportional text and everything else… I expect to have a first alpha version for interested users ready during this week, hopefully becoming beta next week (feature-complete). After that, I’ll release as soon as possible. Getting this to work has been a *huge* pain, but hopefully it will be interesting to some users.

Ah, and it also works great in Outlook message windows! I’ll post another screenshot in a few days.

PS: Andrey released his latest product, BlackberrySpamFilter. Guess what it does? I think this will be a very successful product, and I wish him the best luck!

October ’06 Status update

Saturday, October 28th, 2006

It’s way past time I updated the blog with some more recent info. I hope you’ll understand time the 2nd scarcest resource of my single person startup, only right after cash, but very close.

For the past month, I’ve been able to do little more than answer support e-mails, respond to customer’s queries, and take note of the bugs/requests I’ve received. My day-job has required a lot of time and it has been pretty stressful, so I just forgot about trying to actually achieve anything.

I had been pretty busy working in ViEmu for the previous couple of months. I took a quiet August, I started surfing – which I love as a great summer activity – and I worked a lot in ViEmu/VS version 2.0. The worst part of it was a more than 10 hour symbol-less assembly debugging session of the innards of Visual Studio, in order to find a bug in one of the APIs and implement a feature I badly wanted to offer in 2.0 (automatic keybinding removal/management).

After this, I was able to release ViEmu/VS 2.0 back in mid September. The keybindings handling feature in particular has caused some trouble, so I will completely change the approach for the next major version (whenever that happens), but, all in all, 2.0 is a heck of an improvement over the previous 1.4 version. Sales have gone up, the feedback has been great, and I’m very satisfied with the result. It also makes use of the completely new ngvi emulation engine, which is also integrated in kodumi (my upcoming text editor), which will hopefully be released in early 2007. Having the engine confirmed to work right by hundreds of users gives me a great confidence in it.

I also released ViEmu for SQL Server Management Studio 2005. It has made a modest debut, with not too many sales, but it should be useful to some folks into heavy DB development, and turns ViEmu in a rounder offer.

I’ve updated the web site to offer ViEmu/SQL too, but I only did the minimum investment of time into this. And the reason is that I still plan to release a third ViEmu product before taking on kodumi development more seriously: ViEmu for Word and Outlook. Quite a few people have asked for it over time, I think integrating the ngvi engine in the Word framework won’t be too much trouble, and the main point is that I expect to make the maximum ROI from the effort invested so far. Vi/vim emulation will never be a huge market, and implementing it for many other environments wouldn’t be a sensible business decision, but having the triad of ViEmu/VS, ViEmu/SQL and ViEmu/Word+Outlook seems like the best trade-off of effort and potential. ViEmu sales are already in a place where I could live off of it, and adding up a third product could make it a comfortable situation to confront the release of kodumi 1.0 and developing the technology I intend to.

I will have to do a pretty complete redesign of viemu.com presenting the 3 products. And presenting multiple products is always much more difficult than presenting a single one. Given that this effort is in the near future, I decided to do the minimum redesign possible for the release of ViEmu/SQL.

Some interesting facts:

  • July and August sales were slow (especially predictable for July, given June had been the last month of the previous pricepoint and I cannibalized a lot of natural July sales), but September managed to catch up with dollar-sales in June (the best selling month ever so far), and October has again broken that record, almost catching up with the maximum ever unit sales in June.
  • Finally, viemu.com has made it to the first page of both the “visual studio vi” and “visual studio vim” Google searches. As soon as I have an afternoon to sort it out, I will finally be redirecting the old “ngedit.com/viemu.html” page to “viemu.com”. It’s taken 6 months for Google to acknowledge the new location (I didn’t want to redirect straight away and risk losing the ranking, as it had taken many, many months to have that page on the first page for these very interesting searches).
  • I have a chart and an article almost ready, called “The Ultimate WM_KEYDOWN/WM_CHAR Table from Hell”. I’ve had to delve even more deeply in the broken-ness of the Win32 input model, as ViEmu 2.0 has full keyboard mapping support, and it’s simply amazing how broken it is. The previous article on the subject is, funnily, the 2nd Google result for “WM_CHAR”, right after the MSDN reference page, and the 4th or 5th for WM_KEYDOWN (and brings quite some traffic to my site). I believe the new chart will be very useful and it will be pretty popular on del.icio.us, etc… more exposure is always good.
  • As always, I still plan to blog profusely… in the future :). I certainly enjoy writing and sharing my experience, and it’s definitely useful for the business, but I still have to prepare ViEmu/Word+Outlook and get kodumi 1.0 ready before I can dedicate more time to blogging. Actually, there is some very interesting technology I am preparing for kodumi (and for other projects afterwards), and I’d love to blog about it. But I don’t have time for everything… As soon as I have a released product which appeals to a higher percentage of developers, it will make more sense to invest in blogging as a means to gain awareness.
  • Andrey Butov took the plunge, left his day job, and went fulltime into his business. The effects have already been noticeable: a new web site specialized in Wall Street Programmers, a new design for his main site, etc… He was even so kind as to feature ViEmu/VS in the front page of the new site! When he released his book So You Want To Be A Wall Street Programmer a few weeks ago, I decided to buy it and read it. The reason is not that I intend to ever work in Wall Street, I am as close to 100% sure as possible that I won’t. But I enjoy his writing style, and I was curious about the development industry over there. I found the book as interesting and entertaining as expected, and I also got a good idea of how the internal development in investment firms works. Since my products are and will keep being oriented towards developers, I found that the new knowledge would be useful for better targeting of my upcoming products. I’m familiar of how development works in 2 or 3 different industries, and I’m confident that I can target my products efficiently to those, but I’ve now added another one to the strategy-decisions mixing pot, an industry which can spend a lot of money, so I think I’ll be glad I spent the time to read the book. Recommended.

And a closing note with regards to blogging subjects: I’m doing some core technology development for kodumi. It’s quite probable that the blog will turn towards that subject area: basic computer science, parsers, languages, types, the nature of code and data, etc… I’ll still post about business and other issues, but I plan to blog a lot about the technology – I think it’s pretty groundbreaking and that it will be useful in many areas. So don’t be too surprised if you find a post here talking about really basic stuff (such as “what is a number”, “what is a type”, or “code and data are one and the same thing”).

But if you really, really want to read purely about setting up a small-software-company, you have to head over to Patrick McKenzie’s “MicroISV on a Shoestring” blog. Patrick is a smart guy (“smart” as in “really smart”), and he also writes very well, so his blog is the best account of going from zero to having a working business I’ve found. Recommended, too.