creativity · Software Dev

“It’s time for me to build an app”

Here is a funny and relatable perspective on being an app developer wanting to just make your own goddamn app. Via iOS Dev Weekly.

👉 Going indie, step 5: Suffer from crippling imposter syndrome

You want to build something that belongs to you, you want to pour your heart into it, and frankly, you’d like to find some success doing it. “It’s time,” you proclaim boldly, “for me to build an app.”

The post does spend a lot of time talking about social media stress and imposter syndrome, which doesn’t bother me too much. Personally, I have long let go of any dream of having a big, important Twitter or Instagram account. Or even making any money off of an app. I just want to make my own apps.

A big part of you still feels that, as someone who can competently design and build software, you are uniquely positioned to create your own life’s work… Wouldn’t it be a shame not to try? You’re tired of deferring your dreams to your future self; it’s time to act!

My own situation is further complicated by my additional dreams of writing a book and making some songs. I’ve actually made some progress on those dreams already. Can I really fit another dream into the rotation?

Stay tuned and see. Give me like a year. Baby, I want everything!

Reaching to place your app among the very best
Software Dev

Time (Swift lib)

Time is really confusing when you think about it, especially when you are programming around it. And especially in a mobile app, where the time on the device could be in any timezone and is not guaranteed to be reliable.

I have seen plenty of “time” bugs in my days. I’ve seen time beat some amazing programmers, even leading one of them to question aloud, “What is time?”

This new Swift “Time” library looks like a good shot at simplifying time and restoring sanity.

👉 Introducing Time

I love that the basic classes in this library are Clock and TimeZone. Yesss, that is some simple SOLID goodness!

👉 Time on GitHub

Via iOS Dev Weekly.

Software Dev

App Rewrite: Faster, Smaller, and Simpler

I’m a bit of a Facebook skeptic, but it’s really amazing that they had the guts to actually completely rewrite their Messenger app for iOS. That is such a gigantic effort that it basically doesn’t ever happen with popular apps at big companies. So kudos to Facebook for actually making that happen. 👉 Yay, Facebook! 🤷🏻‍♂️

👉 Project LightSpeed: Rewriting the Messenger codebase for a faster, smaller, and simpler messaging app

This post explains some of the design and architecture decisions they made. It’s interesting that Facebook, the company that invented the cross-platform React Native framework, went full native when rewriting their own app. In fact, one of their key principals in the rewrite was “Use the OS”.

While UI frameworks can be powerful and increase developer productivity, they require constant upkeep and maintenance to keep up with the ever-changing mobile OS landscape. Rather than reinventing the wheel, we used the UI framework available on the device’s native OS to support a wider variety of application feature needs.

They also use SQLite to create a sort of table-driven local business logic layer a custom platform “to orchestrate all access to the database, including queued changes, deferred or retriable tasks, and for data sync support.”

This is an example that all of us mobile engineers can take to our managers and demand a rewrite now! (Kidding / not kidding 🤓)

Via iOS Dev Weekly.