As promised, here is the first update as to how I’m getting on with the project. Naturally, on finishing my exams, I needed a wee break and then a chance to get back into iOS again by finishing watching (and then re-watching) the excellent Stanford University iOS lectures by Paul Hegarty. I properly started development on Monday last week and so far I’m not doing too badly. Obviously it takes a wee bit of time to get back into things but I feel like this week should be productive after a slightly slow first week.
The first thing I did was set up my project with all the appropriate frameworks to get started by using CocoaPods (a decent library manager for Objective-C). I decided to use the MapBox SDK to deal with the maps side of things (allows offline maps which could be useful). Once all the basic setup was done I set about displaying a simple map view and getting the user’s location to be displayed. Next up was creating a table view with the intention of displaying a list of buildings. This involved not only populating a CoreData database with building information, but actually finding the data in the first place. While my contacts at the university have said I will have access to their Oracle database, actually getting hold of the right person to give me the appropriate privileges is like drawing blood from a stone! Thankfully I received an excel file with some basic information about rooms, buildings, schools etc. I managed to populate a CoreData model with some test data by exporting this information as CSV files, converting to JSON (the likely format of the data once I get a web service up and going) and parsing it all into the model with a separate command-line app.
Next up was using an NSFetchedResultsController which nicely manages CoreData fetch requests for display in a table view. This involves pretty much copying, pasting and customising code straight from the documentation into a tableViewController, but for now I decided to just subclass Paul Hegarty’s CoreDataTableViewController as it does what I need. I’ll have to customise this quite a bit in the future, but for now it saved me some time getting things up and running. Finally, just to make the table view a little more friendly, I added alphabetical sections with a wee jump list as well as a search function.
Most of the time this week was spent getting to grips with CoreData and making sure all the right file paths etc were being used in the main. Also, I’ll admit, the process of populating the model from a separate app was a little hacky and even involved some copying and pasting of an SQLLite file :-S. But it works for now, and the long term solution won’t need such a process anyway.
Next up: displaying detail about the buildings, viewing room data and viewing building locations on the map. Also might consider using a tabBar instead of a navigationBar…
Well it’s been over a year since my last post but that most certainly hasn’t been from a lack of activity! The only real changed to this site in the last 9 months has been to my title and CV. These could give clues as to what I’ve been up to, but it should be worth a wee post with a general update.
Since my experiences of Dare to be Digital in 2010 where I was somewhat thrust into a programming position with very limited previous experience, I’ve had a niggle that programming is what I wanted to do. Regardless, I stuck at my audio work, continued my Sound Design course and graduated with aims of building enough freelance experience to eventually get an in-house post with a game developer somewhere, hoping my self-taught programming skills could be seen as an added bonus. Unfortunately my aims never seemed to be fulfilled and while people would give encouragement with “follow your dreams” and “don’t give up”, I understood the emptiness of such words when it became hard to pull together enough money to get by. At the end of the summer of 2012, with no full-time job in sight, I decided I wanted to change programming from being an “added bonus” to a qualified skill.
So since September last year I’ve been taking an MSc in Software Development from the University of Glasgow. The course has been structured to be highly intensive and squeeze as much of the most important content from a Software Engineering undergrad as possible into a one year Master programme. This task has been well achieved with the Software Development degree, but it’s been extremely fast paced and has taken up to 65 hours of some weeks since September. They even have to squeeze 130 credits (11 1 20 credit and 10 credit courses) into 2 semesters when most Masters courses only require 120, simply so they can fit all the content in. Needless to say, it’s been a lot of work and may be a part reason for my lack of posts.
So after 9 months of hard-graft that brings me up to today. I can safely say my niggle has grown into an absolute certainty. This is what I should have been doing all along! I found more and more as the course went along that things just seemed to make sense almost instantly. Programming has gone from being an added bonus, to a taught skill to an absolute obsession! I found myself trying to fulfil assignments in obscure and creative ways just as an extra challenge! And to add the icing to the cake, my results came back last week to reveal I’d received A grades for every course I sat bar 1 (B1 for Systems & Networks… alas!) and a GPA of over 19 (86%). This has given me the final confirmation that this is what I should have been doing all along. I’ve not received results like this in my entire life and, more to the point, never have I enjoyed “work” so much!
Part of me wishes my school hadn’t had such an embarrassment of a computing department so I could have realised this sooner in my life, but I honestly think the creative outlook towards designing and building that I’ve achieved through my love for games and audio has been an important part of my overall learning curve. How can people really know exactly what it is they should be doing at the age of 17 anyway? Besides, I still love audio and I still love games. Perhaps developers will see this knowledge as an “added bonus”! 😉
Next on the agenda is applying for one of many potential jobs I’ve already scoped out while firing into my final MSc development project where I’m developing a Glasgow University Campus Maps application for the iPhone. It’s already underway, so watch this space…