Jump to content

CacheMate for Android


Recommended Posts

The first release of this app is now available in Google's Android Market. It'll be available on the Smittyware site when I can get the registration mechanism for that worked out. Documentation is admittedly pretty minimal at the moment but, if you're familiar with the basics of navigating UIs in Android (in particular, accessing a context menu via holding down on a list entry... on their part, not the most documented thing in the world), you should have few problems if any once you've explored the menus a bit.

 

Basically, once you start the app, you're looking at a list of databases. To get data into the app, you select a database and choose Import from the menu. You'll want to put your user name in the website user ID list (hint: Settings menu) before doing that, in order for owned caches to be categorized properly.

 

I'm still working on getting all of the features done that I want to put in the app. In particular:

- Use of the device's camera and voice recorder

- Map navigation

- Colorado notes export

- CWF (aka CMConvertWM) import

 

In the meantime, though, it works and it does nearly everything that the Windows Mobile versions do.

 

Enjoy!

Edited by Maeglin
Link to comment

Version 1.0.2 is now available, which fixes a couple of problems with GPX importing... one of which seems specific to GPX files produced by GSAK, and the other is workaround for a problem in Android's HTML parsing library. The latter seems pretty rare, but it's annoying nonetheless.

Link to comment

Now you know why it took so long :-)

 

That, plus... learning a new platform... relearning a language I haven't used in over 5 years...

Good job! I had used the Palm version for many years and was looking forward to having it on Android.

 

At first glance it appears the only area where some of the other apps beat it is mapping but I'm sure you'll get there in a future update. Until then the search/filter/sort and other features are vastly superior. My only misgiving is that the G1's memory is so small that I wish data were stored on the SD card.

 

I'll have to try it out today. Thanks!

Link to comment

At first glance it appears the only area where some of the other apps beat it is mapping but I'm sure you'll get there in a future update. Until then the search/filter/sort and other features are vastly superior. My only misgiving is that the G1's memory is so small that I wish data were stored on the SD card.

Yeah, both of those things are on my to-do list for future releases, as soon as I figure out the best way to go about it.

 

For mapping in particular, I'm not sure how I want to do the rest of the UI that sits on top of the map view... any suggestions there would be great. My current idea is to put indicators on the map of some sort where waypoints are (variations for regular points, found caches, and extra cache waypoints), and pop up text at the bottom of the screen with the name, type, ratings, container when you tap one. I could then have a button down there that would take you out of the map and into the record in CacheMate's database.

Link to comment
Release - CacheMate 1.1.0 (Android)

This release adds CWF (CMConvertWM) file import, Garmin field notes export, and mapping of single or multiple waypoints. A handful of bugs have also been fixed, most of them dealing with the waypoint editor, but one of those also solving problems exporting GPX files when dealing with some non-English locales.

 

The Coordinate Formats plugin now includes a Google Maps coordinate format, which is simply decimal degrees separated by a comma instead of a space. This, combined with a new clipboard copy button, allows easy copy and paste of coordinates into the Google Maps application for finding driving directions. Unfortunately, there doesn't yet seem to be a way to programmatically use that feature, so this is the next best thing.

CWF support is important if you're disappointed with the speed of direct importing of large GPX files on the device. Offloading parsing of XML and HTML description text to a real computer makes a lot of difference in that regard.

Edited by Maeglin
Link to comment

Great job with cachemate. I was hoping, but wasn't expecting to see that on Android.

 

I'd like to see direct importing from email, which is a feature i have in my unreleased cachedroid app. There is a simple IMAP for java class I found online that makes it very simple to implement.

I was also unhappy with the speed of the G1 parsing GPX files. The lack of transaction support in sqlite doesn't help.

May or may not release cachedroid -- probably not, since i don't really have time to support it as well as you do. :blink:

Link to comment

I'd like to see direct importing from email, which is a feature i have in my unreleased cachedroid app. There is a simple IMAP for java class I found online that makes it very simple to implement.

I don't know about that, but I will be adding (possibly this weekend) the ability to handle files downloaded through the browser. If yours is a web mail account, you're golden. Too bad downloading LOC and GPX directly from this site can't be done with the stock Android browser, because of that stupid bug concerning downloads via form submissions.

 

Fortunately, interception of Google Maps URLs can be done, so I'll be working that into the next release as well... may not be able to get all of the cache info on the database, but at least you can still use the logging and navigation features of the app.

 

