My Semester Project

Background

Back in Fall of 2010 I came back to school to learn computer programming. I came in hopping to achieve a skill in something like Java so that I could get a decent job doing computer programming for a health insurance company.

I waffled my way through the first year and a half of the program. I treated it very much like my Journalism degree where you could blow off the assigned reading and ace the midterm without studying to much. This was a very bad idea. After four semesters I had unofficially dropped out of the program and wasn’t really sure what I was going to do with my life.

I decided a year ago to dedicate myself to programming. I wanted to master it. I wanted to be one of those programmers like Andy Hertzfeld who was one of the top people in the field who helped create the Macintosh operating system.

I gave myself a year and a half to get there. I had three semesters left to finish school. I buckled down and turned learning programming into a full time job.

This is the last semester. This is the semester where I need to begin the process of leaving school and entering the workforce.

Advanced iOS

One of my classes is Advanced iOS Development. One of the requirements we have is to create an app with the idea that we will be able to submit it to the App Store.

I really wanted to work on a Core Audio app. One of my goals is to master Core Audio. I haven’t had a chance to learn this as quickly as I wanted to, so I figured, “Great! Now I have to learn it because it is my semester project!”

I have since figured out that this is a really bad idea. I am super busy this semester and trying to learn something difficult on top of that would result in bad things happening.

What I am planning to do is to refactor my WWDC app submission. I applied for a scholarship with an app I wrote in two weeks. The app is a Portable Wine Journal.

I have the original version of this at Github.

The app “works”, but it doesn’t work the way I would like it to work. It needs a lot of refactoring.

I have a massive list of things that need to be added, upgraded, or fixed:

  • Change to Universal from iPad only
  • Add Apple Docs
  • Change how the data is stored to Core Data
  • Change the point at which data is stored, now if you navigate away from the page the data won’t save
  • Create a picker for grape type rather than make the user type each one in, allow the user to add grape or fruit types
  • Create a picker for region type, also allow the user to add ones they commonly use
  • Figure out how to locate the winery on a map and store the information
  • Figure out how to set the text box up to search specifically for wineries and allow people to see them in a list when they start typing
  • Put a slider in for dryness level rather than typing a label
  • Put a switch in so user can choose to label the wine by name or grape type (wines usually don’t have both)
  • Allow the user to select the wine in the table to modify the form
  • Allow for editing and deletion
  • Format date better
  • Figure out a better way of tracking wine ratings
  • Make the view grouped and figure out how to get the background to show up
  • Do some more general design things to customize the app and polish it

I will be using this blog to track all of the changes I make to this app. I will figure out how to show the changed I make in my GitHub account so that you can go through and see all of the changes as they progress.

I am also going to document other projects, classes, and processes in this blog that I am currently working on. I have let the ball drop on this blog for a few months and now it’s time to get back to work. Geronimo!