Sunday, August 7, 2011

WeGoIgo 1.16 and GnuGo 1.1

Well, like I promised, I've released v1.16 of my WeGoIgo app and v1.1 of the GnuGo AI app. I haven't made all the changes I wanted to the interface-- I want to take some time to really think through the best way-- but I have made the magnifying glass try to go above your finger instead of to the side. I've also slightly improved the efficiency of the SGF loader, so people who've had trouble loading Kogo's might try to clear their cache and try again. No promises-- it was a very small change-- but you never know!

The biggest thing here, as I said, is the AI. I'm confident that it will be more responsive and more stable-- something I know many people, including myself, have been wanting for some time.

I haven't gotten around to releasing the update for the free version yet-- enjoy the perks, paid users! I changed my system for managing them so it's easier and quicker for developing, but publishing is not quite as automatic. But, since I spend more time developing than I do publishing, I'm happy with the tradeoff.

Saturday, August 6, 2011


It's been a while since I've posted, but I've been pretty busy working for Minus (previously developing their Android app, a job which I happily took over from my good friend Colin. Everyone should check out the service-- it's pretty slick. And, they've got a pretty awesome Android app, which should see a pretty good update sometime very soon.

In other news, I've finally found my way back into my WeGoIgo code. It's definitely showing it's age (it was my first published app, and only the second I wrote). There's a lot of rugged stuff that shows how little I really understood about the platform when I first started, and I feel I've really developed as a programmer since I started the project about a year ago. I've already executed several ideas I had for revamping some of the code to make it sturdier and just generally better. The focus for the next release (whenever I have the time to finish some things up) will probably be AI. I've completely re-written the bridge between GnuGo and Android to make it faster, more efficient and stable, etc. I've also scrapped all the logic for the interactions between GnuGo and WeGoIgo and rewritten it, so that should also be significantly more stable. GnuGo will now throw up a Notification while it's running, so there's no doubt about whether it's crashed and just not told you!

I may release just these changes if I don't have time to improve the interface like I want to, but I hope to add some fun enhancements to stone placement and stuff that I think everyone will like.

Look forward to it!

Friday, June 3, 2011

Silence O'Clock 2.1

Just a quick post to note that I've updated Silence O'Clock to fix a pretty weird bug. Sorry for any inconvenience!

If anyone else stumbles on a weird issue where they've got checkboxes attached to views in an ExpandableListView, and expanding/hiding the groups causes the checkboxes to go crazy, you might be doing something like this in your getChildView or getGroupView:

