Entwickler-Interview mit Mark DiFranco (u.a. Reminder)

Marcel Am 08.07.2018 veröffentlicht Lesezeit etwa 12:54 Minuten

Wer hier regelmäßig mitliest, der wird bereits erfahren habe, dass ich eine neue favorisierte App für meine To-Do-Listen verwende: Vormals habe ich gerne auf Wunderlist gesetzt, danach kurzzeitig auf ToDoIst – und inzwischen setze ich auf Reminder von Mark DiFranco. Im Grunde keine eigenständige ToDo-Lösung, vielmehr ein Aufsatz für die iCloud Erinnerungen. Diese sind nicht sonderlich mächtig, für mich aber mit allen wichtigen Funktionen ausgestattet, lediglich die Apple-eigene Erinnerungen.app fühlt sich absolut nicht „okay“ an.

Reminder fürs iPhone und iPad hingegen presst die Reminders-Funktionalitäten von Apple nun in eine schicke, schlichte Oberfläche, die an Apples Home.app erinnert. Nun hatte ich im Rahmen meiner #TheTalkingDEV-Reihe die Möglichkeit, mich einmal mit Entwickler und Freelancer Mark DiFranco zu unterhalten und unter anderem zu erfahren, wieso er die sich für die Entwicklung von Reminder entschieden hat, was er noch so plant, wie sein Alltag aussieht und welche Tipps er angehenden Entwicklern mit auf den Weg geben würde.

🇬🇧Jump to the English original of the interview 🇬🇧

Tagtäglich versuche ich hier im Blog empfehlenswerte App-Neuvorstellungen und -Updates zu präsentieren. Dort steht meist die App selbst im Vordergrund, die Entwickler und deren Schweiß und Tränen kommen oftmals zu kurz. Dabei sind es gerade sie, die den Nutzer-Alltag mit durchdachten, praktischen Apps angenehmer gestalten. In der Reihe #TheTalkingDEV möchte ich einmal im Monat vor allem den Indie-Entwicklern ein wenig Lesezeit einzuräumen – für flotten Small Talk rund um den Entwickleralltag, gemachten Erfahrung und ihren Babys.

Hallo Mark! Beginnen wir ganz einfach, denn vielleicht sind einige Leser bereits auf Reminder aufmerksam geworden, kennen aber den Entwickler nicht. Also, kurz gesagt: Wer bist du und was begeistert dich an der App-Entwicklung?

Ich bin freiberuflicher iOS-Ingenieur und habe Mechatronik an der University of Waterloo studiert. Ich arbeite an Reminder, wenn ich zwischen meinen Auftragsarbeiten Zeit finde. In meiner Freizeit spiele ich Musik (ich singe und spiele Gitarre, Bass und Schlagzeug), ich klettere, mache Sport (Tennis, Baseball, Volleyball, ultimatives Frisbee, Golf, Curling, Crokinole, Snowboarding und Billard), gehe laufen und spiele Brettspiele mit Freunden. Ich finde Software so faszinierend, weil man auf eigentlich simple Art und Weise etwas erschaffen kann, was das Leben einiger Menschen verbessern kann. Das Gefühl, etwas zu erschaffen, das jemandem hilft, ist für mich sehr motivierend.

Reminder ist nicht deine erste App im App Store, du hast auch noch einige andere Apps entwickelt. Gibt es weitere erwähnenswerte Projekte?

Ich habe noch acht weitere Apps im App Store, von denen einige wirklich cool sind. Velocimeter ist eine Tacho-App, die während der Fahrt automatisch Statistiken aufzeichnet. Tock ist eine Uhr-App, die die Uhrzeit mittels geometrischer Formen anzeigt. Stack ist ein Kartenspiel, mit der sich dank WiFi oder Bluetooth auch gegen Freunde in der Nähe spielen kann. Die meisten der Apps sind kostenlos, also ruhig mal anschauen!

Du entwickelst in erster Linie für Apples mobile Plattform, hast aber bereits erste Schritte mit Android getan. Warum priorisierst du iOS?

