Friday, April 26, 2019

Weighing of customizing options for Questions & Feedback capability with Stream Live Events

In "Options considered for extending Stream Live Events with live chat/questions capability" I enumerated multiple options for enriching the Stream Live Events experience with Questions & Feedback capability. In below overview, I enlist pros and cons weighing of the diverse options.
OptionProsCons
Via Yammer
  • Existing / available IT building block within Office 365 suite;
  • Low-code solution: only a bit of JavaScript needed for correct visual embedding in the landings page;
  • Access can be limited to selected audience;
  • Live feed visible of questions, also the ones raised by others;
  • Possible to respond on questions / feedback of others;
  • Chat-like experience
  • Separated information container from the webcast;
  • Authorization to be done 2x (Stream and Yammer), with risk of inconsistency / out-sync
  • Not every webcast visitor is an active Yammer user;
  • On authorizing account to the Yammer channel, one receives a notification email; while the context is totally unclear, and the Yammer channel should not even be open for submitting questions & feedback;
  • Questions and Feedback of others are visible to all;
  • Yammer channel remains afterwards, Need to remove all access to avoid unwanted visits after the webcast;
  • Not simple to capture / archive the questions & feedback
Via MS Forms + MS Flow + SharePoint Online List;
Forms embedded on page via MS Forms webpart
  • Existing / available IT building blocks within Office 365 suite;
  • Fully No-Code solution;
  • Access limited to the webcast authorized audience;
  • Included in same data container as webcast, sufficient to authorize once;
  • Access after live event can be removed via SharePoint permission handling;
  • No need for additional Yammer accounts / affinity;
  • Possible to add classification in the questions, eg from dropdown select a topic area. In the capture list, possible to group on the topics;
  • Easy to get a dump of the feedback, eg in Excel; and then decide whether to delete the list or simple make it inaccessible;
  • Modern look, responsive behavior
  • No live feed for webcast visitors on total of submitted questions / feedback;
  • Limited styling capability;
  • Placeholder per question is always “Enter your answer” / not possible to change that;
  • The usage experience after submit input is aimed at “survey scenario” (“your response was submitted”);
Variant of above:
Forms embedded on page via iframe construct
  • Same list as above;
  • and in addition it is possible to preserve the style heading and hide the message at bottom
  • Same list as above, with exception of message at bottom;
  • After submit input, out-of-context the submitter is confronted with ‘promotional’ message that one can create your own form / survey. The user cannot relate this message.
SharePoint List + default / classic NewForm
  • Existing / available IT building block;
  • Fully No-Code solution;
  • Embedded NewForm can be embedded without LeftNavigation + Header in ‘dialog-mode’ (put “&IsDlg=1” on URL);
  • Access limited to the webcast authorized audience;
  • Included in same data container as webcast, sufficient to authorize once;
  • Access after live event can be removed via SharePoint permission handling;
  • No need for additional Yammer accounts / affinity;
  • Possible to add classification in the questions, eg from dropdown select a topic area. In the capture list, possible to group on the topics;
  • Easy to get a dump of the feedback, eg in Excel; and then decide whether to delete the list or simple make it inaccessible;
  • UI-look not optimized for user-experience of ‘Questions & Feedback’ capability;
    • Toolbar in top, including actions not relevant in this context
    • Cancel button in bottom; also irrelevant in this context
  • Width of NewForm is that large that it requires 2-column page layout ( 2:1 layout results in horizontal scrollbar); which results that the available screen estate for webcast is reduced, and that in the layout the webcast UI is not allowed more significance above the Questions & Feedback UI;
  • Customization of the default NewForm needed to only show the multiline ‘Question’ input field;
  • After submit of a new item, the iframe loads the list view iso returning to (empty) NewForm;
SharePoint List + customized NewForm via PowerApps
  • Existing / available IT building blocks within Office 365 suite;
  • Low-code solution: only a bit of JavaScript needed for correct visual embedding in the landings page;
  • Access limited to the webcast authorized audience;
  • Included in same data container as webcast, sufficient to authorize once;
  • Access after live event can be removed via SharePoint permission handling;
  • No need for additional Yammer accounts / affinity;
  • Possible to add classification in the questions, eg from dropdown select a topic area. In the capture list, possible to group on the topics;
  • Easy to get a dump of the feedback, eg in Excel; and then decide whether to delete the list or simple make it inaccessible;
  • Modern look, responsive behavior;
  • The canvas of PowerApps is positioned at the layout of Phone App, and cannot be reduced in height, even when the App itself does not need that height. Scrollbars can be avoided however by reserving the needed height in screen layout, “wasting” screen estate. In this context acceptable, as no other controls are included on the page and positioned below the Question & Feedback. However, the increased page height does result in unnecessary browser scrollbar on the right;
  • Embedded part shows toolbar in top, and not a submit button below the question/feedback input;
  • Embedded NewForm default shows the label ‘New item’;
  • After submit of a new item, the iframe loads the list view iso returning to (empty) NewForm
