Creating LTI's to Expand Canvas

kenneth_rogers
Instructure Alumni
Instructure Alumni

I've long been curious of the openness of Canvas and how anyone off the street can create an LTI to interact with the LMS. I think we can all agree that this is one of the strengths of Canvas - and one that I wanted to pursue while at InstructureCon 2017‌ (Although  @tdelillo ‌'s post Explaining LTI versus LTI‌ encouraged my attendance as well!).

 @jweedling , from the Ivy Business School, Western University,‌ hosted us for his session titled "Mission Possible: Creating LTIs to Expand the Canvas Experience." Jason talked us through how they have created 15 LTIs with 2 more on the way (mostly with a deep integration with their SIS). However, the mission is clear when it comes to creating a LTI for their university - make the user's experience incredible. He noted that Canvas does not do everything (and it shouldn't), so break down your key users (students, faculty, course designers, administrative staff, etc.) and ask the questions to find out what hurts them and how you could help them. When this information you can redefine the things you do - imagine the impossible.

Western University started "hacking" Canvas like most of us - by injecting javascript into the Canvas theme. But Jason noticed that this simply places code on top of the existing structure, and can cause flickers or performance issues, which is why they went down the LTI route. What I found encouraging as I begin to analyze potential LTI development is their development structure. They build locally hosted asp.net websites following the LTI specification and use the Canvas jQuery libraries and CSS theme (which they host on their local server and update as they update their Canvas instance).

He did mention the portability problem, because LTI's do not work on mobile devices - so as you develop you must take that into consideration. You either need to create a mobile app within an LTI container to work along the Canvas App; or you need to create a standalone app. They are going down the first road (app within LTI container), and I can say from mobile experience, students do not want multiple apps from your university! Keep it simple!

Ultimately, here are some takeaways...

  • Leverage Canvas to build the best experience for each user group.
  • Have a plan for mobile/tablet support and development.
  • Avoid simply injecting javascript into the Canvas theme to alter the Canvas UI.
  • Stay on top of the Release Notes‌ to see what may impact your LTI.
  • Check out his notes: InstructureCon 2017 – Code Sequences