SlideShare a Scribd company logo
Azat Mardanov
Engineer, Storify.com
INTRODUCTION
TO BACKBONE.JS
Saturday, February 2, 13
AGENDA
‣ History, Problems and Solutions
‣ Brief Overview of Backbone Components
‣ Building Backbone App From Scratch
‣ Backbone Starter Kit
‣ Subviews
‣ AMD
2
Saturday, February 2, 13
INTRODUCTION
‣ Over 12 years in software development
‣ Author of RapidPrototypingWithJS.com
‣ 500 Startups grad (Gizmo)
AZAT MARDANOV
ENGINEER, STORIFY
3
@azat_co
azat.co
Saturday, February 2, 13
INTRODUCTION TO BACKBONE.JS
HISTORY,
PROBLEMS
AND
SOLUTIONS
4
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
HISTORY
1. Before: Pure HTML from the server, client just a painting instructions
2. Some client code to style (DHTML, AJAX), 90% of server
3. Spaghetti code (~4yr ago), no structure in who calls who
4. Now: 10-60% of interaction on client: data transferred in DOM,
a.k.a lossy transformation, trying to use DOM as a database — sucks
5. Future: client will own entire complexity of application (?)
5
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
PROBLEMS IN FRONT-END
DEVELOPMENT
‣ Client has more responsibility but not all (bugs)
‣ Complexity grows polynomial, features *2, must keep in mind all
features before,
‣ Leads to re-writes, throwing away all code
‣ Accumulation of technical debt, more resource (developers)
6
DANGER
ZONE!
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
SOLUTIONS
‣ Better architecture (MVC)
‣ Best practices
‣ More developers (not scalable)
7
RIGHT
CHOICE
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
WHY USE MVC FOR FRONT-END
DEVELOPMENT?
“Code is not an asset, it’s a liability” - Unknown source
8
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
MODEL VIEW CONTROLLER
‣ Better code organization leads to faster/cheaper maintenance
‣ Reusability
‣ Separation of components/concerns
9
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
MODEL VIEW CONTROLLER
‣ Model: data and information
‣ View: visual representation
‣ Controller: interaction between a user and the system
10
Saturday, February 2, 13
WHAT IS BACKBONE.JS?
WHY USE MVC FOR FRONT-END
DEVELOPMENT?
‣ Desktop-like applications in a browser (think GMail)
‣ Thick client and mobile apps
‣ Lots of interactions via HTTP Request (ex-AJAX)
‣ Updating DOM and dealing with callbacks quickly becomes PITA
11
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
ADVANTAGES OF BACKBONE.JS
‣ Simple: (View, Models, Collections, Router)
‣ Uses Underscore, jQuery/Zepto
‣ Customizable, works well with mobile apps
12
Saturday, February 2, 13
HISTORY, PROBLEMS AND SOLUTIONS
OTHER MVC FRAMEWORKS
‣ Ember.js: live-templates (Handebars), scaffolding, more desktop-like
apps
‣ Knockout.js: lightweight
http://todomvc.com/ — Todo app in various frameworks
13
GOOD
TO
KNOW
Saturday, February 2, 13
BACKBONE.JS COMPONENTS
MAIN COMPONENTS
‣ Router: Controller in MVC concept
‣ Templates and Views: View (and Controller) in MVC concept
‣ Collections and Models: Model in MVC concept
14
Saturday, February 2, 13
BACKBONE.JS COMPONENTS
BEST PRACTICE
‣ Router: defines routes a.k.a nice URLs (/stories/:id/element/:id), calls
views/collections
‣ Views: accept data, bind events, compile and render HTML
‣ Templates: HTML templates with JS instructions (Underscore)
‣ Collections: fetch, parse data via REST API, represent sets of Models
‣ Models: manipulate attributes, fetch and parse data via REST API
15
Saturday, February 2, 13
BACKBONE.JS COMPONENTS
FLEXIBILITY
‣ Router: not required
‣ Templates: can be just variables inside of Views or separate file (AMD)
‣ View can use Models directly
16
Saturday, February 2, 13
BACKBONE.JS COMPONENTS
STANDARD TRANSACTIONS
MADE EASIER WITH A
FRAMEWORK
‣ fetchAll: collection.fetchAll() instead of $.ajax(...) via REST API
‣ save(): model.save() instead of $.ajax(...) via REST API
‣ Updates Views based on data changes
17
Saturday, February 2, 13
Q&A
INTRODUCTION TO BACKBONE.JS 18
Saturday, February 2, 13
KEY OBJECTIVE(S) AGENDA
RESOURCESDELIVERABLE
EXERCISE 1 - “HELLO WORLD”
Build ‘Hello World” Backbone.js
app from scratch
15m 1. Download jQuery, Underscore and Backbone
2. Create HTML and link libraries
3. Create Router
4. Create View
5. Run HTML file
Insert deliverable/outcome http://github.com/azat-co/ga-backbone/
19
Saturday, February 2, 13
IMAGES 20
Saturday, February 2, 13
DISCUSSION
TIME
INTRODUCTION TO BACKBONE.JS 21
Saturday, February 2, 13
EVENT BINDING
BAD PRACTICE
Have lots of ajax calls with callback inside of them:
$.ajax (...
//fetch data
success: function(...
//update view
))
22
DANGER
ZONE!
Saturday, February 2, 13
EVENT BINDING
GOOD PRACTICE
In a view listen to Backbone collection.on(‘change’) event:
collection.fetch() triggers ‘change’ event
23
RIGHT
CHOICE
Saturday, February 2, 13
EVENT BINDING
FURTHER READING
Awesome guide on on going from jQuery to Backbone.js:
https://github.com/kjbekkelund/writings/blob/master/published/
understanding-backbone.md/
or
http://bit.ly/NGqFeK
24
GOOD
TO
KNOW
Saturday, February 2, 13
KEY OBJECTIVE(S) AGENDA
RESOURCESDELIVERABLE
EXERCISE 2 - “EVENT BINDING”
Extend SSBSK to use subviews 15m 1. Download SSBSK
2. Create subview
3. Populate subview with models
4. Render subview
5. Run HTML file
Insert deliverable/outcome http://github.com/azat-co/ga-backbone/
25
Saturday, February 2, 13
DISCUSSION
TIME
INSERT CLASS TITLE 26
Saturday, February 2, 13
REQUIRE.JS AND AMD
ASYNCHRONOUS MODULE
DEFINITION
Require.js allows for asynchronous loading of JS and other files (HTML):
define(["alpha"], function (alpha) {
return {
verb: function(){
return alpha.verb() + 2;
}
};
});
27
GOOD
TO
KNOW
Saturday, February 2, 13
BACKBONE.JS STARTER KIT 28
SUPER SIMPLE BACKBONE
STARTER KIT
Backbone + Twitter Bootstarp + Require.js (AMD) Boilerplate:
https://github.com/azat-co/super-simple-backbone-starter-kit
GOOD
TO
KNOW
Saturday, February 2, 13
KEY OBJECTIVE(S) AGENDA
RESOURCESDELIVERABLE
EXERCISE 3 - SSBSK
Extend SSBSK to use subviews 15m 1. Download SSBSK
2. Create subview
3. Populate subview with models
4. Render subview
5. Run HTML file
Insert deliverable/outcome http://github.com/azat-co/ga-backbone/
29
Saturday, February 2, 13
BOILERPLATE
FURTHER READING
Backbone Boilerplate Buddy:
https://github.com/backbone-boilerplate/grunt-bbb
Backbone.js Applications:
http://addyosmani.github.com/backbone-fundamentals/
30
GOOD
TO
KNOW
Saturday, February 2, 13
DISCUSSION
TIME
INSERT CLASS TITLE 31
Saturday, February 2, 13
Q&A
INSERT CLASS TITLE 32
Saturday, February 2, 13