All of above drawbacks can be prevented, via a bit of custom code
Custom UI / control + SharePoint List
  • Access limited to the webcast authorized audience;
  • Included in same data container as webcast, sufficient to authorize once;
  • Access after live event can be removed via SharePoint permission handling;
  • No need for additional Yammer accounts / affinity;
  • Possible to add classification in the questions, eg from dropdown select a topic area. In the capture list, possible to group on the topics;
  • Easy to get a dump of the feedback, eg in Excel; and then decide whether to delete the list or simple make it inaccessible;
  • Modern look, responsive behavior;
  • Custom coded solution: Requires custom development, testing and deployment;
  • Deployment as control requires some additional preparation on SharePoint site (Site Collection App Catalog)
Standalone PowerApps + SharePoint List
  • Existing / available IT building blocks within Office 365 suite;
  • Low-code solution: PowerApps itself + embedding in SharePoint page;
  • No need for additional Yammer accounts / affinity;
  • Possible to add classification in the questions, eg from dropdown select a topic area. In the capture list, possible to group on the topics;
  • Easy to get a dump of the feedback, eg in Excel; and then decide whether to delete the list or simple make it inaccessible;
  • Modern look, responsive behavior;
  • PowerApp also available for Mobile
  • Separated information container from the webcast;
  • Authorization to be done 2x (Stream and PowerApps);
  • Webcast Questions & Feedback App is available on tenant level, not limited within the boundary / scope of the associated webcast event;
  • Webcast Questions & Feedback App on Mobile is separate from Stream Mobile App, user would have to switch between Apps to submit question/feedback;
Azure Bot
  • Proactive + automated responses on recurring questions and reported issues;
  • Self-learning knowledge base
  • Considerable design + development effort
  • Bots experience no natural fit for submitting questions and feedback

Sunday, April 7, 2019

Options considered for extending Stream Live Events with live chat/questions capability

With the recent GA of Stream Live Events, Microsoft delivers a low-entry option to easily setup company-internal webcasts. All you need in addition are on the webcast producing side: 1) recording equipment - camera + audio, and 2) an encoder solution to transmit the recording inputs into the Live Events endpoint. The camera + audio options vary from the onboard webcam + microphone of a laptop, USB-based externals, upto high-end studio-quality equipment. For Stream Live Events handling the sophistication on the producing input side does not make a difference, the inputted RTMP(S) signal is from input endpoint processed the same. Whether an organization also needs some additionals on the consumption side depends on the audience side plus the internal network capacity. Watching a Live Event instantiates an individual / unicast stream per event viewer. Under assumption that the company network is sufficient scaled for nowaday cloud solutions usage, it is feasile to simultanuous watch a 'LIVE' Stream event per network location upto a maximum of few hundreds. In case of bigger audience, Microsoft states that it is needed to reduce the network load via a video distribution approach through a SDN/eSDN solution.
In its first released version, Stream Live Events capabilities are focussed on the core streaming + playing aspects. Business demands on a webcast typical go beyond that. The biggest additional demand is for interaction between the webcast audience and the presenter. Thus a chat window in which individual attendees can submit their questions, and that the presenter can follow + respond on. It is on the roadmap of Stream Live Events to deliver this (note: Stream recent delivered 'quizzes/ polls' capability, but this is targetted at inserting in already recorded videos for a.o. training purposes; not for dynamic interaction with live streaming), but not out-of-the-box delivered nowadays. However, with Office 365 as underlying platform you have as event developer a feature-rich toolbox at hand in which you can deliver yourself a webcast experience in which viewers have the live stream and chatbox combined, via no-code or low-code approaches. The hosting platform of such landingspage is naturally SharePoint Online....; as every created Stream Group is effectively an Office 365 Group, it has an own SharePoint Modern Team Site provisioned. The persons authorized to this site is the same audience that are permitted to join the scheduled Live Event. Create in this site a new page to function as the webcast entrance, and select the '2:1 columns' layout. In the left column embed the Stream Live Event instance - one gets this from Stream via 'Share' and then pick the 'Embed' option. With this setup, all left is to extend with chatbox / questions input control. There you have multiple options. One is to utilize the rich capabilities of Yammer, and embed a Yammer channel on the page. This gives you immediate a 'chat-like' experience, in which one can enter questions, semi-live follow the inputs / chats of others, respond on inputs of others. This immediate visibility of all the responses of ones peers may be unwanted, e.g. due potential sensitivity. In that case an alternative setup is to capture the inputs in a SharePoint list in the site, and only grant the webcast facilitators the authorization to view all received inputs. The webcast attendees submit their questions and feedback via an input form embedded on the SharePoint page. For this on sublevel again multiple alternatives are available. You can embed the out-of-the-box NewForm of the list; customize the NewForm via PowerApps; a MS Forms instance that via MS Flow sends the input to SharePoint List; or build a custom control via SPFx or even as a chatbot via Azure Bot Service. Of these options all except for the latter 2 are no/low-code 'mash-up' compositions, that deliver on the needed job. The decision-weighing between them is mostly on the user-experience and branding, see screen impressions of the various options.