Intermodal
Ho-Sheng HsiaoGithub: github.com/hoshTwitter: hosheng
Rails Stopped Innovating
500,000 Android Activatedper daySource:  bit.ly/500k-android-activtions
Computer
Atlrug   intermodal - sep 2011
Atlrug   intermodal - sep 2011
500,000 Android Activatedper daySource:  bit.ly/500k-android-activtions
Computer
Atlrug   intermodal - sep 2011
Atlrug   intermodal - sep 2011
Atlrug   intermodal - sep 2011
Rails Stopped Innovating
Web
Atlrug   intermodal - sep 2011
Web
Atlrug   intermodal - sep 2011
PlatformsiOSAndroidBlackberryWindows 8HP/Palm WebOS
Cross PlatformjQuery MobileSenchaBackbone.jsSpine.jsPhoneGapTitanium
Rails?
API
API=Machine Legibility
Write the API First
Write the API FirstNo Server-Side HTML
Write the API FirstNo Templates
Write the API FirstJust Endpoints
Write the API FirstREST
RESTful EndpointsRESTfulCRUD
RESTful EndpointsCreateReadUpdateDelete  POST /posts.json
   GET /posts/1.json
   PUT /posts/1.json
DELETE /posts/1.json
   GET /posts.jsonRESTful EndpointsCreateReadUpdateDelete  POST /authors.json
   GET /authors/1.json
   PUT /authors/1.json
DELETE /authors/1.json
   GET /authors.jsonSee the pattern?
resources :postsresources :authors
  POST /posts.json
   GET /posts/1.json
   PUT /posts/1.json
DELETE /posts/1.json
   GET /posts.json  POST /authors.json
   GET /authors/1.json
   PUT /authors/1.json
DELETE /authors/1.json
   GET /authors.jsonIntermodal
IntermodalDSL for API
IntermodalNot Scaffolding
IntermodalThree Common Patterns
IntermodalResources
resources :posts
  POST /posts.json
   GET /posts/1.json
   PUT /posts/1.json
DELETE /posts/1.json
   GET /posts.jsonIntermodalNested Resources
# One-to-Many# Post has_many :comments# Comment belongs_to :postnested_resources:post, :comments
  POST /posts/1/comments.json
   GET /posts/1/comments/1.json
   PUT /posts/1/comments/1.json
DELETE /posts/1/comments/1.json
   GET /posts/1/comments.jsonIntermodalLinking Resources
# Many-to-Many# Post has_many :authors #   :through => :contributions# Author has_many :posts#   :through => :contributionslink_resources_from:post, :to =>:authors
  POST /posts/1/authors.json
   GET /posts/1/authors.json
   PUT /posts/1/authors.json
DELETE /posts/1/authors.jsonIntermodalPresenters
presentation_for:postsdo  presents :id  presents :title  presents :content  presents :authors =>    ->(p) { p.authors.map(&:id) }end
JSON
{ “post”:  { “id”: 1,    “title”: “Hello World”,    “content”: “Best of Times, Worst of Times”,    “authors”: [1,2,3]   }}
XML
<post>  <id>1</id>  <title>1</title>  <content>Best of Times, Worst of Times</content>  <authors>    <author>1</author>    <author>2</author>    <author>3</author>  </authors></post>
IntermodalAcceptors
acceptance_for:postsdo  accepts :title  accepts :contentend
acceptance_for:postsdo  accepts :title  accepts :contentend# Does not accept :id# Does not accept :authors
acceptance_for:postsdo  accepts :title  accepts :contentend# Passes only :title and :content# from params to#Post#update_attributes

More Related Content

PPT
API 101 - Understanding APIs.
PDF
Microservices with Swagger, Flask and Docker
PDF
RESTFul API Design and Documentation - an Introduction
PDF
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
KEY
ExpressionEngine 2: Total Domination
PDF
Restful API On Grape
PPTX
JAZOON'13 - Andres Almiray - Rocket Propelled Java
PDF
Developing documentation for RESTful APIs: how to kill three birds with one s...
API 101 - Understanding APIs.
Microservices with Swagger, Flask and Docker
RESTFul API Design and Documentation - an Introduction
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
ExpressionEngine 2: Total Domination
Restful API On Grape
JAZOON'13 - Andres Almiray - Rocket Propelled Java
Developing documentation for RESTful APIs: how to kill three birds with one s...

