On Friday March 6th aFrogleap was present at mdevcon 2015 with Chris(Backend developer), Alexander(iOS developer), Killian(Android developer) and Eelco(iOS developer). They teamed up to listen to as many speakers as they could.
This year mdevcon had a lot of speakers for Android, iOS and Windows Phone across three rooms of the Tuschinski theater in Amsterdam.
For iOS the most interesting talks were about debugging by Michele Titolo iOS Lead at Reddit and Mathijs Kadijk talking about taking ‘Swift’ into production. We give a short summary of these talks as follows:
Michele Titolo explained us everything about LLDB debugger commands, she showed us what is beyond setting breakpoints in XCodes IDE. Start using the debugger console for getting more out of your debugging session Inspect objects in scope using:
And runtime manipulation of your objects using:
expr self.person.gender = @”M”
Setting breakpoint using LLDB:
br set -f ViewController.m -l 15
Or even running Python scripts in your debugging session:
Facebook open sourced a set of very useful LLDB commands called Chisel, check it at github: Chisel
For getting help on LLDB commands when hitting a breakpoint try:
help breakpoint command add
Check the slides on slideshare: More than po
Taking Swift into production — by Mathijs Kadijk
The guys from Q42 did a brave thing. At WWDC 2014 Apple released Swift, a brand new language to write apps in. They were so excited about this that they decided to build their upcoming app in Swift.
Mathijs talked about how they approached this to see if it really could succeed. After 4 weeks into development they were still excited and confident enough they could finish the project on time and build it completely in Swift.
Some lows: long compile times, frequent crashes of XCode/ Xcode related services. Most of these are already solved or being solved currently by the Apple Swift team.
He also showed some really nice Functional Programming paradigms which are easy to write with Swift and make coding a lot easier.
Death to passwords — by Tim Messerschmidt
Tim explained during his talk that app clients frequently request login functionality and that most apps don’t really require such things unless you want to bring your account information/settings to another device. It’s one of the more interesting things to see happening with the user-centered approach in development. The all familiar “tripple-w” where you ask “why?” three times to find out why a client wants to have certain functionality. 9 out of 10 times the client finds out that the app doesn’t really-really need it, but more something like it.
Later Tim went into more technical detail between if you finally want to have an account, and logically need some password, what type of encryption you should use; interestingly he suggested slow algorithms instead of fast ones such as md5 or sha because brute force is your number one enemy!
Wear’s the party! — by Paul Lammertsma
During his talk Paul explained how ootb (out of the box) the notifications worked from your Android device to your Android wearable. The amount of technical information provided during this time was a bit limited unfortunately, but it was nice to see how easy it was to make use of the wearable to display notifications.
Design 101 for Developers — by Stephen Barnes
Stephen had a simple message for both the designers and the developers — less is more. Don’t clutter your app design with too many or too few types of colors, or tints, or tones — yes, he was designer oriented and had fancy designer words for colors.
This basic breakdown of design — first order and color and then detail — was a refreshing point of view that actually made a lot of sense for a developer. Ordering your data is way more important and has way more effect than styling the screen to make it look like your website.
A mobile backend with Azure — by Rajen Kishna
I’m sure they have put a lot of work in the Azure product. Sure it looks fancy and might work really snappy, but the most useful feature that the “mobile backend” really had was automatic scripts that executed ON INSERT or ON UPDATE.
What this meant is if you had, like the example demonstrated, a movie database app and added a movie like “the Matrix”, the system would recognize the title and execute a script to obtain more information about this movie. What Microsoft probably didn’t realize is that this is just some nice fancy feature that any backend could have; hell, you could even create something just like it since the Azure system simply runs a script.
‘Hacking your doorbell’ — by Karl-Henrik Nillson
See you next year!
We have seen some nice talks at mdevcon 2015, with a few talks we missed getting really in depth of the topics. Next year we should attend tutorial day for more depth.
After the closing keynote all attendees and speakers went to the Three Sistersbar for drinks.
Thanks mdevcon and speakers for a nice day in Amsterdam!