The important thing about online is that it would
not be our only product, at least not for a long time; instead of offering native versions of Pleco on two platforms, which has been our policy until now, we'd be offering a native version on one platform an and online version that covered all the others.
Basically, we're looking at a situation where we're about to be dependent on Apple and iPhone for essentially all of our income; mfcb's comments notwithstanding, even if we did start charging for updates on WM it's unlikely they'd register as more than a blip. That's a rather risky place to be - Apple could reject our next update, they could institute some sort of iTunes policy or OS design change that would severely impact our sales, or they could just release a ho-hum update this summer and start bleeding customers; either way, it's not such a good idea to be putting all of our eggs in one basket.
So the question, then, is this: if WM is in fact going away, what would be a logical choice for our new "fallback platform." This is basically a three-way race between an Android version, a full-featured (not just "companion") desktop version, or an online product. (desktop version supporters, please note the "full-featured" in there; there's a big difference between porting our entire product to desktops, which I've never come anywhere close to promising we'll do, and releasing some sort of desktop companion app that allows for easier flashcard / user dictionary / etc editing)
Android has the advantage of seamlessly fitting in with our existing business - we'd continue to be the dominant Chinese dictionary on the only two mobile platforms with serious third-party app markets - but it's the riskiest of the three thanks to the spectre of platform / app store fragmentation, and it's also the most labor-intensive option thanks to the need to rewrite everything in Java.
A full-featured desktop version would be the least work programming-wise - our WM code would port over quite happily to desktop Windows, and our iPhone code to desktop Mac OS - and we don't need to worry about desktop software going OS-vendor-approved-only anytime soon (at least I sure hope not), but I'm still not convinced that this would do much more than provide another thing for our existing customers to buy. Does anybody really want a desktop Chinese dictionary anymore? Can we offer enough of an advantage over free dictionaries (and websites) to justify buying our standalone desktop product?
A web-based version is certainly risky too - selling ads isn't likely to cover the costs of licensing decent content, so we'd need to rely on some sort of subscription system, and subscription websites are a dicey proposition in general. But it would work everywhere, mobiles and desktops, it would be relatively future-proof, make all sorts of exciting new features possible, and likely still be less work than an Android port - we could start off supporting nothing but (various flavors of) WebKit if we wanted to, users of every mobile or desktop platform
not made by Microsoft already have WebKit-based browsers built in to their OSes and Windows users can easily download Google Chrome or Safari. (indeed, many probably already got the latter when they installed iTunes) Firefox support could come later, and IE support possibly at some farther-off future date. Plus, expansion-wise it's a heck of a lot easier and cheaper to hire web programmers than it is to hire Android (or commercial-quality desktop) ones. And of course an online version would be accessible to basically everyone with a PC or a smartphone (or even "feature phone"), so the market dwarfs anything else we might be able to go after.
character - subscription fees may not be a better deal for heavy users, but they are a better deal for lighter users - people who aren't even sure how committed they are to studying Chinese - and for people who only study Chinese intermittently, summer students and such. And given the difficulty licensing-wise of offering a decent trial version, they're much better for people who aren't sure about buying Pleco too. Heavy users are probably only going to be happy with a native app anyway, at least for a while, and long-term, subscription revenues might allow us to do some cool new things like, say, hiring a full-time dictionary editor and continuously adding / revising entries, example sentences, etc.
But as I said above, this wouldn't be our only version, just our second version - I don't foresee a point coming anytime soon where we can abandon native development and go online-only, and indeed if something bad did happen to our iPhone version we'd probably start in immediately on a port to Android or some other OS, but as long as iPhone's going strong there's a lot to be said for doing an online version instead of rolling out a second mobile platform, particularly given the need for a Java rewrite to support Android.
I disagree with you that online searches are necessarily going to be a lot slower, though - assuming we distributed servers in a couple of different geographic regions (so users in both China and the US had decent latency) the thing could be pretty darn fast most of the time.
ipsi - that's logical, yes - universities feed Java to tech companies and they feed it back to universities.
In the US at least, net neutrality is mostly focused on bandwidth rather than latency - one giant media / telecom conglomerate wants to be able to downgrade the quality of content from another giant media / telecom conglomerate traveling across their network - so since latency would be the main limiting factor for Pleco Online, I'm not all that worried about it. Bandwidth's the main thing that taxes networks anyway; one can make a case to regulators and even the public that limiting bandwidth use serves the public good by making sure there's enough for everyone (especially with wireless networks), but slowing down individual packets unless you pay a toll is just plain vindictive. Certainly something to keep an eye on, though.
character again - interesting analysis; I suppose some of my Java hatred may come from a) being so comfortable in a low-level / native code environment, and b) having spent several orders of magnitude less time with it than with C. I still don't quite see the virtue of it on mobiles, though, particularly since the whole justification for having offline mobile software is speed / latency and Java still seems destined to lag behind native code in that regard in the near term at least.
mfcb - remember, we're looking beyond the next 1-2 years here; if we only develop for the next 1-2 years then we may be doomed to continue chasing new mobile platforms as we've been doing so far, but if we get established online we can continue adding new features / upgrades to that largely uninterrupted; all sorts of wonderful new things become possible once we don't have to spend all our time porting them to Splashy New Mobile Platform 2011.
Writing online software may be a nightmare if you insist on total compatibility and on embracing every new technology, but we really can build around WebKit, tweak for Firefox / Opera, and politely offer IE users a page full of links to download those other free browsers; we're finally at a point where one can realistically release a major new website that doesn't support IE6, and that alone lops off a whole lot of development time. There are a ton of excellent frameworks now to solve a lot of the tricky UI issues, and most of the complicated stuff Pleco does happens on the backend anyway (where we can write in whatever language we want since it's running on our computer and not yours); a nice clean little AJAX UI (with <canvas> tags for drawing-intensive like handwriting recognition / stroke order) would really be enough for our purposes, there's no need to fiddle around with Java / Flash / Silverlight / AIR / Ruby (remember Ruby?) etc.
I'm glad you've found a happy medium with WM, and at least for cross-platform engine improvements you should continue to see upgrades for a while (I hope you enjoy 2.0.8!), but I don't see how we can realistically depend on it much for our future revenues, so as above we're left with a choice between Android, non-companion desktop, and online, all of which are major new projects by any definition.
sfrrr - see my last comment in
http://plecoforums.com/viewtopic.php?f=13&t=2173&p=16458#p16458 - unfortunately it seems like that article has subsequently been updated to downplay the compatibility level. Programs already written for .NET can all be adapted for Silverlight, I suppose, but Pleco's a straight-up native C app, so adapting it for Silverlight (if that is in fact the framework for WP7 apps) would pretty much require a total rewrite.