Thursday, May 3, 2012


Just released SifterReader version 1.8.1 which fixes a very annoying bug that I evidently did not test, and which may have deterred new users. The bug caused the "Oops" screen to show a stack trace of a JSONException, filters could not be found. This was because the file that stores the Sifter filters wasn't saved yet.

So I fixed that, and now instead of that annoying screen, after logging in, first time users will see a "loading" spinner and eventually their issues, if they long-press their project and select issues. I am so sorry!

Friday, March 30, 2012

TurtleSift for 64-bit Platforms

TurtleSift can now run on 64-bit platforms. Look for the `x64` tag in either the bitbucket downloads or the Github tags. Of course the 32-bit version is also available. Also look at how to cheat VS2010 C# Express to target any platform.

Monday, February 27, 2012

By the numbers

SifterAPI recently added search by number. Therefore you can also search by number in SifterReader. Sifter also made a ton of updates to their superb issue tracking service, try it out.

Friday, February 24, 2012


TurtleSift is a Sifter issue tracker plugin for both TortoiseSVN and TortoiseGit that uses the IBugtraqProvider2 interface and .NET sifterapi by cdturnerFork it on Github or on bitbucket. It's okay but it could use some love. See the issues on bitbucket for a start. I look forward to your pull requests.


SifterReader actually started as a Java wrapper for the SifterAPI. Fork it on Github. This was my first Java foray, and I wanted to practice before making a full-on Android app. One of the things I quickly realized is that JSON is an ideal container for data objects. <There were several SO Q-A's on this topic that I'll add refs for later.> Sure you could make a custom object, like I did here originally for projects, and what you'll find in the C#, Ruby and Python (which I contributed to) wrappers. And Java also has some nice convenient map containers like HashMap. But all of those methods add an extra step, although it's true that some of the other JSON parsers like google-gson and json-simple can cast a JSON object directly to a HashMap. In the end I left the Sifter objects as JSONObjects, because I found org.json to have all of the functionality I needed. And it made passing them in intent bundles from activity to activity or writing them to files super easy since I just cast them back to string.

Froyo users upgrade to Version 1.8

If you have Android 2.2, please upgrade to SifterReader version 1.8. When I changed the minimum API level to Froyo in version 1.7, there were a few java commands that may not have been compatible with Android 2.2. SifterReader Version 1.8 resolves that issue, replacing the incompatible code with Froyo compatible code, and also adds nifty ProgressBars. Sorry for any inconveniences. Enjoy!

Progress Bars

SifterReader now has progress bars. Wow! This is huge! Seriously, the Android Dev Guide says that if any activity takes longer than normal, it should use a progress bar to indicate to the user that the activity hasn't hung. I actually tried to use SifterReader in a dead zone, and without the progress bars it does seem like the application has hung. BTW: they're actually spinning circles, not bars, but that's what they're called when the activity is indefinite. So now when you start SifterReader, you will see a spinning progress bar that says, "loading ..."

  • before the projects page is shown,
  • when selecting a project detail, e.g. issues,
  • when navigating issues with the previous, next and go buttons
  • and after setting issue filters.

I haven't put a progress bar after queries, because it will take a little more effort I think. If anyone else is interested in adding that, please fork SifterReader on Github or on bitbucket.

Tuesday, February 14, 2012

Fork Me on Github

SifterReader is also on Github. Fork it and make it even better.

SifterReader is now open source

SifterReader is now open source. Hack away!

SifterReader Version 1.7 (Release 2)

The "Next/Last Page" bug has been addressed. And I also took the opportunity to add some toast messages to inform you when you try to go beyond the last page or to page zero (now why would you do that?). But the biggest improvement in version 1.7 (release 2) is that filters are now launched correctly from the projects page. I also lowered the min SDK (Android API) to Froyo so that more devices can use SifterReader.

SifterReader can be downloaded from the Android Market. I hope you find it usefull!

Monday, February 13, 2012

Next and Previous buttons not stopping at first/last page

There is a small bug in SifterReader v1.5, but it does not effect the functionality. If you use the "prev" or "next" buttons to navigate your issues and try to view a page before the first or after the last, you'll get a special page that says, "Oops!" and the error is "JSONException: No Value for Page." Just press the back key for now, and it will take you to the last page you were on.

I apologize for the inconvenience. I will try to fix this as soon as possible. I have already entered it into the bug tracker as issue #25 Next and Previous buttons not stopping at first/last.

Wednesday, February 8, 2012


This is a website for information about Breaking Bytes Android applications.

SifterReader is currently available from the Android Marketplace for download. There is more information on the wiki including usage and an issue tracker.
Fork me on GitHub