What's hot (18)

PPTX
Publishing strategies for API documentation
PPTX
New Things in C# 6.0
PDF
JPA 스터디 Week2 - Object Relational Mapping
PPTX
STC Summit 2015: API Documentation, an Example-Based Approach
PDF
Twitter APIs - the starter guide
PPTX
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
PPTX
API Workshop: Deep dive into code samples
PPTX
API Documentation -- Presentation to East Bay STC Chapter
PDF
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
PPTX
API Workshop: Deep dive into REST APIs
PPTX
API Documentation Workshop tcworld India 2015
PPTX
Publishing API documentation -- Presentation
PDF
MongoDB World 2018: A Swift Introduction to Swift
PDF
Kotlinizeでハマった話
PPTX
Documenting REST APIs
PPT
Selenium and Cucumber Selenium Conf 2011
PDF
Developing an Ember Test Strategy - EmberConf 2019
PDF
Mobile development with React Native — one year in production
Publishing strategies for API documentation
New Things in C# 6.0
JPA 스터디 Week2 - Object Relational Mapping
STC Summit 2015: API Documentation, an Example-Based Approach
Twitter APIs - the starter guide
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
API Workshop: Deep dive into code samples
API Documentation -- Presentation to East Bay STC Chapter
Разработка документации для RESTful API: как убить трёх зайцев одним. Moscow....
API Workshop: Deep dive into REST APIs
API Documentation Workshop tcworld India 2015
Publishing API documentation -- Presentation
MongoDB World 2018: A Swift Introduction to Swift
Kotlinizeでハマった話
Documenting REST APIs
Selenium and Cucumber Selenium Conf 2011
Developing an Ember Test Strategy - EmberConf 2019
Mobile development with React Native — one year in production
Ad

Viewers also liked (12)

PPTX
Ubidata Intermodal Europe 2016 presentation
PPT
Intermodal Containers
PDF
Maxx Intermodal Systems
PPT
Intermodal Overview from the IDS Perspective
PDF
The North American Intermodal Marketplace @ YE2009
PPT
Setting Up Centralized Intermodal Iss Case Study
PPTX
Intermodal system mbu
PDF
ASCE OC Geo-Institute Luncheon - ARTIC: Anaheim Regional Transportation Inter...
PPT
Intermodal and economic development
PDF
Intermodal notes
PPT
Intermodal (combined) transport
PPTX
Multi-modal and Inter-modal transportation planning
Ubidata Intermodal Europe 2016 presentation
Intermodal Containers
Maxx Intermodal Systems
Intermodal Overview from the IDS Perspective
The North American Intermodal Marketplace @ YE2009
Setting Up Centralized Intermodal Iss Case Study
Intermodal system mbu
ASCE OC Geo-Institute Luncheon - ARTIC: Anaheim Regional Transportation Inter...
Intermodal and economic development
Intermodal notes
Intermodal (combined) transport
Multi-modal and Inter-modal transportation planning
Ad

Similar to Atlrug intermodal - sep 2011 (20)