More Related Content

Viewers also liked (17)

PDF
Introduction to Backbone.js
Roman Kalyakin
 
PDF
Introduction to Backbone.js
Jonathan Weiss
 
PPTX
Backbone And Marionette : Take Over The World
harshit040591
 
KEY
Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...
Mikko Ohtamaa
 
PPTX
MVC & backbone.js
Mohammed Arif
 
PPTX
Backbone/Marionette recap [2015]
Andrii Lundiak
 
PDF
Introduction to Marionette Collective
Puppet
 
PPTX
Introduction to Backbone.js & Marionette.js
Return on Intelligence
 
PPTX
Marionette talk 2016
Kseniya Redunova
 
PDF
Client-side MVC with Backbone.js
iloveigloo
 
PDF
introduction to Marionette.js (jscafe14)
Ryuma Tsukano
 
PDF
Marionette: the Backbone framework
frontendne
 
PPTX
Backbone.js
VO Tho
 
PDF
RequireJS
Sebastiano Armeli
 
PPTX
Introduction to Backbone.js
Pragnesh Vaghela
 
PPSX
RequireJS
Tim Doherty
 
PDF
Module, AMD, RequireJS
偉格 高
 
Introduction to Backbone.js
Roman Kalyakin
 
Introduction to Backbone.js
Jonathan Weiss
 
