Thursday, September 29, 2011

Succesful Deployment and OpenKaya is on fire!

Yesterday we achieved a new landmark. We were succesful in the deployment of the application in Amazon, and we were able to chat&play over the internet.

It worked really fast and nice, we are very happy for the results. However its still not in alpha phase: it has no serious account validations, you still can't finish a game and several other features missing. It is still a moment of great joy for us, knowing that we are so close to having a first stable version.

Not only we were succesful on deployment, but yesterday Emiliano a.k.a. eMancu did a first version of the scoring algorithm, which is one of the key missing pieces of the board, to be able to count correctly. Also yoyoma improved Glicko system to take into account handicap&komi.

Im really happy about the results of OpenKaya so far. Even though I contacted these contributors directly, their work has helped us advance faster and better, by producing a better end product in less time.

That is why yoyoma is also now on the board of fame. eMancu, however, was payed in gummy bears.

:)

Wednesday, September 28, 2011

Almost there! Need your founder accounts nicknames!

As i said before, i am working on the deployment of the application which is almost done. I could connect to the server! create accounts and more!

This server does not qualify for beta, not even for alpha. Its merely a dev-server. Unfortunately one of our biggest technical dependencies had a sudden bug which until backtracked or fixed, doesnt allow us to run games or a chat!

Very upsetting :). But deployment is way ahead of schedule, as if that were fixed the server would already be up.

I did re-learn a lesson on humility working with sysadmin ship these days. I learnt a lot, and as usual, the more you learn the more you know you have left to learn.

Polly is working on timers right now so we can add clocks promptly. I will be switching to other features today and probably tomorrow until the owner of the library we use fixes its issue.

I will start adding the Founder accounts by nickname to reserve them. User creation will probably be disabled at first so we can control who gets in precisely. So those that haven't picked a nickname on the board, comment right here whats your desired nickname!


Monday, September 26, 2011

Open Kaya

Short post this time.

On a my-friends-stood-me-up-to-go-out Saturday rage i wrote the code to run and compare different rating systems.

You can see some guidelines and the code here : https://github.com/conanbatt/OpenKaya/

Anyone that desires to try out and implement a rating system and compare it to others can do so. I am contacting some mathematicians and programmers that enjoy the rating systems problem, and if anyone here wants to get involved he can. Im available for questions and even aid.
If you know someone that would be interested in doing such a thing, tell them! the more rating systems we have, the better.

By the time we lanuch i will implement a simple Elo based system which will be sufficient considering we wont have many players, but afterwards i want to make the best community-oriented decision on which rating system will be used in Kaya.


Tell your geek friends!

Friday, September 23, 2011

Kaya Open-sourced?. Deployment soon.

One thing frequently asked is if we are going to be open sourced.

Just to clarify for anyone what that usually means, Open-source is that the code used to run the server is readily available for anyone to read it. It doesnt necesarily mean its licensed to be used, or that it would make any sense to do so.

There are many degrees on open-sourcedness, and releasing the code has ups and downs.

The main advantage with open-source code is visible and hence improvable by foreign developers. That means that someone other than the core Kaya development team can fix bugs, add features, and increase overall functionality. This is the biggest upside to open-source as it can vastly increase the development power of the team.

However that advantage doesn't come for free. The code-controllers (Polly and I) have to review everything outside developers do with scrutiny. We have to set out a system and guidelines and policies to make such a thing work, which take time & effort that would otherwise go directly to development.

There is always the fear that "someone else" will copy the code and run their own version of the system. That, however, is not a big fear for us. There arent many players outhere with the will and capacity to do such a thing, which would be very disadvantageous, because we will probably move faster than any single other person can do.
My main concern with releasing all code is security. People being able to read the code directly can find vulnerabilities much easier and hence exploit them systematically in a vicious manner.

That is why in our plans, we are most likely going to open source client-side features which dont hold this security concerns at all. When? not soon, because before that happens, a lot of milestones have to be achieved: a moderately stable version, production/development servers have to be set up, and more.

