eLearning Frenzy

eLearning is like a sewer, what you get out of it depends on what you put into it.



BbWorld18 Devcon Session Post: Collaborate Ultra: WebRTC and our MCU

What is WebRTC?

WebRTC is an open source project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose

  • Web Real-time Communication
  • Interoperation across vendors
  • Standards managed by W3C and IETF
  • Open-Source Mobile
  • Why use WebRTC
    • Gets audio/video to/from a and b fast
      Critical mass across browsers and devices
      – no need to reinvent the wheel
      – lower friction due to “no plugin” installation
      – User control over permissions
      Easy to work with
      – Leverage HTML5/Javascript
      – Lots of APIs (getUserMedia,RTCPeerConnection, RTCDataChannel, getStats)
      Click a link: connected!
      A lot of hype but perhaps not overhyped

    Collaboration WebRTC Adoption

    • Collab’s choice of WebRTC was not so straightforward
    • in 2014
      – Poor browser support (chrome early Firefox)
      – Codec wars in effect
    • Collaborate’s choice: Use WebRTC to deliver browser-based conferencing
      – What about Collaboration original
      – Only Chrome was mature enough at the time to meet market expectations
      – Multiple HQ videos with good sync
      – Desktop Sharing
      – Other browsers use flash required (one video no desktop sharing)
      – We’ve been adding additional browsers as they mature Firefox in 2016, Safari 11 and Edge are on the way)
      – Flash end of life: 2020
  • Browser Implementations
    • Codec Wars
      SDP vs ORTC
      Browser Compliance
      Browser Permissions

    Codec Wars:

    • Audio agreed to: OPUS
      – High speed collision between technologies
      – Low bit rates for speech
      – High bit rates for music
      – Forward Error Correction
    • Video- not so much
      – VP8 from the Google Camp
      – H.264 from the Cisco/Apple/Microsoft
      – No significant performance difference, we don’t care!
      – Patents main blocker for H.264
      – Finally Solved by MPEG LA (via Cisco) giving it away.
  • SDP vs ORTC
    • How to describe the details for the media session?
      – Capabilities and connectivity between peers
      Session Description Protocol
      – Text-based and very complex for multi-channel
      – Existing browsers use SDP
      – Even here, two different versions: Unified Plan vs Plan B
      Object Real-Time Communications
      – Simpler and less proscriptive
      – Microsoft used ORTC and not SDP for Edge

    Browser Compliance

    • After years of in-fighting we have a standard: WebRTC 1.0
      – Working Group first created in May 2011
      – Originally expected to finish end of Feb 2013
      – Last call Started October 2016
      – First candidate Recommendation: November 2017
    • Browsers have different degrees of adherence to standards
    • Adapter.js Serves to normalize subtle browser differences
  • Browser Permissions
    • Microphone/camera access
      The camera light
      User fingerprinting
      Local IP address enumeration

    WebRTC Connections

    • We’ve exchanged SDP; now how do we connect to send/receive audio and video?
    • Simplest case almost never works – users are very rarely connected to directly to the internet
    • Need to handle a wide range of possible network configurations
    • Network Address Translations
    • IPv4 address limitations: running out of IP Addresses
    • Works fantastically well for normal web requests
    • Terrible for real-time media
    • User Datagram Protocal
      – fast, buy lossy “best effort”
    • Transmission Control Protocol
      – reliable, but slow “guaranteed”
    • For real-time media, time is king: prefer loss over delay
    • Transport Layer Security
      – Encrypted, secure, private
      – For UDP or TCP
  • Collaborate’s MCU – Core Technology
  • Peer to Peer – WebRTC is about connecting two endpoints with media. How do you create a conference?
  • Multipoint Conferencing Unit
  • Selective Forwarding Unit
    • Hybrid

    Bandwidth adaptation

    • Packet Loss: sequence Numbers
    • Latency: time stamp
    • How our MCU technology improves the experience
      – Differing bandwidth
      – Quantizing Modes
      – Three Bands
      – High bit rate (pass through)
      – Low bit rate
      – Ultra low bit rate

    Key Differentiators

    • prioritization
      – audio: by adapting quickly, we can ensure that video bandwidth does not interrupt audio traffic
      – video: high quality video for primary speaker and/or desktop sharing
    • Customization
      – Each viewer gets the best quality available to them,based on their bandwidth
    • Scale
      – Collaborate supports 500 users in a single session.
  • Future of WebRTC
    • Scalable Video Coding: VP9 vs H.265 -> VC1
      Data Channels
      – Chat/Subtitles
      – File transfers
      – Synchronization/Gaming
      An enabling technology: endless applications
      – AI agents: bots!
      – Internet of Things

    Future Adaptations for Collaborate and WebRTC

    • Prepare for Flash EOL (2020)
      – Safari 11 and Edge native support (on the roadmap)
      – Plugin for Safari 10 and IE11, and/or end support
    • Example feature Requests
      – Dedicated video channels (sign language, labs, presentations)
      – More Videos
      – Primary limitation is available bandwidth
      – Desktop Cursor Control
      – WebRTC desktop sharing is not VNC

    BbWorld18 Devcon Session Post: Integrating Learn with LTI and REST


    Note: most of this session is in the “coming soon category”

    What are we trying to solve?

    • Integrate ISV(independent software vendor) tools with original and ULTRA Learn
    • Access to content
      – Publisher Text books
      – Open educational resources
    • Use of specialized “tools” not built by Blackboard:
      – Assignment
      – Test
      – Grading
      – Video Creation
      – Course Evaluation
      – Games
    • Better Security!!
  • Content Market (built into learn experience)
    • Publishers, LTI tools.
      Links bring up ISV UI
      Getting 3rd party content into LEARN seamlessly

    Your Experience

    • Tool Developer
    • Learn Administrator/Instructor/User
    • Ultra Experience
    • Building Blocks
    • LTI
    • REST API
  • LTI Advantage – four new specifications that work together
  • New Security Model based on existing standards
    • OAuth 2.0
      OpenID Connect (OIDC)
      JWT (JSON Web Tokens)
      Library support for most languages (see
      Better security (harder to crack)
      Asymmetric keys (not sharing keys between tool and LMS)
      New terminology to better match OAuth 2 terminology:
      – Tool (tool provider) – Client in OAuth 2.0
      – Platform (tool consumer or LMS) – Resource Server
      – Users
      – Grades

    New Security Model & Contract

    NEw Deployment ID for Tools

    LTI Resource Link (Formerly known as Basic LTI Launch)

    JWT and OpenID Connect Fields

    LTI 1.3 Core in a Nutshell

    LTI Deep Linking 2.0 (Formerly Content-Item Message

    LTI Deep Linking Request (from Platform)

    Assignment and Grades Service 2.0

    • Post a score from tool
    • Get result from platform
      -result does not necessarily equal score
    • Create line items (grade book columns) by the tool in the platform’s grade book
      – may or may not be associated with a resource
    • Requires OAuth 2.0 security model (bearer token, scopes)
  • Developer Portal –
    • Rich set of RESTFUL APIs
      Well documented
      Use in conjunction with LTI
      – get information about a course
      – Gradebook schemas
      – Attempts for a user
      – Group Information
      – ETC.

    BbWorld18 Devcon Session Blog: Introduction to Attendance

    • Overview of attendance functionality
    • Feature/service architecture
    • Integration architecture
    • Impact and future guidelines
  • Attendance shows up in a roster view with students on left and tabular content on right with the Day, if they were present, late, absent and excused columns.
  • A grade can be calculated for it and it is added to grade book.
  • Principles for New Solution
    • Foundation for future integrations into product portfolio
      Separate application and data store, singer source of truth
      API First
      Take advantage of latest tech

    Service Architecture

    • Multi-tenant service, data serrated by unique user I’d
    • Application tier developed in java
    • Dropwizard library for API/controllers
    • JDBI for data access
    • Flyway for database scheme management
    • Deployed as docker containers on Kubernets
    • Postgres 9.6 for database
  • Integration Architecture
  • Security Architecture
  • Why did we choose this architecture?
    Building Functionality as a separate service has advantages.
    • Separate application & database adds no load to learn
      Natively built on REST API, easy to integrate into other products
      Standalone, small service can choose the most appropriate technologies for a given function
      Separate service can be tested and deployed in isolation.

    Integration Architecture

    • Standalone SaaS easily integrated across portfolio
    • integrate 3rd party services through developer portal (future)
    • API first (REST) enables complete access to service functionality through APIs
  • Blueprint for future work
    • Building services as separate has advantages can can be applied to broad set of problems
      Important architectural pattern that will help apply on larger scale over time
      Leads to tighter integration and more consistent functionality across product suite
      Services can be gradually rolled out and integrated Bb applications
      Scalability of entire eco-system will improve over monolithic application: more stable, more consistent and predictable performance
      Used in other areas besides attendance, box integration, cloud storage integration, Ultra institution pages.

    General Impact

    • Service based architecture is mostly transparent to end users, but affects developers and integrators.
    • Not all data I contained in LEARN anymore
    • Not all functionality is available via Java API anymore
    • Data will be aggregated into data lake
    • Functionality is exposed through REST APIs
    • Use REST APIs to future prof customizations and extensions.

    “Intuitive” is in the eye of the beholder.


    So I felt the need to compose a blog that reflected on an experience that we just had at our office and how it relates to how we approach our jobs supporting online/face-to-face/hybrid students and faculty. Our office recently relocated to a “new-to-us” location.  We really love the location and appreciate the way it improved our “esprit de corps”.  We did however notice one issue that had us perplexed.

    You see, we couldn’t figure out how to lock our inner-office doors.  There was a door knob, and a place to fit our keys to unlock our office doors, but we couldn’t lock the door using our keys.  We tried it with our individual keys, with our office master-key and even tried it on different doors, but to no avail.  We couldn’t figure it out.  Finally we just decided that the locks must be broken.  After all, why give us keys and a key hole, but no way to lock the doors that these key holes belong to.  Confident in our assumptions, we put in a ticket with facilities and asked them to come fix our problem.

    Well later that day a gentleman from facilities showed up and check out the doors.   He took one look at our “broken door-locks” and asked, “Did you push the button?”  The button?  We couldn’t find any button and we told him so.  Finally, he directed us to where the latch comes out of the door and told us to press in what we thought was part of the latch and low and behold, the doors locked!  Who would think to look for a locking mechanism on the side of the door, rather than make it part of the knob?

    What was intuitive for the facilities employee was NOT intuitive for us.  Now, in the moment, we all laughed and rejoiced in our new found ability to lock our inner-office doors.  A few hours later as I was sitting at my work desk, I realized that this situation related well to our jobs as instructional technology guides, helpers, trainers and designers.  What do we think is intuitive?  The learning activity, proctoring software or the LMS?  We live and breathe this stuff day in and day out, while our students and faculty may be experiencing it for the first time.

    We should be putting all of our documentation, course work, and interactions into this context.  Are we we forgetting the mechanical instructions when we design learning activities and just putting in the academic?  Do we design technology how-to documentation with an assumed level of experience?  Would taking this into consideration change how we approach support calls from students or faculty?  I think it would.


    Importance of the Virtual Office


    In face-to-face courses, students have the luxury of benefiting from questions asked while in the classroom or the ability to stop by your office to discuss an issue they might be having.  In both cases they get the chance to interact with you and possibly some of their fellow classmates.

    Sometimes, students find it challenging to find that same connection in an online, hybrid or web-enhanced environment.  The good news is that with Blackboard and other learning management systems, you can create a virtual space where your students can experience the same kind of connection and feedback they receive in their brick-and-mortar classrooms.

    Using a virtual office in your online/hybrid/web-enhanced courses provides many benefits. For the purpose of this blog post, we will focus on three.  Using a virtual office:

    • puts the instructor in the course
    • cleans up email inboxes
    • promotes the use of Blackboard (the LMS or Learning Management System)

    The virtual office puts the instructor in the course

    Placing a photo of yourself, your contact information and a little biographical info can go a long way toward helping your student see you as a person and not some synthetic-robot version of yourself.   If you want to go the extra mile, replace the photo with a quick Intro or Welcome video that can bring out your personality and help the students get to know you.

    By subscribing to your own virtual office discussion forum you will receive prompts when questions are posted.  These prompts will help you engage with your students in a timely fashion and make the students feel like you are in the course.

    The virtual office cleans up e-mail inboxes

    Let’s face it, we all “misplace” e-mail.  For some of us, our inbox receives a hundred new messages or more each day.  Why not make life easier on you and your students by reserving course-oriented email for things of a personal or private nature.  Have your students post general course questions to the virtual office discussion forumWhen you answer questions via e-mail the only people that see that correspondence are you and the student. If a question is answered in a public space like the virtual office, everyone benefits.

    You may have to use the first week of the course as a “training week” where you ensure you point your students to the virtual office for answers to course questions.  Make it a requirement in your syllabus, an expectation on your course expectations page and a question on your Syllabus quiz to ensure students know where to go.

    BONUS:  The virtual office builds a course FAQ over the course of a semester that you can then use as part of your next semester’s course.

    The virtual office promotes the use of Blackboard (the LMS)

    The more time a student is spending in your course, the more connected they are to what is happening.  When your students establish the habit of checking the course regularly, they will be more engaged and more successful.

    Encouraging your students to check the virtual office daily will get them in your course and connect them to the information and activities they need to conquer course objectives.

    When you Pack Your Bags for BbWorld18…

    When we think of thought-leading eLearning conferences that we attend like Blackboard World, we often think of them in terms of things we will come back with. There is good reason for this, as there are so many takeaways that a conference like Blackboard World provides. For the purposes of this blog post however, we will be focusing on what we should bring with us to Blackboard World 2018.

    So when you pack your bags for BbWorld….

    …..Pack a way to share what you learn:

    For every oSharing Gadgetsne of us who are fortunate enough to attend this tremendous eLearning event, there are many, many more of us who cannot be at BbWorld. Since we all know that “sharing is caring,” bring a way to share what you’ve learned with your coworkers back home and your colleagues across the world. Whether you are live tweeting by phone or mobile device, live-blogging from your tablet or laptop, or maybe just taking notes to present, blog, or post later, you will be helping your coworkers at home and your peers across academia benefit from what you are picking up from colleagues, professionals and thought leaders.  Remember the hashtag: #BbWorld18

    …..Pack a charger (Mobile or otherwise):

    Portable ChargerIf indeed you are sharing your experience, or just trying to stay in touch with events back at home, you will definitely need a charger. I would suggest bringing one of the mobile chargers that you can keep in your pocket/purse/backpack. During the hectic schedule, you may not get a chance to go back to your room, and you may not find an open plug where you can “juice-up”. *As an addendum to this packing tip, bringing a small power strip is also beneficial as you can share one plug with a number of your peers.

    …..Pack a desire to meet people and make connections:

    Make ConnectionsPossibly the biggest benefit to being at Blackboard World is the ability to meet your peers and form connections that you will maintain and use throughout your professional career. At your home institution you may be the only person who does what you do, but at Blackboard World you are a small fish in a big pond. There will literally be hundreds of people with your same type of job. What better way to pick up best practices and learn what is working and not working for your colleagues, so that you aren’t stumbling around on your own when it comes to your learning management system or eLearning in general.

    …..Pack some tennis shoes or at least comfy dress shoes:

    ShoesBbWorld has possibly the largest population of slacks/skirts and Nikes in the eLearning universe. For a conference this large, you may be walking a quarter of a mile just to get to your next session. You also have vendors to see and colleagues to touch base with, so comfortable footwear is a must. Some of you may even spend time at Hogwarts working on your patronus, so you will most assuredly  need shoes for your journey!

    Looking forward to seeing everyone there!

    Seeing is Believing: Let Students See How Online Tools Work

    I have posted previously on the importance of showing students what success looks like in an eLearning environment.   Whether via a rubric or by the example of a previous student submission, letting students see how they can be successful with an assignment or activity in your course is generally a good idea.

    This post will help you discover how to utilize a tool that your students will use in their activities by employing it to display course content or provide course communication. That’s right, you are getting two for the price of one!

    WikisThe Wiki Tool

    The wiki tool can be the most rewarding/frustrating tool in your arsenal of activities that you have in your eLearning courses. Providing students with instructions on how to use the tool is definitely important, but many times they don’t end up using it the way you intended. This may be because they didn’t have an example or the 1 page example didn’t really show how a completed wiki should look.

    Example: Use a wiki to display course topic or content.

    Let’s say one of your course modules deals with Jean Piaget and Cognitive Development/Learning. Create a Wiki to display the content across multiple wiki pages:

    • Page 1 – Wiki Home – Overall introduction of unit
    • Page 2 – About Piaget – Biographical/historical look complete with picture
    • Page 3 – Cognitive Development: Explainer on Piaget’s theory
    • Page 4 – Cognitive Learning Today: Embedded video and text

    Leave one page with places for your student to add their own text to the wiki demonstrating how a wiki should work in practice.

    BlogsThe Blog Tool

    In today’s day and age it easy to make the assumption that all students know how to use a blog or are familiar with journaling due to social media. However, this is generally not the case as most social media posts are micro-blogs (very short 126 characters or less) and full of emojis, text-speak and hashtags.

    Example: Use a Course Blog to summarize the week/topic/module, provide commentary on student performance and provide a look into the next week/unit/topic.

    This example allows you to demonstrate how a blog works and allows you to communicate important news and information to your students.

    Each week make a blog post that:

    • Summarizes what the students went over
    • Provides kudos for student performance
    • Provides encouragement for student struggles
    • Allows for commentary to point out important details about the course content.
    • Gives students a preview/intro into the next unit.
    • Be sure to use multimedia so that students see what the blog can do.

    *Use other communication tools in your course (announcements, e-mails, calendar entries) to remind students to check the blog. Be sure to encourage students to comment on your blog posts (a few bonus points for your top 3 commenters across a semester).

    Both of these activities will give your students a good idea about how they can use these tools to complete the activities/assignments that you have placed in your course.

    This strategy works with multiple types of tools/activities in and outside your LMS. Things like VoiceThread, GoogleDocs, course hashtags and many others are easy to pair with the “Seeing is Believing” idea.

    Hopefully, by employing these types of strategies in your online/hybrid/web-enhanced courses, you can reduce student anxiety and increase student success!

    New Semester Checklist – Top 5

    top5If you teach online in higher ed, then you are familiar with the effort, energy and involvement it takes to engage with your students in that environment.  If you’ve taught online for more than a few semesters, then you know that you do need to put some thought into your transition of teaching a class from semester to semester.  Thought goes into your course materials, learning objectives and how your class is setup in Blackboard or whatever flavor of LMS you use.

    Ask any teacher, course builder or instructional designer and they can probably give you an extensive checklist of items to pay attention to before the semester starts.  This blog post however will cover only our take on the Top 5.

    1. Copy/request copy of course.
      In anticipation of the new semester, make copies or request copies be made of the courses you are transitioning.  It is difficult to work on getting ready for a new semester if you do not have a place that you can do so without affecting your current students.

      * For those of you who just use the same course and only the students change, it still might benefit you to have a “sandbox” or “working” course where you can develop outside of the production course.

    2. Check your syllabus.
      Go through your syllabus and check for things like:

      • Is the textbook correct?
      • Is your contact information current?
      • Do you have the same office hours?
      • Change any due dates and scheduled activities (course schedule).
      • Ensure learning objectives/activities match with their counterparts in the course (in case you’ve changed them).
    3. Check Blackboard (LMS) content availability and due dates.
      Nothing can be more frustrating for students than to come to content in your course and find they don’t have access to or can’t see the item or activity that is supposed to be there.  Go through your due dates and availability dates to be sure that they line up with the current semester.  Blackboard provides the Date Management tool that does this all in one place.
    4. Update your welcome message.
      Providing a contextually relevant and current welcome, video, audio and/or paragraph will not only go along way toward connecting you to your students, it will demonstrate that you are actively interested in your students.
    5. Update course announcements.
      During the course of a regular semester, you will send out multiple updates or announcements to your students.  Be sure to remove irrelevant course announcements and update/reschedule announcements so that they reflect the correct date or time of year.

    BbWorld16 session blog: SaaS deployment for Blackboard Learn Top 20 Questions

    July 14, 2016                                              Trey Buck
    1:30 – 2:20pm                                           Product Manager, learn
    Venetian J                                                  Blackboard

    • General SaaS Questions
    • How does SaaS apply to Blackboard Learn
    • How do I get to SaaS
    1. What is Blackboard’s experience with SaaS?
      10 years of experience across multiple data centers
    2. What is Blackboard Learn with SaaS Deployment
      -Largest most established integration infrastructure in the LMS business.
      -A Single continuous version.  (code unified across deployments)
      -Flexible deployment option – control your local version
      -Available with original experience and Ultra (nothing is functionally different)
      -You can pilot Ultra with a particular set of courses/departments/colleges etc..
      -Multiple Tiers (SaaS Standard, SaaS Plus, SaaS Advantage.
    3. What does architecture look like?
      – Sophisticated and complex (partnered with AWS and IBM) able to automate and scale on demand
    4. What are the tiers of SaaS deployment mean?
      -Advantage: SLA 99%, Base Storage 1 TB, Interface: Ultra and Original, Continuous flexible deployment, Learning core, learning essentials, learning insight, full building block support, Full LTI web services and rest api, Test instance, staging instance, direct data access, service delivery mgmt
      -Plus – staging instance optional and direct data access optional, no service delivery mgmt
      -Standard – Full LTI’s – Optional, No staging, no direct Data, no service delivery mgmt.
    5. Why SaaS?
      flexibility, elasticity, scalability, resilience, innovation & change mgmt, Big Data
    6. How will my institution benefit from moving to SaaS
      – Enhanced Quality: fixes and maintenance more quickly
      – Rapid Innovation: Enhancements and features more quickly
      – Improved experience: Zero downtime updates
      – Easier Change Mgmt: Smaller, continuous, delivery updates
      – Better Support: Less variety of versions being supported
      – Peace of Mind: Experienced Bb Staff managing operations
    7. Which Critical Factors should I be considering when it comes to managing my online learning environment
      – Physical and Network Security
      – Scalability
      – Data Security
      – People and Processes
      – Redundancy
      – Monitoring Practices
      – Reliability
      – Change Management
    8. What are the main benefits of SaaS Plus & Advantage
      – Full Building Block support (includes custom and homegrown)
      – Flexible deployment options – determine when changes occur to your system
      – Support all learning solutions
      – Additional Services (advantage)
    9. Will all of our existing integrations work with SaaS
      – Building Blocks (all 3, but Ultra has exceptions)
      – SOAP Web Services (not in Ultra, yes in SaaS)
      – IMS LTI 1.2 Yes
      – Partner Cloud and Restful API – Yes
    10. What is continuous delivery and flexible deployment option?
      – Continuous delivery: developing software and releasing in small chunks (like apps on your phone) cadence is approx every 2 weeks (fixes enhancements and new features) default methodology.
      – Flexible delivery: Unique Bb offering: Release Candance – Q2/Q4 release Cadence (once or twice a year is fine) Still have cumulative updates, releases are larger and contain more code changes (optional delivery methodology)
    11. How do you know which is right for your Institution
      – Continuous delivery: less training, benefits of bug fixing (quicker)
      – Flexible deployment: controlling when releases come out (good starting point)
    12. What is Direct Data Access and how does it relate to OpenDB?
      – uses real replica of exact copy of db on production db
      – Direct Data is copied and up to date of productions in minutes..
      – Same schema and queries will work.
      – Security built in
    13. What does move to SaaS entail?
      – Prepare: Plan for Transition
      – Execution of Plan
      – Prepare Data, test migration and integration setup confirmation, final migration and cutover
      – two migration options:
      1. Course Based Migration
      2. Full Data Migration
    14. What is the difference between two migration options?
      Course based – start with a fresh instance and bring over archived courses, limits downtime, configurations and settings would not be brought across
      Full Data Migration – Clone current environment and file system, Restore info to new SaaS instance, Requires downtime, Maintains existing Data, configuration and settings
      For both options Blackboard provides: Project planning, test migration, final production migration, all for no additional charge
    15. Do you have an example of Project Plan?
      (Takes about 5 months on average – migration occurs in a much smaller window)
    16. What is Blackboard’s experience in helping us migration
      lots – 100 migrations a year, been doing it for years have a team that helps
    17. What consulting and training services are available if I’d like more help?
      ATP, Training program development, Building Block Evaluation, SIS Framework mentoring and grades journey services
    18. Does moving to SaaS mean that I have to take ULTRA
      No! you can optional upgrade certain courses etc.. It is an option
    19. So then where does Ultra Experience Fit IN?
      Wherever you want it!
    20. What does Transition to Ultra look like?
      Transition to SaaS Deployment with Original experience, then implement Ultra as needed/wanted.
    21. Why two Milestones?
      Two Words: Change Management!



    Blog at

    Up ↑