180 likes | 293 Views
Moving a Commercial ASP.NET Application to Silverlight. Jeffrey M. Rhodes Platte Canyon Multimedia Software Corporation. Product Objectives. Provide the power of ASP.NET but with no programming or advanced configuration Store questions and objectives in SQL Server, Access, or XML
E N D
Moving a Commercial ASP.NET Application to Silverlight Jeffrey M. Rhodes Platte Canyon Multimedia Software Corporation
Product Objectives • Provide the power of ASP.NET but with no programming or advanced configuration • Store questions and objectives in SQL Server, Access, or XML • Create exams composed of questions pulled randomly by objective from a pool • Create exams that support the SCORM 1.2/2004 Runtime Environment and packaging specification (can’t do the latter currently) • Make it easy for Subject Matter Experts to edit questions
Version 2 Demo Question Web Player Graphical Button
What are the Problems? • Requires ASP.NET virtual directory • Prevents complete SCORM compliancy • Has limited question types (multiple choice, true-false, fill-in-the-blank) due to databinding approach • Has frequent postbacks that are frustrating to users with slow connections • Difficult for users to customize
Why Silverlight? • Easy to play media and display graphics • Has power to perform more complex actions like drag & drop and drawing lines • Does not require a virtual directory • Allows reuse of much existing “Question” object functionality • Considered implementing in Flash using existing Flash “Learning Interactions” but these are limited to ActionScript version 2 • Security model more conducive to web services than Flash
Version 3 Demo Page.xaml matching_lines.xaml
Deployment and .xap Content rather than resources so can add to the .xap programmatically without rebuilding DLL
Key Programming Tasks • Navigate between questions • Dave Relyea’s Transition Control • Display graphic • Play media • Similar to graphic but don’t need to create object
Key Programming Tasks • Configure buttons with graphics and text • Set Content to be a new StackPanel
Key Programming Tasks • Time questions • Implement at QuestionTemplate level
Key Programming Tasks • Communicate with an LMS via JavaScript • Window.Invoke() for calling JavaScript function • Window.Eval() for injecting complete JavaScript calls
Key Programming Tasks • “Server-side” tasks: email, save results • WCF web service
Key Programming Tasks • Create “Rollover” Button • Custom component implemented with VisualStateManager
Feedback/Challenges • Feedback: extremely positive so far with customers like Exxon/Mobile and Motorola eagerly waiting for release • Challenge: creating new templates eased with Blend but still challenging for non-programmer due to necessity to work with “code-behind” file and build DLL • Harder than opening Flash .fla and saving as a new name • Challenge: dependent on corporate acceptance of Silverlight
References • Dave Relyea’s Transition Control: http://tinyurl.com/57bwh4 • Delay’s HtmlTextBlock: http://tinyurl.com/d8m23s • Sample Exam: http://www.examengine.net/ExamEngine3 • Mike & Mike’s Silverlight Demos (Beta 2): http://www.miketaulty.com/SLVideos.html • Tim Heuer’s Blog: http://timheuer.com/blog • Scott Guthrie’s Blog: http://weblogs.asp.net/Scottgu • Shawn Burke’s Blog: http://blogs.msdn.com/sburke
Questions? Jeffrey M. Rhodes Platte Canyon Multimedia Software Corporation jrhodes@plattecanyon.com