5) “It’s O.K. to screw up, I’ve been doing it for years!!!” – Chris Haseman (Tumblr)
After years of mobile software development, nobody ever gets it right the first time. Nobody will hit a home run the first time they are at the plate. Failure is not a destination. It’s a required function to figure out how to make it right. Rock that Flame-retardant jacket when reading your app’s painful reviews. 1-star with no comments means you made no impact that resonates with them. 1-star with comments means they care enough to say you suck. However, be very selective what costs are associated to user feature requests. I think Chris’ end keynote was something tangible everyone in our industry can relate to.
(However, I’ll have to argue with Chris that it is not OK to screw up when the money runs out. )
4) “Multi-Screen doesn’t have to be a TV paired with a device. It can also be device to device on the same Wi-Fi LAN” – Matthew Patience (Bnotions)
Cool proof of concept of how we developers can make multiple Android virtual machines to talk to each other. Google TV is a tough sell though. I like how TV set manufactures are making it a feature differentiator over their competitors. However, writing a Google TV app is as equally complicated as writing any other Android app. That said, it probably has by far the smallest audience in the ecosystem.
3) “Tapestry is a way to visualize a user’s line of thought” – James Wu (Kobo)
One of the best ways to take advantage of the large real estate of a tablet is not to fit more paragraphs of text but display a collection of thumbnails. Each thumbnail could represent 1000 words in the same space a 10-word TextView control takes up.
When tablets first came out, it was about deploying the phone version in a tablet which made it all stretched out and crappy. It really discounted the extra pixel space. This is not the original intention but because we didn’t know better. Google gave us the technical tools to do this with Fragments but it can be a difficult visual metaphor for a n00b trying to get their head wrapped around how Activities work. Tapestry is a great UI dialect that exploits the extra pixel space and gives us a visual metaphor that we can all relate with, that also exploits Fragments as well.
2) “Take the bytecode of AE and render it on the device” – Peter O’Bleins (Flick Software/Freakin’ Awesome Apps)
Very cool presentation about how Flick Software harnesses the power of After Effects and the cross mobile power of C++ to deliver high performance user experience on iOS and Android.
- Take the bytecode of AE and render it on the device.
- Motion designers can work in a tool they are familiar with. The assets they generate can be made once and compile to many targets.
- In the right hands, this workflow can yield the most mind-blowing high performance non-native user experience HTML5′ers wishes they can do. It writes once but compiles everywhere and doesn’t run like crap
- Business logic is written once for all targets
- Presentation logic to trigger the timelines of each moving asset is written once for all targets
- IMO, C++ is not as an accessible language to pick up as say Java. C++ is Latin as Java is to English.
- In order to support dynamic layouts, they must have had to re-write their own size, measure, and render layout engine when UIToolkit and Android Java Framework already do this pretty well
- For the budgets of many projects, sometimes all you need is a simple list. Not the sexiest one ever made.
The presentation was very reminiscent of how Flash made it’s way into our lives through desktop browsers. It broke the barriers HTML set up everywhere. The guys at Flick are performing a similar feat of getting timeline animations into our lives through cross-mobile native apps. It attempts to break the barriers HTML5 (performance) and native (platform lock-in) have set up.
1) “We Can Do Better” – Alan Paulin (Google)
Re-think App Initialization – I’ve been doing client-server for so long that configuration upon each and every login is trivial. Cloud to Device messaging has been around for a while. It never occurred to me that we can pre-fetch this step to reduce the penalty of initializing an application. Server-side push happens once and all the settings can be wrapped in that bundle and persisted on the device. The app reads from its cache instead of waiting to hear from the server after login. Absolutely brilliant.
Web-View Tricks – Once you’ve made the correct choice to go with WebViews, display the most static template-able aspects of the view the user ahead of a call. The call itself should be reduced to an AJAX request. The moral of the story is to get users to download just the data rather than data wrapped in visual layout markup.
Comments about the conference:
- It ended at 4pm. What the hell! Oh well, I’m alright with that because the after party started early. Maybe next year it will be renamed AndroidTO Happy Hour and it’s an actual slot on the schedule.
- Also because it ended early, it should start early. 8am Keynote. Maybe +5 minutes between sessions. Networking/Office Hours is as important as the sessions themselves
- Theatre + Location is a winner. Attendees will understand if conference starts at 8am because movies start playing at 4pm
- Give us back the panels!!! Give me conversation/controversy. Get those experts up on that stage.
- Your 4th year’s 4th track should be hardware focused/XDA focused. A lot of users want to know how to unlock the power of their device. Give XDA community, Bluetooth and USB Hackers a soapbox.
- Keep the prices low and I will keep supporting it