// archives

Programming

This category contains 64 posts
point-golden-shopping-cart@2x.jpg

Modeling In-App Purchases Inventory

There are four types of in-app purchases in Apple’s App Store, with their own unique ways to manage it. The challenge is how to isolate the intricacies of these product types from the rest of the application. Otherwise a move from non-consumable in-app purchase to a subscription type would involve a major rewrite. Learn how […]

disk-exposed.jpg

Notarizing Disk Images for Developer ID Distribution

Do you distribute your macOS apps as .zip files? That has been quaint since Sierra. You should package your apps as signed and notarized disk images instead. Otherwise Catalina would say that your package is suspicious. However creating disk images is a rather involved process. Read on to find out more.

borobudur-sunrise@2x.jpg

Architecting a Scalable Web Application

Writing a web app is one thing. Deploying it on the global Internet for millions of users is another thing. Keeping it secure from prying eyes, competitors, and general baddies is yet another challenge. How can you do all of this in a startup where there are a billion of other things in your head […]

database@2x.jpg

Future-Proof Your Data Persistence

The data persistence stack that is an appropriate decision today may not be an optimal solution when your app has grown. You would need to design your app to withstand the test of time and be extensible for as it grows. Read more to learn how.

apple-watch-phone@2x.jpg

Watch App as In-App Purchase?

How do you sell a watchOS app? Through in-app purchase of course, like these fine apps have done. However there’s a caveat condition that you need to guard for, otherwise you risk having angry customers.

sparkle-notarization@2x.png

Enabling Hardened Runtime on a Sparkle App

Notarization requirements is just around the corner in the coming release of macOS. But the Sparkle updater framework is not yet ready for it. Here’s how you can fix that.

lawyers-notaries-library@2x.jpg

Shared Frameworks in a Hardened Runtime World

macOS Catalina is just around the corner and with it comes mandatory notarization and hardened runtime. If your mac app accepts plugins or otherwise loads 3rd party frameworks and libraries, there are a few caveats that you’ll need to take care.

Data in current apps

Which Database to Use for My iOS App?

Choosing a database to use for your iOS app is no simple feat. But what if you have the tools to make an informed decision for your app? What if you can decide for today and design for tomorrow?

design-thinking-canvas@2x.jpg

Eleven Books and Resources for iOS Developers to Get Started on UI/UX.

Were you passed on a job opportunity because you were blind on user experience topics? Do you feel challenged in educating clients, colleagues, or even managers on user interface topics? Here is a list of references that can help you.

core-ml-conversion@2x.png

How to Get Core ML Produce Images as Output

Core ML’s tools to convert other framework’s machine learning models is a pretty awesome feat in itself. However it is by no means complete. I found some issues in converting models which outputs images. Issues which took me a few weeks to solve even after many consultations to Google and Apple’s own forums. But here’s […]

machine-learing-illustration@2x.jpg

First Dabbling in Machine Learning

I’ve been toying around with retraining machine learning models — one for generating prose and the other for processing photos and separate objects from its background. Here are some of the challenges I encounter as a total newbie and how I got around it.

[decorative] MacOS developer

Getting Rid of Xcode Command Line Tools

Are you being hunted by Xcode command line tools? Have you uninstalled it only to realize that it came back again? If you already have the Xcode installed and really need the full IDE, don’t waste space by having the command line tools installed as well. Here’s how.

snowflake-identifier@2x.png

Swift Snowflake ID Generator

Make thousands of unique 64 bit identifiers at every millisecond without the need of global synchronization.

Programming Cocoa apps with Swift has it's many caveats. Many of these are derived from the fact that there are two language runtimes at play, the incumbent Objective-C runtime which is used by system frameworks and the Swift runtime as a newcomer. Here is one hard lesson learned (and workaround) when dealing with state restoration problems in a Swift app.

State Restoration Hiccups with Swift

Programming Cocoa apps with Swift has it’s many caveats. Many of these are derived from the fact that there are two language runtimes at play, the incumbent Objective-C runtime which is used by system frameworks and the Swift runtime as a newcomer. Here is one hard lesson learned (and workaround) when dealing with state restoration […]

Free Updates!

Learn how to grow your indie business while keeping your day job.

Categories

Archives

Keep updated!

Don't miss out on new articles!