Sunday, November 13, 2011

Mac Tech Conference 2011

I attended the Mac Tech Conference at Universal Studios. I took some notes about the presentations that others might find interesting.  Mac Tech was a good conference and I think it's worthwhile. Though, it's certainly no WWDC. If you are a Mac or iOS developer and can only attend one conference, then WWDC should be your choice. If you can attend more than one, or are on a tight budget, then Mac Tech is a good choice.  Overall the Mac Tech conference was more focused towards the mac support and integration world than it was for development.

Keynote: Guy Kawasaki
  • He covered the "12 Things I Learned From Steve Jobs" to promote his new book. "Enchantment".
  • There are three principals of enchantment : Likeability, Trustyworthyness, Quality.
  • "You should use the 10-20-30 rule for presentations. 10 slides, 20 minutes total, 30 point font minimum.
  • He talked a little about why MBA's are bad.  I really enjoyed his point of view.
  • Walt Disney, Henry Ford, and Steve Jobs were visionaires. Though if you had to pick only one, he'd pick Steve.
  • Although the talk was good, he tended to brag a lot.  This took away from the overall message a bit.  For example:
    • "If I had stayed at apple, I'd be so rich on stock now that there's no way I'd be talking to you guys. When they called me to speak here, I would not have returned the calls"
    • "I left apple the first time because I wanted to be a director. When you become a director at Apple you get a car, and I wanted a car paid for by Apple"
    • "You notice I didn't use the 10-20-30 rule with my slides, but you should because you are not me. "
    • He told a story about Richard Branson polishing his shoes with his sleeve to try to get him to get him to fly Virgin Airlines.
Aaron Hillegas : Developing Mobile Apps
  • This was a GREAT talk. I am now a fan of Aaron Hillegas.
  • Everyone agrees that smarts are moving into the cloud, the browser is becoming the OS, the assembly of that OS is javascript, and the presentation is HTML5.
  • He talked about making an app that is Poor, Usable, or Delightful. With Mobile apps, you get to Delightful much cheaper than you can with HTML5.
  • He said, "The best JavaScript/CSS/HTML programmers in the world worked 7 years and only got a usable word processor. " - Good Quote.
  • As the experts talk more, the chance of success goes up, but once you start adding more and more people, the chance of success goes down. You need the experts to keep talking, but limit your calls and meetings to the essential people.
  • Having a designer on your project is part of the expense. He called it revenge of the art nerd.
  • Here are the questions that keep him up at night:
  1. There is a battle between iOS/Apple and all the other handset makers. How can developers benefit from the power struggle in the industry ? Carriers are recognizing that developers are important.
  2. Once we start writing applications and they generate data. What do we do with the data ? There are ethical and environmental questions involved. There are companies that have huge databases about you. How will it be used? Will the data be used for our benefit, or used against us.
  3. Is privacy dead? If you have a phone or a credit card, there is a lot of information about you in the ether.
  4. Are we gradually replacing reality with a simulation of that reality? (simulacrum). Are we communicating with more and more people in a less significant way?
  5. What will be the effect of shorter attention spans. If we are spending more time reading tweets and blogs, what happens?
  6. When we only talk to others like ourselves, how will we have empathy for those who are not.?
  7. Why do we do this? Why do we write apps? Why do we create technology. – This one, we have an answer for. Look at the cheetah and the gazelle. Over time, they get faster and faster. Similarly, we as programmers are co-evolving with our users. User demands are going up along with the capacity of tools and process. We had a bit of a respite when the device came out.
  • He had a great slide about the co-evolution of cheetahs and gazelles as well as Beethoven and pianos.
  • Big Nerd Ranch is now doing more android consulting than iPhone.
Nathan Eror : Using Core Animation
  • This was a good talk showing the basics of Core Animation and how to get started using it.
  • There is example code for everything he covered.
  • https://github.com/neror/CA360/
