The completed project
I recently completed the development of an iOS app as a code exercise. The goal was to display the top 100 albums across all genres using the Apple RSS generator. You can find the TopAlbums project on GitHub. The project description contains an animated GIF of the finished product, along with the detailed set of requirements.
What I wanted to do in this post is review my thought process in developing the app, along with any intricacies I came across.
I enjoy discovering new APIs to experiment with. In this case I came across Unsplash which is a source of high resolution images which are free to use. The developer API is well documented and it is a simple process to register an app to obtain an API key.
To skip ahead and see what I built using this API, see my Unsplash demo app on GitHub.
An opportunity to build an iOS app
An Image API service provides a nice basis for building an iOS app. It lends itself to working with table views, collection views, storage and many other iOS features. The following screenshots show what I was able to achieve.
Posted in API, iOS, Swift
Tagged Alamofire, api, combine, core data, iOS, mvvm, NSFetchedResultsController, Swift, unsplash
I wanted to write-up the result of a code challenge that I completed a while ago. I was asked to create a tabbed iOS app with sectioned tables, pulling video thumbnails and article titles into different sections. Clicking on a thumbnail or article title would display the corresponding video or article in a separate view. Adding to the challenge, I was asked to provide bookmarking capability for the videos and articles. The bookmarked content would be visible in a second tab.
Challenge Details and GitHub app
The full details of the challenge and resulting project can be found at:
As a software professional I am interested in maintaining good relationships with my connections. While I never thought to use a CRM for such a purpose, that just might change after coming across Contactually.
Contactually allows you to collect and merge contact information from various sources including e-mail, calendars and social networks (LinkedIn, Facebook, Twitter). Contactually can help you with automatic reminders to follow-up with your connections, but that is just a small part of what the platform offers. Some of the key features are centered around Buckets, Templates, Programs and Pipelines.
Apple provides a nice framework for incorporating Address Book access into your iOS application, using the familiar UI from the Contacts app. They provide some nice documentation on this UI in the section User Interaction: Prompting for and Displaying Data.
Here is an example of the UI that Apple indicates is available:
The default UI is a little different
The above view of the controllers looks great, but getting them to work together as the images imply is not quite so straightforward. Consider the following code snippet used to present the People Picker: