SlideShare a Scribd company logo
1 of 2
Download to read offline
Stop Building It From Scratch!
How to Build a Reusable eLearning Framework
Presented by:
Chad Udell (twitter.com/visualrinse) & Mark Tovey (twitter.com/em_tee)
http://ionagroup.com

Overview: APIs are prevalent in RIA and web design and development, but are relatively unheard of in
eLearning development. Using APIs has a quantifiable return on investment and is a standard way to build
robust functionality in application development. How can we start to move towards this sort of development
process in eLearning?


Why This Is important: There are significant cost and time savings possible in standardizing around an API
for use in your learning development organization. Shorter development cycles, improved quality and more
reliable testing results will be immediately noticeable. Protection of intellectual property and improved risk
management for your company are also areas that will see benefits in implementing an API.


Things to Consider: Creating an API is a worthwhile activity, but one that requires planning and collaboration
between the API developers and the API users. Once you create an API and deploy it, it’s difficult to come
back and wipe the slate clean if you need to start over. An API is a contract between two mechanisms. An
API should consist of concise, intuitively named methods, properties and events. Any codebase utilizing the
API can then be written to a simple interface, able to ignore the implementation details of that interface.


How You Can Get Started: The first steps in creating an API are completely analog! Take stock in what you
have to develop repeatedly in your courses. Survey your developers and determine what are some of the
more difficult things they have to create. Review your existing code library for the “greatest hits.” Research
publicly available APIs and note what you like and don’t like about them.


For further reading:
http://ionagroup.com/labs/stop_building_it_from_scratch
How To Design a Good API and Why It Matters: http://www.scribd.com/doc/33655/How-to-Design-a-Good-API-and-
Why-it-Matters
http://www.programmableweb.com/reference




                                                                                                        Page 1
Worksheet
How do you know you when an API is right for you?
If five or more of these situations apply to you, you’ve probably outgrown
using a code library. You should consider moving to an API.

1. Your development team is three or more people.

2. You have junior level developers that need to produce “senior level products.”

3. You have to ask questions like, “Where is the latest version of the LMS connection script?” more than
once a month.

4. You have projects with external developers with whom you need to collaborate.

5. You want everyone on your team to use the company’s “Best Practices” in creating their code.

6. Your code will have a multi-project shelf life. Some modules will be reused many, many times.

7. Your investment in your intellectual property is worth the effort required to create an API the right way.

8. You are standardized on a toolset, and need to standardize on an implementation path.

9. You have been burned by quality issues that could have been remedied by a standardized approach.

10. You are looking for new ways to enhance productivity in your development team.

11. You are deploying your code as a software product (SaaS or otherwise).




If the following situations apply to you, proceed with caution.

1. You work alone.

2. You don’t have a standard toolset.

3. Your technology decisions are often ruled by forces outside of your department.

4. Spending dozens or hundreds of hours to get your toolset in order is not an option.

5. You have no need for reusable code as assets across multiple projects.

6. Code as intellectual property is a foreign concept to your organization and you won’t be able to change
that anytime soon.
                                                                                                       Page 2

More Related Content

What's hot

From Zero to Spec-first API Hero
From Zero to Spec-first API HeroFrom Zero to Spec-first API Hero
From Zero to Spec-first API Hero
Pronovix
 

What's hot (20)

Optimizing API Documentation: Some Guidelines and Effects
Optimizing API Documentation: Some Guidelines and EffectsOptimizing API Documentation: Some Guidelines and Effects
Optimizing API Documentation: Some Guidelines and Effects
 
Boquet manager
Boquet managerBoquet manager
Boquet manager
 
How to Embed UX Thinking in Your Next API
How to Embed UX Thinking in Your Next APIHow to Embed UX Thinking in Your Next API
How to Embed UX Thinking in Your Next API
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.
 
Why and When Enterprise Should Adopt NativeScript for App Development
Why and When Enterprise Should Adopt NativeScript for App DevelopmentWhy and When Enterprise Should Adopt NativeScript for App Development
Why and When Enterprise Should Adopt NativeScript for App Development
 
Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers
Eight Hours to API Literacy: A Fast, Fun On-ramp for WritersEight Hours to API Literacy: A Fast, Fun On-ramp for Writers
Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers
 
Native WebRTC Mobile App Development: Tools & Tips
Native WebRTC Mobile App Development: Tools & TipsNative WebRTC Mobile App Development: Tools & Tips
Native WebRTC Mobile App Development: Tools & Tips
 
[Business Strategy] DevOps Implementation Failure. Save It Before You Fail It!
[Business Strategy] DevOps Implementation Failure. Save It Before You Fail It![Business Strategy] DevOps Implementation Failure. Save It Before You Fail It!
[Business Strategy] DevOps Implementation Failure. Save It Before You Fail It!
 
New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0
 
