Are you a mobile developer and always wanted to visit the Swiss Alps? There’s a great way to combine these two seemingly unrelated things! I just came back from App Builders, a conference for iOS and Android developers.
The 2019 edition took place last week in Lugano, and I felt inspired to write a quick recap from the perspective of an iOS developer.
About the conference
This year’s conference was held in Palazzo dei Congressi. The venue is located in the center of the city, on the shore of the lake by the wonderful Parco Ciani. The park combines the experience of staggering views over the lake, colorful flowers, friendly ducks and swans, the sound of birds chirping and fresh Alpine air.
There were roughly 400 attendees and 25 speakers. Lectures were mainly split into two tracks - iOS and Android, and they were held simultaneously in two conference halls. Some talks were not platform-oriented; they were concerning software, technology, and business in general.
There was delicious food, coffee, and other refreshments. Conferences tend to make people hungry, right? An official after-party was organized after the first day; a great opportunity to meet fellow mobile developers and mingle over a few beers.
There were many great talks. I've decided to cover some which I found the most interesting. Remember, I'm an iOS developer, so no Android, sorry.
GitHub to Chatterbug: Lessons Learned by an Accidental Entrepreneur
Scott Chacon is one of the founders of GitHub. Now, he’s CEO at Chatterbug, a venture he also founded. He provided useful business tips stemmed from his experience as an entrepreneur.
1. Use your product and care about it. He has been a GitHub user ever since he started it. Apparently, everyone at GitHub uses GitHub, even lawyers and finance teams. Scott remarked: Airbnb founder Brian Chesky rented his own apartment on Airbnb so he could understand his own product better.
2. Listen to your customers. Make it easy for customers to give feedback. Don’t ever reply with a no-reply email, it removes the possibility to give feedback. For example, he had a problem with Dropbox Paper, he sent a bug report and got back a no-reply and couldn't follow up on it.
3. Augment human beings instead of replacing them. He gave a brilliant example on customer service that bots can’t replace. It goes: “Name a profession and I’ll tell you how computers could make humans better at it, not how you could replace human beings with technology”.
Ship it safe by Guilherme Rambo
Guilherme Rambo, an iOS developer, and a 9to5mac author talked about privacy and security. There’s a heated debate on privacy in tech so I found this lecture quite interesting. Rambo presented key aspects and techniques for preparing iOS apps with user privacy in mind.
He talked about how developers shouldn’t ask for permission until specific data is needed within the app. The key takeaway here is that transparency is important - always be honest with users, and tell them how and when you plan on using their data.
There was a word on external SDKs and how developers need to be careful with using them. It’s a developer’s obligation to know how an SDK uses user’s data. Apple’s CloudKit was mentioned as a good practice for storing user data, for example for saving names.
He talked about how transparency is important and what are some best practices to explain privacy implications. Users should be given the control to disable analytics, access their data and an option to remove data. For us Europeans, that’s standard GDPR stuff, but it’s a set of good practices worth restating.
From Problem to Solution by Soroush Khanlou
Soroush showed us how to use Swift protocols to abstract behaviors with an example of network manager class. He taught us that we should be refactoring common structures, not common blocks of code.
Sharing Code Between iOS and Android Apps by Nicolas Märki and Joseph El Mallah
Nicolas and Joseph from Ubique gave an interesting lecture regarding sharing code between platforms. They showed us how to share C++ code with the help of Djinni; Java code using J2ObjC and Kotlin/Native code which has LLVM backend and runs natively on iOS. They also pointed out the advantages and disadvantages of each approach and code sharing in general.
Use C, C++ and Objective C Libraries in a Swift Project by Cecilia Humlelu
Cecilia from Spotify had a great session with a similar topic as the aforementioned one. She showed us how to add support for non-Swift libraries and explained how communication between C, C++, ObjC, and Swift works. She showed how to add dependencies and wrappers for supporting non-Swift libraries.
Protocol Witnesses by Brandon Williams
Brandon from Point-Free talked about some problems regarding Swift protocols and how to solve them. He showed the process of de-protocolization: conversion of a protocol to a struct using protocol witnesses.
How to make the most of your free time
Lugano is a beautiful city. If you have some spare time, you should spend it by embracing nature. You can take a walk on the city’s lake-side promenade. I would recommend to take a boat trip and explore the lake. You can take the funicular to the Monte Bré or the Monte San Salvatore.
Should you visit App Builders?
I definitely recommend it. It’s a complete experience, a great mix of education and a beautiful location with an opportunity to meet developers from around the world. Did I mention the Swiss chocolate?