Periscope (Mac Application)

Periscope Icon

Periscope is the next generation of Web cam software that lets you use your iSight to capture activity in front of your Mac’s camera and then save or share that image simply and automatically.

Within seconds, you can configure Periscope to monitor a room for motion, sound or on a timer. Periscope will send real-time images to your e-mail, .Mac Web page, or FTP site, and can upload to Flickr!

Put it this way, the next time your mini-fridge is raided by a roommate pleading innocence… You got the dirt.
‘scope your home when you’re out of town.
‘scope for intruders with motion detection.
‘scope the kids when you’re at the office.
‘scope a time-lapse movie of your workday.
‘scope for security.
‘scope for fun!

Motion Sense Screenshot

  • Product description: Webcam software, with motion detection and many ways to share resulting pictures.
  • Release Date: November 2009
  • Product history/genesis: The project had originally been built with contract labor, which created a product that the owners were severely unhappy with. I was brought in as part of the team to clean it up and fill in the gaps starting with the 1.5 release.
  • Team: Self, two other Coders, Producer, Artist, QA team.
  • Core Technologies: Objective C in Cocoa for Mac OS X
  • Most proud of: Remade the motion detection system to take advantage of GPU acceleration. Unfortunately most hardware was not yet supporting general GPU acceleration, so it still remained slow to most users.
  • Responsibilities: Bugfixing, new features, optimization

Promo Screenshot
Kitty Screenshot

This is one of the few “non-game” applications I’ve been part of in my career, the other being the FaxSTF 5.0 browser. While not a game, I found the experience just as rewarding as the games I had built.

The user interface made some use of Key Value Coding originally, I expanded its use to include most of the UI.

The original code was uncommented and many of variable and method names did not make sense for the tasks they were doing. During the project this was incrementally improved until the final version was fairly well documented.

This was my first experience with Core Animation and later I would recreate its block animation setup paradigm in theComplex for handling 2d UI animations.

And older (but more exciting!) portfolio page for this app.