Building For “Universal”

TL;DR: Designing for iPad and iPhone separately is hard for small startups and oftentimes not worth the effort, not viciously attacking your technical debt can bite you down the road, and check out Creatubbles, a global platform to share creativity open to all ages.

Building a custom iPad experience to sit alongside a native iPhone application is the way to go, right? Well, maybe, but with size classes and a continuously expanding screen size set, building once for all iOS devices also sounds pretty nice. At Creatubbles, we started with option 1. Currently on the store is both an iPad and iPhone version (we are Universal), but we feel the iPad experience has been suffering, and as a development team it’s been causing us pain, too.

The technical debt that has added up from having to maintain two completely different designs for the same set of features, all within a small startup and a small team, was bound to happen from the beginning. But luckily, it’s easy to fix.

Quick piece of background: I am an iOS engineer working at Creatubbles, a globally remote company (employees in over 15 countries, many bilingual, some trilingual+). Creatubbles is the safe global community for creators of all ages, where they can share any type of art, music, video or craft with the world.

Back to our device size issue: we want to be a sink for all content. Whatever form it takes, if enough people want to share their works that way, we want to support them to do so. By everyone, we mean everyone, and this adds another layer of complexity: we are fully supportive of users under the age of 13, and strong proponents of accessibility. We even have an open source library named RapidA11y, part of a set of cocoapods used for tests but that will allow us to easily add VoiceOver support sometime in the future.

I was invited, as a new team member, to join some of the other team members and the founders in Rome during a week of meetings in Italy this April. One day in particular struck me: we went to an elementary school and I was able to meet many different school children who were emblazoned with the power they felt they had, sharing their works with the world on Creatubbles.

They could not get enough, and it was intoxicating. They loved to give bubbles to others. They loved receiving bubbles from far off places. I saw one young girl jump up to the classroom’s world map and ask the teacher, “where’s this country, where’s this country!” since she had just received a bubble from Japan.

As the software engineer that I am, I wanted to get some “data points” from these 9–10 year olds who only spoke Italian. With my iPhone in hand alongside the SayHi live translation app, we made it work and I had a couple conversations with several elementary kids about what they liked, why they liked it, and how they used our platform every day.

They had even made magnets with our bubble logo on them. I have it on my desktop machine today, as a reminder of our core users and what they want in our platform.

That’s the kind of energy that excites me to get to work every day. One of our challenges, outside of the legalese of allowing users under 13 and accepting many different forms of content all with strict moderation, is to push for adoption amongst all device classes available on the market today. This means, for me specifically and the team I work with, that we need to support iPhones and iPads. Soon, we might also delve into tvOS and watchOS solutions, but we need to start with ’the basics’, iOS in this case.

Luckily for us, though, the issues found with simply scrapping the iPad version and stretching the iPhone version are fairly minor, and achievable in a reasonable amount of time. Our team is adopting several new engineering process practices all at the same time, and one of them is to get on a release train.

When I was at LinkedIn, our conductor almost never missed a beat leaving Thursdays at 10AM PST. We at Creatubbles are a much smaller enterprise, spread across many more time zones. We still plan to start with a 3 week train schedule, which is something I am very excited about.

This experience has taught me something else: technical debt should be attacked right away. If it’s an unknown, time box an investigation and make it a bit more known. When a piece of your codebase is a black box no one wants to touch, the idea it will get smaller on it’s own is foolish. Actively seek to understand the entire codebase, and continuously simplify your approaches such that additions become easier and easier.

If you have not checked out Creatubbles before, by the way, we are ready for your creativity! We are fully localized into English, Italian, and Japanese, with easy toggles throughout the site to translate anyone else’s comments & descriptions into your preferred language (of the three we support). We are the safe global community for creators of all ages, where you can share any type of art, music, video or craft with the world! Go to creatubbles.com today, create an account, and check it out for yourself. There are some awesome gems already on the platform, and more being uploaded every day.