Vivoom

 iOS, iPhone  Comments Off on Vivoom
Sep 302013
 

Midway through development I was brought into Vivoom to make a “do or die” deadline. The team, consisting of 9 employees and contractors, made the deadline. Later, after some attrition, I became the sole iOS developer on the project and am responsible for all phases of app development.

The Vivoom app records video and uploads it to our servers where authentic TV/Film effects visual effects are applied. The user can then share the final rendered movie on social media, in email, by SMS messages, or even just download it to their device.

Technologies include:

  • AVFoundation
  • GCD
  • Custom UIActivity subclass
  • RestKit JSON client/server object mapping
  • Charles Proxy debugging
  • Facebook/Twitter integration (both server side using OAUTH and later native iOS sharing)
  • UICollectionView
  • MixPanel and Flurry Analytics with parameterized events
  • Push (both from Parse.com and MixPanel) notifications with JSON payloads
  • AppsFlyer campaigns
  • TestFlightApp distribution

Vivoom can be downloaded from the iTunes App Store. The following screenshots show the wide variety of features that I was either solely responsible for or contributed to later for changes and/or bug fixes.

IMG_5437

IMG_5442

IMG_5443

IMG_5456

IMG_5446

IMG_5447

IMG_5450

IMG_5440

IMG_5445

IMG_5452

Image Fool

 iOS, iPad  Comments Off on Image Fool
Aug 022013
 

During an interview the HR person asked me if I was familiar with UICollectionView. Curiously, I had just started reading about it the day before and told her so. Then I got to thinking, how about making a sample app that shows how quickly I can learn? About 10 hours later Image Fool was done.

Image Fool is a really bad way to surf Flickr images. You see, it presents a grid of 26 images, the first one is the first image returned by Flickr for a search of the letter ‘a’ and the second one ‘b’ and so on. You tap an image and its letter is appended to the search string. So if you tap ‘c’ then ‘a’ you see images matching caa, cab, cac and so on. No, it isn’t very useful but it was fun to code.

