lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


therandthem wrote:
> I'm going to start a list for this project.  This will be the last thing I want to post on this topic on this list.

I'm sorry if that sounded too confrontational. It wasn't my intention to poke
holes in your plans, but rather to try encourage you to redirect you effort a
bit and try and warn you against making mistakes that I know only too well.

The thing is: the technology is *not important*. It's only the end results
that matter. A piece of technology has to solve a problem to make it worth
adopting. If it's hard to use, then it has to solve a problem enough better
than the alternative to make it worth adopting.

I know this first hand. The company I work for has some world-class technology
that we've been working our arses off for ten years now trying to sell. Our
technology could comfortably beat all the competitors, but it was sufficiently
general purpose that the learning curve involved in making it solve any one
particular task was rather steep. So while any one customer could adopt our
technology, it was frequently easier for them to adopt *less good* technology,
simply because it was easier. We've finally found something that we do
spectacularly well, and it's drawing crowds (and those crowd-drawing demo apps
all use Lua); but it's been a long haul.

Here's a concrete example: playing video. You can get plugins to allow you to
watch a bunch of different video formats embedded in your web browser. They're
all loathesome. They work badly, they're complicated to install, each platform
supports a different set of codecs... using a native Quicktime/XVID/WMV
players is the *right* thing to do, but what people *actually* do these days
is to use Flash. It's not that Flash plays video well; it doesn't, it's awful.
But it plays it sufficiently well that it's not worth the hassle of trying to
install any of the real video players. Also, Flash is everywhere. The end
result? YouTube is worth billions of dollars. And I can watch YouTube video on
my Wii.

Another one is Javascript. Javascript's a lousy language. It's slow, it's
badly designed, it's buggy, it's a pig to write in --- there's nothing
Javascript does that Lua can't do better, except that Javascript is
everywhere. And it works. Badly, but it works sufficiently well that you can
write huge applications in it and they run everywhere. I can use Google Maps
on my Wii.

Your initial proposal sounds like it was aiming to be a direct competitor to
Flash. I think you're going to have real problems with that. You're up against
the classic chicken and egg situation where people aren't going to write
content because nobody's got the plugin, and nobody's installing the plugin
because there isn't any content --- and meanwhile, Flash is getting faster and
better every day. Not to mention me, with my Wii. I *can't* install the plugin
on that. But Flash, Javascript, AJAX etc all work on it.

I don't want to see you make the same mistakes we did. I don't think it's
*possible* to beat Flash and Javascript on their own ground; they're both far
too widespread. I'm not even sure it's desirable --- they do, after all, work,
and instead of spending effort replacing them, I'd argue that it would be
better to spend the effort on something new. So, instead of trying to fight
them on their own ground, could you fight them elsewhere? Where's a problem
that you can solve in a way that's an order of magnitude better than the
existing approaches, rather than merely being an incremental improvement? Do
you have to fight them at all --- is it perhaps possible to coopt them? Make
them fight for you?

As an off-the-top-of-my-head example... Javascript and Lua are very similar,
right? But Lua's far smaller and faster. Could you make a fast Javascript
interpreter by translating it into Lua? This makes you suddenly very desirable
in both the Javascript and Actionscript worlds, and you can use that to
leverage Lua (since everyone hates Javascript, and your engine gives you Lua
for free, and raw Lua will be faster than even your high-speed Javascript...).
Suddenly, your enemies will be fighting *for* you, rather than against you.

Does this make any sense at all? It is rather late, and I do have a tendency
to ramble past midnight...

-- 
┌── dg@cowlark.com ─── http://www.cowlark.com ───────────────────
│ "I have always wished for my computer to be as easy to use as my
│ telephone; my wish has come true because I can no longer figure out how to
│ use my telephone." --- Bjarne Stroustrup

Attachment: signature.asc
Description: OpenPGP digital signature