PDF
Api Design and More (Friday Training at Itnig)
PDF
Jordi Romero Api for-the-mobile-era
PDF
Python tools for testing web services over HTTP
PDF
Building Better Web APIs with Rails
PDF
Crafting APIs
ODP
REST dojo Comet
PDF
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
PPTX
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
PDF
Symfony + GraphQL
PPTX
Graphql + Symfony | Александр Демченко | CODEiD
PDF
Cqrs api
PPT
ODP
Djabot – Python Jabber Bot
PPT
RESTful SOA - 中科院暑期讲座
PPT
A simple ReSTful webservice for the Goblins (v. 0.5)
PDF
Adventurous Merb
PDF
HTTP and Your Angry Dog
PDF
Build REST APIs like a Jedi with Symfony2
ODP
Ruby off Rails---rack, sinatra and sequel
ODP
Developing and testing ajax components
Api Design and More (Friday Training at Itnig)
Jordi Romero Api for-the-mobile-era
Python tools for testing web services over HTTP
Building Better Web APIs with Rails
Crafting APIs
REST dojo Comet
apidays LIVE New York - API Code First vs Design First by Phil Sturgeon
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
Symfony + GraphQL
Graphql + Symfony | Александр Демченко | CODEiD
Cqrs api
Djabot – Python Jabber Bot
RESTful SOA - 中科院暑期讲座
A simple ReSTful webservice for the Goblins (v. 0.5)
Adventurous Merb
HTTP and Your Angry Dog
Build REST APIs like a Jedi with Symfony2
Ruby off Rails---rack, sinatra and sequel
Developing and testing ajax components

Recently uploaded (20)

PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
SGT Report The Beast Plan and Cyberphysical Systems of Control
Basics of Cloud Computing - Cloud Ecosystem
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
LMS bot: enhanced learning management systems for improved student learning e...
Connector Corner: Transform Unstructured Documents with Agentic Automation
Microsoft User Copilot Training Slide Deck
Advancing precision in air quality forecasting through machine learning integ...
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Introduction to MCP and A2A Protocols: Enabling Agent Communication
future_of_ai_comprehensive_20250822032121.pptx
MuleSoft-Compete-Deck for midddleware integrations
NewMind AI Weekly Chronicles – August ’25 Week IV
Convolutional neural network based encoder-decoder for efficient real-time ob...
giants, standing on the shoulders of - by Daniel Stenberg
4 layer Arch & Reference Arch of IoT.pdf
A symptom-driven medical diagnosis support model based on machine learning te...
Data Virtualization in Action: Scaling APIs and Apps with FME
Auditboard EB SOX Playbook 2023 edition.
Improvisation in detection of pomegranate leaf disease using transfer learni...
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf

Atlrug intermodal - sep 2011

Editor's Notes

  • #3: Working with Rails since 2006Started in the days of Rails 1.0Seen a lot of innovations, out-innovating PHP, .NET and JavaBut now, Rails community stopped innovating.
  • #4: Why did Rails stop innovating?Because we’re not looking outside of Rails.
  • #5: Here’s the biggest change
  • #6: -Big implications. -We’re all getting old-What do you see in your head when you see this word?
  • #7: Monitor- Mouse- Keyboard
  • #8: Macbook Air- Monitor Mouse Keyboard
  • #9: Here’s the biggest change
  • #10: - The kids growing up right now sees this word, they think of--
  • #11: Smartphone
  • #12: Tablet
  • #13: Wallboard
  • #15: - The kids growing up right now sees this word, they think of--
  • #16: Laptop
  • #17: - The kids growing up right now sees this word, they think of--
  • #18: Mobile Web
  • #21: - The kids growing up right now sees this word, they think of--
  • #22: What glues all the clients together?
  • #23: What glues all the clients together?
  • #24: Write the API first.
  • #32: What glues all the clients together?
  • #33: What glues all the clients together?
  • #41: What glues all the clients together?
  • #44: What glues all the clients together?
  • #47: What glues all the clients together?
  • #50: What glues all the clients together?
  • #51: What glues all the clients together?
  • #52: What glues all the clients together?
  • #53: What glues all the clients together?
  • #54: What glues all the clients together?
  • #56: What glues all the clients together?
  • #57: What glues all the clients together?
  • #58: What glues all the clients together?
  • #68: What glues all the clients together?
  • #70: What glues all the clients together?
  • #72: What glues all the clients together?
  • #77: That’s why it is called Open Source.Welcome users or contributors.
  • #78: Working with Rails since 2006Started in the days of Rails 1.0Seen a lot of innovations, out-innovating PHP, .NET and JavaBut now, Rails community stopped innovating.