Hey there. It has been a while since I last looked at or worked on justCheckers. And I’ve come to the realization that I have lost interest in working on it. Finally it seems that there hasn’t been a community that developed around it.
So I have come to the conclusion that I need to let go of this project and shut it down. If anyone is interested, I am willing to let someone else take over the project. Please contact me at dorian dot pula at gmail dot com if you are interested in any aspect of the project. In the meanwhile I will be shutting the site, and the associated resources to it. I will still keep a public Bitbucket repo available with downloads available, but everything else I plan on closing down.
What does one do with a software project that has stagnated and needs a good push to move forward? Rewrite in another language, obviously.
While I say the above in jest, I plan on doing just that with justCheckers. For years the project existed in Java, and was in fact started as a way for me to learn and improve my skills in Java and later Android. However I took a number of missteps early on in the project, focusing on a grand architecture instead of code. Later on the project stagnated because I tried to build a generic enough game engine to handle all the various variants of checkers known to man. I should of concentrated on working code and on implementing the simplest code first and expanding on the codebase afterwards.
Today as an experienced developer I know better. The project needs a reboot to get it back on track. I still very much want to achieve the initial goals of creating an ambitious checkers game with lots of features. However when I look at the code, it is not manageable in its current state. The code needs tests, an overall update and lots of simplification. However I do not want to throw out the good ideas and restart with a new codebase. Instead I plan on transitioning the current Java codebase into Python.
Historically for the justCheckers project, changing languages is nothing new. I created justCheckers’ predecessor, Civilization Checkers in Visual Basic 6. I rewrote the code to Java when I entered university and kept with it for years. In the past 2 years I became part of the local Python community in Toronto, and in a short period of time has Python become the language that I am most familiar with. I found Python as a language, easy to pick up, understand and master. Also I find Python much terser as language when compared to Java. Using Python means it should take much less time and effort to port the codebase to Python and then to maintain it as-is.
As for cross-platform support, the plan is to use PySide for the user interface. PySide being hooks for Qt, definitely works with all desktop operating systems. Mobile OS like Android or iOS is harder, but sounds like it is possible to setup something with PySide. Worst case scenario, I will fall back on using Kivy for the frontend, if PySide proves too cumbersome.
Currently I have a branch on Github with my porting attempt so far (https://github.com/dorianpula/justcheckers/tree/pyside-migration). Hopefully I will have the port complete by the end of the month.
Just when you thought that the justCheckers project has languished into oblivion… it is back! As part of a larger project to “finish what I started”, I plan on getting more work done on justCheckers. The idea is to revitalize the project and make it fun to contribute to it on-and-off basis.
One of the first things I wanted to do is make the project more modular. While I have worked as an Android developer in the past, now a days I found myself working on Java web projects. So while getting a single Android app out would probably be easier than having support for multiple platforms, I do miss experimenting with different technologies via this project. That is why I decided to separate out the project into a core (or kernel) module that can be used on in various Java technologies: Android, web, desktop and console/terminal. Also I thought it was time to revitalize the project with the experience I’ve gained over the years. Hence I am proud to announce my rather ambitious project to target multiple platforms.
As a way to make it easier to pull this off, I’ve setup a nice uniform build automation system using Gradle. I’ve just set it up a rough skeleton for now, but Gradle [http://www.gradle.org/] makes it fairly easy to set everything up. I just merged it into trunk so feel free to play with it! At the moment only the Android client builds completely. However soon enough I plan on getting initial versions of the desktop, and web clients up.
Finally, I also miss the collaborative team that formed around the original justCheckers. Now while everyone (except for me) has moved on, I would like to once again throw up the door to new contributors. If you are interesting in any of the below, contact me by email [see https://github.com/dorianpula]. Also I accept github pull requests if you prefer that.
- Refactoring the core code to be modular enough to be callable from a standard Java and Android.
- Making a functional Android client.
- Making a functional web app using SpringMVC and a JS-Web 2.0 ish frontend (HTML5/jQuery/Angular?)
- Making a functional console/terminal client.
- Adding in documentation on the project wiki: https://github.com/dorianpula/justcheckers/wiki
- Re-skinning the project website.
- Adding unit tests (TestNG).
After working with Gitorious for a while, I found that the site did not work as well I had imagined as a Git service. So I decided to take the plunge and create a GitHub account. I found that GitHub does a much better job as Git service, and has a bunch of build in features such bug tracking and a wiki. As a result, I am moving all my projects to GitHub including justCheckers.
The justCheckers project can be cloned from: https://github.com/dorianpula/justcheckers Also please add bugs and issues in the bug tracker associated with the GitHub project page. Feel to fork the project off GitHub and happy hacking!
I added in the classic Fork Me on Github banner to the site. If you’d like to put up your own banner for your own project, check out Daniel Perez Alvarez’s GitHub Ribbon in CSS post.
Hurrah! The justCheckers project is now on Gitorious! Check out our new spiffy, glorious and currently very spartan setup there for managing and distributing our git and wiki stuff. But wait folks there is more!* I have also updated the Launchpad page for justCheckers, as the way to track bugs, feature requests and other project management stuff. Not everything is up to date, but I will work on both. I am considering a move away from Sourceforge, both as a way to simplify my life and also as a brand new start for the project. I will setup more things on Gitorious, Launchpad and here on the project site in general… How soon I get to everything all depends on the needs that I encounter and time I have to work on this project.
* Yes, my pay-cheque has the words “TV” on it, so I can totally get away with using TV salemen lines. 😉
Just in case someone thought that this project is dead, I would to disprove them of this. I’ve resumed work on justCheckers with a slight change of direction. Over the past few months, I’ve started work as an Android developer for a media firm and I’d like to apply all that I have learned on this project. By switching over to Android, there are a lot of things that will get simplified. Especially the end product is a lot easier to deploy on Android handsets than on desktops. Does this mean that the desktop version will cease to exist? No. Rather it will be easier to the desktop version, once the existing codebase is refactored. But for now I will concentrate on the Android version, because it is easier, more fun and will easily raise the visibility of the project.
Apologizes for the surprise website change. However after months of silence and lots of haggling with Drupal, I just could not take it anymore. So now the official justCheckers site runs on WordPress 3! Yay!
This website is still a work in progress. I still need to upload the old content from the older Drupal site. Also while the default theme is great, it really needs some love before I can say the website is fully ready. Hopefully before the end of next week, I’ll have most of this done.
I am e-mailing back all those interested in contributing to justCheckers. We also have one new developer: welcome pushdown! Finally the justcheckers-developers mailing list is back in action. I suggest all developers and potential contributers subscribe to the developer mailing list. Looks like we have a go for justCheckers!
Oh my, I must apologize to everyone who has offered to help with the justCheckers project. It seems that my Gmail spam filter likes to chuck SourceForge related e-mails into the abyss of the spam folder. And I just noticed a whole thread of people offering to help with justCheckers! I apologize for not checking earlier. I will get back to all of you who replied back to my call for help, very, very shortly. In the future I will keep an eye on my spam folder, to make sure this doesn’t happen again.