Supporting a free language study application?

5 points by donw ↗ HN
Wow, all it seems that I do is ask Hacker News for advice. And this is long, so I apologize in advance.

Anyhow, I've written a web-based language study application that will be in beta for the next month or so. The application is a vocabulary-list manager that uses adaptive psychological modeling (similar to SuperMemo) to provide for rapid assimilation of new vocabulary, as well as a bunch of built-in dictionary data and NLP magic to manage individual user’s study lists, all with a dead-simple workflow.

I use it to retain vocabulary from books that I read in Japanese, as I just need to throw the words I’ve had to look up, as well as the occasional example sentence, into a big text box, hit ‘submit’, and the system handles everything for me. I don’t need to look up words in a dictionary, or manage a big pile of flashcards. I don’t even need to add examples if I don’t want to, because there’s a quarter-million of them pre-loaded into the database.

My application also automatically adds new words that appear on language proficiency exams, based on vocabulary that I’ve already added, and the system is smart enough to provide alternate drill methods for things like kanji, grammar, and so on. The system is modular, so it can be used for languages other than Japanese; a friend of mine is writing a Chinese language module, and I’m going to write an English module after I finish with the Japanese-specific bits.

I've been studying with this application for just a few weeks now, after taking nearly a year off from studying Japanese, and the results have been fantastic. A handful of other people have also started using it with similarly positive results, and I can honestly say this is the best study tool I’ve ever used.

So, here's the problem: I don't want to monetize this application and turn this into a 'product'. Most of the magic, including all the NLP tools and language data, have been produced by other researchers, and I think it would be a bit hypocritical to make use of their freely-available work, and not be willing to give back to the community.

Having just graduated from school, however, I am far from wealthy, and so it would be nice if the application paid for its own hosting costs. A lot of data-munching happens on the back-end, so the system will require a dedicated EC2 instance.

I don’t want to use ads, because they would just distract people when they’re trying to study, and relying on donations from college students doesn’t seem like a solid game-plan, either.

So, I was thinking of offering the application on a low-cost subscription basis. People can try the system out for free for a month or so, and if they feel that it is a useful study aid, pay a small fee (around $20) for a yearly subscription.

Does this sound like a sensible plan, or can anybody offer some other good ideas for covering the hosting costs for an otherwise free application?

6 comments

[ 3.0 ms ] story [ 27.3 ms ] thread
As far as I can see, there is nothing wrong with your plan. So, in the absence of anything to say but "go for it!", let me work on your philosophy a little.

When you say:

I don't want to monetize this application and turn this into a 'product'.

You're wrong. That's exactly what you want to do. That's exactly what you're planning to do.

There's nothing wrong with that. There's certainly nothing hypocritical about that. Yes, "most of the magic" was built by other people, but that's true of everything we do in life. Most of my professional tools were built by other people. A lot of them are products, but some are open-source projects. Linus Torvalds is a much smarter programmer than I, and he works a lot harder, and (thank god) I get to use his freely-available work without paying him, and then I get to charge money for doing so. Because Linus gave it to me for that very purpose! (And I'm very grateful.)

I'm saying this because you sound like someone who is used to thinking of his time as cheap -- and like you can't quite believe that this thing you've built is a "real" product. (Which it is; it sounds more real than 50% of the products on the web.) And I wouldn't want to see you do something silly, like price your product without considering the cost of (e.g.) your time. [1] You need to be paid for the development time you've put in, and for the maintenance time you're going to put in, and for the opportunity cost of keeping this thing alive instead of devoting all of your time to some other project. Otherwise, you will ultimately abandon this project and go do something else -- something that will make a profit for you, and pay you a living wage, and let you go to conferences and take people out on dates.

What I'm trying to say is: Embrace the fact that you're going into business, and take it seriously. [2] Don't undersell yourself or your product, and for god's sake don't price it at cost without paying the system administrator and the management team (i.e. yourself). Remember that it's really easy to lower an asking price and really hard to raise it afterwards. Test the market a little, see what competing products are charging, and go for it!