final Item item = getChild(groupPosition, childPosition);
CheckBox enabled = (CheckBox) convertView.findViewById(;
// reset with a shiny new listener
enabled.setOnCheckedChangeListener(new OnCheckedChangeListener() {

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// do something with "item"

The problem is that hiding/showing the views actually causes them to be recreated. But, in an effort to be memory friendly, Android just reuses old Views. So, your call to setChecked() is actually firing the old OnCheckedChangeListener that was attached earlier, and which has reference to a different Item.

The easy solution is to just clear the listener with enabled.setOnCheckedChangeListener(null); before you call setChecked(). Easy!

Thursday, May 19, 2011

Silence O'Clock 2.0

A demo of the spiffy effects on the Quick Slice creation widget.
At long last, I've finished a bunch of new features and modifications to my Silence O'Clock app. Besides changing "Silence Period" to "Silence Slice"-- it's alliterative, and I wasn't a fan of the old wording anyway-- the biggest new thing is the addition of "Quick Slice." With Quick Slices, with just a "slice" (in this case, a sliding motion with your finger) and a couple taps, you can set your phone to silent for 15 minutes up to 6 hours, after which your ringtone will automatically be turned back on. This feature is perfect for movies or unscheduled meetings-- you'll miss any calls because you forgot to turn your ringer back on again!

WeGoIgo 1.15

Just uploaded yet another update. Someone requested the ability to pass in Joseki on the reviews, so I thought I'd go ahead and put it in. You can pass through the options menu, a new button that's only enabled if there's a "pass" in the dictionary for the current move, or if there's a "tenuki spot," which is just some label in the bottom corner without a variation associated.

In other news, I've changed handicaps to follow this page: I think this is more common. If you don't like those, however, I've also added custom handicap placement.

Finally, I've added a bit more SGF/Tsumego compatibility, and updated the visual area calculation to include labels. Also, if it surrounded the board completely, it now shrinks it back down to what you'd expect.

Monday, May 9, 2011

WeGoIgo 1.14

Nothing groundbreaking in today's update for WeGoIgo, but a few fixes and changes that should make those users with small screens smile. You can now choose to view games in "fullscreen" mode, which hides the status bar and, if my emulator is to be believed, grants users with 3-inch QVGA screens just enough elbow room to use the navigation buttons when an ad is on screen. If you've got a nice beefy screen, or have paid for the ad-free version, this will just give you more room to read comments... but that's pretty cool, too, right? I also fixed a bug where, even if the ad slid off screen (which is automatic if any comments are there), you could still click on it somehow. My apologies to anyone affected by this issue for not discovering it sooner!

In other news, I've continued to fiddle with my SGF reading and handling to make them even more forgiving. This is a formal plea to SGF developers or people just writing out their Tsumego problems by hand: Follow the SGF standard specifications! It's easier for all of us. Regardless, this should make WeGoIgo official compatible with at least the kyuu-level tsumego on the venerable Thanks to Timo for your help finding incompatible sets!

Tuesday, April 12, 2011

WeGoIgo 1.12

Another quick-- but very important-- update for WeGoIgo. The last update changed some things about loading files to be more compatible with poorly formatted files, but I neglected to notice that the change would not be compatible with the loading method used for Joseki (it's different because Kogo is so huge). As a result, an initial load of a Joseki file would get stuck at 0%-- anyone who had installed it and used Joseki before the update should be fine, but another change in the loading made WeGoIgo apparently refuse to read files it created (such as the autosave). These embarassing bugs have all been fixed with this update, so PLEASE grab it if you haven't!

For those of you affected by the Joseki issue, you can to to Preferences > Advanced Preferences > Clear Cache to get rid of the failed Joseki reads. This applies to you if, when you load a Joseki, the board is empty and the comments field at the bottom says "End of recorded path."

Sorry for the inconvenience! Full changelog after the break, as usual.

Saturday, April 9, 2011

WeGoIgo 1.11

Just a quick post to announce that I've (finally) posted version 1.11 of my Go app. I decided to take a break from my class projects and address some issues with loading SGF files that I've been emailed about. Otherwise, the full version is withing spitting distance of 100 downloads, and the lite version is not that much further from 3000. I'm pretty excited! I'll be more excited, though, when I'm done with all the projects I have to do and can back to working more on those I want to do, like this.

Full change log after the break

Friday, March 25, 2011

Silence O'Clock 1.3

Just a quick update to point out that I released v1.3 of my Silence O'Clock app today. This version brings a slew of bug fixes that have been waiting a long time to see the light of day. I would love to have pushed them out sooner, but have been swamped with work for my various classes and have just had zero time to myself. Hopefully I'll get some more time soon, because I have a lot of exciting ideas for WeGoIgo, not to mention my games.

Sunday, February 13, 2011

WeGoIgo 1.10

Didn't I say I wasn't going to be working as much on this for a while? Ah, well.

Version 1.10 brings some pretty nice improvements, like faster draw speeds for games with lots of stones (noticeable when using the magnifying glass), a more comprehensible stone toggling functionality when trying to use the "score" button on games (note that this is still NOT that accurate, and should be used more for visualization), and a comments popup window, that might be helpful if your device has a small screen.

In other news, apparently my developer's info thing hadn't updated when I posted yesterday, as WeGoIgo Lite now shows over 1700 downloads. I'm very excited by this! I also received the following review, which made my day:
This has the potential to be the best Go study tool on any mobile device. Keep up the great work.
Thanks, Mark, for your support!

As usual, the full changelog is after the break.

Friday, February 11, 2011

WeGoIgo 1.9

Released version 1.9 of WeGoIgo today. Not many huge changes, but several bug fixes.

Among the "nice new things," the circle magnifying glass will now properly "look at" points in the corners, and there are some coordinates on the side of the board, to help with reviewing games. They're kinda small (especially on phones with small screens), but there's not a whole lot of room, and I'm trying to maximize stone space, so it's easier to place stones where you want to. It's better than nothing, right?

Also, I'm excited to announce that WeGoIgo is now in the 50-100 downloads range. Thank you to everyone for your support! The lite version is almost at 1500 downloads-- wow!

Full change log after the break

Thursday, February 10, 2011

Silence O'Clock

Today I published a simple app to automatically set your phone to silent (or vibrate) mode. The one I had been using didn't have a toggle feature, so if you wanted to temporarily disable some setting (like classes, when going on break), you had to delete it, and then add it back later-- a huge pain! In response to this frustration, I sat down and wrote this app. Not only can you toggle individual Silence Periods, but each Period belongs to a Group, which you can toggle in order to disable or enable every Period that belongs to it at once-- Now, I can just put all of my Silent Periods for class in a group, and just toggle that checkbox on breaks. Perfect!

Silence O'Clock is just $0.99 in the Market. I'll probably release a free version with limited features (probably just a single group, for example) at some point in the future.

Saturday, January 15, 2011

WeGoIgo 500+

Nothing too substantial to report today, but I was excited enough that I thought I'd share: I was happily surprised today when I loaded up the Android Developer's page, to see that WeGoIgo Lite has seen over 500 total downloads. I would be even happier to see that many purchases of the paid version, but I can't complain ;) This project was always a labor of love, and the fact that I'm getting any money out of it at all is a truly exciting thing, and a first for me-- the vast majority of my pet projects haven't left the safety of my harddrive.

In other news, I've come up with what, I hope, will be a very fun and interesting new game, and one which, to my knowledge, will be pretty unique, too. I don't want to reveal anything yet-- it's little more than a freshly created project in Eclipse and an idea in my head, but I thought I'd throw it out there that I'm developing more than just WeGo.

That being said, my frantic update pace from the first couple weeks is sure to fall-- University is starting up again in a few days, in addition to this new project-- but fear not! I am still very interested in improving WeGo, and my To-Do list for it is by no means empty.

Thanks to everyone who's purchased my app and supported it so far, and a special extra thanks to everyone sending me constructive emails with suggestions and bug reports!

Sunday, January 2, 2011

WeGoIgo 1.7

Today I've released v1.7 of my Go app. While functionally there's just a minor bug fix, there are a couple graphical changes that combine to (I think) represent a drastic improvement. First and easiest is the addition of shadows to the stones. This was a sort of "while I'm at it" thing, but I think it looks really nice, and gives a depth to the board that wasn't there before.

Next, I've changed the zoom box/magnifying glass drastically. It's no longer a (rather ugly) rounded square, but a circle. In addition, it has a nice shadow, and a light shine, giving it some depth as well. I'd received some complaints that the zoom box was more confusing than helpful, because it wasn't much different from the rest of the board, and I hope that these changes will help to ameliorate that situation.

Updated screenshots and full changelog after the break.

Saturday, January 1, 2011

Happy New Year and WeGoIgo 1.6

Happy New Year, everyone! Here's hoping 2011 treats us all well.

In App news, I just pushed out WeGoIgo v1.6 for both lite and paid versions. This release has a slew of fixes and a preference to flip the positioning of the zoom box-- this should be relevant for anyone who thinks the tilt-sensor puts the box on the wrong side, or for those just using static positioning but hold their phone in the other hand.