I was also unhappy with the speed of the G1 parsing GPX files. The lack of transaction support in sqlite doesn't help.

SQLite does have transaction support... I know because I'm using it. What tends to take so long is the actual parsing of the GPX file, particularly large ones with lots of accumulated logs (such as what GSAK can generate). That can't really be helped because 1) it's Java and 2) the processor in the phone isn't that great. For normal pocket queries, the speed seems fairly reasonable, but for larger ones that tend to be generated on a PC in the first place you have the option of preprocessing those into something quicker to load for the phone.

Edited by Maeglin
Link to comment
Release - CacheMate 1.1.1 (Android)

This release adds the ability to search Geocaching.com on demand for nearby caches, and process compatible file downloads and Google Maps links from the browser. Downloading of LOC and GPX files from the site doesn't work with current versions of Android's default browser, due to an annoying bug in that browser, but you may now download and process pocket queries through web mail accounts entirely within the device. The new site search function is implemented as an import plugin.

 

A bug was also fixed that affects exporting of multiple waypoints when multiple databases are being used.

I would appreciate a re-rating from the user who suggested that I "interface with GeoBeagle", of all things, now that the functionality gap has closed in this regard.

Edited by Maeglin
Link to comment
Release - CacheMate 1.1.1 (Android)

This release adds the ability to search Geocaching.com on demand for nearby caches, and process compatible file downloads and Google Maps links from the browser. Downloading of LOC and GPX files from the site doesn't work with current versions of Android's default browser, due to an annoying bug in that browser, but you may now download and process pocket queries through web mail accounts entirely within the device. The new site search function is implemented as an import plugin.

 

A bug was also fixed that affects exporting of multiple waypoints when multiple databases are being used.

I would appreciate a re-rating from the user who suggested that I "interface with GeoBeagle", of all things, now that the functionality gap has closed in this regard.

 

This is great, but I still think the email importing should be built in directly, as it is with GSAK. I'd be happy to share my IMAP class for android.

 

Perhaps i could write a plugin for it... have you posted the API for cachemate plugins, and how would they be installed?

Link to comment

This is great, but I still think the email importing should be built in directly, as it is with GSAK. I'd be happy to share my IMAP class for android. Perhaps i could write a plugin for it... have you posted the API for cachemate plugins, and how would they be installed?

That would be an interesting first external plugin. I don't have any documentation written yet on writing them, but it shouldn't be that hard considering plugin support is effectively part of the OS (I love that fact). I'll send you a message to be a guinea pig for it when I pull something together.

 

As for installing it, it would be just like any other app or add-on. If you haven't already guessed, plugins are managed with a system of intents and a content provider, I just need to document and publish the specifics.

Edited by Maeglin
Link to comment

So on my phone how do I get a cache from geocaching.com into cachemate?

Tried to send url and it says can't parse url

Which URL are you trying to send it. It should be the "Google Maps" below the map on the cache page, and you shouldn't have to send it anywhere... just click the link and CacheMate will be shown as a possible app for handling it.

Link to comment

So on my phone how do I get a cache from geocaching.com into cachemate?

Tried to send url and it says can't parse url

Which URL are you trying to send it. It should be the "Google Maps" below the map on the cache page, and you shouldn't have to send it anywhere... just click the link and CacheMate will be shown as a possible app for handling it.

 

that is what I did but it said unable to parse url

Link to comment

I go to that page, tap the "Google Maps" link between the map and the logs, select CacheMate from the list of apps to handle it, and what happens is just what I expect to happen... I'm prompted for the database to import it into, and then the CacheMate record view comes up with the info garnered from the URL (coords and waypoint ID).

 

I don't know what you're doing differently, but it works when used as intended.

Link to comment

It works perfect! All your cache info is in there....logs, ratings, diff....etc....i have over 4 thousand caches stored in there now...added bonus...hit the MENU button on your phone when you have a cache selected....then hit navigate...and you can go to the cache using your phone!!!! Woo Hoo!!!!! Also, i'm finding the g1's gps is more accurate under tree cover then my garmin legend cx.

Link to comment

Any chance we could see some screenshots of the app? I've tried most of the Android geocaching options (including paid apps) and just haven't found a "complete" app yet. I guess I could try this app for 24 hrs, but I'd rather see a few screenshots before I do.

http://www.smittyware.com/droid/cachemate/

 

I just put together an animation of what are probably the most used screens and added it to the page tonight. Note that the cache coords aren't actually blurred in the real app :-)

