I am not a developer, but have created websites using HTML, XML, and CSS and have set up online forms that connect to databases. The ability to create an LTI seems doable to me and is exciting! I would have to learn to code in Python, Ruby, or even PHP but there are online resources. Codecademy was mentioned for learning Python in a pre-conference session description: https://www.codecademy.com/learn/python
The advantage in using an LTI is that users do not have to leave Canvas and go to another system. From the user perspective, they are still in Canvas but behind the scenes they are sending their responses to another website. That website can then send data back into Canvas, such as grades sent to the gradebook.
The presenter at this session, Andrew Butterfield, is an engineer at Instructure and explained how LTIs embed and seamlessly integrate within Canvas. It was interesting to learn that an LTI link is in XML and that an LTI Launch is just a form post with an action of the launch URL. To install in Canvas, we can paste the XML or add by URL.
See the presentation slides below to view how LTIs work from beginning to end and to see the long list of the placements possible.
LTIs allow us to customize Canvas based on our needs and it is powerful for us to be able to create our own or use LTIs created by others.
Presentation Slides https://goo.gl/Gt8z3U