New Site for justCheckers

I’m setting up a new site for the justCheckers project.  The only real good reason for my working at all on this project, is simply to build a portfolio.  As a software developer, I want to show to others that I can code.  And that my code is clean, elegant and professional.  I also want to show that I can write my own web applications.  So I am writing the justCheckers website as a PHP, MySQL DB enabled application.  All using proper XHTML, CSS and a touch of AJAX.  The site is a work in progress.  I’m not planning to build an entire flexible CMS, rather I plan on building a custom site.

Crazy Busy

I’m going to have to keep these next upcoming posts short.  I am a bit overwhelmed at the moment, with the sheer amount of things going on at the same time.  I still want to try to keep going forward on the projects already in progress.  But I will not add anything new to my plate for the next few weeks.  I’m seriously planning a trip to Europe this year.  Planning this trip will take quite some effort.  Still a short update is in order.

I got meet up my university friend Rob yesterday.  Have not talked to him in ages.  I did spend a long time with him.  But it was great to talk to him again, and I needed someone in a similar position to my own to bounce ideas off of.

I started to compile some notes for my novel.  I wrote down most of the background of the novel.  Now I plan on completing my notes and sketching out the plot.  Then the serious work writing can begin.  As for programming, I’m working on a PHP powered website for justCheckers.  Also I am slowly reading through a book on coding C++ and Qt, along with a silly application I plan on writing to learn the Qt framework.

Kicking Tires

This week, I’ve started working on my delayed projects again.  I feel exhausted from the week.  But I also can not wait to play around with my projects.

Learning Qt

I’ve always admired the KDE and Qt developers.  They make some of the most innovative and interesting technology in the consumer-desktop-mobile land.  I’ve decided to pick up learning Qt and C++.  So far I’ve read the beginning of C++ GUI Programming with Qt 4 (1st ed).  I need to play around with C++, which I plan on doing it while using Qt Creator.  One of my first major Qt experiments might be getting the TEA text editor working on my Nokia 5800 XpressMusic.  I know that Nokia just released the tech preview  of Qt 4 for S60 devices.  But I’ll give it a shot.  Hopefully the GUI will port over nicely.

Completing justCheckers

Yes, the project that I left for dead still lives.  I want to work on it, as portfolio material.  I first plan on building a website in PHP (or maybe JSP?) that renders beautiful CSS and XHTML.  And then I need to give the project much love.  But I owe it to myself to finish this application.  I won’t build any crazy game servers.  But I want to make something totally configurable and fun.  And in the process I want to create something that proves that I am a strong Java developer.

Writing A Collection of Shards

I am going back to writing.  Unfortunately I need to start almost from scratch, since many of my written sections simply will not work.  The ideas are there.  I just need to get them down on paper.

Driving License

This one is the ultimate in the tire kicking sense.  I plan on getting my driver’s license really soon.  Aside from parking, I feel comfortable driving.  Once I figure out all this parking stuff, then I’ll be ready.  I’m exciting since this will give me a lot more mobility and flexiblity.  I’ll be able to solve a lot of problems and have even more time to do things in the day.  And I’ll be able to sleep and live in normal time periods.

Spring Weather Motivation

I am enjoying the spring-like weather of the past few days.  After the harsh cold of winter, sun and warmer air are weclome reliefs.  I get to spend more time outside.  Not as much as I’d like to, but still.  The weather not only motivates me to exercise more.  I started yesterday with a short inline skating run.  The weather also motivates me to work on my personal projects.

Please excuse the recent short posts.  I am suffering from a kind of blogger’s block.  While many interesting and wonderful changes are happening in my life, I can not openly discuss them.  At least not yet for various reasons.  I am hoping I can discuss things more in the next few weeks.  And I am too busy to write any articles for now.

At the moment, I am working on a number of different things.  The justCheckers project needs a temporary website.  I barely scratched the surface of that task.  Also I am still writing my novel, with fairly slow progress.  I have a good idea of the plot and characters already.  All I need to do is to crank out the chapters.  Everything else I’m keeping under wraps until I am ready to announce any real news.

I want to wish everyone a Happy St. Patrick’s day.  I guess today everyone gets to celebrate their Irishness or their desire to be so. 🙂  Cheers!

justCheckers on Hold – Again – Kinda

justCheckers logo

justCheckers logo

I’m putting my involvement with the justCheckers project on hold for a while.  Progress ground to a halt when I started to dig into the code.  In its current state most of the application’s core functionality needs reworking.  Meaning to go forward someone would need to reimplement slides and jumps that allows for multiple jumps and so-called “flying kings”.  And the GUI needs refactoring to run in a multithreaded manner and with a main game event loop.  I already devised the algorithms for the core game engine.  But I need to translate that into real code.  I plan on implement those eventually.  But the amount of effort to reward doesn’t add up at the moment for me.  So justCheckers will not be on my high priority list for the next little while.

Just to be clear, I am not abandoning the project.  I still want to work on it.  But there are higher priorities on my list.  If anyone wants to step up to the plate and massage the code, I’ll gladly help.  And when once I get my other higher priority tasks done, I will return to hacking on justCheckers.

How Not to Run a Community-Project: justCheckers Post-Mortem

So the day before yesterday, Aaron Seigo wrote up a brilliant piece on running a community-driven project. Since I stole^H^H^H^H^Hborrowed his post, I want to contribute back my own experiences. The justCheckers project is currently in a semi-active state at the moment. But in its heyday, we had a group of 5 active developers. But overtime the momentum dropped off until only I remained on the project.