Chris Rojas: Building Robots From Scripting to full application development.
  • Chris gave examples of talking to the Microsoft XBox Connect Device.
  • Lots of other examples of other things folks have done building projects.
  • Talked about "Hacker Spaces" which are clubs where you have access to tools like laser cutters and CNC.
  • I really liked the Hacker Space idea.  You could come up with project and use the space to build it. 
Patrick Rhone : User interface and design
  • Talked about gestures on iOS devices and why it's important to stay with standards.
  • Visual is what gets folks interested, but you need to build a lasting relationship.
  • Mental Model : What is the user thinking when they try to do a particular thing.
  • An "Invisible UI" is when the intent of the app and the features of the app are matching.
  • We’ve done away with keyboard and mouse. Moving a paper is not about arrow keys, mouse, scroll. You just touch the screen and move it.
Kevin Miller : Live Code from Run Rev
  • 3'rd party application framework for building mobile apps.
  • He built an iPhone app in 3 minutes that displayed information about the conference.
Jeff Biggus - Accelerate Framework
  • Great low level talk about API's available in the Accelerate Framwork
  • Many of these have been around for a long time in C and can be used on Mac and iOS.
  • http://blog.hyperjeff.net/blasLookup.pdf
Indie Software Development
  • This talk was pretty useless. It was about how to make $$ by buying lousy apps and fixing them up.
  • http://www.apparentsoft.com
Tim Isted : Core Data
  • Talked about core data and how to use it.
  • I really like the Core Data framework and think it's a great tool.
  • Core data has its own undo manager.
  • There is a core data instrument that is available for the Mac or the simulator.
Using Instruments:
  • This was a decent talk about how to use instruments in XCode. There are some great tools in there.
  • Zombies: App crashed from something released twice. The zombies tool is the allocations instrument with some custom settings.
10 Dirty Words In Application Developement
  • The idea of this talk was Serendipity : Take learning where you can find it.
  1. insertWithLengthBy
  2. insertBacktab
  3. autorelease : Everyone knows this one.
  4. yank : An NSREsponder method
  5. stroke: an instance method from NSBezierPath
  6. member: Part of NSSet.
  7. NSRectFill : AppKit function. It doesn’t do Alpha
  8. NSInsertionPosition: Enum used by NSPositionalSpecifier.knobThickness : A method on NSSLider and NSSLiderCell.
  9. tooltip
  10. knobThickness. : A method on NSSLider and NSSLiderCell.
Jan Mosh: Security
  • Jan is from Google. He had a great talk about vulnerabilities and how they are exploited.
  • The best to protect the data is full disk encrpytion. – That protects the data at rest.
  • When the data is in memory, it is in plain text so it is vulnerable. You can get to it through DMA.
  • Demo'd pulling memory from a laptop over firewire using DMA. (very cool)
  • Sample Python Code : http://c0re.23.nu/c0de/pyfw/
Daniel Jalkut – Red Sweater Software : Receipts
  • When you purchase something on the app store, the store injects a receipt that takes care of the registration code.
  • Reciept has the id of the machine. If you don’t handle that properly, folks can copy your app to a new machine.
  • Non-Transferable – The receipt is under an Apple ID. If you get a new machine, will it show your app as damaged?
iCloud : Rich Warren
  • As a developer, the only place we can play with is the iCloud Storage
  • It is not remote storage, you still have a local copy on your device. You won’t use less memory.
  • It is not a sharing communication channel
  • It’s not a communication channel between apps.
  • It is for syncing data and documents between devices.
  • rich@freelancemadscience.com
  • http://freelancemadscience.com
Backlot Tour
  • They brought us on a backlot tour of Universal Studios and took us through the King Kong ride.  We then had a Q&A with the folks that maintained the ride. 
  • They showed us a video of how the ride was put together. 
  • They use 16 QVS machines at once to project the show. 8 Per side  There is a slight overlap between the projectors.
  • All the animation was done by Weta Digital.
  • All the testing was done in the large hanger in Long Beach. Folks from Weta flew over to watch as the film progressed. 
  • There were a lot of folks that thought the overlapping projectors or odd screen size would not work but they got it to work.