However before that stage is reached, something before can be achieved regarding this matter. We are in the latest stages of Board design, and the key missing component right now are the counting algorithms. A friend of mine, Emiliano, (ex-coworker) had done an algorithm and i wanted to give Polly a helping hand on the remaining Board features so i wanted to ask Emiliano for the algorithm.

He didn't have it anymore but wanted to write it again. So i asked him what is a vital question for me as the CTO of Kaya. Was the algorithm tested?. In development, tested doesn't really mean it was "checked out by hand" but systematically verified by another piece of code.
He hadn't done that so i opened up a github project ( https://github.com/conanbatt/OpenKaya ) and wrote a first series of tests in Javascript for what will be the counting algorithm for Kaya.

Emiliano might do a first version, or in the end we will do it from scratch. In anycase, it felt really good for me to write test cases, and let someone foreign to us give it a try and see if it passes. We consider this a good practice for when the real thing happens :).

This brought to my attention something i had neglected lately in favour of delicious features, which was the rating system. I will soon upload something similar , albeit its a much harder test case to build, and make some public announcement looking for implementatinos of different rating systems. The point of building a test case is that we will be able to compare different systems by accuracy and performance.


On the other hand, great news today, Polly finally got his credit-card. Next week i will start working emphatically on deploying Kaya in Amazon, the biggest roadblock so far to make the first beta for Founders to check it out.
Beware! After that happens, Founder Accounts will not be given anymore! so if you know hesitating friends, tell them about that :)

Thursday, September 22, 2011

#100 supporters + 4300U$S raised!

We achieved a new milestone yesterday! Yes, we have now exactly 100 supporters in the project.

We are so excited and energized by the support the community has been giving us. Over a dozen programmers have offered a helping hand, and the funds raised so far will give us a little more than 2 months to work on this project without the impending pression of finding investor money.

I want to say a few things about this whole crowd-sourcing venture, and also where its heading to.

First of all im very glad about the faith all of you supporters have been giving us. We are confident and we are going to make a great place out of Kaya, and having people telling us right from the start that they like what we are doing gives us a lot of energy.

With this project we dont want to only give one more thing to the community: we want to change the mentality of the community and how its used to do things. We want to raise the availability and quality standards for Go projects and ventures. We want to make people used to contribute and help all those that put a lot of effort and energy into providing a new experience for Go players.

Right from the start many players privately told me that i wouldnt be able to get any money, because Go players are cheap. I've always resented that comment, and knew it was not true. And Kaya is the first living proof that it isn't.

Our original goal with Crowd-funding was 4k U$S, which we achieved and for that, we are profoundly satisfied. We are not going to "push" this matter much, although it will be open for newcomers. We have achieved our goal of funding the first 2 months of the project, which should be enough, by our estimations, to create a first version.

Our overall strategy is to get a first version to show to potential investors and have more leverage to both convince and negotiate terms. If we are able to get more serious money, (30-50k) we are most likely going to expand the team with 1 or 2 developers.

But even if that happens things are on schedule. I want both Polly and I to deal with all foreign matters as soon as possible so we can develop 100% and reach our goal for a demo for October 15,which is getting close really really fast.

So what are we working on right now? SGF. GoSpeed is reading Sgfs and we are converting the server protocol to process and write SGF file formats.
Once that is done, Polly has to finish scoring on the board. After scoring, we will work on design and deployment. Polly has to make it look pretty, and i have to deploy this application into Amazon, so it becomes easily accessible for everyone :).

Tuesday, September 20, 2011

AQJG, AGA E-Journal and GO Library

