January 16-17, 2014
Salt Lake City, Utah

It's Here! ng-conf is here and now

Location Held at the Little America Hotel in beautiful downtown Salt Lake City, Utah.

Schedule Two days jam-packed with Angular goodness.

Wednesday, January 15

10:00 AM - 5:00 PM

Pre-Conference Bootcamp with Egghead.io

7:30 PM

Ionic Framework, Built on Angular

8:10 PM

Angular + Breeze

7:30PM - 10:30PM

Sphero Hack Night

Thursday, January 16

7:00 AM

Breakfast

Get some delicious food.

9:00 AM

Miško Hevery & Brad Green

Topic: Keynote

9:45 AM

Dan Wahlin

Topic: AngularJS in 20-ish Minutes

Data binding, directives, scope, controllers, and factories – oh my! While there are a lot of pieces to AngularJS, they're easy to work with once you know how they fit together. In this session Dan Wahlin will highlight the key pieces you need to know to get started using AngularJS and demonstrate how they work together. If you're new to AngularJS this session will help jumpstart the learning process.

10:10 AM

The Google Double Click Team

Topic: Writing a Massive Angular App

Discuss the main technical challenges and solutions for large AngularJS applications. Learn about the main code reuse patterns and when to use them, going beyond AngularJS' $resource service for custom server communication, authorization, conditional feature loading, and more.

10:55 AM

Christian Lilley

Topic: Going Postal with Angular in Promises

Let's get a little crazy, share some visions of Promises as the Mailbox and Deferreds as the Postman, and then lay waste to everybody who's still harshing our mellow with pyramids of doom and callback spaghetti. We all know the sexy Angular buzzwords of 'Dependency Injection', 'modularity', 'HTML as a DSL', etc, etc. But the promise pattern (and lazy promises, no less!) is also baked right into the fabric of Angular, and doesn't get half the press of those other poseurs. Yet it will change your code to the very bones! We'll start with an overview of the essential promise pattern, then dive into the sundry ways that Angular leverages it to convert your async anger to promise paradise, especially in version 1.2. Plus! Bonus references to obscure Kevin Costner Sci-Fi flicks!

11:20 AM

Dave Smith

Topic: Deep Dive into Custom Directives

12:00 PM

Lunch

Some delicious lunch.

1:30 PM

John Papa

Topic: Progressive Saving

Quite often we force users to to save or cancel data, before moving on when what they really want is to leave the page in a changed state and come back to their work in progress later, perhaps after closing the browser. This requires change tracking, local storage, serializing and rehydrating complex object graphs, not to mention visual indicators to improve the user experience. Come learn how when AngularJS meets BreezeJS we can light up this scenario.

1:55 PM

Jeff Cross

Topic: Rapid Prototyping with Angular & Deployd

Deployd and Angular are a match made in heaven. Angular makes front end applications fun, and deployd makes APIs fun. Jeff Cross, a member of the Angular team at Google and co-creator of deployd, is going to demonstrate how to take an app from concept to production in under half an hour using these and other tools.

2:30 PM

Ben Teese

Topic: Rich Data Models & Angular

Super excited about Angular? Ready to change the world and build a super-heroic app? With directives, Angular has pretty much nailed it when it comes to interacting with the DOM. And plain-old Javascript objects as models? AWESOME! Wait, hang on. Say that you're building a app that has lots of business logic and interrelated data. For that sort of app, history shows us that a rich object model can often be the best place to put your logic and data relationships - from both a testing and ease-of-development perspective. That's the approach that frameworks like Ember advocate - but Ember forces you to extend on its own object model.

2:55 PM

Tom Valletta & Gabe Dayley

Topic: Angular Weapon Defense

3:20 PM

Sharon DiOrio

Topic: Filters: Beyond OrderBy and LimitTo

What happens when your data comes back from your service but it isn't exactly formatted or ordered the way you want? Or if your users want more control over how the data is displayed? No need to make another service call or invoke some intermediate service to format the data, filters do the work for you. Directives get all all the praise, but filters are fantastic tools for data transformations big and small. They are lightning fast, almost unlimited in flexibility, and in many cases can even make directives unnecessary. Tied to user-interactions, you can thrill and delight your users by handing them back exactly the data they wanted in a way that makes the most sense to them. I'll explain how filters actually work behind the scenes and show a few useful examples of built-in and custom filters beyond the usual "filter" and "orderBy" examples commonly found in tutorials.

