I’ve just returned from three days of iOS talks, conversations, meetings and fun at the third iOSDevUK. I must admit, I wasn’t looking forward to the many hours it takes to reach Aberystwyth (whether travelling by road, rail or air, it just isn’t that easy to get to!), however, by the end of the conference I was certain I would be returning next year.
The iOSDevUK is very cheap, at just £300 you get pretty much everything thrown in; breakfast, sandwiches, cake, the conference dinner and more. Not only does this provide excellent value for money, it also results in a highly social conference, with all the conference attendees sharing their thoughts and ideas over breakfast, morning coffee and beyond.
The social nature of the conference continued on the second day with a trip on the Vale of Rheidol Railway through some stunning scenery, finishing at the Haford Hotel for the Speakers’ dinner.
(Picture via Oliver Mason)
I attended far too many quality presentations to remember them all – although a couple of underlying themes did stick in my mind:
The first was user experience; Mic Pringle gave a practical and informative talk on “The iOS Developers’ Design Armoury”, which detailed nine simple ways in which you can improve the user experience of their apps. Continuing this theme Matthew Bolton asked “Are you making a 5-star app”, where he showed a number of excellent apps that were undermined by just one or two simple flaws. Where user experience is concerned, the little things really do make a big difference.
The second was anti-patterns and code smells; Daniel Tull talked about “Everything but the kitchen sink”, a humours look at the Massive View Controller anti-pattern. Drawing on his experience as a consultant, Daniel talked about the all-to-common problem of bloated classes. Continuing this theme, Marcus Zarra talked about “Exploring MVC-N”, where he gave an opinionated look at what he sees as code smells (singletons, frameworks, and bloated view controllers). I must admit, I found much that I disagreed with in this talk …
The singleton pattern is almost universally derided. However, the singleton, and design pattern in general, are nothing more than tools. And as any good craftsman will tell you, you have to pick the right tool for the job. Back when I was developing enterprise Java applications, singletons were an anti-pattern – they limit scalability. Whereas, when developing applications for mobile phones, the use of a singleton as a global point of access for a service makes perfect sense to me. What’s the alternative? Dependency Injection – although if you are using DI, you’ll probably need to add a splash of Inversion of Control into the mix. I have a real dislike for needlessly complex code as a result of singleton-avoidance!
I’d also have to strongly disagree with Marcus’ assertion that frameworks are a code smell. If there is one universal truth in software engineering, it is that re-use is a good thing. Re-use can be achieved on many levels from code-snippets, classes, frameworks and libraries, to services. Frameworks save you development time and money!
Finally, iOSDevUK gave me an opportunity to share beautify with everyone:
What’s beautify I hear you ask? It’s a tool that we hope will improve the developer-designer workflow by allowing you to live-style iOS application. Find out more at beautify.io.
Hopefully see you all at next year’s iOSDevUK!