Ich finde iOS aus der UX-Perspektive deutlich intuitiver als Android. Von den standardisierten UI-Paradigmen bis hin zu den SDKs zeigt sich Apples Liebe zum Detail, dass die Arbeit mit der Plattform zu einer großen Freude macht. Durch die SDKs kann ich wesentlich mehr Zeit in die direkte Entwicklung meiner Apps investieren. Außerdem ist die Zahlungsbereitschaft von iOS-Nutzern etwas höher als jene von Android-Nutzern, was für die App-Entwicklung förderlich ist.

Falls du etwas dazu sagen möchtest: Gibt es grobe Statistiken darüber, wie viele Nutzer die App heruntergeladen und gelöscht haben oder sie aktiv nutzen?

Die App wurde seit der ersten Veröffentlichung über 3.000 Mal heruntergeladen und es gibt seitdem etwa 100 Nutzer, die die App täglich aktiv nutzen.

Wie ist dein gewohnter Tagesablauf und wie viel Zeit verbringst du mit der Entwicklung von Reminder oder anderen eigenen Anwendungen?

Mein Alltag hat nicht wirklich eine Routine. Sofern ich einen akuten Auftrag habe, nutze ich die meiste Zeit des Tages dazu, diesen zu erfüllen (normalerweise von 9 – 17 Uhr). Ich habe ein eingerichtetes Home Office, die Pendelei entfällt also. Es macht mir auch nichts aus, allein zu arbeiten, da ich mich so besser auf komplexe Aufgaben konzentrieren kann. An den Abenden und Wochenenden treibe ich dann Sport, besuche Veranstaltungen in der Stadt, arbeite an Blogsposts oder Präsentationen für Vorträge oder nutze die Zeit, um die Entwicklung von Reminder voranzutreiben. Momentan entfallen auf Reminder etwa 8 Wochenstunden.

Apple bietet bekanntlich eine offizielle App für die iCloud Erinnerungen an. Wem diese nicht ausreichen sollte, der kann zwischen zahlreichen Alternativen wählen, zum Beispiel umfangreiche Tools wie Wunderlist (jetzt Microsoft To-Do) ToDoIst, 2Do und Co. Wieso hast du dich dazu entschlossen, ein „einfaches Remake“ zu entwickeln, anstelle einer eigenständigen Lösung?

Einen Großteil meines Antriebs machte die EventKit API von iOS aus, mit der Entwickler Zugriff auf Kalender und Erinnerungen des Benutzers erhalten können. Als ich mir die API tiefergehend angeschaut habe, wurde mir klar, dass man 95% von dem, was die Erinnerungen.app von Apple kann, ebenfalls machen kann. Die meisten komplexeren Aufgaben erledigt dabei die EventKit API. Apples Erinnerungen-App ließ mich immer ein paar Dinge vermissen, allerdings hatte ich zunächst keine Ideen für die Oberfläche. Dies änderte sich jedoch, als ich eines Tages die Home.app genutzt habe. Die modernere UI und das Kachel-Interface gefielen mir so gut, dass ich diese als Inspiration für Reminders genutzt habe.

Viele Entwickler nutzen leistungsfähigere Tools wie zum Beispiel das oben erwähnte ToDoIst. Wie sieht es denn bei dir aus? Nutzt du deine Reminders-App produktiv oder auf welche Tools setzt du?

Ich selbst nutze Reminders nur, um meine (privaten) Erinnerungen zu verwalten. Die App ist schlicht und daher perfekt für Erinnerungen aus dem Alltag. Um den Überblick über Releases/Features/Bugs der App zu behalten, greife ich auf mein privates GitHub Repository zurück. Für mich die perfekte Lösung, um Code-Änderungen mit geplanten Features zu verknüpfen.

Der Umfang deiner Reminders-App ist durch Apple begrenzt. Du hast nur wenig Spielraum was komplett neue Funktionen betrifft. Gibt es denn bereits Ideen, an denen du bereits arbeitest?

