Brella: A Free iPhone Weather App for Commuters

BrellaiPhone

Download on the App Store

Today I released Brella, my new free iPhone weather app for commuters! In the App Store now. This app checks NOAA data for rain probability in two locations: where you live and where you work. If the chance of rain exceeds your threshold for the hours that you are out of the house, it tells you to grab your umbrella.

I decided to use NOAA because it is public data and I didn’t want any string attached to the app’s usage. I actually had to dig around to find the hourly rain data that I wanted; it’s not part of their SOAP web service but it’s available as a separate XML feed. I’ll probably open-source this at some point.

I used a local instance of sudzc to generate the SOAP proxy, which required some tweaking. Right now I only use the SOAP proxy to contact the NOAA “zip code to coordinate” translation service, but I want to convert that to AFNetworking  to avoid the ugly SOAP stack.

In this app I tried out a new Mediator pattern that acts as the workflow engine between view controllers. I’m not a fan of segues and the tight coupling they encourage. It allows for manual dependency injection of model classes via setters. After I convert all properties to accept protocols, everything will be fully decoupled and easily testable.

In the settings form I created some custom input UIViews to help with using the UIDatePicker and UIPickerView. There are also some categories that extend a few core classes. These will likely be part of a future library.

There are unit tests on the NOAA client that test the core behavior using various mocked sample data. More units tests for other classes in the works.

The app uses the venerable AFNetworking as the HTTP client, MBProgressHUD for progress spinner, and cocoapods as the package manager.

I’m currently building a .NET service hosted in Windows Azure that will perform these queries and send push notifications to subscribers before they leave for work. This feature will be available as a $0.99 add-on.

Enjoy!

Advertisements

About Martin Rybak

I am a New York area software developer and MBA with 10+ years of server-side experience on the Microsoft stack. I've also been a native iOS developer since before the days of ARC. I architect and develop full-stack web applications, iOS apps, database systems, and backend services.

One response to “Brella: A Free iPhone Weather App for Commuters

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: