Mobile Tools

if all you have is nails, sometimes you need a hammer…

You never know what you’re going to need…

One of the things that I still find joy in is the simple discovery of understanding of how things work, regardless of what weird road my career has taken me to. These days, it’s rare that my day has me spending time in a debugger or pounding out code like I used to. And while I often joke that Keynote is my new IDE, I still hack away at technology when I have free time because I simply enjoy it.

More importantly — I fundamentally believe that it keeps me sharp. Technology isn’t stagnant; it’s amazing how often people I run across who have decided to just stop learning.

Anyways… One of the biggest things I have had to let go of (and it’s a big one) when I made the leap over to using the iPad Pro as my day to day computing device, are the things that comprise my tool “warchest”. Heck, some of these utilities/scripts/apps I’ve been lugging around with me for years. And while I certainly don’t need them every day, I can often find the right one for the job when the need crops up. Or if something special popped up — just write a new one fairly quickly.


Being able to get things done is an obvious requirement of my new minimal setup, and having to completely rethink how tools play into this was tested this past weekend. We were taking a few days off for the 4th, so I was on the road again with my new setup — something from work popped up (as it always does). During the course of figuring out what the issue is, I had the need to examine a few photos EXIF data. For those that don’t know what EXIF is, the easiest way to explain it is that it’s data on a photo that isn’t the picture. Almost every digital camera, phone, etc., adds additional “metadata” to every photo it takes — information about the camera, the lens, even the location that the photo was taken (think of the lovely privacy issues).

On the Mac, I would typically just open up the photo in pretty much any photo editing application (or even Preview), and just view the information. But this was an interesting challenge on the iPad Pro — Photos didn’t appear to have any way to do this built in.

Often the solution on iOS utilities can be found on the AppStore, where I found 2 quick ways to do what I wanted:

  • ViewEXIF — A very simple .99 application that works as an extension to the Photos app (review). Worked perfectly.
  • Workflow — Workflow is an interesting application that reminds me of old block programming used to automate tasks on iOS. I’ve had the application for awhile, but frankly, really haven’t used it for much. They do support an Image object with the ability to “Get Details of Images” which would have also done the job.

I ended up using ViewEXIF, as it was just a quick and easy solution to my current problem.

The Hammer

Of course, when I had more time to really sit down and think about it, I ended up writing my own tool — on the iPad itself. As I mentioned earlier, I love to understand how things work and to push the boundaries where possible. While most folks wouldn’t go this route, I found it to fit the best for the tinkering way I compute.

While XCode is still non-existent for iOS (and a good topic for another post), I have been spending quite a bit of time over the last few months (on iPhone, now the pad) working in my new favorite tool— Pythonista.

I have no idea how/why Apple has allowed it into the AppStore, but it’s a full-blown Python development environment. It allows you to create standalone apps, application extensions, call into Objective-C, debug, etc. It’s easily the single app which is responsible for completely transforming the way I use my devices.

I can write code directly on the iPad or iPhone. It’s amazing.

With it, I was able to easily create a Python extension, pass in a photo, and by using the Python Image Library (built in to Pythonista), use __getexif() and parse through the EXIF data myself.


While I understand 99% of humans wouldn’t go to this extreme to get the job done, I have found over the last few weeks, having the ability to create my own custom Python tools that allow me to bend/extend the capabilities of my devices has brought me to a whole new level of productivity.

Big win for the iPad here, while my laptop gathers dust at home.


Update: After I posted this, Omar dropped me a recommendation for Exify from the IconFactory. Took a quick look, and as usual, the IconFactory delivers — its a real nice extension. The only thing that dont see it handling is the ability to strip metadata from a picture.