[1] For all I know $20 a year is overpriced for an app like yours. I don't know what your market is like, or your competition. But consider charging by the month instead and asking $9.99. -- or, at the very least, sell 6 month subscriptions at $29 per. (Think: semesters.) Don't make the free trial more than 30 days. Remember the possibility that many of your customers won't be repeat customers: Only a certain number of language students remain language students for years at a time, so it's not as if the cost of acquiring a customer can be amortized over ten years. Speaking of the cost of acquiring customers, don't forget to budget for the Google ads!

[2] If all this going-into-business stuff just sounds like too much trouble for you... don't go into business. Upload the code to Sourceforge or github and get on with your life. There's no shame in that, either. It happens all the time.

I was going to say much of what mechanical_fish said. Your project is a real product.

I'll definitely give you $20 if you can effectively teach me Icelandic.

I was thinking of something like yours for a while. But mine is more close to accent training for several different languages. I think you don't need to avoid monetizing the service. Instead, if the stuff is good and easy to use, your contribution by removing heavy flash cards gives users more convenience.

In real life, people help each other as friends. But since we can not help each others as strangers, so we exchange money. When you have money and you really like your service and users, you will put the money into making your service better because now you have resources to hire more people to deal with something that volunteers, users community won't/can't. And you still can have money for yourself to live a good life, and I think they won't mind that and are happy that because you deserve it!

Also, you somewhat underestimate the chance that your learning tool is really better than flashcards and help students learn better. Think about this: there are probably around order of 100 millions kids in the world that need to learn English in schools. Maybe 5 millions of them really want to learn English well for their future careers and they will invest their time and money to learn it well. While your contribution to make 5 millions people have a better time in life. They may just buy a set of flash card for $10 for a semesters and throw them away, meanwhile your service is fun and they learn much faster and better. So in order that your server can handle the traffic, you can just price it as the flash cards and see how people take it.

Begin of edit:

Your product is not Microsoft Windows. You don't force people to use it. You don't bully your competitors. So you should not feel guilty of taking money for your achievement. If you really want someone else to take care of it. Make it open source and see how the world react to it.

End of edit.

Well, could you write it in Python and host it on Google's AppEngine?
You might want to consider lifetime pricing too. The prospect of having to dig out a credit card and make an online payment every month or year is annoying to many, and they'll be much more willing to pay if it's a one-off thing. As mechanical_fish points out, language students often don't study the language for too long - a year or two - so it may even turn out beneficial for you too. Of course this may not work for your specific application, but it's worth a thought.

On a separate note, your app sounds really interesting, especially since I'm learning Japanese too (currently using Anki for vocabulary learning). Also I've been thinking recently about how to apply SuperMemo-style learning to more complex language learning than vocabulary, such as grammatical structures, and it sounds like you're working towards that sort of thing. I'd like to take a look at your app if you're opening it up for more general testing. If you're interested in discussing further, please email me: callosum at gmail etc.

Thanks for the responses. I'll need to talk things over with the other person that has become involved in the project, because even though it's more-or-less my baby, I don't want him to feel that his work is just going to go towards making money for me.

I think mechanical_fish may be right, in that I've been thinking of my time as cheap, which is strikingly uncharacteristic for me. It is true that I've put a shocking amount of time into this, when I could have been doing something to earn an income, so perhaps it isn't so unreasonable to try and get a bit of cash out of the process.

Thanks!

Also, I like the 'semester' and 'lifetime' pricing models. The lifetime subscription model appeals most to me, as most language students seem to fade out after two years. So, if I base my pricing on that assumption, the application should be able to cover its costs, and for those who stick around longer, it'll just be a little reward for their hard work.

callosum: An email is on its way.

queensnake: Unfortunately, while I could write the application itself in Python, the supporting libraries are not readily portable, and neither are the bits of C glue that I've had to write to link everything together. So, AppEngine is out.