Backbone And Marionette : Take Over The World
harshit040591
 
Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...
Mikko Ohtamaa
 
MVC & backbone.js
Mohammed Arif
 
Backbone/Marionette recap [2015]
Andrii Lundiak
 
Introduction to Marionette Collective
Puppet
 
Introduction to Backbone.js & Marionette.js
Return on Intelligence
 
Marionette talk 2016
Kseniya Redunova
 
Client-side MVC with Backbone.js
iloveigloo
 
introduction to Marionette.js (jscafe14)
Ryuma Tsukano
 
Marionette: the Backbone framework
frontendne
 
Backbone.js
VO Tho
 
Introduction to Backbone.js
Pragnesh Vaghela
 
RequireJS
Tim Doherty
 
Module, AMD, RequireJS
偉格 高
 

Similar to Intro to Backbone.js by Azat Mardanov for General Assembly (20)

PPTX
Backbone the Good Parts
Renan Carvalho
 
PDF
Intro to BackboneJS + Intermediate Javascript
Andrew Lovett-Barron
 
PPSX
Introduction to backbone_js
Mohammed Saqib
 
PDF
Single Page Applications
Massimo Iacolare
 
PPT
Backbone introdunction
mzxbupt
 
PDF
Developing Backbonejs Applications Early Release Addy Osmani
littelenkali
 
PDF
Backbone.js slides
Ambert Ho
 
PPTX
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
PDF
Instant download Developing Backbone js Applications Addy Osmani pdf all chapter
dinetvenitja
 
PDF
Developing Backbone js Applications Addy Osmani
leitaduminy
 
PDF
Developing maintainable Cordova applications
Ivano Malavolta
 
PPTX
Backbone
Sayed Ahmed
 
PDF
Backbone JS for mobile apps
Ivano Malavolta
 
PPTX
Planbox Backbone MVC
Acquisio
 
PDF
[2015/2016] Backbone JS
Ivano Malavolta
 
PDF
Javascript MVC & Backbone Tips & Tricks
Hjörtur Hilmarsson
 
PDF
Backbone.js
Ivano Malavolta
 
PPTX
Organized web app development using backbone.js
Shakti Shrestha
 
PPTX
Backbone introduction
Ravi Kumar Hamsa
 
PDF
Backbone intro
Ian Yang
 
Backbone the Good Parts
Renan Carvalho
 
Intro to BackboneJS + Intermediate Javascript
Andrew Lovett-Barron
 
Introduction to backbone_js
Mohammed Saqib
 
Single Page Applications
Massimo Iacolare
 
Backbone introdunction
mzxbupt
 
Developing Backbonejs Applications Early Release Addy Osmani
littelenkali
 
Backbone.js slides
Ambert Ho
 
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
Instant download Developing Backbone js Applications Addy Osmani pdf all chapter
dinetvenitja
 
Developing Backbone js Applications Addy Osmani
leitaduminy
 
Developing maintainable Cordova applications
Ivano Malavolta
 
Backbone
Sayed Ahmed
 
Backbone JS for mobile apps
Ivano Malavolta
 
Planbox Backbone MVC
Acquisio
 
[2015/2016] Backbone JS
Ivano Malavolta
 
Javascript MVC & Backbone Tips & Tricks
Hjörtur Hilmarsson
 
Backbone.js
Ivano Malavolta
 
Organized web app development using backbone.js
Shakti Shrestha
 
Backbone introduction
Ravi Kumar Hamsa
 
Backbone intro
Ian Yang
 
Ad

Recently uploaded (20)

PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
July Patch Tuesday
Ivanti
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
Ad

Intro to Backbone.js by Azat Mardanov for General Assembly

  • 1. Azat Mardanov Engineer, Storify.com INTRODUCTION TO BACKBONE.JS Saturday, February 2, 13
  • 2. AGENDA ‣ History, Problems and Solutions ‣ Brief Overview of Backbone Components ‣ Building Backbone App From Scratch ‣ Backbone Starter Kit ‣ Subviews ‣ AMD 2 Saturday, February 2, 13
  • 3. INTRODUCTION ‣ Over 12 years in software development ‣ Author of RapidPrototypingWithJS.com ‣ 500 Startups grad (Gizmo) AZAT MARDANOV ENGINEER, STORIFY 3 @azat_co azat.co Saturday, February 2, 13
  • 5. HISTORY, PROBLEMS AND SOLUTIONS HISTORY 1. Before: Pure HTML from the server, client just a painting instructions 2. Some client code to style (DHTML, AJAX), 90% of server 3. Spaghetti code (~4yr ago), no structure in who calls who 4. Now: 10-60% of interaction on client: data transferred in DOM, a.k.a lossy transformation, trying to use DOM as a database — sucks 5. Future: client will own entire complexity of application (?) 5 Saturday, February 2, 13
  • 6. HISTORY, PROBLEMS AND SOLUTIONS PROBLEMS IN FRONT-END DEVELOPMENT ‣ Client has more responsibility but not all (bugs) ‣ Complexity grows polynomial, features *2, must keep in mind all features before, ‣ Leads to re-writes, throwing away all code ‣ Accumulation of technical debt, more resource (developers) 6 DANGER ZONE! Saturday, February 2, 13
  • 7. HISTORY, PROBLEMS AND SOLUTIONS SOLUTIONS ‣ Better architecture (MVC) ‣ Best practices ‣ More developers (not scalable) 7 RIGHT CHOICE Saturday, February 2, 13
  • 8. HISTORY, PROBLEMS AND SOLUTIONS WHY USE MVC FOR FRONT-END DEVELOPMENT? “Code is not an asset, it’s a liability” - Unknown source 8 Saturday, February 2, 13
  • 9. HISTORY, PROBLEMS AND SOLUTIONS MODEL VIEW CONTROLLER ‣ Better code organization leads to faster/cheaper maintenance ‣ Reusability ‣ Separation of components/concerns 9 Saturday, February 2, 13
  • 10. HISTORY, PROBLEMS AND SOLUTIONS MODEL VIEW CONTROLLER ‣ Model: data and information ‣ View: visual representation ‣ Controller: interaction between a user and the system 10 Saturday, February 2, 13
  • 11. WHAT IS BACKBONE.JS? WHY USE MVC FOR FRONT-END DEVELOPMENT? ‣ Desktop-like applications in a browser (think GMail) ‣ Thick client and mobile apps ‣ Lots of interactions via HTTP Request (ex-AJAX) ‣ Updating DOM and dealing with callbacks quickly becomes PITA 11 Saturday, February 2, 13
  • 12. HISTORY, PROBLEMS AND SOLUTIONS ADVANTAGES OF BACKBONE.JS ‣ Simple: (View, Models, Collections, Router) ‣ Uses Underscore, jQuery/Zepto ‣ Customizable, works well with mobile apps 12 Saturday, February 2, 13
  • 13. HISTORY, PROBLEMS AND SOLUTIONS OTHER MVC FRAMEWORKS ‣ Ember.js: live-templates (Handebars), scaffolding, more desktop-like apps ‣ Knockout.js: lightweight http://todomvc.com/ — Todo app in various frameworks 13 GOOD TO KNOW Saturday, February 2, 13
  • 14. BACKBONE.JS COMPONENTS MAIN COMPONENTS ‣ Router: Controller in MVC concept ‣ Templates and Views: View (and Controller) in MVC concept ‣ Collections and Models: Model in MVC concept 14 Saturday, February 2, 13
  • 15. BACKBONE.JS COMPONENTS BEST PRACTICE ‣ Router: defines routes a.k.a nice URLs (/stories/:id/element/:id), calls views/collections ‣ Views: accept data, bind events, compile and render HTML ‣ Templates: HTML templates with JS instructions (Underscore) ‣ Collections: fetch, parse data via REST API, represent sets of Models ‣ Models: manipulate attributes, fetch and parse data via REST API 15 Saturday, February 2, 13
  • 16. BACKBONE.JS COMPONENTS FLEXIBILITY ‣ Router: not required ‣ Templates: can be just variables inside of Views or separate file (AMD) ‣ View can use Models directly 16 Saturday, February 2, 13
  • 17. BACKBONE.JS COMPONENTS STANDARD TRANSACTIONS MADE EASIER WITH A FRAMEWORK ‣ fetchAll: collection.fetchAll() instead of $.ajax(...) via REST API ‣ save(): model.save() instead of $.ajax(...) via REST API ‣ Updates Views based on data changes 17 Saturday, February 2, 13
  • 18. Q&A INTRODUCTION TO BACKBONE.JS 18 Saturday, February 2, 13
  • 19. KEY OBJECTIVE(S) AGENDA RESOURCESDELIVERABLE EXERCISE 1 - “HELLO WORLD” Build ‘Hello World” Backbone.js app from scratch 15m 1. Download jQuery, Underscore and Backbone 2. Create HTML and link libraries 3. Create Router 4. Create View 5. Run HTML file Insert deliverable/outcome http://github.com/azat-co/ga-backbone/ 19 Saturday, February 2, 13
  • 21. DISCUSSION TIME INTRODUCTION TO BACKBONE.JS 21 Saturday, February 2, 13
  • 22. EVENT BINDING BAD PRACTICE Have lots of ajax calls with callback inside of them: $.ajax (... //fetch data success: function(... //update view )) 22 DANGER ZONE! Saturday, February 2, 13
  • 23. EVENT BINDING GOOD PRACTICE In a view listen to Backbone collection.on(‘change’) event: collection.fetch() triggers ‘change’ event 23 RIGHT CHOICE Saturday, February 2, 13
  • 24. EVENT BINDING FURTHER READING Awesome guide on on going from jQuery to Backbone.js: https://github.com/kjbekkelund/writings/blob/master/published/ understanding-backbone.md/ or http://bit.ly/NGqFeK 24 GOOD TO KNOW Saturday, February 2, 13
  • 25. KEY OBJECTIVE(S) AGENDA RESOURCESDELIVERABLE EXERCISE 2 - “EVENT BINDING” Extend SSBSK to use subviews 15m 1. Download SSBSK 2. Create subview 3. Populate subview with models 4. Render subview 5. Run HTML file Insert deliverable/outcome http://github.com/azat-co/ga-backbone/ 25 Saturday, February 2, 13
  • 26. DISCUSSION TIME INSERT CLASS TITLE 26 Saturday, February 2, 13
  • 27. REQUIRE.JS AND AMD ASYNCHRONOUS MODULE DEFINITION Require.js allows for asynchronous loading of JS and other files (HTML): define(["alpha"], function (alpha) { return { verb: function(){ return alpha.verb() + 2; } }; }); 27 GOOD TO KNOW Saturday, February 2, 13
  • 28. BACKBONE.JS STARTER KIT 28 SUPER SIMPLE BACKBONE STARTER KIT Backbone + Twitter Bootstarp + Require.js (AMD) Boilerplate: https://github.com/azat-co/super-simple-backbone-starter-kit GOOD TO KNOW Saturday, February 2, 13
  • 29. KEY OBJECTIVE(S) AGENDA RESOURCESDELIVERABLE EXERCISE 3 - SSBSK Extend SSBSK to use subviews 15m 1. Download SSBSK 2. Create subview 3. Populate subview with models 4. Render subview 5. Run HTML file Insert deliverable/outcome http://github.com/azat-co/ga-backbone/ 29 Saturday, February 2, 13
  • 30. BOILERPLATE FURTHER READING Backbone Boilerplate Buddy: https://github.com/backbone-boilerplate/grunt-bbb Backbone.js Applications: http://addyosmani.github.com/backbone-fundamentals/ 30 GOOD TO KNOW Saturday, February 2, 13
  • 31. DISCUSSION TIME INSERT CLASS TITLE 31 Saturday, February 2, 13
  • 32. Q&A INSERT CLASS TITLE 32 Saturday, February 2, 13