Technologies used include

  • UICollectionView
  • NSOperation (hitting the Flickr server 26 times for search queries really meant I neeeded threading
  • Grand Central Dispatch (to draw the image itself on the main thread)
  • NSJSONSerialization

But rather than just read the bullet list, go grab the code from my github instead.

imageFool

Done Yet?

 iOS, iPad, iPhone  Comments Off on Done Yet?
Jul 302013
 

Done Yet? is an app I wrote just because I wanted it. I had some specific needs for an exercise timer and all the timers I could see in the App Store didn’t quite cut it. So I wrote one.

Technologies used include:

  • Core Data
  • In-App purchases to transform the freemium version to the paid version
  • Container View Controllers
  • CorePlot
  • Separate xibs for portrait/landscape and iPhone/iPad (since the UIs are different)
  • Gesture based UI
  • Grayscale UI (yup, I did the graphics work also and wanted to see what an app without color looked like)
  • Email
  • iAds

iOS Simulator Screen shot Jul 30, 2013 4.58.04 PM

Done Yet? can be downloaded from the iTunes App Store.

 

Game Up

 iOS, iPhone  Comments Off on Game Up
Jun 272013
 

At first, Game Up seems to join a crowded marketplace of existing alarm clock apps but it has a twist. You can’t turn off the alarm until you play a little game. It ships with 2 games, Tic-Tac-Toe and Yank It, both easy games but just challenging enough to wake up a groggy person. One of the challenges of Game Up was ensuring that the visuals were elegant and the animations rich and smooth.

Game Up was developed under contract with Beakr Studios. Technologies include:

Game Up can be downloaded from the App Store.

IMG_4435 IMG_4436 IMG_4441 IMG_4439 IMG_4437 IMG_4443

SmartLoop

 iOS, iPad  Comments Off on SmartLoop
Apr 142013
 

SmartLoop is a dynamic marketing tool. I can’t tell you much about it since it is still under development, but lets just say it really is dynamic, “dynamic” isn’t just a word on a list of features. I worked with the SmartLoop principles for months helping them hone their concept and eventually it became time to get a live prototype out there for business reasons.

SmartLoop also must be slick and elegant, smooth animations are everywhere and gestures and taps pull down drawers, or rotate out circular control panels. In the screen shot below you can see two of these elements.

Technologies used include:

  • Container View Classes
  • Gestures and animations (including rotations)
  • XML parsing with schema validated document
  • HTML display

As you can see from the screenshot, we’ve done very little professional graphics work, but the point of this prototype was to see how the screens flowed together. It is one thing to have a PDF wireframe and words describing the interactions, it is another to actually tap or slide and see the app work in front of you.

SLoop copy

Shhhh….

 iOS, iPhone  Comments Off on Shhhh….
Mar 192013
 

I worked on a confidential project that I cannot talk about in detail. The client, based in a major east coast USA city, has strict confidentiality needs and approved this portfolio entry.

The client, who is available as a reference, had both a tight schedule and a tight budget. He was exceptionally happy when I brought the first prototype in well under budget and on time, perhaps even a bit early! The under budget part permitted him to add additional features to the prototype. Technologies used include:

  • client/server JSON parsing with embedded JSON, using reflection for recursive parsing
  • base64 coding
  • using a well known SDK for media processing
  • full doxygen code documentation
  • CocoaLumberjack console, view, and email logging

I wish I could tell you more about this but I can’t except that the client expects to have me be an integral part of the development effort in the future.

TrashTimer

 iOS, iPhone  Comments Off on TrashTimer
Jan 312013
 

I was the sole iOS developer for TrashTimer under contract with HypeConcepts. TrashTimer is a free app that looks up the time your trash is supposed to be picked up and sets an alarm for you. It also has a tiny tapping game to keep you amused.

Technologies used include:

  • Client / Server network communication
  • XML parsing
  • Cocos2D sprites
  • Box2D physics engine
  • iAD network

I was also involved as a project manager working with the off-shored server development team, and with the City of Boston’s IT group to get access to their trash data for initial database seeding.

You can download TrashTimer from the iTunes App Store.

IMG_0004 IMG_0016

LivePix

 iOS, iPad, iPhone  Comments Off on LivePix
Jan 222013
 

I was brought on board the LivePix project to replace the outgoing developer. LivePix is a social photo sharing app that stresses both privacy and easy invitations.

I had to re-design the entire Contacts/Invitation scheme since the existing one was inadequate. Then I found I had two diverged source code bases, one for iPad and one for iPhone. I combined the two bases and then enabled rotation and added support for the 4″ iPhones.

Next up was to implement the new Contacts/Invitation scheme. I noticed that performance was slow, so I hooked a software packet sniffer to my iPhone and discovered that the existing app was not hosted on an Amazon EC2 instance but rather was hosted on the original developer’s personal machine! Around the same time I recruited and hired a PHP coder to take over the server side. She got it all working on an EC2 instance.

Technologies used include:

The original version is currently available in the iTunes App Store but none of my code is there yet. The new version is still in development, and has not yet been released.

iOS Simulator Screen shot Mar 1, 2013 1.56.22 PM iOS Simulator Screen shot Mar 1, 2013 2.01.14 PM

SAP Marketing

 iOS, iPad  Comments Off on SAP Marketing
Sep 262012
 

I didn’t work very long on this project at Mobiquity, but the time was intense. The app was just about to ship, and the only iOS developer was going away on a two-month vacation! He debriefed me for a few hours and then headed out the door, and was only rarely available to respond to emailed questions.

There were only a few bugs to fix, but the client hadn’t decided what the new behavior would be before the developer left. So, a few weeks passed and the new behaviors were decided and I had to crash fix four bugs. I got the work done in 12 hours and the client was happy.

Technologies used include:

  • AFKPageFlipper
  • Gesture Recognizers

SAP0

 

SAP1

Fidelity

 iOS, iPad  Comments Off on Fidelity
Aug 292012
 

I was part of a large team at Mobiquity contracted by Fidelity to add some features to their iPad app. We used a scrum-based Agile development process including continuous integration. I was responsible for:

  • Login screen
  • Tabbed views with data verification (I couldn’t use the standard Apple tabs for aesthetic reasons, nor could I use Container ViewControllers since the app had to run under iOS4
  • VerID screen
  • Code coverage using Calabash & Cucumber

The code had not yet been released by Fidelity so I can’t show it to you. But this screen, from the existing app, demonstrates the visual paradigm that Fidelity uses. You see the floating windows with the green bar, the diagonally striped background and rounded corner boxes with levels of gray shadings. I worked closely with graphic artists to get the screen pixel perfect.

aapl