pamela fox's talks
Here are all the talks I've given over the years. You can also filter by these tags: javascript, python, mobile, ignite, google, appengine, wave, mashups, maps, spreadsheets, html5, social.
Please note that many of the talks are outdated now, since web technology moves fast.
-
Frontend Architectures
A comparison of 3 frontend architectures at Coursera- Web 1.0, JS widgets, and single page web apps. -
Feature Detection in the Real World
A talk about feature detection vs. user agent sniffing, and the cases when feature detection just doesn't work and sniffing is the only way. -
Storylines: Pamela Fox
The story of how I grow up and got to where I am today. -
Backbone: 3 Ways
An introduction to Backbone and a walkthrough of the 3 ways that we use it at Coursera. -
JS in the front, REST in the back
Behind the scenes of the JS-centric, API-oriented architecture of Coursera, and why I like it. -
When Mobile Browsers Attack!
A tale of the bugs I discovered in mobile web browsers and the horrible hacks that I had to deploy. -
Backbone: 3 Ways
An introduction to Backbone and a walkthrough of the 3 ways that we use it at Coursera. -
Beyond the Job Title
A talk for the Stanford Society of Women Engineers about my job decisions from childhood to today. -
Django Admin: Widgets & Widgetry
Why we used Django Admin at Coursera (at first) and the crazy widgets we had to write for it. -
PhoneGap Pain Points
A rant about what I found hardest about working with PhoneGap and mobile web browsers generally. -
PhoneGap: Why & How
An overview of the strategies for making mobile apps, and then a deep dive on my PhoneGap architecture and workflow. Translated into spanish (click button). -
localStorage: Use It, Don't Abuse It
An overview of the ways to use localStorage with tips on ways to use it responsibly, to not slow down or break your site. -
A Year of Hermit Hacking
An Ignite talk about my year of hermit hacking - what I tried and what I learnt. -
The Developer Experience (Summit)
Introduces the term "developer experience", talks about why it's important, gives examples of what makes a great experience, including a few makeover stories. -
Picking a Technology Stack
An overview of the different components that make up a web app and a mobile app and thoughts on how to pick what's in your stack. -
Teach the World To Code
A talk about why we need more developers and the non-traditional ways that we are creating more developers. -
Why & How I Use PhoneGap
Based on the "Mobile App Strategy" talk, it starts with an overview of the strategies for making mobile apps, and then does a deep dive on my PhoneGap architecture and workflow. -
Mobile App Strategy
Starts with an overview of the strategies for making mobile apps, and then does a deep dive on my PhoneGap architecture and workflow. -
Client-side Storage
Introduces the new HTML5 client-side storage technologies and does a deep dive on localStorage, with many examples of how it can be used. -
Mobile App Options
Gives an overview of the different strategies for outputting mobile apps, from native to runtime to cross compiled to hybrid. -
How I became a born again vegetable-tarian
An ignite talk about my newfound love for veggies, my favorites, and tips for accepting veggies into your life. -
Client-side APIs
Gives a history of client-side APIs and an overview of different types of APIs with interactive examples. -
The Developer Experience
Introduces the term "developer experience", talks about why it's important, and gives examples of what makes a great experience. -
No, Really, I'm Shy
Explains that I'm actually quite a shy person, and introduces my hacks to workaround that shyness. -
Writing Apps the Google-y Way
Covers App Engine and the datastore, with Python examples. Slides also available for Brisbane version. -
The Wonders of the "Onesie"
Introduces the concept of the "onesie" - the head-to-toe footed pajama - and what makes it awesome. -
Wave APIs: Now & Beyond
Discusses the current state of the Google Wave APIs, and how they could be improved in future Wave implementations. -
Mashups as Art
Talks about making data mashups, covering types of data sources, tools for making the data useable, tools for visualizing data, and example mashups. -
Google's Client-side Web APIs
Reviews the history of client-side Web API technology, then gives an overview of Google's offerings and what can be done with them. See also this blog post. -
Google Data APIs & Docs List API
Talks about the history of RSS/ATOM, gives an overview of the Google data protocol, then goes deep into the Google Docs Data API. -
Google APIs: A-Z
Gives an overview of the many APIs that Google offers, in terms of API types, API genres, and API monetization techniques. Slides also available for version in Melbourne, Brisbane, DC-GTUG, NCA-GTUG, and MI-GTUG. -
Wave Robots API: Behind the Scenes
Starts with a explanation of the Wave protocol basics, reviews the history of the robots API, and explains several API design decisions. -
Google Wave API Design Principles
Gives suggestions for designing Wave extensions (gadgets and robots) for a better and more Wave-y user experience. -
Google Wave Gadgets API & Examples
Explains how the Gadgets API works and shows examples. -
Google Wave Robots API & Examples
Explains how the Robots API works and shows examples. -
Google Wave: Product, Platform, Protocol
Zooms through different features of Google Wave, like the real-time typing, threaded comments, extension platform, and federation. -
Google Wave: The Protocol
Shows some of the key concepts in the Wave protocol, operational transforms and the conversation model. -
Google Wave Robots API: Java
Explains how the Wave Robots API works, with code snippets and examples in Java. -
Google Wave Gadgets API & GWT
Explains how the Gadgets API works, with code snippets and examples using the Google Web Toolkit in Java. -
Making More than Just a Map
Highlights what features turn simple map mashups into full web applications, like linkability, subscription, editability, import/export, and searchability. -
Google Wave for Students
Presents a series of suggestions (as screenshots) for how students can use Wave for groupwork. -
Google Wave: What's New?
Summarizes new features added to Wave since launch, across the product, platform, and protocol, like better scaling, more APIs, and enterprise use. Concludes with a series of example uses. -
Lowering the Barriers to Communication
Takes a look at the different methods of communication out there, from traditional snail mail to more modern forms, and how each of them encourages or discourages participation. -
Innovation @ Google
Gives an overview of how innovation happens at Google - from finding the ideas to making it possible for engineers to implement them. -
Google Wave Conversation Model
Explains the Google Wave conversation model - waves, wavelets, and blips. -
Google Wave APIs
Shows a brief overview of the various Google Wave APIs. -
Google Wave Gadget APIs
Shows a brief overview of the Google Gadgets API. -
Google Wave Robots API v2 & Third-party Integration
Explains how the Robots API works inside Wave, shows the new features of the Robots API v2, and showcases some real uses of the API. -
Google Wave: Communication Evolved
Shows how Wave combines features from many different communication products into one. -
Google Wave Robots API v2
Explains how the Robots API works inside Wave, and shows the new features of the Robots API v2. -
I'm a Barbie Girl in a Barbie World
Introduces the ultra feminine Computer Engineer Barbie, and why it’s a damn good thing. -
Get Creative with Google APIs
Showcases creative uses of various Google APIs, like Youtube, Maps, and Social. -
Understanding & Extending Wave
Shows the underlying XML structure of wavelets and blips, and then explains the fundamental concepts behind gadgets and robots. -
Google Wave: Product, Protocol, Platform
Zooms through the three "P"s of Google Wave. -
Google Wave 20/20: Product, Platfom, Protocol
Introduces the various aspects of Google Wave. -
Making Wave-y Extensions
Zooms through a series of tips on making extensions wave-y, based on the extension design principles doc, including suggestions like showing user locations in a gadget and making robots respond to natural trigger. -
Collaborative Mapping with Google Wave
Introduces Google Wave and then presents ideas about how it can be used with mapping and geography. -
Making Maps Mashups
Zooms through a breakdown of the Maps API, an overview of all the Google Geo APIs, and a look at the various ways of rendering data on a map. -
Mashups & APIs
Gives an overview of mashups, Web APIs, and highlights a few Google Web APIs. -
A World of Words
Introduces languages, etymology, and how words are intricately connected. -
Google Products: Deep Dive on Google Maps
Discusses how products are born at Google, and goes into a deep dive into what makes a product like Google Maps challenging. -
Web APIs & Google APIs
Gives an overview of Web APIs generally, then Google’s offerings, then specifically Google’s offerings in Sydney. -
Google Maps APIs: Overview
Begins with a general discussion of Web APIs, goes into depth on how the Google Maps JS API works, reviews the various Google Geo APIs, and finishes with examples of different ways developers can render their data on a map. -
What You Don't Know About Geo APIs Can't Hurt You
Reviews a grab bag of features added to the Google Geo APIs in the year before: Panoramio, Reverse Geocoding, 3d Maps, Driving Directions, and more. -
Performance Tips for Maps API Mashups
Provides tips on reducing latency for your maps mashup, discussing topics like marker management, clustering, custom tiles, static maps, flash maps, encoded polys, light markers, latency oriented features of the JavaScript Maps API, and more. -
Growing up Geek: My Dad, the Computer Scientist
Summarizes my life growing up with two geeky parents and explains how I got involved in web development and related areas. -
Google App Engine (Java)
Introduces the basics of App Engine and the datastore (BigTable), and ends with a coding walkthrough of a Java App Engine App (The Best Website Ever). -
Google App Engine
Gives a basic overview of Google App Engine and its components (datastore, APIs). -
Tips for Improving Usability of Maps Mashups
Discusses the most common usability problems in Maps mashups, and various solutions for those problems. The problems range from "too many markers" to "not enough navigation controls". -
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Provides an overview of two technologies - Google App Engine and the Google Data APIs - that aim to make web development and data portability easier. -
Google Spreadsheets
APIs & Gadgets
Introduces the Google Data APIs, Google Spreadsheets API, JSON/JSONP, and Google Spreadsheets Gadgets. -
Client Killed the Server Star
Explains how new technology like Gears, HTML5, and Google App Engine could be used to create websites where the caching, storage, and computing is done primarily in the browser/desktop and the server is used merely as a backup store. -
Gears & Offline Apps
Introduces the Gears APIs (local server, datastore, workers) and includes two offline demos. -
Flash, Flex, & The Maps API for Flash
Reviews the differences between Flash and Flex, the power of AS3, and discusses the reasons that developers might choose the Flash API over the JS API. Includes several demos of the Flash API. -
Flex vs. HTML5 for RIAS
Compares Flex versus HTML 5 in terms of features that compose a typical RIA (rich internet application). -
Open Maps (Or Close Enough?)
Gives a look at the various open source/open data options for an open maps stack - OpenStreetMap, OpenLayers, etc - with a deeper dive on the Mapstraction library. -
Moving the Web Forward with HTML5
Introduces new features in HTML5, like video, canvas, and new form tags. -
Google Maps APIs Overview
Starts with an introduction to the Google Maps JavaScript API, then discusses several newly added features such as the AJAX Common Loader, Reverse Geocoding, ClientLocation, Flash API, Static API, and more. Ends with a description of KML and geo sitemaps. Slides also available for Beijing version. -
Maps API Tips & Tricks
Suggests various ideas for more seasoned developers of the Google Maps APIs, such as using web services for more data, using spreadsheets as a database, or hosting on AppEngine. -
Using Maps + AJAX APIs in AS3/Flex
Reviews what the Maps API for Flash can do, and show how to easily integrate it with other libraries for parsing XML/GeoRSS/KML/JSON. It also shows how to use it with the non-JS version of the Google AJAX libraries. Includes an introduction to AS3, Flex development, and Flex controls. -
Static + Flash Maps
Introduces the Static Maps API and Maps API for Flash, and various reasons for using them - like using the Flash API for faster vector graphics, or using the Static Maps API for reduced latency on webpages. -
From Mashups to Mapplets
Introduces Google Mapplets in detail, explaining how they relate to the Google Gadgets API, how they work behind the scenes, and how to develop them. -
Producing Custom Maps with the Google Maps API
Discusses the different ways of overlaying custom map data on top of the Maps API mashups, covering the spectrum from the easiest technique (ground overlays) to the more difficult but sophisticated techniques (data-driven clickable custom tile layers). -
Maps Mashups UI + UX
Introduces ways to improve the usability of maps mashups, like with custom markers, indicative icons, better infowindows, and customized controls. -
Open Source Maps API Library
Gives a brief run-down of the various open source extensions available in the utility library.