Version 2.0 of my Go application for Android represents a huge step forward for the app---and, I think, for Go on Android in general. For this release, I've gutted the original app, taking everything I've learned since I first wrote WeGoIgo and improving it in nearly every way. While reading SGF files may be a bit slower, it is actually way more efficient---using a custom-built database to store large files for quick retrieval with minimal overhead---and way more flexible, and using the official SGF checker code as a base for more "correct" and compatible SGF loading.
In addition to this, I have finally added annotation features---a first, I think, on Android. You will now be able to edit comments, add labels and symbols, and place stones. Furthermore, once you've added comments and annotations to a game, perhaps you want to email it to someone---no sweat! With WeGoIgo 2.0, sharing games your playing or reviewing is just a click away!
Version 2.0 will be coming out very soon! I don't have anything else on my To-do list at the moment and am in the process of testing, trying to iron out any last-minute bugs.
Follow the break for screenshots and a more comprehensive list of updates, changes, and new features. There are a lot!
For starters, I've reorganized the game screen. The toolbar is now directly along the bottom, with comments above the board. Now, the magnifying glass to float above the board, letting it be "above" your finger always---no more weird jumps, or getting lost off screen! The screenshot below should also show you the more cleaned up, refined look of WeGoIgo. I still don't claim to be an artist, but I'm happy with the new look, and hope you will be, too!
|The new game screen layout|
Another interface feature is the ability to browse the filesystem in the "file picker" dialog. Currently, I've removed the ability to set your own default directories for collections (I may change my mind before the release) but with the new picker, you can load files from anywhere on the phone you wish.
Another cool feature is the ability to continue games against an AI. In the current version of WeGoIgo, there is a "quick resume" feature which can restore the AI you're playing against. But, if you save that game and want to continue it against the AI later, it cannot be done. Now, ANY game you start from WeGoIgo against an AI, such as GnuGo, can be continued at any time with that same AI.
Speaking of AI, using version 1.2 of GnuGo for WeGoIgo, you can now get accurate score and territory estimations during any game. My old territory estimation (offered by "score") was little more than a toy, and only useful as a vague visualization tool---which was rarely of any actual use. That functionality has been removed, but if you have GnuGo for WeGoIgo 1.2+ installed, WeGoIgo can ask GnuGo to do the territory estimation---that is what the "score" button in the above screenshot will do.
Furthermore, thanks to the restructuring of the app's code, AI support is significantly improved. It is now faster, more stable, and easier to maintain from a programming perspective. I admit that the old version's AI support was painfully obtuse and, quite frankly, I'm amazed it worked at all. The new version, however, is much more simple, yet much more robust---which means you can play the AI without wondering if it's going to crash and give up on you.
|New Study Mode|
The quick navigation and auto-play return,
but now slide over the board to save space.
Stability and Snap
Version 2.0 dramatically improves the stability of the app. Thanks to a custom, hand-built database system specifically for the purpose, WeGoIgo can very efficiently load SGFs of any size---including Kogo's Joseki Dictionary. While most users were able to happily load Kogo on the old version of WeGoIgo, 2.0 should bring this ability to all users. Memory use when loading Kogo has been cut from 16+ megabytes to around 3 or 4---this should mark the end of painful crashes halfway through loading!
The old version of WeGoIgo had a feature to cache the contents of Kogo to prevent the need for a lengthy load every time you wanted to use it, but did not provide that for any other type of file. Version 2.0 now caches all collections---those for studying (previously called "archives"), Tsumego, and Joseki. I mentioned that read times are slightly slower, but after that initial load, it's almost instant---now for every collection!
Some users noticed that, if you left WeGoIgo with the "home" button in the middle of a game---or, well, anything that was displaying a Go board---it would crash. That is no more! The app has been completely restructured to ensure stability and flexibility---which makes it easier for me to add even more cool features, and more pleasant for you to use! Furthermore, those things with a Go board will persist properly even if Android shuts down WeGoIgo to save memory for something else. This means that if you leave WeGoIgo to do something else for a while, when you come back, your game, or review, or Tsumego problem, will be right there waiting.
|The SGF Fetcher tool, with ICS-style selection mode|
Convenience and Collections
Many complaints and confusion about the app are with regards to adding collections. Many are disappointed that it doesn't come with any, and others have difficulty adding the ones I suggest. While I still do not include any by default---I don't own any, and don't want to get in trouble with copyright!---Version 2.0 now comes with an "SGF Fetcher" tool to easily download some free collections from the internet. This includes Kogo's Joseki Dictionary, several (somewhat old) collections of reviewed games, collections of professional games, as well as several Tsumego collections.
Speaking of collections, one of the more common requests has been a way to load folders as collections. This is now possible! Furthermore, Version 2.0 supports collections stored in .zip files, and collections compressed as .sgf.gz.