I am just back from a week at iOS Dev UK 5 and what a week it was. It is only when you attempt to provide a summary of all the sessions that you attended during the week that you realise the amount of sessions and the quality of sessions on over at iOS Dev UK. Looking forward to next year already.
Mic Pringle hosted a hands on session in which we wrote a simple watch app. I left the session having completed a working app which is always a good feeling. Mic was a great presenter / trainer, the session was very fast paced but an excellent start to iOS Dev UK.
A look at Amy Kinney experiences working with clients building mobile apps. Amy is an Agile Project Manager for SPR Consulting and helps clients manage mobile projects. The presentation covered the basics of agile and how to approach client work and make it agile. Amy has made her slides available here.
From App to Infrastructure – Marc Weeber
Marc Weeber discussed his experiences working on an app which helps a company go and fix signs along the many cycle routes in Holland. Moving from staff having to take notes in the field and then manually re-enter each night, field staff can now input the data whilst on-site on an iPad even without any kind of internet connection.
Martin Pilkington looked at how to debug auto layout when things go wrong, which unfortunately they often do. The presentation included a series of useful tips on how to debug auto layout for example this gem which prints out a stack trace of auto layout rules:
po [[UIWindow keyWindow] _autoLayoutTrace]
Going Underground – Simon Booth
Simon Booth presented on how Credit360 have dealt with loss of network connectivity within their iOS app.
Oliver Mason talked about the the start-up whisk a company that turns recipes into handy shopping lists and how they are stopping domestic arguments from missing shopping list items due to data sync problems. Oliver talked about the pattern Whisk have taken with their iOS app to make sure syncs occur between multiple devices with inconsistent network connections.
Marcus Zarra provided some insights and pitfalls on different patterns adopted when implementing Core Data persistence layer. Marcus suggested the “best way” to implement Core Data along with a set of guidelines.
Amy Worrall introduced ComponentKit and React Native. Two UI frameworks written by Facebook, React Native is used within the Facebook Groups app and ComponentKit within the Facebook Messenger app. In traditional Facebook fashion they have competing aims. React Native was of particular interest because I am going to be working on a Brown Bag on the subject in the very near future.
Daniel Tull presentation looked at how he has re-modelled the data within his issues app. The presentation looked at the evolution of the modelling of data and had a lot of parallels to apps that I have worked on. The presentation had a nice summary of the three different model types he presented:
Complete Server Model
UI Specific Model
Core Bluetooth – Al Little
Al Little provided a basic introduction to communicating with Bluetooth devices using Apple’s Core Bluetooth.
I was blown away by Benny Weingarten-Gabbay presentation. Such a common problem and such a simple and elegant solution to the problem. I certainly experience the constant series of content updates which take developers time, go through constant revisions and take you away from real work. @gardenofwine did something about it and wrote the BetterContent pod
Natasha Murashev more commonly known as Natasha The Robot talked about using the power of Swift to make code better. I found Natasha’s talk inspirational, she talked about the act of learning and how “learning something new is painful” and the importance of celebrating successes.
Cate Huston has written up “The Swift Architect” here, which is well worth a look.
Kristina Thai talked about a set of native components developed at Intuit and how these components are re-used across a suit of mobile applications. The was lots of useful tips in the talk and I found the advice on how to help users useful and don’t take it for granted that a user will understand what to do.
Shawn Welch talked about a component he developed at Square, which emulates magic move effect in Keynote. Custom View Controller Transitions can be complex, the soon to be open sourced library wraps all the complexity and makes it easy to implement view transitions. Within the square app they have found they can use ‘pop’ for everything, no more modal views, everything can be a simple ‘pop’ with a custom view transition.
Cate Huston talk was fascinating, starting with a video of a guy using his mobile banking app whilst completing a bull run. The talk made me think about how our mobile analytics are flawed, they fail to capture what the user is doing at the time they are using your app. Considering how usable your app is whilst there is stuff going on around them is an important question, is it possible to use your app one handed whilst doing something else? One of my favourite quotes from the talk “On mobile your users are effectively drunk”, the reasoning being using a mobile phone whilst driving is more dangerous than drink driving.
Simon Whitaker presentation was a very informative and humorous look at how Facebook approach iOS development. Facebook has 18,000 classes, yes that’s right 18,000 classes making it a whooping 95Mb. The article “How on Earth is the Facebook iOS Application so large”, discusses this fact and if you haven’t read it yet it is well worth a look at.
Natasha Murashev ran a Power Swift session right at the end of the conference, consisting of a set of playgrounds which can be run Xcode 7 Beta 6 or later. The Playground files cover ‘Error Handling’, ‘Higher Order Functions’, ‘Protocol Orientated Programming’, Reference Types Vs Value Types’ and some Xcode projects covering unit testing in Swift. The session was well worth attending and I learnt loads about the nuisances of Swift.