Over the last year, many Automotive companies have released SDKs and APIs that finally allow Android developers to create their own mobile automotive apps that expand the boundaries of the automotive dashboard far beyond the physical car. In this class, you'll learn how to create apps for this new and relatively overlooked commercial opportunity for mobile developers. We'll take an objective look at the different SDKs for a variety of Autos. And we'll also build a couple of sample apps that focus on how communicate with Ford's Sync dashboard as well as GM's Remote APIs and we'll briefly dip into some of the other manufacturers have on offer, such as VW and Nissan.
Developing Chrome Extensions by Godfrey Nolan
Ever wondered how to write a Chrome Extension? In this session we look at what's involved to create a simple Chrome Extension as well as what tools and technologies are available to help you quickly build and deploy your first Chrome Extension
Understanding user behavior with mobile app analytics by Jim Vitek
Developers love to create apps for others to use and enjoy. It is rewarding to watch the first few users interact with your app. But how about the second hundred? thousand? million? How do you know if they even open your app if you don’t measure usage?Mobile App Analytics is a powerful free tool based on Google Analytics. Integrating analytics is easy and will help you understand how ALL users use your app, and help you prioritize features better than ever before. The presentation will walk through a demo integration and show how usage data can be explored on the GA web interface. Also covered will be exception reporting and an overview of NanoGA, a lightweight open source library that interfaces directly with the GA Measurement Protocol without need for the SDK.
Google App Engine by Jayashree Ravi
Google App Engine (GAE) is a Platform as a Service (PaaS) offering that lets you build and run applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain and as traffic to your site ebbs and flows, GAE seamlessly scales up or down to meet the requirement and is very cost effective. In this workshop, you will learn how to deploy a simple j2ee Web application to GAE using Eclipse and GAE plugin for Eclipse.
The Android Developer's Tool Chest by Bryan Kelly and David McKinnon
The Android SDK, Android Studio or the ADT plug-in, are essential tools for building Android apps. However, there are a number of open source libraries and projects that can help speed development, reduce boilerplate code and provide new solutions for old problems.
This session will give a practical overview of several such libraries. We’ll also code some working examples and discuss possible pitfalls. Attendees will come away from this session with a solid grasp of open source tools that every Android developer should have in their tool chest.
Effective Use of the Volley Networking Library by Scott Weber
Announced and released at Google I/O 2013, Volley is a powerful Android library that makes common, complex networking tasks vastly simpler. Even better, it is highly customizable and extendable, allowing for plenty of flexibility to work with your app's requirements. Unfortunately, there is not a lot of great documentation on how to use Volley, especially when you get past the most basic use cases.
This talk will get you started with Volley and dive deeper to help you leverage its power and go beyond just loading images from the network.
Dependency Injection with Android by David Truxall
Unit testing is a crucial tool for building quality software. In order to be able to write unit tests, your classes need to operate independently. Dependency injection is a technique that provides the decoupling your classes need to be easily unit tested. We’ll explore the concept of dependency injection, designing classes using the technique and apply it directly to Android development. The session will also cover the popular Android-focused dependency injection frameworks RoboGuice and Dagger, looking at how those tools make dependency injection easier and cleaner.
Functional Reactive Programming with RxJava by Sean O'Neil
Expressing concurrency in Java is a difficult and verbose task, and gets even worse when you have to manage cumbersome Android life cycles at the same time. With functional reactive programming through RxJava, you can create concurrent applications without the typical thread-safety and synchronization concerns, and reclaim your code from the ever present Callback Hell. This session will introduce RxJava and a few of the ways it can help you write better, more robust code using working examples.
API Strategery by Calvin Bushor
Designing APIs and abstracted, reusable business logic to support an application is becoming essential these days. Whether it be REST, Hypermedia, an SDK or an NPM module, designing a reusable component to support the application you are building allows you to be more flexible in the future. It can help build a service you can let others consume or enable you to consume it again with a different application.In this session, we will be covering some higher level concepts like the benefits of API first design. We will go a bit deeper into API strategy and some first-hand discoveries (good and bad) of building an application while designing an API with others.
Google Go by Charles Redmond
The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines.
This session will provide an introduction to Go as well as how to develop a basic web application using the Go web framework Martini.
Angular.js by Christopher Smith
Building Snappy Apps on App Engine and Google Maps by Martin Omander
After building a web app on App Engine using Maps API, Martin found the performance to be too slow and went about finding and fixing the top five performance bottlenecks. In this session, Martin will share the solutions he came up with and the lessons he learned about perceived performance versus actual performance.