Golf Scorecard Project

Just another iPhone app

Progress May 22, 2011

Filed under: Uncategorized — colharris @ 11:13 pm

Managed to make some progress on the website this month and it’s starting to come together. Really enjoying using Ruby on Rails and making the most of the wide selection of gems that are available.

Here’s some of the things I’ve been working on this month:

  • Implemented the golf scorecard data model and basic CRUD operations
  • Added devise for user authentication
  • Used gravatar_image_tag to show user avatars
  • Added address info for golf courses and used gmaps4rails to display a google map
  • Implemented omniauth to allow users to sign in using their twitter, facebook or open id accounts
  • Migrated the project to Rails 3.1
  • Implemented a ‘contact us’ form to try out sending emails from rails
  • Used token input to select users and courses when creating a new round
  • Used the JQuery UI to add a nice date picker
  • Added the JQuery Lightbox plugin to view the app screenshot on the home page
I’ve also done some research on the best way to integrate the GolfersScore app with the website. When I looked into this a year ago I didn’t really like any of the existing frameworks such as ObjectiveResource. This time around I’ve found RestKit which seems to be a fantastic framework for working with RESTful APIs. Pretty happy with it so far and it looks like it’ll do everything I need.
I’ve started adding it to the GolferScore app and I’ve so far been able to view the course list, create new courses and edit existing one. I’ll post some more info about RestKit and the updates to the iPhone app soon.

1 year on May 3, 2011

Filed under: Uncategorized — colharris @ 11:11 pm

Well it’s been almost a year since I started this project. I have not done much since I started a new job but things may be about to change. I’ve started paying more and more attention to Ruby on Rails and I like what I see. Rails3 seems to be a fantastic web development platform and this project could be my chance to try it out.

I’ve hacked together a few pages so far as I’ve been learning about RoRs. There is not much there yet but I’ll be updating it as I go.

You can see the prototype here:

I’d like to approach this with a release early and release often approach so I’m putting together a list of the bare minimum set of features I’d need to make this work. From there I can simply add additional features as I get to them. I may also try and get a half decent design done so that it’s a little prettier to look at.

As for the actual iPhone application I’ve really let that languish. It broke with the release of iOS4 and I never got around to releasing an update. I’ve submitted a new build to Apple today so it should be available on the AppStore within a week. I’ve been been working pretty well but it’s still lacking the web backend to persist and share scorecards.


Server Dev – Where to start? August 7, 2010

Filed under: iPhone App — colharris @ 11:15 am
Tags: , , , , ,

Update: I started writing this post more than a month ago but never finished it. Since then I have started a new job so I have not really had the time. It’s also the middle of winter so I have not been playing any golf to motivate me. I decided to post what I had done a month ago because it will show how much my opinions have changed.

Well as I stated in the original set of objectives I’d like to add a server side to this app. The server would provide:
– a library of courses so users don’t need to add all the info required
– the ability to upload the results of a round to be backed up and potentially shared with other users.

There are definitely more posibilities but these are the primary reasons.

So the decision I need to make is, what server technology should I use and why?

I’ve been researching the options for the last few days. I have not made a decision just yet but I thought I could post about what I have found and what factors I am considering.

Possible server technologies:

– WebObjects – as I was a WebObjects developer for 10 years this is definitely an option. In fact when I first started work on this project I put a simple WebObjects app together. However, now that I’m unemployed, I no longer have a connection with WO. I still think it’s a great web app framework but it’s got it’s problems (such as no good way to host cheaply) so I’ve decided against using it.

– ASP.NET – most of the available jobs I’m seeing seem to be .NET so it would make sense for me to code this in .NET and brush up on my knowledge.

– Java (one of the many java web application frameworks available) – I know java so that’s a plus but I have been in the WebObjects world for so long I don’t have that much experience or knowledge in the other java web technologies. If I had a good reason to down this path I would be happy to but to be honest I’d rather try something new.

Update: This is as far as I got a month ago and I now have a few more ideas for server technologies I’d like to try.

– GAE (Google App Engine) – I started playing around with this a few weeks ago and I really liked it. It’s pretty easy to get started and REALLY easy to deploy. It’s cheap to host (free until you reach a certain amount of usage) and Google handles the scalability. The downside is that it is a little restrictive about what you can do. For example I think it could be hard to upload files and I’d like people to be able to upload photos of a golf course.