Hey everyone!. Back from an awful weekened that i spent in bed with food intoxication : (.

Fortunately i'm quite ok today and will be getting back to work immediately. The first news is that our friends from the Quebec Go Association have been starting to make their contributions. Polly finished the new board yesterday and we will publish it today.

The stones will be arranged as a made-up 9x9 game, although if some Quebecois would like to challenge me to a 9x9 (or if they have one of their own) i can easily change it.

The other news i woke up with this morning is being included in the AGA E-Journal. That's a strange story to me.

I've been trying to contact them through their only official channel, an email address, for over a month.  They never responded any of the several emails i sent. This is something that happened to me years ago when i wanted to publish a series of articles - "The spirit of play"-, and i could hardly get any feedback.

However, somehow Bob Gilman made a note and made it to the AGA E-J, without my notice or consent, and what really throws me back, without collaboration. He made a compact and news-like article without any opinion so i don't have much to complain but he could have gotten a lot more information if he contacted me.

Anyway, at least the first note is made and we will check how it affects the traffic tomorrow by looking at the Google Analytics report.
So far, what we have noticed is that most vistors are american & canadian. I think we should make some statistics on who the supporters are to get an idea of which community is more interested, the american or european.

Of course, that only feeds our curiosity, as the go server aims to satisfy both right off the bat.

This week, we will be focusing on making GoSpeed read SGF files (which it does, but not completely featured yet)and being able to finish a game.  The most pressing tasks so far are on Polly's hands (poor guy) because i got a week head-start when i quit my job. There is a lot of styling and ordering to do, plus picking out the logo, and Polly is after all the Chief Design Officer :).

Feel free to put the heat on him on the comments.



My most urgent task is deployment: making the server run remotely easily. Unfortunately i have a road-block: we are waiting for Polly's credit-card to arrive to be able to use Amazon and start using a remote computer there.

If i dont find other immediate tasks i will go back to the GoLibrary prototype.

GoLibrary is a rather old aspiration of mine of making a site that offers a motivating training system. It is meant to be both a problem solving environment and a go book publisher. I frown when i read about the SmartGo Books, getting deals with editorials before we do.

This time, GoLibrary will start thinking only on solving problems. Its not only about selecting and keeping track of which problems you solved, but also about using a system that makes it very easy and trasnparent to know how you are doing. Details? secret so far :).
The whole point of devoting some time to GoLibrary these days is for november. I will be staying at BIBA(Blackie's international Baduk Academy) along many other strong european players and some professionals and i want to do some prototyping to see how they feel and like the new ideas, both on Kaya and Go Library. (they will be staying there to train, so GoLibrary is a perfect fit).

The power i want to show with GoLibrary, is that its being developed as a 100% independent site. And it will connect to Kaya, use its user accounts and some other information, and it will be widgetized and shown in the main page of Kaya.
It is an example of what it means to integrate a site into the server.

Our consultant has expressed interest in making another site to integrate to Kaya: the tournament organizer. So hopefully we will be able to work actively on both side projects by november.

Saturday, September 17, 2011

The new BoF, the logo and the AQJG

As many of you might have noticed, we have re-arranged the Board of Fame according to a Go Match.

We had debated right from the start what would be our way to add supporters to the Board. I used to place them with a simple criteria which was that as more important the support, closer to the center. So 5$ support would go near the edges, while features would get hoshis, and so on.

However, after the 50 supporters mark stones were just randomly placed, because there was really no place to put them. So we decided finally to make a Go Match with each stone and we picked the Game of the Century.

On the other hand, there are some great news for Kaya this week :). Jean-Sebastian Lechasseur, probably Kaya.gs's first hardcore fan , saw that we had added a new reward, the Meijin.

The Meijin is a prize of special recognition and mainly, about getting T-Shirts and other things with the Kaya logo. Originally, we really wanted to make a reward with a T-shirt but considering we get donors from all over the world, the logistics and shipping would have been a nightmare.
So instead of made it so we send a bulk of shirts , whether to a group of people or a single donor.

As soon as Jean-Sebastian saw that reward, he started recruiting in the AQJG(Association quebecoise des joueurs de go) .Yesterday he completed the 20 player mark, each getting a T-shirt, stone in the BoF and access to the Documentary for 25$.

Because what he did was awesome i really wanted to do something special for these guys, so with Polly we decided that we would make another BoF, a 9x9 board to put all these donations together, and the board itself will be called after the AQJG.