Python Web Development Tutorial | Web Development Using Django | Edureka
Python Web Development Tutorial | Web Development Using Django | EdurekaPython Web Development Tutorial | Web Development Using Django | Edureka
Python Web Development Tutorial | Web Development Using Django | Edureka
 
How to Create your First Website using ReactJS?
How to Create your First Website using ReactJS?How to Create your First Website using ReactJS?
How to Create your First Website using ReactJS?
 
How to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground up
 
From Zero to Spec-first API Hero
From Zero to Spec-first API HeroFrom Zero to Spec-first API Hero
From Zero to Spec-first API Hero
 
Test automation-framework
Test automation-frameworkTest automation-framework
Test automation-framework
 
Content Strategy for DevPortals
Content Strategy for DevPortalsContent Strategy for DevPortals
Content Strategy for DevPortals
 
Why you need a Developer Relations team for your API
Why you need a Developer Relations team for your APIWhy you need a Developer Relations team for your API
Why you need a Developer Relations team for your API
 
Busting myths about business apps, low code style
Busting myths about business apps, low code styleBusting myths about business apps, low code style
Busting myths about business apps, low code style
 
What Is Selenium | Selenium Tutorial For Beginner | Selenium Training | Selen...
What Is Selenium | Selenium Tutorial For Beginner | Selenium Training | Selen...What Is Selenium | Selenium Tutorial For Beginner | Selenium Training | Selen...
What Is Selenium | Selenium Tutorial For Beginner | Selenium Training | Selen...
 
SELENIUM or QTP Which is a Best Automation Tool for Your Business ?
SELENIUM or QTP Which is a Best Automation Tool for Your Business ?SELENIUM or QTP Which is a Best Automation Tool for Your Business ?
SELENIUM or QTP Which is a Best Automation Tool for Your Business ?
 
Nissi On Job Training
Nissi On Job TrainingNissi On Job Training
Nissi On Job Training
 

Similar to Dev Learn Handout - Session 604

Similar to Dev Learn Handout - Session 604 (20)

Documenting the Mobile API Development Process 2023.pptx
Documenting the Mobile API Development Process 2023.pptxDocumenting the Mobile API Development Process 2023.pptx
Documenting the Mobile API Development Process 2023.pptx
 
APIS for Startups - Running your Business Inside Out
APIS for Startups - Running your Business Inside OutAPIS for Startups - Running your Business Inside Out
APIS for Startups - Running your Business Inside Out
 
React Native App Development in 2023-Tips to Practice.pdf
React Native App Development in 2023-Tips to Practice.pdfReact Native App Development in 2023-Tips to Practice.pdf
React Native App Development in 2023-Tips to Practice.pdf
 
Popular PHP laravel frameworks in app development
Popular PHP laravel frameworks in app developmentPopular PHP laravel frameworks in app development
Popular PHP laravel frameworks in app development
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
How can JAVA Performance tuning speed up applications.pdf
How can JAVA Performance tuning speed up applications.pdfHow can JAVA Performance tuning speed up applications.pdf
How can JAVA Performance tuning speed up applications.pdf
 
13 Tips to Choose the Perfect Tech Stack
13 Tips to Choose the Perfect Tech Stack13 Tips to Choose the Perfect Tech Stack
13 Tips to Choose the Perfect Tech Stack
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath Apps
 
Empowered productivity
Empowered productivityEmpowered productivity
Empowered productivity
 
Learning Web Development with Ruby on Rails Launch
Learning Web Development with Ruby on Rails LaunchLearning Web Development with Ruby on Rails Launch
Learning Web Development with Ruby on Rails Launch
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptx
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
10 steps to design and build the perfect
10 steps to design and build the perfect10 steps to design and build the perfect
10 steps to design and build the perfect
 
8_reasons_php_developers_love_using_laravel.pdf
8_reasons_php_developers_love_using_laravel.pdf8_reasons_php_developers_love_using_laravel.pdf
8_reasons_php_developers_love_using_laravel.pdf
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replit
 
Essential Ingredients for a Successful API Program
Essential Ingredients for a Successful API ProgramEssential Ingredients for a Successful API Program
Essential Ingredients for a Successful API Program
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
Reason To Choose Oracle APEX (Application Express).pdf
Reason To Choose Oracle APEX (Application Express).pdfReason To Choose Oracle APEX (Application Express).pdf
Reason To Choose Oracle APEX (Application Express).pdf
 

More from Chad Udell

Whats Next for Mobile Learning
Whats Next for Mobile LearningWhats Next for Mobile Learning
Whats Next for Mobile Learning
Chad Udell
 
ASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28th
Chad Udell
 
Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?
Chad Udell
 

More from Chad Udell (20)

DevLearn 2018 - Designing AR Experiences for Performance Support
DevLearn 2018 -  Designing AR Experiences for Performance SupportDevLearn 2018 -  Designing AR Experiences for Performance Support
DevLearn 2018 - Designing AR Experiences for Performance Support
 
