An Introduction to Model-View-Presenter

Model-view-presenter (MVP) is a software architectual pattern used in web, mobile, and other domains that incorporate UI. MVP aims to remove business logic from the UI and Model classes, making code more readable and easier to understand. It evolved from the more commonly used pattern, model-view-controller (MVC), in the early 1990s and because of this it is similar in design.

Read More

The Benefits of Iterative Development

When it comes to planning, the reality is that no matter how meticulous the client is in their needs they don’t know everything that’s going to be important up front. Agile provides a way for them to quickly identify what’s really important through the use of incremental builds. Identifying needs in a real world scenario is infinitely easier than trying to account for them months ahead of time in a vacuum. That is how agile can work for you.

Read More

How to Architect your iOS App

Novice iOS developers often fall into the trap of placing too much functionality in the AppDelegate. It’s convenient to add functionality there because it’s a globally accessible instance that comes for free. Eventually the app delegate becomes bloated with functionality that belongs in other classes. Below I’ll outline an architecture that alleviates this problem and isolates the different behaviors previously held by the app delegate.

Read More

Designing a Loot System for your Mobile Game

Hello people of the internet. As you may know (or probably don't), we've been hard at work on an iOS game for a few months now. The above screen shot is not from our game, it's from Diablo III.

Since this is atypical of us, I wanted to set the pace of today's blog post to match suit. I'm going to go over how to build a loot engine for a game, or at least how I went about building ours.

Read More

Function Composition in Swift

This post is an exploration of several functional programming concepts. We’ll use strings as our problem space, but we won’t concern ourselves with the intricacies of Unicode. 

In the first part of the post, I’ll define several functions using concepts from functional programming: map, filter and reduce.

Towards the end of the post, I’ll demonstrate how to combine the functions together using function composition to create more complex functions.

Read More

Parse Email Exporter (Free Mac OS X App)

So over the past 6 months or so, we've built quite a few projects on the Parse platform. We generally do this when client apps don't require a complex, custom built API. Parse can help you stand apps up very quickly, and help reduce development costs greatly.

Once the apps were released, we noticed our clients all asked us one common question: "How can we export our users' email addresses from Parse?" Many of our clients using MailChimp, needed access to their users' email addresses in a format that easily imports. CSV comes to mind.

To help alleviate the stress of our clients (and ourselves!), and hopefully the stress of some more developers out there utilizing the Parse platform, we developed an Open Source Mac OS X app called Parse Email Exporter

Read More