Over at the Global Education Partners Summit the Semblio SDK was announced.
nsquared has been fortunate enough to work with this technology during the beta cycles. If you look at it from a purely technical point of view there are a number of bits that make Semblio quite interesting. Each Semblio presentation/package is redistributable and self contained – this ensures that a package will be able to be run where-ever the Semblio runtime is being hosted (more on that in a bit).
Within each package is a set of activities. Activities should be created to run in isolation – there should be minimal (if any) association between activities. This means that activities can be reused either multiple times within an package or in a number of different packages. When an activity is packaged it can be associated with different parameters and/or files. For example you may have a Multi-Choice quiz question activity that might appear 10 times in a package, each with a different question/answer set.
The Semblio runtime essentially handles the loading of packages, activities and the setting of parameters on the activities. The runtime can be hosted within an existing application or in a standalone player – it’s up to you how you want the runtime to be hosted. In fact the runtime is configurable using styling and templates within WPF so that you have control over how things like the table of contents is rendered.
The biggest thing in my mind that the Semblio runtime does is to load the activities in such a way that they do not impact the host application. This is done by loading them into their own AppDomain. This would have been near to impossible in Windows Forms but luckily with some of the new components in WPF and the .NET Framework it is now possible to have UI components loaded in a different appdomain displayed as normal.
The Semblio Programmer’s Guide covers the main components of Semblio and how you can leverage the platform work Microsoft has invested in to build high quality educational content.