– Ruby on Rails – I looked into this a few years ago (I have the Agile Development with Ruby on Rails Edition 2 textbook to prove it). It looks like a pretty cool web development framework but I always had my doubts about how good it would be once you got beyond the simple tasks you see in tutorials etc. I also found that I didn’t have the head space to learn another completely new language and it seems like ruby on rails would need a bit of a commitment to do it well.

– CouchDB – Again I’d read about this awhile ago but it was not until it came up in discussion at my new job that I started to consider this a viable option. If you’ve never heard about CouchDB it’s a non-relational database that utilizes HTTP for communication. (not a good explanation at all, google it for more info). This interests me a lot as I love to play with new technologies such as this. It’s not a web application framework like the others but I could use it directly from an iPhone to achieve my objectives. I could also develop a website later that connected to the same CouchDB … db.

Well that’s probably enough for now. I’ll keep thinking about it for a little longer before I start putting the next steps together.


App is on the App Store!! June 14, 2010

Filed under: iPhone App — colharris @ 9:44 pm

Well I have not posted anything for more than two weeks but I have made some process. I managed to put the basic features together in just a few days and was pretty keen just to get something up on the AppStore. I grabbed a kinda funky golf style background off iStockphoto which I’ve added to make it look a little better. I was also able to crop it the image a bit to make an icon for the app. I struggled to come up with a decent name for the app and eventually used ‘Golfers Score’. Self adminidely it’s not a great name but it’s got the two key words. It actually fits on the iPhone screen and it was available, unlike the other 100 or so names I tried first.

Anyway, Version 1 in now on the App Store.  Here is a link.

This is pretty much as basic as I could make an app like this. I’ve already started adding a few more features which I’ll probably release in a week or so.

Version 1 Screenshots:

If you download the app I’d love to hear any feedback you have.



Screen Mockups May 26, 2010

Filed under: iPhone App — colharris @ 5:46 pm

Well after a little googling looking for good ways to mock up an iPhone app UI I found this: It’s a awesome way to do it and they look great. Here’s the mockups I’ve put together so far.

These are fairly basic but it definitely helps plan out how the app will work. I’ll probably do at least one or two more iterations of these mockups before I jump in and start coding.

I would have liked to have posted the actual Keynote file but I couldn’t see a way to upload a .zip file so here’s the PDF version. UI Mockups v1 PDF

Missing Features  and Screens

  • Create new / edit course
  • Create new / edit player
  • Support for stableford points and handicaps
  • Screen to display all holes in one view (scorecard grid)
  • Accessing previous rounds
  • Sharing results
  • etc.

Project Overview May 24, 2010

Filed under: iPhone App — colharris @ 11:27 pm

While I’m unemployed and have a bit of free time I’ve decided to start a little iPhone project. This will help me improve my iPhone programming skills, checkout the lastest version of the SDK and have something to show when I go for an iPhone developer job.

I’ve been playing a bit of golf recently so I thought an golf scorecard app for the iPhone would be a perfect project.


The app should be simple – There are several of these types of apps already on the app store. I’ve tried a few and many of them try to do too much and make themselves overcomplicated. I want my version to be very simple and easy to use. Any additional features should be discrete.

It should work with or without the internet – Even though most people with an iPhone have a data plan and have constant access to the internet I’d like this app to work even when you don’t. Several of the existing apps I’ve tried require the internet and this could be seriously frustrating if it keeps dropping out during the round.

Sync with an online website – The app should be able to sync the scores with a website. This will allow the users to access all of their rounds scores and view stats etc. This feature probably isn’t 100% required but it gives me a chance to show my web development skills as well.

Use a blank course template – A lot of the other golf scorecard apps I’ve tried force you to enter all the details of the course you’re playing before you can start scoring. Many of them allow you to download this information from the internet (providing it’s available from their service). This is all good and well but if you’re anything like me you don’t think about setting this stuff up before you tee off and you don’t want to have go go through this process while your trying to play golf. For this reason I’d like the app to allow you to start entering scores immediately and add the course info later if you wish.

No graphic design – This is just a matter of priority. I’m a developer not a designer and I don’t want to get hung up on how this thing looks. Therefore I’m going to deliberately avoid doing any graphic design whatsoever. The app will be put together using all the default iPhone interface elements and will try to stick to Apples UI guidelines as much as possible.

OK, that’s about it for my initial idea and objectives. Now it’s time to put my ideas together into a couple of screen mockups.