Looking beyond the web: developing Traverso for iOS

Looking beyond the web: developing Traverso for iOS

While I'm writing this article Apple is  in the process of analyzing and (hopefully) publishing the first update for Traverso, an app I developed for the iPhone in the past few months.

‎Traverso Case Converter
‎Traverso let’s you quickly edit, transform and convert your text: write or paste your input, then choose from more than 20 filter, ranging from simple everyday tasks (transform to uppercase, lowercase, capitalize) to more advanced transformations: mutate your text into binary code, calculate its che…

Absolutely shameless plug.

Alright alright, I know. If you’ve read till the end of the previous sentence I can already imagine what you're thinking: Generally speaking, a post-mortem for your first indie mobile app is not exactly the most original idea, and often this kind of content finds itself holding a precarious balance between being a marquee vs being a remotely interesting article on the topic.

But it is not specifically the development of Traverso that I want to talk about here, but rather the rather unusual conditions - yet unfortunately collectively shared in recent weeks by a large segment of the webdev world - that prompted me to work on this application.

Indeed, few are those designers, content creators and developers previously working in the Wordpress.org ecosystem who aren’t looking at alternative career paths right now, due to the famous Open Source CMS platform being torn by a fratricidal war between its owner Automattic and the web hosting company WP Engine.

The most probable outcome for the this casen – a restructuring of the wordpress.org licensing and switch in priority by Automattic compared to its closed-source brother, wordpress.com – seems to be another example of the internet becoming more enclosed and specialized, where hybrid job positions (being both designers and artists, or developers, or directors, or marketers, or…) disappear or are replaced with aggressively specialized figures with little professional autonomy.

The reasonable concern of such individuals (including yours truly) is to figure out how if it will be possible to spend the multidisciplinary experience accrued over the years in an increasingly sectarian internet, divided between hyper-specialized technologies dominating one side of the equation (think the various React, Nuxt, Astro, etc.) and "siloed" plattforms, affordable but increasingly rigid in their use and creation possibilities (whether they are social networks or web builders like Squarespace) on the other.

What to do then? As I said earlier, I have tried to look across the fence of web development. Mostly by chance, I must admit. In early September, while poking around some of the features available to the Apple Watch Ultra, I came across this video on UI design from Apple:

WWDC23: Design with SwiftUI

I must admit that at first glance I was kinda skeptical. I would not have expected to find that SwiftUI, a set of libraries and features of the Swift language created by Apple specifically for creating interfaces was used internally by Apple designers themselves during the initial prototyping phase.  Apparently you could still be both a designer and a developer in the realm of mobile app development even moving outside of the hobbyist level, or so it seemed. Too good to be true?

I decided to check this theory first hand: I was gonna build and distribute a real, fully native app, starting from scratch, as a one-man-arm….errr, team. That is, UX, UI, development, publishing, etc. knowing basically nothing of App development for modern iOS (or Mac Os, for the matter).

As a start, I took inspiration from a conversation I had with some coworkers from the Social Media side of things™ who were extremely annoyed by some extremely trivial tasks, such as cropping an image to specific sizes for the required social or sponsored sizing, or converting text quickly to Fancy Text[1] being an unnecessarily annoying operation, often performed through websites more interested in pushing as many ads as possible rather than functioning properly.

If the first experiment – the photo cropping editor – fails miserably due to my almost non-existent algebra skills needed to understand how to implement the logical core of the app, the following idea, a character conversion tool, goes incredibly well: I’m glad to find out that Swift is a language with a sufficiently simple syntax to quickly grasp, and usually more complex and abstract concepts, such as memory management or asynchronous events, largely appear to be (or at least pretend to be) similar to what you can find elsewhere. Anyone with a modicum of experience with Typescript and React, especially in its older incarnations, should have no trouble getting to grips with Swift in more than a week.

SwiftUI, the closely-related UI framework, pushes even more on these levers, and its declarative structure makes writing the UI more a matter of explaining to the framework what you want to accomplish rather than placing UI components yourself.

A screen from the Xcode editor

So, how did it fare?

  • I was able to build a prototype for macOS within a couple of hours, most of it spent mostly… ahem, pondering about its internal architecture during a restroom break than writing actual code.

  • Within about 10 hours spread over a few days I had a somewhat alpha version running on my iPhone.

  • Less pleasant was paying for the unnecessarily expensive ( 90€ ) license certificate required for distribution, which is mandatory to be able to distribute a beta version to my colleagues to evaluate the UX, understand their needs, and iterate accordingly over a few weeks.

  • A separate post should be required for an hypothetical monetization I evaluated soon after: I found StoreKit so obtuse that I opted for a third-party framework, RevenueCat in order to understand how to implement it in a time frame of less than a month.

All things considered, Traverso probably won't break any distribution or sales records, but I going to already consider it a success if it can occasionally make my colleagues' lives easier.

And of course, yes, the big elephant in the room: The idea of moving long term from the mostly open world of webdev to Apple's Walled Garden is probably going to pose bigger ethical problems in the future[2].

Right now though, within its limits, Apple's current development environment still seems to succeed in the feat of keeping alive the spirit of a technology model where it is still possible to experiment in the roles between designer, developer and artist for a solo developer.

Traverso is a case and text converter currently available on the App Store for iOS devices: check it out here.


  1. namely those weird italic or bold unicode characters used on Instagram or Facebook posts, to make up for the lack of having a text editor worthy of the 21st century on these social networks. ↩︎

  2. Realistically speaking though, unless you plan very well in advance your stack, you may end up having to work within the rules defined by Meta, Amazon and Google anyway. ↩︎