Kaya.gs wrote:
Picture the following 2 scenarios with the way pretty much all major servers work today:
1) You talk to a go player that is not tech savyy. You tell him to go to a server to play go. The series of steps he has to do before he starts a game is astounding.
a) go to the page
b) download client
c) log in as a guest
Now he sees an entirely new thing he doesnt know how to use, that has no "start game" or anything of the sort.
d) look for someone to help him/assist him into starting a game
As opposed to-
a) Got to the page
b) log in with a form any browser user in the world would understand
c) enter and be able to play a game a click away
2) Another classical example is that you want to share a game being played with someone. "MilanMilan is playing", "they are relaying a pro game", "check out the game i just played"
All those things have enormous friction to share, as the other person has to potentially install cgoban to enter, and look for it.
With a web client, you just share a link. The other user clicks on it, and he is there. Only 1 step.
I'd like to speak out a bit as a Java programmer, and remind people that the reason why people think Java sucks is because Microsoft wanted you to think that. However, Java (today) is a lot more stable now that Internet Explorer has been losing market share. (What did you think? You were using windows.)
At any rate you are right that Java is everywhere, and it is even everywhere that Javascript is not. With Android's support of Java, and iPhone's decision to drop flash (and Adobe's decision to drop flash on mobile platforms, and to move away from Flash in general) Java is really the only modern programming langauge available to developers which runs on phones, the web, desktops, and every desktop from mac to linux. It may work against you to throw out Java at this particular time. The tide is changing somewhat. But that being said, I would like to focus on the list you've presented above. I'd like to compare what you have said.
First I would like to remove the necessity for you to click on a link to access the site, since that is a requirement for all servers. Secondly, I'd like to remove the requirement for you to log on, since that is also a requirement for all servers including kaya.gs.
current-generation go server design:
b) download client
d) look for someone to help him/assist him into starting a game
kaya.gs remaining:
c) enter and be able to play a game a click away
Subtly, when removing the necessity to log in, I removed the necessity to log in as a guest, since when you go to kaya.gs the first time you are already logged in as a guest (observer).
I also don't feel it's appropriate to claim that on other servers people automatically don't know what to do, but that on kaya.gs everything will be intuitive.
So what are we left with? Kaya.gs is just like other go servers BUT it is more accessible because you don't need to download a client.
Well that isn't really true, the download of the client is merely hidden from the user because it is downloaded as javascript by the browser. Yes, I agree, there is a magic in that but I am just being completely fair from a technical standpoint.
So all in all there is really no difference between implementing kaya.gs in javascript, or in java, or anything else. The most important reason you should write it is because you are planning to listen to the user community.
Thank you.