3:40 PM

Snack Time

Get a delicious snack.

4:00 PM

Lukas Rubbelke & Matias Niemela

Topic: Awesome Interfaces with AngularJS Animations

AngularJS has earned a reputation for being a great framework for enterprise CRUD applications but with AngularJS animations you no longer have to sacrifice form for function. If you are looking to take your web application's UX to the next level then AngularJS animations are an easy and approachable way to accomplish that goal. We will deconstruct some great examples from the wild and show you how to accomplish the same effect with AngularJS. Enhanced HTML is awesome but with this new super slick addition, you have all the tools you need to provide compelling and engaging experiences without even breaking a sweat. @simpulton

4:40 PM

Vojta Jina

Topic: Dependency Injection

Vojta is going to be talking about Dependency Injection. It is going to be awesome.

5:20 PM

Angular Team

Topic: Angular Team Panel

6:00 PM

Dinner

A feast you don't want to miss.

7:30PM

ng-party hosted by Firebase

Come enjoy two finalists from America's Got Talent - comedian Taylor Williamson and illusionist Collins Key - a hilarious improv group, a minute to win it type competition with a MacBook air as the grand prize, and more dessert than you can stuff in your face, plus socializing, hacking, board games, xboxes, and arcade games. This will be a party to remember.

Friday, January 17

7:00 AM

Breakfast

Get some delicious food.

7:30 AM - 9:00 AM

Firebase Office Hours

Get all your Firebase + Angular questions answered by the Firebase team! Drop in at the conference or sign up in advance here.

9:00 AM

Igor Minar

Topic: Angular === Community (Keynote)

The community has shaped Angular, there is no doubt about it. As the Angular project matured the community as well as the core team evolved with the project. The goal of this talk is to revisit the origins of Angular as well as look into the future and seed ideas about how the core team and the community could work better together in the future. This session will also cover Angular and new web standards

10:10 AM

Sean Hess

Topic: How to use Typescript on your Angular Application and Be Happy

Typescript is a compile-to-JavaScript language that adds ES6 features, and optional type system. Using strict types in an application allows you to catch errors much earlier in the development cycle, avoid regressions, and greatly increases ease of maintenance. Modern type systems like the one included in Typescript make typing a joy to use. The types in TypeScript are optional, meaning you can incrementally add it to a project. The productivity gains from strict typing outweigh those from testing, and are easier to realize. It's not immediately obvious how to structure a Typescript+Angular project. Typescript uses ES6 modules, which conflict with Angular's module system, and it's hard to know when to use classes, how to set up the project, how to get the compiler to typescript angular itself, etc. I will spend a short time talking about WHY people should use Typescript on an angular project, but the presentation will be mostly hands-on and technical, showing where to put files, what tools to use, and how to do it productively.

10:35 AM

Anant Narayanan

Topic: Building Realtime Apps With Firebase and Angular

Firebase is listed as the default way to add a backend to your Angular app on the AngularJS homepage. Come and see why. In this talk you'll learn about how to use Firebase and Angular together and learn why building a modern realtime app will never be the same again.

11:00 AM

Burke Holland

Topic: Angular Directives that Scale

As more and more jQuery developers begin to adopt AngularJS as their full stack framework of choice, they are staring down the possibility of creating a lot of directives. And what if their favorite UI library doesn't have directives for Angular? Should they create their own? Does every UI widget really need it's own directive? The open source project Angular Kendo UI faced this same challenge. With nearly 40 widgets and charts in various configurations, building a directive for every widget looked like a daunting task. How do we create directives that scale as our UI libraries get larger? Does it always have to be a one to one relationship? In this talk, we'll look at some alternatives for building directives for AngularJS that will scale with your UI needs.

11:25 AM

James Deboer

Topic: Dart, it's Angular Too

We've ported the Angular framework to the new Dart language. This talk will introduce AngularDart and devel into the Angular team's motivation in porting AngularJS to the new Dart language. We will look the evolution of Angular features: transclusion, directives and 3rd-party library integration in AngularDart. Consider this a preview of several AngularJS 2.0 features!

12:00 PM

Lunch

Some seriously delicious food.

1:30 PM

Brian Ford

Topic: Zones

2:00 PM

Ben Clinkinbeard

Topic: Angular with Browserify