Kurzfristig plane ich, Reminders auf die verbliebenden Apple-Plattformen zu bringen, also iMessage, Apple Watch und macOS. Aktuell arbeite ich an der Möglichkeit, Listen mit einem Alarm zu versehen. Dies kann zum Beispiel für Einkaufslisten praktisch sein, die sich bemerkbar machen, wenn du an einem Geschäft ankommst. Bisher konnte man lediglich einzelne Einträge mit einer standortbasierter Erinnerung  versehen, was umständlich ist. Darüber hinaus habe ich einen anderen interessanten Alarm-Typ geplant, der so in keiner anderen App zu finden ist. Aber das ist momentan noch mein Geheimnis.

Wie sieht es mit der Apple Watch aus?

Bald…

Auch auf dem Mac wäre eine modernere Oberfläche für die iCloud Erinnerungen als Alternative zur Reminders.app wünschenswert…

Bezüglich einer macOS-App werde ich noch warten, bis Apple macOS Mojave veröffentlicht hat. Dieses wird eine bessere und einfachere Portierung von iOS-Apps auf den Mac ermöglichen.

Jedes System hat seine eigenen Eigenheiten, natürlich auch iOS und macOS. Apple hat auf der WWDC 2018 ein neues Framework angekündigt, um die Portierung von iOS-Anwendungen auf den Mac zu vereinfachen. Ein großer Punkt?

Ich denke, dass es ein großer Schritt nach vorne ist, um dem Mac App Store neues Leben einzuhauchen. Die aktuellen APIs von macOS sind ein wenig angestaubt, die UIKit-Implementierung wird die Dinge hoffentlich einfacher machen.

Abgesehen vom neuen UIKit: Was steht aus Entwicklersicht auf deiner Wunschliste an Apple? Was könnte oder sollte Apple im Hinblick auf den Entwickler-Support verbessern?

Als Entwickler würde ich mich freuen, wenn Apple die verfügbaren App-Extensions (zum Beispiel Today Widgets, Share Sehet-Erweiterungen, iMessage-Apps) weiter ausbaut. Sie ermöglichen Entwicklern eine bessere Integration in die Plattform und verbessern somit auch das Nutzererlebnis.

Und im Gegensatz dazu: Welche Annehmlichkeiten von Apple oder der Plattformen überzeugten sich am meisten?

Ich würde sagen, dass Swift einen der Hauptgründe darstellt, wieso ich Apples Plattformen mag. Mit Swift hat Apple eine gute Balance zwischen „leicht und kraftvoll“ gefunden. Außerdem lassen sich dank des Optionals-Mechanismus fast alle Fehler in einer App beseitigen.

Wenn du drei Apps nennen müssten, die du zuallererst auf deinem Smartphone installierst – welche wären das?

* Apple Store App → Nützlich für die Vorbestellung von Apple Produkten. Das In-Store-Scanning ist fantastisch.
* Deliveries → Eine tolle App zur Sendungsverfolgung, dessen UI super zu iOS passt.
* Pixelmator → Eine superstarke Fotobearbeitung, mit der ich auch die Symbole von Reminders erstellt habe.

Ein kleines Gedankenspiel über den Tellerrand: Wenn du eine offizielle iOS-App eines beliebigen Dienstes (außer der Erinnerungen.app) nach deinen Wünschen neu gestalten dürftest. Welche App würdest du wählen und wieso?

Da muss ich die Mail.app von Apple nennen. Die Standard-App lässt ein wenig zu wünschen übrig. Allerdings habe ich bislang auch keine Mail-App von Drittentwicklern gefunden, die meine letzte Lieblings-App  Mailbox (by Dropbox) ersetzen konnte. Ich möchte etwas schlankes, schnelles, schickes und mit Fokus auf Datenschutz.

Welche Ratschläge würdest du einem aufstrebenden Entwickler geben, der seine erste eigene App entwickeln möchte?

Das Entwickeln einer App kann entmutigend wirken, es ist aber nicht mehr so schlimm, wenn man die App in kleinere Puzzleteile zerteilen kann. Versucht euch zuerst an kleineren Dingen und ihr werdet etwas vorweisen können, was es wert ist, geteilt zu werden. Auf jeden Fall sollte man sich die iOS Human Interface Guidelines durchlesen, bei Problemen hilft die Plattform StackOverflow weiter. Eine weitere gute Quelle für Tutorials ist RayWenderlich.