A major reason for this is my own inexperience in managing a project. Over the years, I learned about and tried out different project management techniques. Unfortunately by the time I could implement those in justCheckers, people had moved on to greater things. And I even thought of closing down the project, until recently I revived it again for a different purpose…

Some of the lessons I learned along the way are:

  1. Manage Expectations. This is a real killer. It is fun and easy to overhype your own project and your involvement in it. But it doesn’t help the project in the long run especially once people realise that their initial expectations differ wildly from reality. Myself I promised the moon, and didn’t deliver.
  2. Be Prepared to Spend the Time. As a lead developer, you will end up doing most of the work. Open source projects begin as ordinary projects, and only in the later stages do submissions and community efforts come into play. So before you begin, be prepared to do a lot of pushing until the project can maintain itself. Being a university student and running an open source project can be difficult if you are still developing your time management skills.
  3. Code is King. This I believe is one of Matt Asay’s favourite sayings. Source code contributions are what make open source work. Later on other kinds of contributions come into play. But source code should come first. I spent an inordinate amount of time on documentation and planning. Instead I should of thrown up a quick sketch and just concentrated on coding.
  4. Establish Good Lines of Communication. Without good, honest and open communication your project goes quickly astray. Facilitating that communication is not a trivial task. My greatest success was via individual e-mails and forums. But things went downhill when I lost the forums. Bringing them back ended up in fighting spam. Same thing with a wide open wiki. A wiki is good for knowledge discovery but not for discussions so much. I tried setting up an IRC channel on Freenode.net but my request never went through. This is one issue I never figured out how to resolve.
  5. Be Flexible. I tried applying conventional project management techniques and that doesn’t work for a volunteer open source project. In time I learned about the importance of voluntary involvement and persuasion as the best tool for moving forward. But that is another matter altogether.
  6. More Warm Bodies Don’t Mean Faster Coding. I learned that open sourcing a program doesn’t suddenly mean that a bunch of people will suddenly appear and work on your ideas. No, again you need to be the primary mover until others decide to help out to use the program to their advantage.

We did do somethings well:

  1. Delegate Tasks by Components. This gave everyone ownership of some part of code. This also prevented people from setting on each others work.
  2. Market Help Needed. This helped a lot in bringing together the core team. In fact the project would of never got off the ground without Sourceforge‘s ask for help functionality.
  3. Build to Last. We tried to build everything in a generic enough manner to allow for future functionality. It takes more time to build this way, but it ensures better design and future-proofs the end result.

Now, the justCheckers project is heading in a different direction. And so a different approach is needed.

Experimental Web Application Branch

Yesterday I started upon moving justCheckers into a web application. I didn’t want to pollute the trunk of the subversion repository. So I created the webappbranch. You can grab it by running:

svn checkout https://justcheckers.svn.sourceforge.net/svnroot/justcheckers/branches/webapps

My next major task to tackle is updating the documentation on the wiki and in the source code. After that I just need to create a few JSPs, and link up the code properly.

Technorati Tags:

Reopening the justCheckers Project

Made the plunge today into FOSS development again. As I mentioned in my previous post, I considered and started work on the next version of justCheckers. There are a few reasons why I restarted the project. I want to play around with Java web technologies. I also want to experiment with project management and FOSS development, again. And I am emotional attached to the project.

One of the failures of my past involvement with the project, was the assumption that people would be as excited about the project as I was. I assumed that people would flock and essentially build my dream for me. I underestimated the challenge of motivating people and managing progress. Drafting an excellent design, a todo list and increasing communication throughput would result in vast source code contributions. Managing a non-commercial open source project turns out more complicated than that.

The future of justCheckers requires a more nimble approach. That is one of first task is to streamline developing the codebase.

As I mentioned the next version of justCheckers will use Java web technologies. The majority of work for version involves migrating the Swing GUI to JSP. Also I plan to refactor the code to use the Model-View-Controller pattern.

Part of streamlining the development process, includes a serious reduction on other activities. Since I am sole remaining developer, I decided to reflect in reality. My team members no longer contribute to the project. So I removed them from the team. Since I don’t have a team, I am also removing the team mailing lists. I never found the current mailing lists useful. Instead of that, I will come up with a simple way for the community to communicate with the project. It probably won’t be a world writable forum or wiki. I can’t be bothered with cleaning up spam.

I’ll keep you posted.

If you wish to contribute to justCheckers, please leave me a comment.

Technorati Tags:

Todo Progress So Far

Remember my TODO list for this year? No, I’m not gonna tell you when I posted it. And no if you find it, you are not allowed to post a link or a hint to it. If you are long time reader and you found it, consider yourself part of the in-crowd.

So how well am I doing? Out of the 8, only number 3 actually is realized to date. Realized late April to be more exact. Item 1 fell through the cracks. justCheckers is dead and served its purpose for me. Number 2 is a real work in progress, and I plan on realizing it before the end of the year. Number 4 is still a dream. With number 5, I’m currently stumbling around with. Maybe a certain someone out there somewhere can help with that. Number 6 is something I need to badly do before the inclement season starts. Number 7 and 8 are still in the initial stages.

Totals so far: 1 success, 1 failure, 3 in progress and 3 that need work on. Not the greatest score. I’m only 12.5% to maybe 25% done. Still have much to do.

Forward Looking, Backwards Loss

Eric S. Raymond, once said that open source is about a “developer scratching an itch.” Thats what I tried to do with justcheckers. Unfortunately that itch disappeared a long time ago, and now the project just exists. I have different goals now, and different needs. So while I hate to admit it, I am tried of justcheckers and stepping down as lead developer. If anyone wants to pick up the reigns of that project, contact me and I will get you set up appropriately.

I am looking forward to concentrating on doing other work.