This week, I focused my attention on providing the user with the most amount of information at a time, but in a clear and concise way. I started thinking about how I could integrate the map-view on top of the table-view with the table-view rows. Before, the map only showed the current location of the user, and if there were no services nearby, the user would have to pinch to zoom out and navigate to the different locations.
So my first attempt to solve this problem was to keep the app loading the users location when the main view loaded. After the page had loaded, the user could touch the little target button under the distance indicator (in the picture below). I should also mention that I added an indicator for distance that calculates the current distance one is away from the service. You can see that I have ordered the table view cells by distance away from the user so that the most relevant information is most easily accessible.
I wrote all of the code and made the app functional on my iPhone. But after testing, I realized that the user interface was simply too cramped and perhaps confusing. "How would a user know that the target button was actually functional?" I thought. But more importantly, there was such a high probability that user accidentally touched the row instead of the target button, making the user experience frustrating.
I began to contemplate the second option. This method made it so that the user could touch the table view row to navigate the map. Then the user could drag the row from right to left in order to see more about the row. This idea was discarded after I decided that directions for use would not be implicitly clear.
Finally, I realize that simplicity is key! (well at least in terms of the user experience.) Coding this was not as simple. Here is an image that describe how the final method works:
So you might be wondering why there has to be a moving indicator. If the indicator had not been programmed to move, the locations at the last few rows would never be accessible.
Other than editing the navigation system for the map, I spent some time fixing errors that Apple caused by updating their programming language. I opened my laptop one morning to be greeted by 59 errors in my code. Luckily, the Apple's debugger helped me fix the problems swiftly.

