Friday, January 27, 2012

writing an Android app

I've long wanted to write an Android app so now seems a fairly good time to give that a shot. I want to port over some Perl stuff I've done, not directly necessarily, probably in Java, which I've done some work in before but long ago. I really liked Java, though: a proper object oriented environment rather than the layered kludge-fest which is C++, or for that matter "object-oriented Perl", neither of which I've ever liked. I end up with hybrid object oriented - sequential code. Better to have the environment optimized for the object oriented paradigm and stick with that.

Step one didn't go too well... upgrade my Ubuntu to the 11.10, but then my CD drive on my old Thinkpad isn't working well. I tried to clean it but now it's working worse...

Anyway, I got a book on the subject ( Android Applications for Dummies ), but am not waiting for that to arrive. There's plenty of on-line reference material and tutorials. Book form is just more convenient for my train commute, and there's something to be said for the coherence of printed books. When Cara and I were in New Zealand we had an old Lonely Planet printed, a new one on Kindle, and after one attempt at the Kindle version we were back to the old printed copy the rest of the time. Kindles are fine for linear access, or in principle for text-based searching, but for random access of pages with a good index and table of contents printed still wins.

First thing on any programming project is to clearly define what you want to do, so that's where I'll start. I find once you have that down, the actual coding becomes nearly trivial, the details of the language barely relevant.

I want to use the Strava API for this project. Cosmo's done some nice stuff with it. For example, his TCX exporter is my method of choice for getting data off Strava, better than the native GPX exporter Strava eventually added.

Cosmo's stuff is web-based, which is another option. That's another option: it would also give me a chance to expand my web skills, which would help for the Low-Key Hillclimbs. It would be fun to write something to browse historical data. But that's a second priority, and time is so limited as it is.

Goal for this project to be functional is 29 Feb.

2 comments:

Unknown said...

I've played with the api a little while making the stuff at http://stravahaha.com My reaction is, tread carefully, it's pretty buggy.

The worst part for me is that it's slow, so your app doesn't have the feel that we're used to in 2012.

Also, there are real bugs. For example, you can access anyone's private rides (http://support.strava.com/discussions/problems/5064-private-rides-are-shown-in-api).

Another one that wasn't accepted in their support system was that sometimes the segment start times returned are off the by the timezone. The fact that it's sometimes and you don't know the timezone causes headaches.

Anyway, good luck, excited to see what you come up with.

djconnel said...

Thanks.

Nice work on the web page... I suppose. Not sure I'm a fan of tweaking data: everyone is exposed to the same extraction errors.

But hopefully a new version of the API will be available by the time I get to that part of it. First I've got to get all the other infrastructure in place.

Hmmm.. I see I left the paragraph tags out of my post. Will need to fix that.