A few days ago, three hundred app developers met in Lugano (Ticino, CH). Knowing that only 30% of all participants were Swiss, it’s obvious that the conference is already well known across borders. Not only the venue made us three devs (Oliver, Heiko, Adriano) looking forward to the conference. The speaker line-up was promising as well.
Lessons Learned from the App Store from Phillip Shoemaker | Favourite of Adriano Phillip Shoemaker is the former Senior Director of the Appstore.
Apart from the fact that Apple creates awesome products, and the most superior smartphone -OS in the world, it’s quite hard to see behind the stage. That’s why it was interesting to get first-hand facts from Phillip Shoemaker who was leading the Appstore for many years. Beside some facts like the one that every app is tested by a human at apple (a fact we often speculated about at Namics) we learned a lot about how devs tried to fool Apple. In the end I was happier than ever, that all my mobile apps on my phone gets seriously reviewed before i installed them. Watch it right here:
I have a second favourite. This talk was not recorded, unfortunately. We listened to a very cool talk from SBB app devs. They are in process of using object detection to let customers report defects (e.g. broken windows, painting on couches etc.).
In the talk Dave showed that the MVC approach which Apple recommends is not quite the best. In his opinion the ViewControllers are not the Controllers in the MVC. What does that mean? In Daves point of view many developers are doing „Massive View Controller“. This means that the ViewController has to mange the coordination between different views and has to manage data. He endorses to split the ViewController in multiple smaller ViewController which are controlled by the main Controller. With this approach you create a better reusability because of your generic ViewControllers.
This approach reminds me of building UI’s with React. When splitting your ViewControllers in a smaller and more generic way you create a set of reusable components just like React’s stateless components. Now you connect those blocks and fill them with data and get feedback when their data is changing.
If personally find this technique quite revealing because you take back the control of your code. David wrote a series about this whole thing if you like to deep dive.
Debugging is very expensive, time consuming and sometimes frustrating. It is a skill that is usually not even touched in university and most books ignore it completely. However, for some bugs you have to spend days inside the debugger. The next time before firing up the swift debugger I will definitely watch this amazing talk from Carola Nitz again.