Wednesday 17 October 2012

Updated example code for .tqz file generation posted back on Google Code

As I wrote in this post, I recently took down the source code repository for the Google Code project I created which contained example code for creating .tqz files for the Trailer iOS application without using the web application.  This was due to the original posted code relying on the Google Maps API, and the fact that with Apple's switch to use their own maps infrastructure in iOS6, the original code could no longer be claimed to fit in with Google's terms of service (which require users of this API to render the geocoded points on a map served from Google's infrastructure).

I have now modified the applications to use the geocoding API offered by www.cloudmade.com, and reset the Mercurial repository so that both the new implementation and all history including the prior implementation is available.  The Google Code project page is at http://code.google.com/p/tl-trailer-tqz-creation-scripts/.

The Cloudmade servers take about 5 or 10 times as long to return results as the Google ones did, and some of the addresses which Google was able to geocode accurately are being resolved by Cloudmade to less accurate coordinates (presumably associated with the surrounding district).  I'm looking into whether there are other alternatives which can either improve timing or accuracy performance.

Wednesday 10 October 2012

Taking stock

Apologies for the gap since my last post, I needed to do some paperwork (mostly my family's tax returns for the year to June 2012), and then I had a short family holiday on Rottnest Island.

This blog and the two software applications associated with it have now been on public view for a bit over three months, so now is a good time for me to review how they're tracking relative to the my initial plan.  As the plan has, up until today, been pretty much in my head, I spent a little time today writing up a page under the rather grandiose title 'Project Charter' which is now present here.

Looking at the blog component of the project first, I am reasonably happy with how this is going.  The statistics provided through the Blogger service dashboard and through Google Analytics aren't particularly consistent, I'm guessing this is because I haven't integrated the analytics code snippets are integrated into the blog template correctly yet.  The Blogger dashboard shows larger figures for the readership and suggests that there are readers across ten countries so far, with a total of 321 page views over all time (of which all but 61 are from outside Australia and are therefore presumably not related to myself).  The page views over the last month are 180, of which only 11 are from Australia, so there appears to be a healthy pattern of audience growth (although there may be some web crawler robots included in this total).  While I am quietly happy with the level and trajectory of the readership, I have to report that I haven't had a single comment on any of the posts, nor have I received any feedback by private emails or via my Google+ profile.

In relation to the iOS application, to date only myself and a single personal friend have purchased it from the iOS App Store.  The offer I made in September to supply App Store redemption codes still stands, but to date no-one has contacted me to take advantage of it. I've taken a deliberate decision not to spam all my Facebook friends (nearly all in non-technical occupations) with an invitation to try the app out until I've established at least a small community of early adopters who I expect to be interested in the app from a software design point of view as well as a simple utility for use in daily life.  I'm very grateful to the one friend I have enrolled (carefully chosen because I know we share skills and interests).  I won't embarrass him by naming him, but his honest feedback has made it clear to me that I still have some way to go in getting my vision of what the app is for across to first time users who don't have the opportunity to talk directly to me about how I see it being used.

Although the low takeup of the iOS application (and hence near-zero revenue of the project when viewed as a business) are a mild concern, I am much more worried that the interest in the blog isn't yet flowing over to an exploration of the capabilities of the web application by users other than myself.  Of course there is a chicken-and-egg problem between the web and iOS apps, and the problems I am having getting my vision for the iOS app across probably undermine potential users motivation to try the web app out even though there is no cost.  I hope that by the end of the next three month period I have at least a few trails defined in the web application which I didn't create myself.  I suspect that one of the things which may be holding potential contributors back may be the requirement to log in using a Google account.  I plan to try to provide a means for users who are not logged in to create trails, although allowing this means that these trails won't have an owner and will presumably need to be open for any user to edit.  Another possible source of friction may be the fact that there are definitely still soem rough edges on the site from both a cosmetic and functional point of view.  As far as I am aware there are no reproducible errors in the app which cause loss of previously entered data (as opposed to failure to save new data entered on a single screen), but I obviously be doing what I can to smooth out the bumps (and maybe improve the look a little bit, although you can probably tell from this blog that I'm no visual design guru).

Anyway thanks for reading this, please come with me for the ride, and as always comments are very welcome.



Wednesday 19 September 2012

Welcome page on web application updated

I've updated the welcome page which is presented as the default page for new visitors to the web application to try to make it clearer that the site is very much open for business.

Comments welcome.

Monday 17 September 2012

Trailer web application now tested with a wider range of browsers

I have just uploaded a new version of the Trailer web application.

The new version has been tested on the following browsers:
  • Chrome, Firefox and Safari on OS/X
  • Mobile Safari and Chrome on iPad
  • Chrome Firefox and Internet Exporer 8 and 9 on Windows.
The application now seems to be working reasonably well across all of these browsers with the following known issues:
  • on Chrome on iPad, it is not possible to drag the marker for a zone on the zone details page (this does work on Mobile Safari, although finding the right touch spot to start the drag can be difficult); 
  • on some browser/OS combinations, the header and footer panels render out to an area which extends outside their reserved bounds, causing display of horizontal and/or vertical scrollbars; and
  • on IE8 on Windows, the intended background colours do not display.
Please let me know if you find non-cosmetic problems which are not on this list.

Google Code project containing Python scripts for generating TQZ files deprecated.

When the initial version of the Trailer iOS application came out in July, the companion web application at http://tl-trailer.appspot.com wasn't ready for use, and I released some command line scripts via Google Code to support generation of the .tqz files consumed by the iOS application.

The web application still isn't perfect, but it should be as good as or better than the scripting framework as a way of quickly setting up some .tqz files to use with the iOS app.

The scripting framework used Google's geocoding API, which is subject to terms of use including a requirement that geocoding information returned by it should be used for display of maps served by Google's infrastructure.  While iOS5 is current, this requirement is satisfied on the iOS device, because the maps displayed by the iOS device will be based on Google's services.  When iOS6 comes out in a few days, this requirement will no longer be satisfied, as the iOS6 mapping services will be serviced by infrastructure owned by Apple.  For this reason, I've deprecated use of the scripting framework for the time being, although I plan to reinstate it at some time in the future when I have time to integrate an alternate geocoding source.

If any developers are interested in having access to the scripting framework code before I get round to reinstating it, please get in contact directly via email or via a comment on this post so that I can give higher priority to the work required to bring it back online.

Wednesday 5 September 2012

Get the iOS application for free

I've just worked out how to issue redemption codes which can be used to get the Trailer iOS app for free, and I'd like to spread a few around to get a bit feedback on how the app works.

If you'd like me to mail you a code (or more than one so that you can share with your friends), please go through the following steps:

  1. Visit http://tl-trailer.appspot.com, log in using a Google id and follow the steps on http://tl-trailer.blogspot.com.au/p/using-trailer-web-application.html to define a trail containing at least three or four landmarks you will be able to visit to test the app out.
  2. Send me an email with the URL of the trail you created, and the number of codes you would like, up to a maximum of five.  The email address for this is in near the right of the top line of the blog format (I don't want to repeat it in the text of blog posts as I am not sure whether this will result in this address starting to receive spam).  If you can't complete the trail creation process due to problems with the web app, please email me a bug report, this will do just as well as a completed trail.
  3. For at least the first ten responses I get, I'll email you back with the codes.  Whether I give people the full number they ask for will depend on demand.  If you ask for more than one code I may send a smaller number in the first instance and email again with extra ones when I can see that the first ones I sent have been used in the store and that someone has visited the zones in the trail.
The value of the app to its users will ultimately depend on the number of trails which get created and shared (either in the tl-trailer.appspot.com app or elsewhere), so I plan to continue to use redemption codes from time to time as a means of saying thank-you to people who contribute in this way.


Thursday 30 August 2012

iPad version of the Trailer iOS app coming soon

Version 1.0 of the Trailer iOS app is configured and built as an iPhone only application.
During development, I built the app as a 'universal' application (i.e. one which works on both iPhone and iPad, and which intelligently sizes UI pages to take advantage of the available space on the device it is on). I did some testing with this in the iPad mode of the iOS debugger, but at that time I didn't have access to a physical iPad, and I didn't want to encourage people to buy it for that platform until I had an opportunity to verify whether the app was useful on a WiFi-only iPad. My original testing showed that the existing user interface rendered reasonably well in the simulator, so I am not expecting any problems with the basic annotated map behaviour, however the simulator is no help in judging experience in relation to the location services-related features, in particular the feature of providing an alert notification when the app is in the background and the user enters a zone on the currently displayed map (see the second last paragraph of the page 'Using the Trailer iOS application' for details of how this is supposed to work).

I have now lashed out and bought a retina iPad (WiFi only) for development work, and have confirmed that, providing the iPad is tethered to an iPhone via Bluetooth, the background notifications for zone entry work reasonably well. On an iPhone, in my usual test area (which is a public open space), crossing the border into a 200m zone, I generally get a notification from the background at a point which appears visually to be bang on the border if by bring the app up (as the notification allows me to do). On the tethered WiFi iPad, the notification tends to arrive when I am 20-30 metres inside the zone border, which is consistent with the fact that the zone of uncertainty displayed around the current position is of the same order of magnitude. Note that I haven't done any testing yet using tethering between an iPhone and the iPad over WiFi, nor between the iPad and non-iOS smartphones, however I did do some testing a while ago using an iPod touch tethered by WiFi to an Android phone, and found that in this combination I didn't get any background notifications at all while the tethering was turned on.

Anyway, the washup from this is that I am now confident that it is worth offering Trailer on iPad and I plan to do a release in the near future (no specific date promises today) which will be available as a free update from v1.0 of the Trailer app and which will be built as a 'universal' application, i.e. a single app which will work on both iPhone and iPad. I will probably also try to configure this app build so that it is available on iPod Touch devices (depending to some extent on the outcome of future testing). In the mean time, the iPhone version of Trailer still works perfectly well on the iPad in the iPhone compatibility mode (i.e. it can be displayed initially in the middle of the screen in an iPhone-sized area, but can be doubled up to use most of the screen, but will not exploit the resolution available).

Please get in touch with me via the comments on this blog entry if you have concerns or issue reports about the behaviour of the present version of the app (either on the iPhone or the iPad). Alternately, you can visit the app's page in the iOS App Store and mail me via the application support email link there (I don't want to mention the email address on this page as this address is still running with relatively low levels of spam).

Thursday 5 July 2012

Welcome

Welcome to the development blog for the Trailer iPhone and web applications. I plan to use these pages to share information about issues I encounter during the design and implementation process for these applications.
The main component of Trailer is an iPhone application, which is available from the iTunes App Store. The Trailer iPhone application uses the map display and location tracking features of the iPhone. The main features of the app are:

  • Annotated map display
    When the user brings the app to the foreground, it presents a list of user-generated maps, each of which shows points of interest in a particular geographic area. Each point of interest will be displayed at the centre of a shaded circular zone (the radius of which is selected by the map compiler). Clicking on the centre of the zone will bring up an iOS annotation object which gives a name and/or address for the point of interest. The annotation object can provide a link to access a message or web page associated with the point of interest.
  • Automatic zooming
    When the user is viewing a map which covers their physical location, the application will use the iOS location tracking features to display the user's position on the map. When the user crosses into one of the circular zones around a point of interest, the map will automatically zoom in on that zone. When the user crosses out of a zone, the map will zoom out to allow all points of interest for the current map to be visible.
  • Background notifications
    On phones which support background processing (i.e. iPhone 3GS or later, running iOS 5 or later), when the user puts the app into the background with a map displayed (either by locking the iPhone or by pressing the home button), the app will continue to track the user's location from the background for up to an hour. When the app is in this background tracking mode, the user will be notified when the app detects that they have entered a zone (except for when the user re-enters the most recently entered zone, for which the repeat notification will be supresses).
The location tracking and background notification services are controlled by the standard iOS settings framework.
The iOS application comes with pre-loaded maps of locations of interest in Rome, Venice, Barcelona and Paris. Additional maps can be loaded via email or web links, by compiling a file with the extension .tqz which matches the format consumed by the iPhone application. The easiest way to build files like this at the moment is through the Trailer web application at http://tl-trailer.appspot.com, but there's nothing magical about the required format and any developer who is interested in working on a mashup to compile .tqz files using other sources is welcome to have a look at files generated from the appspot.com application and implement their own generator..