Over the year-and-change since its release, I’ve watched several developer friends abandon SwiftData in frustration, finding it buggy and unreliable. However, I’ve found it to be a key part of my app’s architecture, and I can’t imagine going back. Is it that I’m a 10x developer, and everyone else just needs to git gud? 🤔 No, of course not. But I think my experience, compared to others’, comes…
One of my personal apps hit a major milestone today: Kineo first launched on the App Store on this date 15 years ago. While it certainly didn’t spend all of that time under active development, it’s still shocking to me that it’s been around all that time. As such, I wanted to write a little bit about its history and the major changes an app like Kineo has seen in that time. Kineo started as a…
In August of 2008, just a few weeks after the initial launch of the App Store, I (along with designer Ollie Wagner) released an animation app called Kineo. It wasn’t my first self-published app 1 , or even my first iOS app 2 , but it’s the one I most associate with the idea of my “first app”. Ollie and I maintained it for a few years, but eventually college took up more and more of my time, and we…
This is a direct continuation of this post . Please read it first. Apple dropped a new beta of iOS/iPadOS 13.1 today, surprising developers who were still expecting 13.0 releases. Included in the release notes for this release was a “Resolved Issue” referencing my PencilKit problem: If your app links PencilKit, and its deployment target is iOS 13.1 or later, you can now submit it to the App Store.…
Between me making this post and actually telling anyone about it, Apple flipped the script on me again with the new iOS 13.1 release notes. Please see this post for more details. If your app links PencilKit, please refrain from attempting to submit it to the App Store until further notice. (53811027) That’s the message included in the release notes for iOS beta 8, released last Wednesday 1 .…
This post originally appeared on the Rover Engineering blog . It’s early summer here in Seattle, which means one thing for iOS developers: Apple’s WWDC has recently come and gone, leaving a trail of new technologies in its wake. This year brought a huge number of game-changing new things to play with: SwiftUI, Catalyst, Sign In with Apple, etc. With so many big announcements from Apple this year,…
I’m someone that likes to create a lot of small app projects whenever an idea strikes me. Like, a lot of app projects. Most of them don’t really go anywhere, but I’ve gotten pretty good at starting things, and I’d like to publicly document the steps that I take to get a new iOS project off the ground. 1 The title from this post and the basic idea is shamelessly stolen from My First 10 Minutes on a…
On Friday night, I did something I’ve done hundreds of times before: misplaced my iPhone. Not in any concerning way; it was somewhere in my house, just… I didn’t know where. Almost as a joke, I decided to ask my HomePod: “Hey Siri, where’s my iPhone?” Of course, I got a disappointing answer: “Sorry, I can’t find phones here.” Lame. The more I thought about it, the more this seemed like a killer…
I recently made a post detailing several continuous integration systems and the one I ultimately decided on: GitLab CI . Today, I’m pulling another one of my projects over to the new service, and I thought I’d put together a play-by-play on what exactly I’m doing to build and deploy this project with GitLab CI. About the Project The project in question is Scrawl Notes for iOS. It’s a relatively…
Last week, the amazing mobile continuous integration service buddybuild was acquired by Apple . I’ve been using buddybuild for nearly a year now to build all of my personal side projects such as Scrawl Notes and Scrawl Pouch . Their ease of setup and level of service and support far outstrips anything else I’ve seen, and it’s easy to understand why Apple snapped them up. I was using buddybuild’s…
Over the last two weekends, I ported my iOS app Scrawl Notes to Windows. Specifically, to the Universal Windows Platform , which encompasses Windows desktop, Windows Phone (RIP), Xbox, HoloLens, and more. Scrawl Notes only runs on some of these (primarily Windows desktop), but I’m of the understanding that it’d be fairly easy to add support for the remaining platforms with minimal effort. Why? So,…
I’ve lately been working on a blog post for my employer detailing the benefits and drawbacks of React Native (found here ). One thing that keeps coming up in my discussions with co-workers is that a major drawback to React Native is JavaScript . But that’s not a drawback of React Native at all. Don’t get me wrong, I hate JavaScript just as much as the next person (unless the next person is my…
I’ve been avoiding writing this post because I wanted to leave open the possibility of coming back and actually building a WWDC Parties 2017. However, at this point, most of the major events are already announced and sold out, so it seems a bit pointless to do so. As such, I wanted to write a bit of an explanation/apology to anyone waiting for this year’s website. I also want to apologize to the…
I’ve mentioned a like of ClojureScript on this blog before, but in the few years since writing that post, I’ve mostly worked with its older brother, Clojure. The kinds of projects I’ve done in the interim just didn’t lend themselves to ClojureScript. On the other hand, React Native has been around for a few years, providing a different paradigm for building the views of first iOS, and now also…
Last Monday saw the release of my first independent app in over five years. Scrawl is an extremely simple app to store quick, temporary notes. These are notes that you don’t want to keep around forever, and which probably won’t even make sense shortly after they’re written—parking spots, pizza orders, one-off phone numbers, etc. Scrawl was written over a weekend after a frustrating experience with…
At the latest meeting of the Redmond Xcoders, there was a talk by Lori Hill about creating App Preview videos. During the Q&A period after her talk, questions were raised about recording such a video from the iOS Simulator rather than an actual device. The first few comments were about doing an actual screen capture of the simulator, and recording the simulator directly was an option it seemed…
Every iOS app has two user interfaces. These interfaces are equally important in delivering a quality product. Ignoring one for the sake of the other can lead to a horrible experience for many of your users. However, from tooling all the way through to testing, one of these interfaces is largely seen as second-class and mostly ignored. The two interfaces every app has are a visible UI and an…
Better late than never, right? Today, Emily Stewart and I released the 2015 edition of our annual WWDC parties list . We’re both really excited about it, and I’d like to talk a bit about what went into it this year. One of the things we added this year is the ability to filter events. Not everyone that attends WWDC is looking for the same thing, and we’ve had requests over the years for things…
It seems Siri has a cool feature where you can ask it to find the nearest Genius Bar, and it knows to find the nearest Apple retail store. Unfortunately, not all “apple stores” are created equal. Normally, I’d post new Radars I’ve created to Twitter, but I can’t do that any more, so my blog seemed as good a place as any. rdar://19840920
At our local NSCoder meetups, a large percentage of the attendees are students. They’re learning iOS programming for the first time in a class taught at our local university by my good friend Tyten . The class was mentioned at Apple's iPad launch event in November. Last night, one of the students had a rather odd error appearing, and it took us a while to fix and even longer to figure out the…
For a while now, I’ve been looking for a functional language that I like enough to use on a regular basis. It’s pretty clear that functional paradigms will only become more important in the near future due to the inherent concurrency and parallelism wins. I’ve bounced around between a few well-known functional languages: Haskell , Scheme , Clojure , and even a brief flirtation with F# . I…
The first freelance project I’ve worked on that I can talk about has now launched! Gulp is an app designed by several students at the University of Missouri that eases the process of paying bar cover at several locations here in Columbia. They’ve only soft-launched at one location for now, but have plans to be available at several other bars soon.
A little over a week ago, I attended the amazing CocoaLove conference in Philadelphia. While I had an amazing time, I left feeling rather down about myself and the community I spend a lot of time in. Ultimately, the talk that I found continuing to resonate the most after I left was William Van Hecke’s talk on feeling good. 1 A large theme of his talk was the negative feedback loop that tends to…
As you may know if you follow me on Twitter , I left my full-time job at Newsy back in May, and have been working on bringing back my old company, Cocoatype . I’m happy to say that things have been going great on that front. Today, I’m relaunching both the Cocoatype website and my own personal website. My personal website is now much cleaner, and actually has more than one page. I’ve also moved my…