Link to comment
Release - CacheMate 1.1.2 (Android)

This release includes changes to make import and export of records potentially more efficient. It includes a couple of smaller enhancements as well.

 

This is also the first release to be available outside the Google Android Market, for those of you who can't get the app through Android Market for some reason, or believe that 24 hours is too short of a trial period. This will also allow registration transfer to/from other platforms, use of Smittyware coupon codes, and (later on) availability via TrialPay.

Link to comment
Release - CacheMate 1.2.0 (Android)

This release adds multimedia logging, SMS logging, and waterlogging. OK, only kidding about that last one.

 

Camera and voice recorder functionality have been added, as well as the ability to send field notes to Geocaching.com via SMS (currently US-only... sorry, their rules, not ours). Type-to-search has been added to the searchable list views (databases, categories and waypoints), and record count display updating has been moved to the background to make things more efficient when switching between them.

Edited by Maeglin
Link to comment
Release - CacheMate 1.2.1 (Android)

A month after the initial public release, CacheMate for Android seems to finally resemble something solid. This release greatly improves the speed of distance/bearing updates for the waypoint list view, as well as fixing a bug in the map view that could cause a crash if tapped before the points were fully loaded.

 

For those that can't dive into using an app without a manual, documentation is now complete as well, which can be accessed from the Help menu option of the database list. Next on the list is documenting the specifics of the plugin mechanism, for those that might want to try their hand at extending CacheMate.

Link to comment
Release - CacheMate 1.2.2 (Google Android)

This release improves support for GPX/LOC downloads, adding not only the official (though not universally used) MIME type for GPX files, but also the ability to handle Android's "content" URI scheme. The latter allows attachments "previewed" in version 1.5 of the GMail application to be processed correctly.

Link to comment
Release - CacheMate 1.2.3 (Google Android)

The biggest part of this release is the option to store CacheMate databases on the memory card, saving the device's internal storage for other things. There is also an option to disable a database speed boost in the GPX import plugin, which should alleviate "out of memory" errors for those few people that have seen them. A couple of smaller changes have been made, as well.

Link to comment
Release - CacheMate 1.2.4 (Google Android)

This is a quick bug fix release, addressing a locale-related problem with the distance filter. It was apparently missed when other related fixes were made back in May, and not reported for all this time... not until the behavior changed in the last release.

Link to comment

Loving this app on my Magic.

I only wish that the current distance values were updated in real time. And maybe the option of showing the Cache name, Waypoint ID and current distance from cache.

Maybe I'm asking for too much? lol

I opted for decent battery life over a constantly-updated location from GPS. Each location change requires updating the database (even if that is more efficient these days) and re-querying the list for filtering and sorting, and your battery life potentially drops from a day or two to a few hours. What you can do currently, on the other hand, is view them on a map in relation to your current location. It wont give you a distance number, but you can eyeball it.

 

As for the idea of a 2nd secondary text item, I've been thinking about that one, and it may show up in a later version... as soon as the bug in Android 1.6 is fixed and installing an update no longer makes the system crash.

Link to comment
Release - CacheMate 1.2.5 (Google Android)

I was hoping to hold off on the next release until Google could fix their package installer bug, making updates seamless again, but it seems fate wasn't in agreement. This release fixes a bug in CacheMate (crash due to apostrophes in waypoint ID field), and works around a bug in the current Motorola Cliq build of Android (crash in mapping library when GPS is enabled). A couple of small enhancements were added as well... waypoint URL links in the HTML notes report, and a "Center on Google Maps" mapping option for single waypoints. The latter should make it a little easier to get driving directions out of Google's Maps application.

Link to comment
Release - CacheMate 1.3.0 (Google Android)

This release contains a few fixes, and a lot of enhancements, including a few brand new features. The biggest of those are Twitter support (via TwiDroid, at least for now), background downloading of geocache images for offline viewing (with an option to limit to Wi-Fi connections only, for those dealing with wireless data limits), quick notes, and improvements made to search functionality (for one, you'll find CacheMate listed in the searchable items for the Quick Search Box in Android 1.6 and later). The fixes include a couple of issues related to Android 2.0 and the Motorola Droid. See the change log for a full list of changes.

 

Also, Android 1.5 is now the minimum OS version supported by CacheMate. If you downloaded the program outside of Android Market, make sure you're running at least that version of the OS (shouldn't be a problem for most).

 