Browserify is client side dependency management done right. It enables developers to write client side JavaScript using the CommonJS module format, just like in Node. That means intricate script tag soup and the boilerplate of AMD are completely unnecessary. Not only that, but it opens the door to using thousands of modules from npm, and enables you to write modules that can be used on the client or server interchangeably. Browserify even provides shims of several Node core APIs like EventEmitter, path, and others. This session will introduce Browserify and the CommonJS module format, discuss the benefits they provide, and demonstrate how to utilize those benefits in the context of an Angular app. Angular apps, module definitions, and code organization is a cinch with Browserify, and more people should know it.

2:20 PM

Thomas Burleson

Topic: Angular + RequireJS & Angular Decorators

Did you know that Angular provides Decorators to add or inject extra behaviors to existing services ?Learn how Decorators and RequireJS are used to build sophisticated extensions to $log. Use $log features to track your code's activity, workflow, and timing; you can even report activity to your browser, app, or remote server.

2:40 PM

Snack Break

Delicious snacks for all.

3:00 PM

Daniel Zen

Topic: Using AngularJS to create iPhone & Android applications with PhoneGap

You no longer have to know Objective C, Java to create apps fro iOS & Android. Reuse code, your team and your AngularJS knowledge to create not only mobile websites, but cross platform native applications that can be deployed to app stores and be installed directly on handsets. Walk away with a simple sample app and a deeper understanding of the places AngularJS can be used. This talk will we cover Setup of a PhoneGap (Apache Cordova) project using the AngularJS framework using npm, bower, grunt & cordova. Directory structure for a sample AngularJS application Compilation to iOS with Xcode & Android with Eclipse ADT. What is Adobe PhoneGap Build & how to use it. Brief discussion on PhoneGap APIs (Sensor API: Geo-location accelerometer, camera, etc. Data APIs: file-system, contact information, etc) Using Local Storage Angular Routing inside PhoneGap Pitfalls, suggestions & best practices

3:30 PM

Ari Lerner

Topic: Giving a human face to robotics: powering interfaces with AngularJS to the Arduino.

In this talk, we'll discuss the power of the arduino to interface software with the rest of our human experience. We'll discuss the real-time nature of the arduino and how we can surface the sensor data through a real-time interface. We'll explore the power Angular affords us to make these interfaces rapidly as well as the best practices to how to build them, using services, directives, and sockets. In this presentation, we'll demo our robotic interfaces and publicly release our source to encourage audience participation.

3:55 PM

Julie Ralph

Topic: End to End Angular Testing with Protractor

4:20 PM

Jason Aden

Topic: Using ngModelController to Make Sexy Custom Components

A dive into ngModelController and how to use it to create awesome directives and reusable components. Topics covered will include: Implementing the $render() method Updating the $modelValue using $setViewValue() Working with $parsers and $formatters Overview of additional ngModelController properties Creating and using custom validators Tie everything together to make a sexy custom component

4:45 PM

Silvano Luciani

Topic: PhotoHunt

PhotoHunt uses AngularJS to let anyone submit photos on the web as part of a group "scavenger hunt" for images organized around a specific theme. Join Silvano Luciani, developer of PhotoHunt's web frontend, to learn more about why the PhotoHunt project chose Angular as the fastest and simplest way to develop their app. Find out why Angular was the best choice for a cross platform app developed for the web, Android and iOS.

5:10 PM

The Double Click Team

Topic: Angular Performance

We will discuss a number of tips, tricks, and tools that we've discovered and used to keep our application quick in spite of its large size. We'll cover best practices for using Angular's built-in features as well as hackier tricks and helpful directives we've developed in-house.

5:55 PM

Organizers & Angular Team

Topic: Parting Words

7:30 PM

Hack Night

Practices and Lessons Learned Building a Mobile Web Site for a Major Media Company with AngularJS.

Saturday, January 18 - Ski Day

7:45 AM

Meet in the Lobby of the Hotel

8:00 AM

Busses leave for slopes

3:00 PM

First bus returns from slopes for hotel.

4:00 PM

First bus arrives at hotel.

4:30 PM

Second bus returns from slopes for hotel.

5:30 PM

Second bus arrives at hotel.

AboutThis conference brought to you with love from...

ExtrasWe have so much awesome in store for you...

Childcare

Google will be providing childcare for ng-conf attendees. There will be a $20 registration fee. All other costs will be covered by Google. To sign up for the childcare, please click here!