Menu

Colin Devroe

Reverse Engineer. Blogger.

The number of liquids, ointments, gels, and creams I purposefully rub onto my body on a daily basis has increased exponentially with age.

I needed to use InDesign today. Adobe has done a remarkable job in keeping a modern feel even in some of their oldest products.

“My Fares” by Joseph Rodriguez

Joseph Rodriguez:

It was not unusual to see shoe-shiners outside of Grand Central. They’re not there anymore. I think it’s a Banana Republic now.

Incredible photo portfolio backed with incredible stories.

/via Kottke.

An interview with Dan Rubin by Polaroid

My boy Dan Rubin on the Polaroid OneStep 2:

First of all, it’s insanely exciting to see a brand new instant camera with the Polaroid name on it. The OS2 is a brilliant point-and-shoot camera — great for capturing life as it happens, especially with the built-in flash. I’ve been shooting with mine for nearly two weeks now, and though I adore using an SX-70 and SLR680, there are definitely situations where the OS2 makes more sense for me.

Great interview of one of my favorite people that I rarely get to see since he’s such a globetrotter.


Corn – October 2017

Rob Weychert reflects on 10 years of tweeting

Rob Weychert, reflecting on 10 years of Twitter usage, and the next 10:

I don’t know how the positive experiences I’ve had with Twitter stack up against the harm it’s caused, and I don’t know if I’ll be writing another post like this ten years from now, but I’m glad to have had the opportunity to collect these thousands of tiny moments over the last decade, and to have this milestone to reflect on them.

See also.

Side note: I downloaded all of my tweets before I deleted my Twitter account. I’m unsure if I’ll ever bring them back in any form but I’m glad I have them all.

iOS shelf apps

Des Paroz:

One of the great things about iOS 11 is the multitasking capability, and with it the emergence of so-called ‘shelf’ apps.

I had never heard of the term “shelf apps” until I read Des’ post.

Finished The Wright Brothers by David McCullough ⭐️⭐️⭐️⭐️⭐️. So much to glean.


Prompton Dam, Prompton State Park – October 2017

Creating Summit: The current summit view

This post is the first in a series of posts about my experience building and designing Summit. This post focuses on just one view within the application; the current summit view.

The idea for Summit came nearly 4 years ago as far as I can tell. I’ve hunted around for scraps of paper, digital notes, code snippets to see if I can come up with an exact date but I’ve been unable to. And it has been fits and starts for several years.

When Kyle Ruane and I started on the idea we first thought the UI would be a bit more game-like. I envisioned a 3D model of the current mountain you were hiking that would progress the person up the summit in first-person towards each goal. This was altogether too much work, and far too difficult given my unfamiliarity with the platform. Kyle’s suggestion – again, many years ago – was to use a low poly look. He would craft a low poly representation of the summit and we could allow the user to move around in it, perhaps even spin it around, zoom in-and-out, etc.

I pulled that thread for a very short time before giving up. Remember, we started toying with the idea of Summit before Swift was released. So I was trying to draw this UI with Obj-C. Something I’m even more terrible at than Swift.

Here is what one attempt at drawing progress lines using Obj-C looked like back 4 years ago or so. I took this screenshot in June 2014 and was already labeling it “historical junk” in my files.

The red triangles were goals to meet, the blue line was your path, and the white line was your progress so far. My goal was to overlay this on top of the low poly art that Kyle drew. This was inspired by maps like this. (copied here for archival purposes)

This worked but was not that easy to pull of, introduced more complexity than we needed, and so we quickly shelved the idea until we got more familiar with the platform.

In tandem I began constructing a simple web UI to start cataloging steps from a phone. This was purely to get used to writing code that would track user’s steps, show stats, work on our step algorithm (the code that determines how far up Mount Everest a single step walking in a downtown city parking lot gets you), etc.

It went this way for a few years. I would open up a code editor and begin working on the pieces of Summit; the progress UI, the algorithm, the code to read from a user’s step count or HealthKit or Apple Watch.

In June 2017, when I picked up this project on my own to take on since Kyle had moved away, I decided I needed a simpler approach to the UI. In part because Kyle is the design genius but also in part because I wanted to get as quickly to shipping an app as I possibly could. I prefer to iterate on ideas with user feedback than to work on something in a silo for years. I wanted a way to show the summit, or some visual from the summit, but yet also show one’s progress. And I also still needed multiple goals per summit.