In other news, Google has finally fixed the update crash problem that has plagued users of CacheMate on Android 1.6 and later. The fix is in version 2.0.1 of the OS. Until you can get that update, you'll need to uninstall CacheMate before you can install the update.

If you enjoy CacheMate on Android, do me a favor and leave a decent review in the Android Market if you can. In my opinion, the rating has been dragged down a little too far due to reviews blaming CacheMate for bugs in Android's browser and package installer.

Edited by Maeglin
Link to comment

Great update. I would vote your app up on the market, but it's unavailable up here in Canada.

 

Thanks for including the 2nd secondary label!

 

I find myself using the CacheMap with satellite images often. Unfortunately when you zoom in closer than the images are available, they are replaced with the default "image not available" checkerboard tiles.

Is it possible to implement a feature where it simply digitally blows up the images that are available? It seems to do that for the first split second when you go beyond the highest resolution, but then wipes off the image.

 

Thanks again for the awesome app, more than worth every penny I spent on it.

Link to comment

I find myself using the CacheMap with satellite images often. Unfortunately when you zoom in closer than the images are available, they are replaced with the default "image not available" checkerboard tiles.

Is it possible to implement a feature where it simply digitally blows up the images that are available? It seems to do that for the first split second when you go beyond the highest resolution, but then wipes off the image.

You'll have to post that request here:

http://code.google.com/p/android/issues/list

 

It's Google's map view, after all. All that I'm doing is adding a small menu, waypoint information pane, and an overlay for the waypoint symbols. None of my code is involved in the engine that actually draws the map.

Link to comment
Release - CacheMate 1.3.1 (Google Android)

This release adds a number of enhancements, most of which should help with the overall user-friendliness of the app. Basic support for Geocaching.com's cache attributes has been added, involving displaying them in the description text, which should work... it's difficult to know for sure until Groundspeak finally starts publishing them in GPX files, but support has been implemented using their specifications. The list view's secondary text options have also been revamped, to include as many or as few listable items as desired by the user. See the change history on the website for a full list of changes.

 

There are some things that would be nice, such as support for displaying points on the Google Maps topographical view and sending SMS field notes through Google Voice, but those aren't very possible until Google makes such features available.

Link to comment

I have 1.3.0 and haven't received an update notice on my Droid yet. Should I go to the website?

That depends...

 

If you purchased via Android Market, then go to the Market app and select Downloads from its menu. You'll be able to update from there.

 

If you purchased via the Smittyware site, then download the new version there.

 

If you haven't updated to Android 2.0.1 yet, though, then you'll need to uninstall first... 1.6 and 2.0(.0) have a bug that prevents CacheMate updates from installing properly if you don't.

Link to comment

If you purchased via Android Market, then go to the Market app and select Downloads from its menu. You'll be able to update from there.

 

If you purchased via the Smittyware site, then download the new version there.

 

That reminds me of a question. Hopefully soon I'll get an Android phone, likely a Droid unless Sprint comes out with something nice in the very near future. Cachemate is the 3rd most frequently used program on my Centro (behind my calendar and email programs). Given how much use I get out of it, I have no problems paying for a new copy for a new operating system. Which approach (Smittyware or Android Market) takes the least chunk of $$ for themselves (rather than passing on to you)? I realize for one license it isn't all that much of a difference, but unless there is another reason I should go with the other method, I'd rather the extra dough go to you than some third party.

Link to comment

You can download from the Smittyware site and use the Google Android code request form in the support area to register it using your old order number, or you can go the Android Market route and buy it again.

 

To answer your question about "commission" taken out by the store providers... I think that eSellerate (which powers the Smittyware web store) is currently taking less for that than Android Market.

Edited by Maeglin
Link to comment

I have 1.3.0 and haven't received an update notice on my Droid yet. Should I go to the website?

That depends...

 

If you purchased via Android Market, then go to the Market app and select Downloads from its menu. You'll be able to update from there.

 

If you purchased via the Smittyware site, then download the new version there.

 

If you haven't updated to Android 2.0.1 yet, though, then you'll need to uninstall first... 1.6 and 2.0(.0) have a bug that prevents CacheMate updates from installing properly if you don't.

Not more than an hour later than this post, I received the update notice on my Droid (yes, it has 2.0.1 OS) and update was seamless. Thanks. Now I get to see what the new stuff includes tomorrow.

Link to comment