Du hast erwähnt, dass die Zahlungsbereitschaft von iOS-Nutzern im Vergleich zu Android-Nutzern höher ausfällt und die Entwicklung dadurch besser gefördert wird. Das stimmt natürlich. Aber was würdest du neuen Entwicklern mit auf den Weg geben, die denken, dass sich mit Apps schnell und einfach viel Geld generieren lässt?

Heutzutage gibt es viele Apps im App Store und es ist schwer, sich aus der Masse abzuheben. Die Zeiten des schnellen Geldes sind definitiv vorbei. Heute muss man viel Zeit und Mühe (und Glück) investieren, wenn man seine Chance auf Erfolg erhöhen möchte. Aber mit Geduld und Ausdauer ist es durchaus möglich, mit seinen Apps Geld zu verdienen.

Abschließend möchte ich mich natürlich noch bei Mark für das kleine Frage-Antwort-Spielchen bedanken. Solltet ihr noch weitere Fragen an Mark haben, schreibt sie einfach in die Kommentare, ich leite sie dann weiter.

🇬🇧 English original of the interview

Hello Mark! Let’s start quite simply, because maybe some readers have already become aware of Reminder, but don’t know the developer. So, in a nutshell: Who are you and what’s so exciting about software development?

I’m a Freelance iOS Engineer, and I took Mechatronics Engineering at the University of Waterloo. I work on Reminder when I find time in between contracts. In my spare time, I play music (I sing and play guitar, bass and drums), I rock climb, I play sports (tennis, baseball, volleyball, ultimate frisbee, golf, curling, crokinole, snowboarding, and billiards), I run, and I play board games with friends. I find software so intriguing because it’s so easy to build things that make peoples lives better. The feeling of creating something that helps someone is motivating.

Reminder is not your first app on the App Store, you have also developed a few other apps. Are there any other projects worth mentioning?

I’ve got 8 other apps on the App Store, some of which are really cool. Velocimeter is a speedometer app that automatically records statistics as you drive. Tock is a clock app that uses geometric shapes to tell you the time. Stack is a card game app that lets you play against your nearby friends over WiFi or Bluetooth. Most of these apps are free, so please check them out! You can search my name on the App Store to see a list of all my apps.

You are mainly developing for Apple systems, but you have already taken your first steps with Android. Why do you prioritize iOS?

I find iOS a lot more intuitive from a UX perspective. Apple’s attention to detail touches everything from standardized UI paradigms to their SDKs, which make the platform a joy to work with. Because of this, I’m able to spend more time making my applications better. Plus, iOS users are more willing to pay for applications than Android users, which helps fuel my development.

If you have something to say: Are there rough statistics on how many users have downloaded and deleted the app or are actively using it?

The app has been downloaded over 3000 times since I first launched it on the App Store, and there’s around 100 people who use it every day.

What is your usual daily routine and how much time do you spend developing Reminder or other private apps?

My daily routine is not really routine at all. If I have an active contract, I’ll spend my day working on that (usually from 9-5 ish). I’ve got a home office in my apartment, so my morning commute is quite short. I don’t mind working in solitude, as I’m able to focus on complex tasks better. My evenings and weekends are a mix of sports (I play almost every sport), events in town, working on blog posts / preparing for a talk, and working on Reminder. On a typical week, I’ll spend around 8 hours developing Reminder.

Apple itself offers an app for the iCloud Reminders. If this is not enough, you can choose from numerous alternatives, for example extensive tools such as Wunderlist (now Microsoft To-Do) ToDoIst, 2Do and others. Why did you decide to develop a „simple remake“ instead of create a stand alone solution?

The thing that propelled me the most to make Reminder was iOS’s EventKit API. It’s the library that gives developers access to the user’s Calendars and Reminders. After looking through the API, I realized I could do about 95% of what Apple’s Reminders app does, and have EventKit do most of the heavy lifting. Apple’s Reminders app has always left me wanting more. I wasn’t sure what to do for the UI to make it better though. This changed when I was using the Home app one day. The more modern UI and „tile“ interface inspired me to bring the same interface to Reminders.

