How and when did you get into programming? And into iOS?
I got into iOS early in college. This was around the time the Apple Watch had first been announced, and I thought it would be cool to make an app for this brand new device. Before that I’d done a little bit of HTML and CSS as well as Java from computer classes in high school.
Did you have any specific app in mind or was mostly about the form factor of creating something available on the wrist?
I didn’t have anything in mind initially, I just wanted to make something. I eventually came up with the idea to make this app called Days Ago (no longer on the App Store). It was an app that let people keep track of how long it had been since important events occurred. It was just a list of events in the main view and a detail view with additional metadata, so it was a great place to start for a first app, and an app that dealt with time seemed appropriate for the Watch.
Was it easy for you to pick up iOS/Swift? I guess the Days Ago eventually evolved quite a bit right? You added iCloud sync, iPad version and even wrapped a popular JavaScript library 😃
I actually started with Objective-C! Swift was really new at that point and I couldn’t find any good resources for it, while there were lots of great resources for Objective-C. I specifically used the Objective-C and iOS Programming books from The Big Nerd Ranch and thought they were fantastic. They made learning iOS fun and approachable. I only got into Swift when Swift 3 came out.
And yeah, Days Ago definitely evolved quite a bit, but the original release was very basic. Only local storage, no fancy natural language processing, you couldn’t even add photos.
Yeah, a few teams from Apple came to my school for recruiting. I got invited to an interview for one of em and it ended up working out. It was actually a good thing I’d focused on Objective-C, cause everything I worked on was written in Objective-C at the time.
You are currently doing weird & wonderful stuff with macOS (hope that is fair description 😃). How did this started? The animated macOS dock icons, "Window Breaker" and others..
I thought it’d be interesting to dive deeper into macOS dev and just see what’s possible. In iOS you’re pretty limited in what you can do while macOS is comparatively a much more open platform. And it’s been a lot of fun. Plus with covid there hasn’t really been much else to do, so this has been an enjoyable quarantine hobby and creative outlet
How these things usually work? Do you look for ideas first and try to build them or it is more exploring the macOS APIs and "fitting" ideas to them?
Both really. Sometimes I’ll have an idea and see if it’s possible to build, while other times I might be exploring an API, and when I learn about its capabilities, that might give me ideas
Do you share all working projects?
Like source code? Sometimes, not always
I meant mostly the Twitter showcase 🙂
Ah, usually only if I think it’s good and it actually works
What was the most surprising API available for macOS you discovered so far?
One of the most surprising ones was NSDockTile. Having the ability to change your app’s dock icon on the fly is pretty powerful
Yea, dynamic dock tile is pretty cool. I am bit surprised that it isn't more widely used.
I have to ask about Arial Attack 😁. How did you get the idea to create game about recognizing fonts? Have to say, for me some of the words where pretty difficult if there was no "a" or "s" to guide me..
I love typography, and I especially wanted to try out Swiss Style design at the time since it had gotten popular again with iOS 7. And a game seemed like a good opportunity to go hard on a particular visual style. Plus hopefully it gets at least a few people to ditch Arial in favor of the clearly superior Helvetica 😛
Oh I thought Arial Attack was a new creation, because of the iOS 14.2 requirement.
Nah, I regularly up my apps’ deployment targets. It’s too much of a hassle supporting multiple iOS versions at the same time.
When did your interest in UI/UX begin? When you started creating own apps?
I’ve always been interested in UI/UX. One of the main reasons I got into app development was so I could actually build my ideas. Cause if I just design a nice UI but can’t actually build it and make it a reality, that’s a little disappointing I think
So prior to getting into development you would design stuff with like Sketch or other software? What were the learning resources?
Not often, I’d mostly just admire really nice UI on sites like beautifulpixels.com. Really creating my own designs and building them happened around the same time. As far as learning resources, I didn’t use any. I think Sketch is a really intuitive and well-designed app that makes it easy to learn just by trying things out
So you basically learned by tinkering with the design and seeing what looks good and what doesn't?
Pretty much. I also find it helpful to look at designs of other apps that I like and really try to break down *why* they look good. Is it the color palette that the app is using? Is it the way things are laid out? Maybe a particular animation is really cool? etc
How do you approach icons? Either for your apps or custom ones for existing Mac apps. Particularly when there is like no easy theme or object to base the icon on.
It’s definitely tricky. Icon design was (and probably still is) one of my weakest areas. I’ve only gotten better at it through practice. I especially like that macOS offers lots of icon design practice opportunities because of how easy it is to replace other apps’ icons. Usually whenever working on an app icon, I try to ask myself if I were looking at this icon for the first time but had no idea what the app did, could I reasonably guess? It’s not a hard rule since sometimes icons do end up becoming pretty abstract, but I think it’s a good guiding principle
What it's like to have viral tweet with 3500+ RTs and 300K views? Did you have to turn off notifications for a bit? 😁
I usually try to read all the replies on my tweets, but on occasions like that, I have to mute all notifications for the tweet. It just becomes too much to handle haha
You have a magic wand... and can change one thing about iOS (or macOS) development. What?
Make translatesAutoresizingMaskIntoConstraints false by default 🙃
To switch gears a bit, what do you do to relax? Or is messing with macOS your way of relaxing?
Messing with macOS has definitely been a fun way to spend time indoors. Though now that things are finally opening up and starting to go back to normal in NYC, I’ve definitely been going outside more — whether that’s exploring the city or just going for a run in the park
Really looking forward to seeing your next experiments.😁 Thanks so much for taking the time! Do you want to give someone or something a shoutout?
Thanks for having me! Shoutout to Xcode haha. I know iOS developers love to complain about it, but it’s honestly the best IDE I’ve ever used, and I probably never would’ve gotten into this stuff if Apple’s developer tools weren’t so enjoyable to use. In fact, I’m gonna go leave it a 5 star review on the App Store right now