Session 6

You're Looking Phabulous

Session Materials



In this assignment you will create a fabulous application to take, view and share photos. While there is no end to the available photo applications in the App Store, new ones are break out hits every year. Read about Manual for some inspiration.

When the user launches the application they will be presented with a feed of their picture displayed using a UICollectionView. Tapping on an image cell will show the image full screen and provide the opportunity to share the image on social media. Users will also be able can take a new picture directly from the application, which will be added to their feed.

The application will use a Google App Engine based server to store and retrieve the photos. You will only be interacting with it through the provided API.

The overarching goal of this assignment is provide “real world” experience in developing strategies for posting, fetching, and retrieving images from a server. This assignment will require the use of both Storyboards and programmatic interface design.

Project Setup

Figure 1. Layout and data directional flow for Photo Phabulous.
Figure 1. Layout and data directional flow for Photo Phabulous.

The View Controllers



You will not be able to take an image when the app is run in the simulator. To actually test this, you would need a device. We will not test this feature.

Figure 2. Present a button in the interface to launch a `UIImagePickerController`.
Figure 2. Present a button in the interface to launch a `UIImagePickerController`.



Working with the API


This application should use data caching strategies to improve performance of the application. You should always try to load any network resources from the local cache before retrieving it from the network. Anytime a successful network request is make, the fresh data should be cached.


Error Handling


The application should compile with no errors or warnings and perform all described behaviors. If the app does not compile you will receive a 0. Feel free to explore additional enhancements to improve the appearance or functionality of the application.

The 11th point will be awarded to applications that make the navigation bar disappear on the ImageDetailViewController when the image is tapped. Users do not want the navigation bar ruining their amazing photo. Tapping on the image should make it disappear, tapping again should make it reappear.

Due Date

Assignment 7 is due February 25th, 2018 at 11:59pm.