This great notice also brings us to the following matter: the Kaya Logo. Our current logo was done by Polly himself. It's pretty nice, and specially i like the concept. For those that don't know, Kaya is the tree used to make the most expensive Gobans in the world.
Its a very old kind of tree, they can have thousands of years which makes it scarce and expensive. The leaf coming out of the stones is a Kaya leaf.
Although i like the current logo quite a bit, we can definitely do something more pro, by the hands of a professional logo designer. One of our concerns is that the logo should probably include the name in itself.
We are contacting independent designers from logopond, a site that groups work from logo designers,  and see what can we find out. Polly is fully in charge with that ,as he is the Chief Design Officer of Kaya.

So until we have the new logo we are not going to make the T-shirts. I wouldn't like sending out T-shirts with a logo that is most likely to expire. This very week im going to nag Polly constantly so he deals with the matter quickly :).

I also want to make a set of T-Shirts to bring to KPMC,  Korean Prime Minister Cup, to get further funding and exposure.

Thats it :)

Friday, September 16, 2011

Our current development tasks


So what are we actually working on these days, im sure many of you are asking.

There is a long development schedule that will remain private (and it is obviously very volatile) however we can give you guys a glimpse on what we are working on.

The picture you see here is GoSpeed, Kaya.gs's board.

Right as you see it, the board is connected to the server, and if another user were in the same place, he would see the stones being placed.

The chat is fully functional, and it already has some special-functionality: it marks messages with your own name in bold and it has a command interface: in the picture /help describes all the commands.

What you see is a sandbox, which is the closest thing to a Demonstration in KGS. The owner of the game can change who the players are, and can even change the size of the board dinamically (no need to refresh or recreate another demo.). We want to make this super configurable so its super easy and practical to share a board with someone remotely, and change the size, or rules, etc.

Even more, the URL is editable. You can name your demo, for example "my_lesson" and then, you will be able to locate the match doing "domain/game/sandbox/my_lesson".

The sandbox is our core workplace right now, because if its finished, there is a clear and definite functionality for any user. As you might guess, there is no pass/ resign button, and there are other things missing yet which are less important than those two.

The sandbox didnt exist on Monday, and it looks like this today. We are really happy with the progress we did this last week. Soon, we will have the tools necesary to deploy this application to Amazon, and we will be able to share it with founders.

One last thing, all material inside this blog is officially confidential. Do NOT share this picture or any other without our consent. We are not being hard-asses, but this is far away from how we want it to look : it doesnt have all the styling we demo-ed in the prototype, and we wouldn't want people to get the wrong idea about the execution of our project.

I hope you guys like it :)

Tuesday, September 13, 2011

Kaya.gs private Supporter blog is launched!

After debating for weeks on the best way to communicate with founders, we decided to make a private blog.

We considered making a forum, or at least a proper section in L19, but we thought that many founders might feel uneasy with a forum. However, if we want to keep a different private channel of communication in the future, a forum will most likely be the most suitable solution.

People given access to this blog are supporters and can be found on the board of fame, or close helpers to the project.

We will pimp up the blog and use it to deliver news that are of special interest to the closest helpers of the project. Eventually, this blog will go public, probably when the server makes an official launch.

So we will be updating the blog regularly to keep everyone posted on our advancements, our obstacles and how we go around them, even pictures and more.


This week we are working very hard, and yesterday, after several hours of polishing, we were able to play a game on Kaya.gs and disconnecting and reconnecting. The current state of the server is interesting :)

It has almost no styling, so all the beauty you can see from the prototype is non-existant. However it already has some exciting functionalities: you can, in the same window you can find/open games, and chat, see a list of videos (currently 2 videos from GoCommentary) without leaving the page. Also the chat has some basic IRC commands. The chat gets bold if your nickname is mentioned in a conversation.

We dont show pictures (only the Kisei has seen the latest) because even though it works, its just not put pretty yet. After that, we might start releasing some images as we work towards the first demo/beta version.