The full schedule for AnDevCon III (14-17 May 2012) has finally been released with 42 different classes and several workshops.
The sessions will be organized into five subject area:
- Developer Essentials: These technical classes and workshops are for all Android developers and cover all programming topics.
- Android Enterprise: These technical sessions cover topics specific to building and managing apps for employees, business customers and partners, such as back-end integration corporate data center communications, ERP or CRM systems.
- Android Business: These classes and workshops are for entrepreneurial developers who want to learn the most effective ways of distributing and selling Android apps, including how to maximize profit through the Android Market.
- Android Tablets and beyond: These classes and workshops are specific to commercial devices beyond smartphones, including tablets, Google TV, and other platforms.
- Embedded Android: These classes and workshops are for developers working close to the hardware, such as on custom devices, or diving deep into the internals of this flavor of embedded Linux.
I’ve gone thru the list and selected 10 classes that I think could be particularly interesting with sessions related to Embedded Android (Sensors, Android Accessories) and relatively recent features/standards such as Google TV, NFC and HTML5, one session about graphics development (OpenGL, NDK), one about Android testing as well as the only Android Business session:
Android Sensors: Virtual Sensors, Embedded Level Implementation and Future Directions by James Steele
More and more sensors are being included in Android devices. Android provides a common API to access sensors, but effective use of sensor data is more complicated. Performance can vary greatly from platform to platform, and there is no standard sensor suite. Methods to optimize performance and provide a more relevant result are presented. Examples will include using the NDK on commercial devices and creating sensor drivers for a custom embedded Android device.
Talk to Your Toaster: Developing Android Accessories by Dave Smith
In the last year, the opportunity for Android applications to connect with other devices has exploded. Honeycomb and ICS have brought technologies such as USB, wi-fi Direct and Bluetooth into the SDK as viable modes through which an application can communicate with the outside world.
This session will address the APIs available in Android to connect with external hardware and the basics developers need to get up and running with each. The USB framework will be explored, including host mode and the Open Accessory protocol. Attendees will also learn about communicating via RFCOMM and device profiles over Bluetooth.
Although this session is not directly hands-on, sample code for both the Android and firmware side will be provided. Experience and familiarity with embedded development platforms such as Arduino is helpful, as we will be exploring some accessory firmware. An understanding of the basics of USB and/or Bluetooth technology is also a plus.
Protecting Your Android Source Code by Godfrey Nolan
Due to the design of the Java Virtual Machine (JVM), it is relatively trivial to reverse-engineer Java code from Java jar and class files. While this hasn’t been an issue in the past since most Java files are hidden on the server, it is an issue on Android phones where the client-side Android APK files are easily obtained and just as easy to decompile back into source.
Open-source and commercial obfuscation tools will be shown as well as other techniques you should be using, such as C++ coding, watermarking and more to stop people gaining access to your Android code.
Android in the Stratosphere: Advanced Development for Near-Space Exploration by Craig Isakson
Have you ever wondered what the world would look like at 100,000 feet above sea level? Wonder no more. The instructor took a weather balloon, an Android phone and a sense of adventure, and launched Android into near-space.
This class will explain advanced programming techniques used in Android to perform GPS tracking and data recording, as well as automated camera capturing to document and record flight information. Other topics covered in this class will be utilizing the Google Maps API with custom drawing, SQLite database creation and manipulation, and creating services.
Automating Functional Testing for Android Applications by Stu Stern
Automated functional testing is crucial to the development of all Android applications. A core suite of automated functional tests provides a solid foundation for rapidly iterating product releases by ensuring that the introduction of each new feature does not inadvertently break pre-existing functionality.
Advanced Graphical Applications using NDK and OpenGL by Robert Green
Consumers are expecting more out of their Android devices every day, especially in the realm of graphics. Most modern Android devices carry very powerful GPUs that can produce beautiful graphical animations, provided developers know how to really utilize it.Android ships with Java bindings for OpenGL, but many applications can benefit from the addition of native (C++) high-performance components, and this class will demonstrate a general solution for integrating said components into an Android application. The demo will show an interactive 3D animated character built for Android using mostly off-the-shelf software, but the same techniques can be used to provide an array of modern graphical effects that will be sure to give an application the edge in a competitive market, or provide the foundational knowledge for any highly graphical interactive application on Android.
Ready for the Big Screen – Implementing on Google TV by Jim McKeeth
Google TV isn’t just a bigger version of an Android phone; it has different inputs, hardware and rules for your application showing up in the Android Marketplace. This session provides the specifics of what your application needs to look great and work on Google TV. It also includes specific examples of implementing applications on Google TV hardware, as well as using handheld Android devices as extensions to Google TV applications.
This session will show code and applications running on Google TV hardware (Provided an HDTV is available for this session).
Attendees must have Android application development experience.
After completing this session, students will have a checklist of what is necessary to build Google TV applications, and details on deploying and debugging applications during development. They will also have specific example code ready for use in their applications.
Building NFC-Enabled Android Applications by Jason Weiss
Android’s support for Near Field Communications (NFC) offers developers a powerful new metaphor for mobile phone interaction: Physical Touch. NFC supports far more than secure financial transactions. Popular games like “Angry Birds Magic” have already incorporated NFC (you have to touch your phone to another NFC-enabled phone to unlock game levels) to expand the social interaction of mobile gaming, and a new breed of enterprise applications that tout proof of presence for remote workers already exists. Industry research has demonstrated that NFC provides a more efficient and friendlier user experience than QR codes.
This advanced session will introduce developers to the nuts and bolts of NFC development on the Android platform. Attendees will learn the basics of NFC, including the types of RFID tags that the technology supports, as well as a primer on security concerns and tag storage limitations. Code examples will be provided to demonstrate how programmers can leverage the NFC Data Exchange Format open standard inside their applications for reading/writing data to/from RFID tags. Attendees will also be introduced to the NFC Tag Event open standard for back-office integration.
Attendees are not required to have an NFC-enabled phone, but they are strongly encouraged to attend with an NFC-enabled handset, such as the Google Nexus S (3G), HTC Amaze (4G), or Samsung Galaxy Nexus (4G), since the Android emulator does not support NFC emulation.
Building HTML5 Apps for Phone or Tablet by Joe Stagner
HTML5 is truly a cross-platform development platform with its new functionality that can be used to build applications that run when a user is or isn’t online. Doing so, however, requires a change in your design thought process. In this session, we’ll discuss not only the new technologies, but review patterns that will let you write one application to run on devices of different form factors, with or without an active Internet connection.
Android Business Essentials by Nathan Mellor
Are you an aspiring entrepreneur eager to build a sustainable business based on Android Apps? Learn how to maximize your chances of success without inviting too much stress. Learn some specific things you can do to promote your app and how to do them. The focus is on tools and techniques that will work for a small business or individual, even if you are just one person working out of your home office like the presenter. Learn about:
- A mindset that could be your biggest obstacle to success (and how to change it)
- Coming up with ideas and target markets
- Using tools and people power to get more work done
- Where to find resources at a low business price
- Installing and using analytics and tracking to increase profits
- How to do keyword research to increase profits
- Maximizing app exposure within the Android Market
- Specific ways to promote your app outside the market through Web marketing, video marketing and more
- Communicating with customers through HelpDesk and e-mail newsletters
Beyond the classes, there is also the Embedded Android Workshop (Full Day) by Karim Yaghmour, Opersys:
This one-day workshop is aimed at embedded developers wanting to build touch-based embedded systems using Android. It will cover Android from the ground up, enabling developers to get a firm hold on the components that make up Android and how they need to be adapted to an embedded system.
Specifically, we will start by introducing Android’s overall architecture, and then proceed to peel Android’s layer one-by-one. First, we will cover the Android Open Source Project, the open-source project under which Android’s source code is released. We will then dig into the native Android user space and Android’s power tools, and cover how hardware support is implemented in Android. Given that Android is built on top of Linux, we will also go over some embedded Linux tricks and see how the kernel is modified to support the Android user space. In addition, we will look at the System Server, the Android Framework and core Android applications, and how to customize them.
If you are interested in attending AnDevConv III, you can check my previous blog post “AnDevCon III: Android Developer Conference – 14-17 May 2012” for pass information and pricing or go directly to AnDevCon III Registration page.