Here are a few drawings from this summer.

See, I’m not an artist. Admittedly, though, this wasn’t an attempt to draw anything beautiful but rather to get a general idea for all of the views I needed to pull off the layout. I needed some labels, some buttons, navigation, etc.

The long goal buttons was really “a punt” on my part. I gave up trying to get Xcode’s Storyboard feature to properly align a changing number of goal buttons (since each summit has a different number of goals) in a way that worked with each device size. It was very frustrating. So I began to go down this path of having them just be full-width, flat buttons.

But then I ran into Brian Voong on YouTube. In most of his video tutorials he suggests forgoing the Storyboard feature and using code to create the UI. Though I didn’t want to lose the progress I had made, I’m so glad that I took his advice. Writing UI directly in Swift is far, far easier (for me)  and seemingly more powerful than using Storyboards.

This revelation allowed me to go back to a drawing I did a month earlier. This one:

On the left, the elements needed, on the right, a rough sketch of a much more minimal and airy design of the current summit view. The goal buttons have varying distances between them relative to how far apart they are in real life (I’m still working on getting this right in the app).

Using Swift I was able to make this happen much easier than Storyboards.

The above is one of the very first swings at this view. It had all of the elements I wanted. And I’ve been iterating on this specific design ever since. I wish I had the hundreds of iterations saved but I don’t.

Here is what the most recent iteration looks like with goal buttons that are easier to determine your progress and other tweaks to make the UI more consistent.

This is the design for this view I’ve settled with for now. I have plans to iterate on this current design for some time before, perhaps, taking a whole new swing at it. Perhaps my skills will grow to the point that I feel confident going back to Kyle’s low poly idea. But, I’m pleased with how it has come along so far.


Cedar Ave. Scranton, PA – September 2017

I’m making a lot of progress with this multi-platform C# application I’m working on for a client. I’m anxious to use what I’m learning on this project to bring Summit to Android.

We bought a car yesterday and it was an entirely enjoyable experience. Thanks Toyota! Also, I personally hope this is the last car we buy before we buy a fully-autonomous car.

Repost: Daman Rangoola on Twitter

👉 Daman Rangoola:

Random iOS 11 bug: type 1+2+3 quickly in the stock calculator app, see what happens. Bet it won’t say “6”.

Spotify (or any other music service tip): Create a playlist called “Listen Later” and toss any songs/albums/artists in there that you stumble upon during the day that you’d like to give more consideration later.

I’m currently reading a book about the Wright brothers and I’m thinking that Orville is an OG microblogger.

Apple picking – October 2017

Eliza and I did some apple picking last weekend. We ate as many as we could while picking and then she made apple butter with our take.

Published: October 23, 2017

It seems my 20-minute audio rant about Microsoft from this weekend is quickly becoming my most popular audio bit.

Attending October’s NEPA.js meet up

On Tuesday, October 10 I attended October’s NEPA.js meet up. John George of NEPA Web Solutions was this month’s presenter and his topic was Bitcoin and the Blockchain: Democratizing How We Exchange Value.

I believe all members of NEPA.js would agree, John’s presentation was arguably the best presentation the meet up group has had to-date. Though the Blockchain can seem a complex topic, John did an excellent job describing how it worked, where it is currently being used, and its future potential. Though the meet up was relatively well attended, I left wishing that so many more people had heard his presentation.

To further the lesson beyond the walls of the Scranton Enterprise Center, John also gave each attendee a gift in the form of a wallet containing a single bit of BTC. He also incentivized attendees to claim that bit for themselves by awarding the first few that did so with $50USD in BTC. Those that did it were rewarded indeed since the value of BTC has jumped to new record highs this month. Those that didn’t claim their bit may be kicking themselves for dragging their feet.

John will likely do this presentation again, in some form, under the NEPA Tech banner. Meet up’s like October’s are what is spurring the group to expand the group into a more general direction. This particular presentation had nothing to do with JavaScript – as the name NEPA.js would have you believe – and so we want to make sure each meet up is approachable by all that would be interested. You may remember me saying this over the last few months, and even in January I spelled it out specifically, but now there has been positive steps towards this happening. We’ll have more to announce in the near future.

Thanks to John for the amazing presentation, and for the bitcoin, and to the attendees for the active discussion.

Side note: My apologies for a terrible pano photo. I’ll try to do better next time.

First week of the NBA season has been pretty dramatic. I like it.