Saturday, August 29, 2009

Done

Geopher Lite 1.1 has been submitted to apple for approval.

Thanks for being patient with me everyone. Hopefully it was voluntary patience and not too forced. =)

Here are the update notes, broken down a bit for more detail than what you'll see in the store:
- Added in-app map support. This has a pretty straightforward interface, with a button to go to your current location as well as a button which shows the target location. The target location button will alternate between zooming out to show both points and centering the map on the target position. There's room here to have it zoom in as well, but I didn't get that far and that's minor. Maybe later.
- Added 3GS compass support. I actually fixed a couple rare case bugs with the compass system due to looking at this for so long. 3G compass support is unfortunately going to remain the same. Let me know if the filtering is too extreme. Usually it's been OK for me but indoors or under heavy cover it's pretty bad. I've got a 3GS now so this likely won't change unless one fo you guys gets involved. =)
- Added a few preferences. These include magnetic or true north (effects the 3GS compass only) and an option to continue to use google maps for mapping as opposed to the in-app mapping support.

- Bug with coordinate saving fixed. This was caused by the waypoint field being less than 5 characters.
- local preferences crash issue. This was caused by things happening sometimes out of order when the application quits. Also a potential cause of coordinates not being saved.
- Fixed a problem with URL linking not behaving quite correctly. I'm not sure if anyone is even using this right now, but it now works a bit cleaner. I probably won't touch this again unless there's good reason to do so since it's such a niche feature.
- Cleaned up the FAQ/Help quite a bit.

Future improvements that I have in mind, which are things I'd like to get around to, but are not pressing include:
- allowing for a download of a LOC/GPX from the geocaching.com webpage. I'm a html n00b so I'm not sure what to tweak to get the UIWebView to support capturing the download. It simply doesn't give any feedback last time I checked so I'd have to go spelunking in apple's private API to try and figure that out. Not something I'm terribly comfortable with. Well, I do have the option of writing my own web browser from scratch, but I'm not looking forward to that either.
- fixing the zoom on the target button (and possibly the current location button) to be more automatic. This means zooming in and out a bit better in some circumstances. Someday if I can ever think of a way to add GPX support short of writing my own email client, it would be nice to add saved geocaches in this space.
- web page archiving. I have preliminary support for this, but it looks kind of bad because it doesn't save the entire page, just the text. This would be a bit time consuming, but be great to have around for general purpose stuff.
- Better skins. I keep thinking I need to revisit my default purple arrow and maybe the default compass as well to help things look a bit nicer. I did this once and actually made a couple things look worse. Is hould get a real artist to help. I'd also like to do a bar style compass as well as a better outdoor black and white compass view.

I'll post again once we are approved. Thanks for using Geopher Lite!

Friday, August 28, 2009

News!

First off, my apologies for the dearth of news. I've been busy, distracted and out of sorts lately. But I'm back. And I didn't forget about you guys, despite the lack of updates.

A couple of weeks ago I made the decision to not release an update until I had the compass rotation working properly. It didn't feel right to release a 3.0 update without better compass support. My apologies for the delay, especially for those who are waiting for the coordinate saving bug fix. I know it's annoying and less than ideal.

I've been struggling with the compass rotation for an embarassing amount of time. I didn't have a 3GS until a few days ago, so I wasn't able to do a lot of actual testing. The little that I did get to do, the compass worked quite incorrectly. Sure the compass spun, but it didn't spin where I expected or where I wanted to go.

So I took today off of work and decided to make it my goal to get the compass working today. It's working. And the code has been updated in the SVN repository for those of you following along at home. Assuming anyone is.

For you aspiring developers out there, I want to let you in on a little CLLocation secret. When the description of a property says this:

"The value in this property represents the heading that points toward the magnetic North Pole, which is different than the geographic North Pole. The value in this property is always measured relative to the top of the device, regardless of the device’s physical or interface orientation. The value 0 represents magnetic North, 90 represents magnetic East, 180 represents magnetic South, and so on. The value in this property should always be valid."

This paragraph means that the heading 0 is NOT relative to the top of the screen, which I incorrectly understood, but that 0 is always relative to the direction that is NORTH. Or magnetic north in this example. Big difference. Hopefully you can see how I misunderstood this information with the example above. I'll have to send a note to apple about that.

So what does that mean to you guys? Well, long story short, I've spent a number of of evenings and a half a day today trying to figure out why my compass wasn't working. Well, unbeknownst to me, it WAS working... assuming that 0 was the top of the iPhone regardless of where it was pointing. Which is not the case. I simply had to do some correctional math and viola... working compass!

I feel kind of dumb now.

But here I am hoping that sharing my folly with the world does some good for someone. =)

So, that out of the way, I still have one problem to tackle relative to getting the release out. I thought I had the map view completely working but the titlebar is now showing up funny. Funny as in there are two that are overlapping improperly. I suspect this is due to the new SDK I am using with snow leopard, but it's difficult to say for sure.

On a side note, I've not seen a ton of snow leopard so far, but what I have seen I like! For $29 it's worth the upgrade price, if nothing else for the wake/sleep speedup times on my laptop. =)

Anyway. Once the above issue is taken care of I will add an auto-zoom the map view. When it's opened it will show both the target location as well as the current location. It shows only the current location right now, but I'd like it to zoom in/out far enough so that it shows the current location and the target location both on the same map screen appropriately. I think I know how to do this; it will just take a little math and playing around with the API to make sure I'm thinking about this correctly. I almost left this for another update but couldn't. Like the compass it just wouldn't feel right unless I get this working okay for the update.

Oh, and I've added a preference to choose to see magnetic north or true north, with the default set to true north.

Once I submit the update I'll post again and reiterate the feature list for the new version.

Suggestions, comments and criticism are always welcome. Thanks for dropping by!

Blog Archive

About Me

My photo
DadGuy has been working with apple computers since the mac classic. I love games and puzzles and like to solve problems. I'm having a blast developing for the iPhone and iPad.