Many developers use more powerful tools like the ToDoIst mentioned above. How are things with you? Are you using your Reminder.app productively or which tools do you use?

I only use Reminder to manage my reminders. It’s perfect for lightweight reminders that I need day-to-day. To keep track of releases/features/bugs for Reminder, I log issues in my private GitHub repo. I find this perfect for linking actual code changes to a list of features.

The scope of your Reminder-App is limited by Apple. So you have fewer options for completely new functions. Are there any open ideas you are already working on?

In the short term, I’m planning on bringing Reminder to the remaining Apple platforms (iMessage, Apple Watch, and macOS). One feature I’m working on now is adding alarms to lists. This will be super useful for bringing up your grocery list when you get to the store (previously you’d have to add a location alert to each item, which is tedious). I do have another interesting type of alert coming in the future that I haven’t seen in any other app. I’m going to keep that one a secret for now.

What about the Apple Watch?

It’s coming soon!

On the Mac, a fresher interface for the Reminders.app would also be desirable…

For macOS, I think I might wait until macOS Mojave is released (which will have better support for porting iOS apps to macOS).

Every system has its own peculiarities, including iOS and macOS, of course. Apple announced a new framework at WWDC 2018 to make it easier to port iOS apps to the Mac. A big point?

I think this is a great step towards bringing life back to the Mac App Store. You can get a bit of a sense of the staleness of macOS APIs currently, so hopefully this UIKit infusion will make things easier!

Except the new UIKit, what would be on the of your wishlist for Apple from a developer’s point of view? What things could or should Apple improve in terms of developer support?

As a developer I want to see Apple continue to expand the many app extensions available. These extensions (Today Widgets, share sheet extensions, iMessage apps) allow developers to better integrate with the platform, and in turn provide a better experience to users.

And in contrast: What amenities from Apple or the platforms convince you the most?

I would have to say Swift is the biggest reason (of many) I enjoy Apple’s platforms. The language is a great balance between lightweight and powerful. Plus, Optionals have allowed me to eradicate nearly every bug in the app.

If you had to name three apps that you installed first on your smartphone – which would they be?

* Apple Store App – Useful for preordering Apple products, and the in-store scanning thing is awesome.
* Deliveries – An amazing delivery tracker that looks right at home on iOS.
* Pixelmator – A super powerful photo editing app that I used to make Reminder’s icons.

A small mind game outside the box: If you are allowed to rebuild an official iOS app of any service (except Reminders.app) as you wish. Which app would you choose and why?

I’d have to say Mail. The default Mail app leaves a bit to be desired, and I haven’t found a third party email app that was as good as my last favourite app: Mailbox. I’d like something lightweight, fast, privacy focused, and beautiful.

Which advices would you give an aspiring developer who wants to create his own app?

Building an app can seem daunting, but it’s not too bad if you can break the app down into smaller pieces. Try and accomplish one small thing at a time, and eventually you’ll have something worth sharing. Definitely read the iOS Human Interface Guidelines first, and check out StackOverflow for help with issues you may encounter. Also, raywenderlich.com is a great place to find tutorials!

You said that the willingness of iOS users to pay is higher and development is encouraged. That’s right, of course. But what would you say to new developers who think apps can generate a lot of money quickly and easily?

Nowadays there are so many apps on the App Store, it’s hard to stand out. Gone are the days of making a quick buck. Today you have to put a lot of time and effort (and luck) into something if you want a better chance of success. But with patience and perseverance, it is possible to make some money!

Finally I would like to thank Mark for this little game of questions and answers. If you have any further questions to Mark, just write them in the comments.

Artikel teilen

Kaufempfehlung*

  • NinkBox Raspberry Pi 4 Model B 4GB RAM + 64 GB Speicherkarte, Raspberry Pi Starter Kit mit Cortex A72 1.5GHz, Ultimate Kit unterstützt Dual Display 4K/1000Mbps/Bluetooth 5.0
  • Neu ab 159,99 €
  • Auf Amazon kaufen*

Schreibe einen Kommentar

Schreibe eine Antwort

⚠ Mit dem Nutzen des Kommentarbereiches erklärst du dich mit der Datenschutzerklärung einverstanden.