What you should know about color when adopting dark mode

Adopting dark mode is all about setting a new set of colors. For most apps, adopting dark mode is a process of replacing your static color to a dynamic one. Let’s say your app has a white background, and you want to adopt dark mode. You open up Asset Catalog, create a new color set, and put white and black colors for each appearance. You might end up with something like this.

How to Write A Product Requirements Document (PRD)

There are four core sections of a PRD — defining purpose, describing features, setting release criteria, sketching rough timing. According to Marty Cagan, the PRD’s goal is to explain the “What”, not the “How”. In each section, remember to be clear on the problem being solved versus the solution otherwise you may lead the team to make incorrect assumptions. The engineers, designers, and UX folks are the ones designing solutions for the product — don’t piss them off by making the PRD a recipe rather than a guideline.

The Catch-22 of building a business on Apple’s APIs #sherlocking

What’s good for Apple isn’t necessarily good for you Apple always encourages adopting their latest APIs, tools, and languages like Swift; they’re incredibly powerful resources, but they also make us dependent on Apple’s ecosystem. From Apple’s perspective, they are happy to lock developers in. If they can have tons of incredible and unique apps that are exclusive to their platforms, that makes Apple’s products that much more compelling to their customers. But for a third-party developer, dependency on Apple’s APIs puts you in a tricky spot: it limits your customer base, and it puts your business at risk if Apple decides to compete with your product offering. If Apple ever offers a similar product for free, bundled into the operating system, it will be tough for your app to compete. Apple has an extensive history of sherlocking, and has continued this behavior with the most recent release of its mobile OS

Taxonomy of Moats

An innovation is a type of competitive advantage (though not all competitive advantages are innovations) and the strategic job is to make that competitive advantage sustainable over time1, to maintain…