News & Views

  • Memory Optimizations in iOS

    January 20, 2015

    In a recent client iPad app we learned ways to significantly reduce memory usage and improve speed by converting views to images and reusing frequently used view controllers.

    Read More
  • The Importance of Paging

    November 15, 2014

    Good choices about data paging are an important part of design and development. Sometimes we need to get lists of data from the server, and sometimes these lists can be really long. Breaking lists up into smaller, discreet "pages" can reduce server overhead and improve response time.

    Read More
  • Looking Into Data Structures in Swift

    November 10, 2014

    I've written up a couple pieces surrounding performance and usefulness of various collection data structures in Swift.

    Read More
  • The Importance of Early User Testing

    March 13, 2014

    Since we subscribe to agile development principles here at Vokal Interactive, one maxim we try to impress upon our clients is to "ship early, and ship often." Sometimes its not always easy to get clients on board with this approach; it's easy to get into a trap of thinking that your app has to have every cool feature you thought of before or since development began, and that every feature has to be "perfect." However, such thinking can lead to roadblocks and delays, pushing an app's release date further and further away while competitors are busy building a user base.

    Read More
  • Fun with Work Downtime: Cat2Cat

    January 21, 2014

    My employers at Vokal Interactive have been kind enough to let me use my downtime to tackle of one of my biggest irritations with the new Asset Catalogs in Xcode 5: The fact that you still have to use the fragile imageNamed: system to call images in code.

    Read More
  • Functional and Asynchronous Programming in iOS

    January 05, 2012

    A couple of months ago I started working on a simple project using node.js and I wanted to write a post about the similarities and differences in functional programming between JavaScript and Objective-C. However, while I was writing that post I realized I did not truly understand functional programming. I could write blocks in Objective-C and I could write functions in JavaScript but the theory behind it was lost to me. That being said, I decided to dig deeper to understand not just what the code was accomplishing but why.

    Read More
  • Automated Testing in iOS

    November 30, 2011

    When we send an app out into the world we want to be sure it’s bulletproof. I’m sure you write excellent code and you unit-test like a mad man, but how can you be sure? Wouldn't it be great to plug in a device and have Instruments run an exhaustive UI test while checking for leaks and logging total memory and cpu usage? Yes it would.

    Read More
  • Clear and Concise REST APIs

    November 08, 2011

    APIs have users just like apps have users, with the exception that an API’s users are developers. It’s unfortunate how frequently we encounter APIs which are needlessly complex and hard to use. Documentation sometimes is so complicated that it actually makes the API harder to understand rather than easier.

    Read More
  • Core Data Transactions

    October 16, 2011

    In my time getting acquainted with Core Data, I learned that while overall it is very handy, there are shortcomings that a developer must take into account especially when dealing with asynchronous calls and large amounts of data.

    Read More
  • Installing an Ad Hoc Distribution on your iOS device

    February 28, 2011

    .zip or .ipa? These directions are best practices for using a .zip file... If you are running Windows Vista or would like to use an .ipa file instead you might find these instructions a little more useful.

    Read More