All the Sessions from Objective-Cologne 2013. Attendees can request a promo code. Thanks to all of you buying those videos — it helps organize ObjCGN 2014, which will be held at the same amazing place (with the same amazing food) on September 23rd to 25th. The 3rd Day (ObjCode) will definitely happen this year again at StartPlatz. Note that the Panel from both days are here freely streamed.
DOWNLOAD AT gum.co/OC13A6
Panel Speakers: Steve "Scotty" Scott, Katharina, Alex von Below, Damien Gosset, John Fox. Subjects covered:
00:00 — Introducing the panel speakers — the rumble starts
02:27 — Speaking of rumble: Sumo fight!
05:00 — Skeumorphism: Why @stuffmc is the only one to like it :(
10:22 — What Alex von Below thinks about Scott Forstall…
17:32 — Developer ID: Is it Apple's consent that Sandboxing really isn't the thing?
23:25 — The utopic idea of downloading an app with curl...
29:08 — What's missing in Cocoa or ObjC? REPL, Fix & Continue, …?
34:56 — @mues_li explaining some of the nice things in other languages…m
41:43 — Support: when is it too much? (bits from Adler)
45:20 — TextExpander + Eat & Drink Informations
DOWNLOAD AT gum.co/OC13B6
Panel Speakers: Mike Lee, Ortwin Gentz, Erik Romijn, Matthew Bolton, Rainer Brockerhoff. Subjects covered:
00:00 — Preparing, Introducing, and Warning @bmf about @ortwin
06:01 — So, Rainer, should we really [F^^k] Ones & Zeroes?
09:26 — @bmf SINGING "Don't mistake the Metaphore for Reality"
11:01 — iPhone 5C & 5S: The new "Duo" Strategy? @mattbolton's view
14:59 — The iPhone should still make phone calls, says Rainer… Whaaat? :)
22:02 — The iPhone 5C is like an old VW Van with a "new" smell...
26:37 — UI Guidelines: Should we break them all the time?
31:52 — @isutton: "I guess Apple leaves more room for us to do our own things UI-wise, since iOS 7"
38:17 — @arepty: "There's a lot of things who'll be confusing for the user in iOS 7"
45:27 — Polls from @uliwitness and others about the usage of logging...
52:11 — Erik Romijn (and the others) about TouchID's advantages & drawbacks
62:13 — End of the Panel + Group Photo and so on! See you in 2014!!!
Community is powerful. It creates ownership, advocacy and loyalty. Scotty looks at what it makes community work and how developers can get these forces to work for them by building community around their products.
00:00 — Intro: "F[^^] 1 & zeroes" (2012( Video
01:48 — Welcome to (Objective-)Cologne! v2.0
03:16 — A little bit of german: Damen & Herren
04:32 — StuFF mc goes on the roof to find Internet...
05:33 — Awesome Conference Dinner at 7PM
06:26 — Objective-Code(logne) on Thursday @ StartPlatz
07:39 — Thanks Elgato, GitHub, Nexmo & New Relic!
08:19 — Scotty, the original Conference MC
09:59 — Scotty arrives on stage!
11:36 — Scotty's Big Number: Like Apple?
15:15 — Community: Why should you care?
19:47 — What is community? Definitions...
23:15 — Things in common: Rabbies & Baking?
25:49 — Creating a community around your app or service
32:01 — Ensure everyone wins!
33:17 — The structure: Superstarrs, Helpers, Communicator, Gathers, ...
37:07 — The old boys: Hoctor, Jalkut, Simmons
41:15 — The best conference: The coffee machine!
42:50 — Peter Hosey (Helper) vs Fuzzy Goat (in the room!)
46:35 — Again: Ensure everybody wins!
49:31 — One More Thing: Real communities...
51:04 — John Fox's question: Scotty explains C4!
Now that Apple has introduced Automated Reference Counting, we don't need to worry about Memory Management on iOS and OS X anymore, right? Well, while it may be true that ARC removes a lot of worry for a lot of people, it is well worth investigating it in detail.
This session attempts to answer questions about how ARC works, and why knowing about traditional memory management is still important.
While ARC is a solid technology, developer errors can manifest themselves in new, strange ways which are not always obvious to debug. This session will try to help.
00:00 — StuFF mc: "Alex doesn't understand my questions"
03:51 — Why talk about Memory? Why?
07:27 — Virtual Memory, Real Memory, Swapping, ...
10:17 — Manual Memory Management, ARC's Mom
12:56 — Garbage Collection — Be ready to have one additionnal core
14:43 — ARC: Best of Both Worlds (Manual & GC)
18:36 — ARC: A few new attributes (__weak __strong)
26:50 — A very nasty thing you could see with ARC (mov r7, r7)
33:46 — The still useful (under ARC) Autorelease Pool
37:34 — ARC and Core Foundation — Let's speak about bridges!
43:24 — The Little ARC details, things we can't do anymore...
46:24 — @arepty: "What's the mov r7, r7 for i386?"
47:14 — @imsart: "The difference between strong and retain?"
48:02 — @imesart: "Why is my pointer nilled when bridged?"
50:01 — @isutton: "Why was it crashing in your example with id and BOOL?"
51:31 — @mues_li: "Tell me about that amazing hack!"m
52:40 — Last note from @stuffmc + answer from @geheimwerk (THANKS for the Audio!)
54:03 — NEXT: Damien Gosset "Product Design"
Damien goes over his worklfow for making great products, great apps for his clients. He takes us on a road starting from brainstorming until the App Store publishing, with things like UX/UI Design and testing in the middle, as well as many communications with users and clients.
00:00 — About to start… Everybody's back from lunch!
01:13 — Damien: My yearly frog (Cuvée 2013)
04:23 — As developers we keep on doing the same mistake: coding first.
08:30 — The process: from brainstorming till the App Store...
15:07 — Make something that people want, meet your users...
17:50 — UX Design: Probably the most important step
21:35 — Try your mockup — make it become a real app
24:53 — Time to go to code: with Passion and Skills
29:45 — Keep it Simple Stupid & Secure!
33:54 — Localization & User Feedback: Do not forget it!
37:20 — App Store: A bit of a nightmare… Screenshots anyone?
42:00 — Take as much feedback as possible, don't break it at the end...
44:00 — NEXT: John Fox — "Waste Nothing: Tales of reuse"
John talks about how you can keep on re-using not only your code but more importantly your more important asset: the domain you are passionate. Look at how John has "re-used" his MemoryMiner knowledge on Findery or other projects.
00:00 — Share the Stress — How it is between Sessions...
02:02 — So John, What the C?
05:29 — Meet Grandma — Waste nothing!
08:12 — Meet Marcel, so old he can speak about NeXT
12:09 — Meet the Canon object.station (yes, this is Hardware!)
15:16 — Loading big images (Bonus: John got Stuff to touch him)
18:15 — MemoryMiner (+WebObjects seen as Monty Python's Black Knight by John)
24:03 — Tales of Reuse: The audio attachment/recorder as a sole app
27:28 — ShowRunner: An App that feeds second screen apps
32:20 — User perception of speed is as important as actual speed
35:14 — Using a WebView? Yes, we can. How John uses HTML & CSS...
41:43 — Coaching the first time user (and yes, U can Haz The Codez)
43:56 — PSA: Where are the comments??? Please comment your code!
45:08 — Confession: This wasn't Grand Ma. Here's the real one...
46:54 — It's important to be grateful: God Verdom!
49:38 — Fabulous Prize Section: A few questions to the attendees...
52:06 — NEXT: The Panel with all speakers from Day 1
Lemurs Chemistry: Water is a fast-paced game with intense graphics and audio that maintains buttery smooth performance, even on the original iPad. Its secret weapons? Objective-C and Interface Builder.
If you think you need OpenGL to get good performance out of your game or custom interface on iOS, think again! The native toolchain provides everything you need to deliver bare-metal performance to your users.
This isn't the same old tutorial on using Instruments, but the real life experiences of legendary product engineer Mike Lee as he's shipped some of the world's most notable apps.
Half fishing story, half detective thriller, Mike's inimitable style will make you laugh and cry, and you might even learn a thing or two about delivering the surprise and delight your own apps will need to be successful.
00:00 — Day 2: Gold is Best. BEST. BEST. BEST.
01:44 — Thanks to the 2012 Speakers!
03:38 — Thanks @martinwinter for the new T-Shirts + Sumospeslagh
05:12 — Technical Keynote — because YES, Mike *is* technical
06:52 — I'm gonna talk to you about High Performance UIKit — or simply UIKit
08:30 — The power of the Enigma
11:23 — How American Airlines mastered Excel Sheets...
14:47 — The list of efficiencies: 1, n, log n, n², n!
18:30 — ObjC Bound: objc_msgSend is super slow, right? No it's not...
21:51 — Premature optimization is the root of all Evil
23:14 — Operation Bound: What to do when you don't know how to make it faster?
26:25 — Graphics Bound: Real time operations are expensive
29:45 — Lemurs Chemistry was Memory Bound
36:36 — Human Bounds: What binds all other things together
41:17 — We shipped. But for what? No marketting, team left, ...
44:49 — Leather: The real reason in Friends.app
45:45 — Q&A: What to do when it's not obvious where to use @autoreleasepool?
47:56 — Q&A: Marketting: How to find the right person?
49:21 — NEXT: Ortwin Gentz — Sneek peak at the Bag of UI Tricks
UIs of iOS apps shouldn't only be easy and consistent to use but also have some personality. We walk through various tools and frameworks that help creating great UIs. We discuss how to add missing features to various UIKit controls such as buttons, labels and alerts, how to use UIWebViews in creative new ways and how to improve the performance of UITableViews.
00:00 — Ortwin: Always there to remind @stuffmc how much he sucks...
03:28 — Using Images instead of programming the designs
10:24 — Tools: Waster, Pixel Slice, Slicy, ...
15:10 — Great App Makers steal from the OS, thanks to @0xced
20:17 — Auto-Layout: Added in iOS 6, usable in iOS 7 — the future anyways...
25:28 — Tools to view your views: DCIntrospect, Reveal, ...
32:55 — UIButton touchable area
36:44 — UIWebView: A few transparency tricks...
42:38 — TableView Performance + Question from @mues_li
48:31 — TableView Cell Drawing: Different approaches...
55:05 — NEXT: Matthew Bolton — Get 5★ reviews for your app!
56:54 — Bonus Track: Disk Alarm loooooves Ortwin...
Reviews can be important to apps, not just from the press, but perhaps more crucially from users. There are lots of fantastic apps in the App Store that come close to greatness, but issues both small and big can tarnish them. Apps that could get five-star reviews don't get the accolades they should.
The reasons can range from missing features, to UI issues, to perception problems – and they're usually fixable. This talk looks at examples of where other apps have gone slightly wrong, so developers can learn from others and make sure that their own apps get the scores they deserve.
00:00 — @stuffmc: "I've known Matthew for… days"
02:10 — I'm here to ask "Are you making a 5-star app?"
04:50 — Don't ask for a review at bad moments...
10:13 — Don't use notifications to annoy your users...
14:10 — Be carefull when changing standard user interface expectations
19:59 — An interface can be as good as a feature
26:45 — Inflexibility: features that people might not want at all
31:43 — If you're gonna be utilitarian, it should be simple to understand
37:36 — Don't promise too much, don't let people down
42:00 — Those things seems obvious.. but not...
47:24 — But these are all just examples. Be the exception!
50:01 — NEXT: Erik Romijn — iOS security: super simple stuff
Our apps today store more and more sensitive information. As developers, it is our job to ensure this information is well protected. iOS comes with many built-in security features, and several APIs to help secure the user's data. Using these features is not incredibly hard, as long as you know about them, use them properly, and avoid their pitfalls.
In this practical session, we'll demystify the details of built-in iOS features, like filesystem encryption. We'll look at the various APIs you can use to protect data, like Keychain, and how to use them properly. We'll also dive into many small but nasty potential issues, like the use of pasteboards. Lastly, we'll take a look at some examples of how not to do iOS security, and what we can learn from those.
00:00 — Terminal & Jailbreak: Preparing Erik's Session...
03:07 — Hackers can turn your computer into a bomb!
08:24 — Always assume everyone is evil
14:00 — Keychain: Never use "Always" or "AlwaysThisDeviceOnly"
19:52 — Demo: How the "super secret password" was in NSUserDefaults
25:26 — API Calls: All your users are evil
32:37 — Even banks have security problems (right, ING?)
35:21 — Private Pasteboards seem to be better in iOS 7
40:24 — SQL Injections: Fix by using prepared statements
45:16 — howtostoreiosdata.com: Your one stop point for iOS Security
46:49 — NEXT: Rainer Brockerhoff with his "Ancients" tips
After some historical highlights, Rainer will talk about receipt and signature checking on the Mac App Store, finishing off with a few philosophical points.
00:00 — Introducing Rainer & other attendee who came from far away...
03:51 — Hi Young Ladies and Young whippersnappers!
06:33 — My first computer was an IBM1401 Mainframe
08:55 — 1985: Unitron Mac 512 Clone
12:31 — I've avoided learning 32-bit iOS and I was right!
15:16 — The content of the Contents Folder we need to understand
19:41 — Tricky code for signature/certificate checking
24:13 — Abandon all best practices… It's fun!
28:05 — There is no Magic, it's ones and zeroes all the way down!
30:12 — @djembe: "Who had the first Macintosh in Brazil?"