29
Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Embed Size (px)

Citation preview

Page 1: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Coursera Partners' ConferenceApril 5th, 2013

Student study group, Beijing

Page 2: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Coursera App PlatformTechnical Preview

Nick Dellamaggiore and Brennan SaetaCoursera Engineering

Page 3: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Nick Dellamaggiore - Infrastructure Lead● Expertise in APIs and service-oriented architecture● Previously with LinkedIn● BS CS + Math from Cal Poly SLO● @nickdella on Twitter

Brennan Saeta - Software Engineer● Cloud/AWS Wiz● MS Computer Science from Stanford

Introductions

Page 4: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

So, Coursera's building an App Platform?

Page 5: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Is it going to be like Facebook?

Page 6: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Is it going to have an App Store?

What about the cloud?

Page 7: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Do I have to run code on a server?

How is this different from LTI?

What about QTI, LIS, SCORM, LON-CAPA?

Will it be open source?

I can't code. How does this benefit me?

Real questions you may have

Can students run their own apps in a course?

What if my app can't handle the load?

Page 8: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

We're just getting started on this.

Platform Preview

But, we really need your input!

We have some ideas to share today

[email protected]

Page 9: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

State of the Platform

Page 10: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Partners are already innovating on Coursera

Page 11: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Developers want to integrate tools and services

Study Groups

Page 12: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Coursera Platform Today

State of integrations today○ Liberal use of JavaScript injection○ One-off app integrations○ Basic LTI support

Extending Coursera needs improvement

Many integrations are simply not possible without custom engineering support from Coursera.

Page 13: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

● Allow partners to innovate and experiment○ Without being a developer

● Promote sharing and reuse

● Open, documented & friendly

Coursera App Platform Principles

Page 14: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Coursera: a platform without limits

open datareusable course pluginsexperimentation productivity and

collaboration tools

open services

MOOC-scale infrastructure

ubiquitous learning tools

extensible user interfaces

Page 15: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Everyone benefits

Students

● Learning tools● Productivity/collaboration apps

○ Course-recommended○ Self-installed

MOOC Trailblazers

● Experimentation● A programmable Coursera● Limitless* platform

Instructors, Course Admins

● Experimentation● Reusable, modular plugins● More tool integration

Developers

● Easily plug in existing apps● Build deep platform integrations● Get massive distribution

Page 16: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing
Page 17: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Our partners are already innovating on the Coursera Platform today with our limited toolset.

We see vast room for improvement

Page 18: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Social Learning experiments (Stanford HCI)

Page 19: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

JavaScript injection○ "Supported" by Coursera Platform today○ Brittle: Coupled to Coursera's page layout○ Insecure: too much access○ Limited: no APIs to interact beyond the current page

Whoa! How'd they do that?

Let's make this better!

Page 20: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

JS API Overview

Page 21: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

● Customize and extend Coursera○ Change user experience○ New content modules/widgets○ Deeply embed apps

● Reusable○ Allow apps to be packaged, distributed○ Enable discovery, installation, configuration

JS Apps are reusable

Page 22: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

3rd party tools extend the platform's core capabilities

and APIs bring Coursera data into 3rd party tools and services

Page 23: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Student● account/profile● enrolled courses● send message

Coursera Data APIs

Class● syllabus/schedule● forum viewing/posting● assignment grade submissions● peer grading submission● lecture/subtitle info● student progress, activity● user roles/permissions● quiz question import/export● ... and more

Course Catalog● Search/browse● Course info● Instructor profiles

Auth● OpenID (identity)● OAuth (access)

Page 24: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

● Apps can be○ installed by students directly○ installed by instructors for an entire course○ embedded in any context: lecture, quiz, forums, etc

● Enhanced LTI support*

● Some apps may build deeper integrations via the JavaScript API

3rd Party Apps

Page 25: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

MOOCs can generate substantial traffic to apps and learning tools. How can we help developers build at "MOOC-scale"?

Page 26: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Synchronous Grading

● Enable custom question types● Coursera runs your grader on MOOC-scale

infrastructure

Grading environment

Page 27: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Asynchronous Grading

● Current: custom integration with Coursera

● Future: Self-service○ Scale on MOOC-hardened infrastructure○ Well documented & easy to use

Grading environment...

Page 28: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

● Static asset serving○ Serverless Javascript Apps

● Key-value storage service for simple data persistence○ Secure: Coursera keeps student data in one place○ Simple: just one Coursera JS API call away

● Other tools?

More MOOC-scale infrastructure

Page 29: Coursera Partners' Conference April 5th, 2013 - Amazon S3 · Coursera Partners' Conference April 5th, 2013 Student study group, Beijing

Apps Platform: Recap

Coursera: A Platform without Limits

● Open APIs○ Modern OAuth2 & REST○ LTI

● Enable customization and experimentation○ Rich extensions○ A/B Testing

● MOOC-scale infrastructure○ You build it, we run it.Interested in working with us? Take the survey, read the FAQ or just email us at [email protected]