ATD - Western Michigan September Meeting
ATD - Western Michigan September MeetingATD - Western Michigan September Meeting
ATD - Western Michigan September Meeting
 
Atd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile LearningAtd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile Learning
 
Leveraging Devices to Create Amazing Mobile Learning - TK2014 Results
Leveraging Devices to Create Amazing Mobile Learning - TK2014 ResultsLeveraging Devices to Create Amazing Mobile Learning - TK2014 Results
Leveraging Devices to Create Amazing Mobile Learning - TK2014 Results
 
Mlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll ResultsMlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll Results
 
Tappestry Demo
Tappestry DemoTappestry Demo
Tappestry Demo
 
Prototyping
PrototypingPrototyping
Prototyping
 
Whats Next for Mobile Learning
Whats Next for Mobile LearningWhats Next for Mobile Learning
Whats Next for Mobile Learning
 
There Is No Easy Button
There Is No Easy ButtonThere Is No Easy Button
There Is No Easy Button
 
Learning Tracking Out of the LMS and Embracing Learning Analytics
Learning Tracking Out of the LMS and Embracing Learning AnalyticsLearning Tracking Out of the LMS and Embracing Learning Analytics
Learning Tracking Out of the LMS and Embracing Learning Analytics
 
The Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnConThe Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnCon
 
Design concepts for Mobile Learnng
Design concepts for Mobile LearnngDesign concepts for Mobile Learnng
Design concepts for Mobile Learnng
 
ASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28th
 
Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?
 
How to Convert Your eLearning to Mobile
How to Convert Your eLearning to MobileHow to Convert Your eLearning to Mobile
How to Convert Your eLearning to Mobile
 
Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...
Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...
Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...
 
Comparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSesComparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSes
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing Toolkit
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and Profit
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and Profit
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Dev Learn Handout - Session 604

  • 1. Stop Building It From Scratch! How to Build a Reusable eLearning Framework Presented by: Chad Udell (twitter.com/visualrinse) & Mark Tovey (twitter.com/em_tee) http://ionagroup.com Overview: APIs are prevalent in RIA and web design and development, but are relatively unheard of in eLearning development. Using APIs has a quantifiable return on investment and is a standard way to build robust functionality in application development. How can we start to move towards this sort of development process in eLearning? Why This Is important: There are significant cost and time savings possible in standardizing around an API for use in your learning development organization. Shorter development cycles, improved quality and more reliable testing results will be immediately noticeable. Protection of intellectual property and improved risk management for your company are also areas that will see benefits in implementing an API. Things to Consider: Creating an API is a worthwhile activity, but one that requires planning and collaboration between the API developers and the API users. Once you create an API and deploy it, it’s difficult to come back and wipe the slate clean if you need to start over. An API is a contract between two mechanisms. An API should consist of concise, intuitively named methods, properties and events. Any codebase utilizing the API can then be written to a simple interface, able to ignore the implementation details of that interface. How You Can Get Started: The first steps in creating an API are completely analog! Take stock in what you have to develop repeatedly in your courses. Survey your developers and determine what are some of the more difficult things they have to create. Review your existing code library for the “greatest hits.” Research publicly available APIs and note what you like and don’t like about them. For further reading: http://ionagroup.com/labs/stop_building_it_from_scratch How To Design a Good API and Why It Matters: http://www.scribd.com/doc/33655/How-to-Design-a-Good-API-and- Why-it-Matters http://www.programmableweb.com/reference Page 1
  • 2. Worksheet How do you know you when an API is right for you? If five or more of these situations apply to you, you’ve probably outgrown using a code library. You should consider moving to an API. 1. Your development team is three or more people. 2. You have junior level developers that need to produce “senior level products.” 3. You have to ask questions like, “Where is the latest version of the LMS connection script?” more than once a month. 4. You have projects with external developers with whom you need to collaborate. 5. You want everyone on your team to use the company’s “Best Practices” in creating their code. 6. Your code will have a multi-project shelf life. Some modules will be reused many, many times. 7. Your investment in your intellectual property is worth the effort required to create an API the right way. 8. You are standardized on a toolset, and need to standardize on an implementation path. 9. You have been burned by quality issues that could have been remedied by a standardized approach. 10. You are looking for new ways to enhance productivity in your development team. 11. You are deploying your code as a software product (SaaS or otherwise). If the following situations apply to you, proceed with caution. 1. You work alone. 2. You don’t have a standard toolset. 3. Your technology decisions are often ruled by forces outside of your department. 4. Spending dozens or hundreds of hours to get your toolset in order is not an option. 5. You have no need for reusable code as assets across multiple projects. 6. Code as intellectual property is a foreign concept to your organization and you won’t be able to change that anytime soon. Page 2