Friday 15 March, the second edition of the mdevcon (Mobile Developers Conference) took place. From all across the world, a crowd of 250 developers gathered in the Tuschinski Theatre in Amsterdam. Four Touchwonders developers exchanged their work at the office for a day of learning, meeting fellow developers and listening to inspiring talks. In this post, we’ll look back at the talks we attended and what we took away from them.
For me, this day also marked the start of my career at Touchwonders. Before having spent even a single day at the office, I was able to join my new colleagues to this event and get to know them, their work and expertise, in addition to all the stuff that was going on at the conference. A lot has happened between then and now: two week's worth of development on an exciting new app to say the least. Check back soon to read more about the app we're working on.
Mdevcon is a conference targeted at developers of mobile applications. The conference covers both iOS and Android, with talks on specific technical topics, design and process-related insights.
The Dialogue is Broken
The opening keynote by Martin Legris from TasteFilter was a thought provoking talk on why the dialogue we have with our devices is broken (couldn't find his slides online). Martin compares using a typical user interface to having a dialogue with someone who isn’t listening. He advocates that every user input (e.g. a click or a tap) is akin to a turn in a dialogue and challenges us to think of what the user is trying to say for every interaction he or she has with the app. The examples he gave, mostly from e-commerce applications, were of particular interest to us because of our Blits app, a beautful client for the popular Dutch webshop bol.com. With Martin’s insights, we’ll be able to evaluate how we’re doing and keep improving on what we have.
Autolayout? Oh Boy!
Next up was the talk by Cesare Rocchi from Studio Magnolia on Auto Layout, the new to iOS 6 flexible lay-outing system (slides). Besides it being flexible, Auto Layout is also very different from the previous mechanisms. The technology is still relatively young and within the community, a consensus hasn’t yet been reached on how (or if) Auto Layout can be used efficiently. Cesare provided a solid primer on the subject and left us with the feeling of renewed enthusiasm, ready to give Auto Layout a go. ### Mobile Design Patterns
Saul Mora replaced Mikey Ward for the third talk we attended (couldn't find the slides). Some of us already knew Saul from listening to his podcast NSBrief. He talked about design patterns for mobile applications. Design patterns are proven patterns in code which developers can adapt to their current needs in order to write better code. When, later on, we talked to Saul, he grumbled: "And all people tend to remember from my talks is: don’t use singletons!" We’ll think about it Saul, thanks!
Effective iOS Network Programming
Ben Scheirman from CHaiONE talked about the popular AFNetworking framework for iOS (slides). Apps are rarely self-contained silos and our apps are no exception to that. The apps that we work on often communicate with a server to retrieve new content or send data to other services as per the user’s request. Ben gave some great tips on how you can leverage HTTP features such as the ETag and if-unmodified-since header to do efficient caching. Doing this right will require you to think about the data you’re caching: how fresh it should be and whether it contains user specific data. That should be something you’re thinking about when working with any kind of data and now we know.
Automated Acceptance Tests for Mobile
Pete Hodgson from ThoughtWorks, and creator of the Frank testing framework, continued the conference after the lunch break with a talk on automated acceptance testing (slides). Automated acceptance testing allows you to verify that your app is working correctly by performing automated testing scripts consisting of faked user input (taps, gestures and keyboard input) and test conditions on the state of the user interface. In combination with low-level unit testing for the testing of individual methods and integration testing for the testing of system components, it provides a comprehensive approach to delivering software that is demonstrably working correctly. Pete provided a clear demonstration of the value of automated acceptance testing and I am looking forward to applying it at Touchwonders.
iOS and Android Security and Exploit Mitigation
After Pete, Mike Arpaia from Etsy took the stage for a talk on security mechanisms and exploit mitigations on both iOS and Android (slides). It seems that we can praise ourselves lucky that we’re mainly working with the former, which currently has far superior security mechanisms in place. The biggest problem with Android is that a large part of its users is stuck on an outdated version and probably won’t receive updates because of the phone manufacturers that stand between Google and the Android end-users. Mike reminded us that, even on iOS, it is best to be careful with what data you trust in your app, that we shouldn’t jailbreak our devices (it voids all security that code signing gives) and to have a passcode configured (it strengthens the built-in encryption).
Developer, Value Thyself
The final talk and closing keynote was delivered by Matt Gemmell of Instinctive Code (slides). He talked for an inspiring 50 minutes on getting the respect you deserve as a developer. Matt talked about how our job often entails lots of tasks that we are not particularly good at and don’t enjoy that much, in addition to the parts that we’re really skilled at. We should focus on the latter and ask for help on the former. The same, he claims, goes for our products: focus on its core features (to put it blunt: there should be only three) and care to make them great. We definitely agree on that here at Touchwonders. Matt also got personal and talked about valuing your time (its irreplaceable), your health (don’t forget not to work and get some sleep) and, lastly, he told us to value ourselves. The message was well received by the attendees and provided food for thought at the end of an already interesting day.
After the talks, there were beers. A good chance to catch one of the speakers and ask questions or to discuss with our fellow mobile developers what we’d learned that day. And a great day it was! I'd like to wholeheartedly thank the people at Egeniq for putting together such a wonderful conference. It's great to have such a conference so close to where our business is and I'd love to come to mdevcon 2014!
Join the Conversation
If you’re an iOS developer and would like to join the conversation, we’d like you to. You could sign up for next month’s CocoaHeads NL meeting, we’re hosting!