Graham Lee
Graham Lee is a software security expert, and Mac and iOS software engineer, from the UK. He is the author of Professional Cocoa Application Security and writes for the Mac Developer Network on security issues. His career has indeed careered, going from academia via telecoms and anti-virus software to videoconferencing, asset management and whatever he'll be up to next week. Graham uses his postgraduate qualification in software security to help other developers understand infosec issues, and his physics degree to write software for particle accelerators. In his spare time, he thinks of witty things to write in the "what he does in his spare time" section of conference bios. It doesn't always work out. Graham can be found on Twitter as @iamleeg.
SESSION(S): Security and Encryption
Security is an important aspect of all applications. Whether you're saving your user from the damage caused when his iPhone is stolen, the frustration when he loses his high score place to a cheater or the cost of accidentally deleting months of work, your app has security requirements. Understanding those requirements and building your app with them in mind gives your users an environment in which they feel confident exploring your app's features. It can even provide a competitive advantage, if your app's security is superior to that of others in the field. In this session, iOS security expert and author Graham Lee will help you to understand your security requirements and how to meet them in the design and implementation of your apps. You will learn about identifying your users' security needs, and the APIs and iOS features which exist to support satisfying those needs.
SESSION(S): STAssertTrue(thisThing.state == NSOnState, @"Testing: is this thing on?")
While other developer communities like Java and Ruby have taken test-driven development dearly to heart, designing and implementing unit tests and testable code for iOS seems to be much slower at gaining momentum. However the advantages are clear: developers and users alike can be more confident that highly-tested code does what it ought. Bugs are caught and dealt with early, or not introduced at all. Refactoring, performance optimisation and adding new features can all be done without breaking existing code. In this session, you will learn how unit testing complements other forms of testing, how to design testable code and good tests, and how to ensure that your unit tests are integrated into your development process.






