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

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 EffectsPronovix
 
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 APIPronovix
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.wahabwelcome
 
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 DevelopmentAjeet Singh
 
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 WritersPronovix
 
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 & TipsAjeet Singh
 
[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!Ajeet Singh
 
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.0Mike Taylor
 
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 | EdurekaEdureka!
 
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?Intellipaat
 
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 upPronovix
 
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 HeroPronovix
 
Content Strategy for DevPortals
Content Strategy for DevPortalsContent Strategy for DevPortals
Content Strategy for DevPortalsPronovix
 
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 APIPronovix
 
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 styleZoho Creator
 
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...Edureka!
 
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 ?JanBask Training
 
Nissi On Job Training
Nissi On Job TrainingNissi On Job Training
Nissi On Job TrainingNissi Infotech
 

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

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.pptxXDuce Corporation
 
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 Out3scale
 
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.pdfTechugo
 
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 developmentdeorwine infotech
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web ApplicationMichael Choi
 
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.pdfMindfire LLC
 
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 StackRishavA
 
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 AppsCristina Vidu
 
Empowered productivity
Empowered productivityEmpowered productivity
Empowered productivityGiedrius Rimkus
 
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 LaunchThiam Hock Ng
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedagePrakashBedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptxPrakashBedage
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
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 perfectSon Nguyen
 
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.pdfsarah david
 
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 Replitmatiasfund
 
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 ProgramJason Harmon
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software DevelopmentSrinivasan Hariharan
 
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 EngineerSean Coates
 
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).pdfPridesys IT Ltd.
 

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

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 SupportChad Udell
 
ATD - Western Michigan September Meeting
ATD - Western Michigan September MeetingATD - Western Michigan September Meeting
ATD - Western Michigan September MeetingChad Udell
 
Atd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile LearningAtd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile LearningChad Udell
 
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 ResultsChad Udell
 
Mlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll ResultsMlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll ResultsChad Udell
 
Tappestry Demo
Tappestry DemoTappestry Demo
Tappestry DemoChad Udell
 
Prototyping
PrototypingPrototyping
PrototypingChad Udell
 
Whats Next for Mobile Learning
Whats Next for Mobile LearningWhats Next for Mobile Learning
Whats Next for Mobile LearningChad Udell
 
There Is No Easy Button
There Is No Easy ButtonThere Is No Easy Button
There Is No Easy ButtonChad Udell
 
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 AnalyticsChad Udell
 
The Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnConThe Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnConChad Udell
 
Design concepts for Mobile Learnng
Design concepts for Mobile LearnngDesign concepts for Mobile Learnng
Design concepts for Mobile LearnngChad Udell
 
ASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thChad 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
 
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 MobileChad Udell
 
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...Chad Udell
 
Comparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSesComparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSesChad Udell
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitChad Udell
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitChad Udell
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitChad 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

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

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