Finally found the setting for the new Groundspeak GPX format, and tested the cache attribute support. It works as expected... good sign :-)

Where did you find it?

At the top of the "your profile" page is a link to "your account details". Click and scroll to the bottom of the accounts detail page. The GPX version displayed will be 1.0 by default, and needs to be 1.0.1 to include attributes.

Link to comment
Release - CacheMate 1.3.2 (Google Android)

This release includes a few small changes, most of them hopefully resolving issues that some people have had. The GPX/LOC import "speed boost" (which inserts 5 records at a time, instead of 1), when combined with geocache records with lots of HTML, was causing "out of memory" crashes for some people. That speed boost is now disabled by default. More MIME types have been added to the GPX/LOC file download handler, which should cover most possibilities. Last, but not least, the screen refresh rate of the compass navigation view has been increased.

Link to comment

Finally got to start using Cachemate on my Droid today. (snow is melting away...)

 

A few questions that I couldn't seem to find answers to.

 

1) Once I select a cache I want to hunt, is there a way to send it (the coordinates) to the Droid's navigation system (not just seeing it on a map, but have it route me to (or close to) the cache by driving there?

 

2) Since I don't have SMS services (well, I do through Google Voice, but not Verizon's SMS) I used the interface with Twidroid. Is there a way to get the time in there automatically? I tried %time% but I guess that's only for the template. Still, it's a nice way to go home and get a list of my caches, in order, for logging.

 

3) I noticed that when I have my Droid in the car mount, the compass heading was completely wrong. Once I took it out (when I was near by), it pointed me right to the cache. I'm wondering if perhaps the magnet in the mount (to turn on the docking mode) could be interfering, or if it could be because the Droid was nearly vertical.

 

I hope none of these sound like knocks against Cachemate... It has all the features I liked using it for on my Palm for the past several years, plus LOADS of things I couldn't do before.

Link to comment
1) Once I select a cache I want to hunt, is there a way to send it (the coordinates) to the Droid's navigation system (not just seeing it on a map, but have it route me to (or close to) the cache by driving there?

I haven't yet been able to find any direct hooks into the driving directions system using coords. Currently, there is a single-waypoint mapping function to center the standard Maps application on a waypoint's coords, and then you can get directions to get close to it by holding your finger down in the middle of the screen.

 

2) Since I don't have SMS services (well, I do through Google Voice, but not Verizon's SMS) I used the interface with Twidroid. Is there a way to get the time in there automatically? I tried %time% but I guess that's only for the template. Still, it's a nice way to go home and get a list of my caches, in order, for logging.

I can add an optional timestamp to the tweet in the next version... that's no problem. If you do an HTML notes report, or export GPX or Garmin field notes file formats, a timestamp is also embedded in those provided you have CacheMate configured to set the hunt end time when you enter the log.

 

3) I noticed that when I have my Droid in the car mount, the compass heading was completely wrong. Once I took it out (when I was near by), it pointed me right to the cache. I'm wondering if perhaps the magnet in the mount (to turn on the docking mode) could be interfering, or if it could be because the Droid was nearly vertical.

It likely is the magnet in the car mount. The compass in the phone is magnetic, after all. Orientation shouldn't matter, as the software is designed to compensate as far as landscape vs. portrait.

Link to comment
Release - CacheMate 1.3.3 (Google Android)

This release fixes a bug, and adds a couple of small enhancements. When geocache attribute support was initially added, negative attributes weren't properly handled... now, they are. The enhancements consist of an optional timestamp in logs sent via Twitter, and auto-capitalization added to edit fields in the app where appropriate.

Link to comment
Release - CacheMate 1.3.3 (Google Android)

This release fixes a bug, and adds a couple of small enhancements. When geocache attribute support was initially added, negative attributes weren't properly handled... now, they are. The enhancements consist of an optional timestamp in logs sent via Twitter, and auto-capitalization added to edit fields in the app where appropriate.

 

I just tried it out, nice additions! Over the past 3 days, I found 9 caches using only Cachemate on my Droid, didn't even touch my GPS. Although next time I go in the woods, I think I'll use the GPS over the Droid... my hands get too dirty and too many chances to drop it. I finally signed up on Twitter, and now quickly click the links in my tweets to go back and add all my caches. I even found the way (that seems fastest) to get routing from a cache. Once I select the cache I want, I go to edit record, copy the coords (do a long press on the field), then go to navigator and paste them in.

 

Thanks for the continued fine work!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...