Audience interaction tool
This system has been written in following languages:
- Java (Android Studio) - entire mobile application (for audience)
- C# (MetroFramework) - entire client desktop application (for presenter)
- PHP & MySQL - all server-side scripts and data stores (mediators between all clients)
Therefore, mobile application works only on devices with Android operating system (API version equal or greater than 16, i.e. Jelly Bean and newer versions), client desktop application works only on relatively modern distributions of Windows operating system (Microsoft PowerPoint should be installed on it in order to use this application) and server-side applications on Unix based operating systems.
So lets start with demo.
This is login window of desktop application where user has to enter valid facebook credentials in order to get access of all applications features. In this stage, user has opportunity to select one of the supported languages that will be used afterwards.
After entering facebook credentials in application, loading screen appears.
As soon as user is identified and their presentations are loaded, main window shows up with the list of user's presentations with their basic information.
Full-screen pop-up window with Qr code appears after clicking on presentation's tiny Qr logo what allows audience to scan the code and immediately load the presentation.
Classic folder picker dialog appears after user opens (i.e. double-clicks or presses button for presentation opening while row with desired presentation is selected) one of the presentations.
Message box appears if there is already presentation file with same name in selected folder - by choosing 'Yes' option local version is overwritten by remote one, by choosing 'No' remote version is overwritten by local one; otherwise local version is just opened.
Selected PowerPoint presentation opens automatically via desktop applications. Also new application window shows up that contains controls for adding charts representing survey data in active PowerPoint presentation and for monitoring reply-requests and chat/textual-discussion.
Finally something more interesting and unconventional - here you can see result of chart addition. Chart represents answers (if there are already any of them) on selected question from selected survey. Unfortunately, it is required to disable Presenter View if presenter uses only 2 screens - the reason is that PowerPoint editor has to be active/visible. However, if presenter has 3 or more screens, then it is possible to use Presenter View (on one screen should be PowerPoint Slide Show, on another one should be PowerPoint editor with this application's window and on the remaining one can be placed Presenter View.
Following few images are representing other supported ways to visualize survey answers, along with methods (options that have to be selected) to accomplish that.
To display how question options were selected through time, there is appropriate option to represent time series with line chart. After pressing button for chart insertion, data for generating chart is fetched from server and application embeds chart data on specific slide (or creates new one if necessary).
Therefore, image above displays result of previous configuration - data was embedded on the next slide (slide was inserted after slide that was selected/focused until now) and it was automatically visualized as line chart.
When displaying data as a chart of any type, it is possible to ignore or group options that have received irrelevant/minor amount of votes. This way it can be avoided that visualization looks messy and is hard-readable, when there are many options (this is especially appropriate for questions whose answers are submitted via text-edit control).
The result of previously set options is a pie chart that represents number of votes of first (most-voted) option compared to number of votes that all the other options received.
Beside charts, there is also an option to represent answers of questions as unordered list, i.e. as a list of comments. This is useful to select most appropriate suggestions/thoughts and embed them to a presentation slide as a list. Important note is that only questions which are answered via text-edit control are offered here to display.
As there might be a lot of different answers that users have submitted or there might be some of them with inappropriate content, before embedding them on a slide, user has an opportunity to filter them out. So, user in this step can select for each question options (s)he want to display on a slide.
The result of the previous two steps are two slides where each of them shows unordered list of selected/appropriate options. As we have selected 2 out of 3 options to display for question from above image, only those two are displayed on this slide.
Now let me introduce you other side of this system. We will try to complete survey whose question answers we represented above and test if the chart will be changed.
First you can see starting activity of the mobile application. Well, hardly you can notice just this screen because it very soon becomes like the following one.
Now we can see pop-up window for entering facebook credentials. If it doesn't show up, you should try to tap the Login button.
Right after user is authenticated and registered on the server-side of the system, home activity with a list of all user's presentations and all subscribed presentations appears. By tapping any item in list, presentation details are shown. By tapping item's triangle button, activity for viewing selected presentation shows up.
Screen above represents activity that loads and displays previously-selected presentation. Applications actually loads Google Slides application in integrated web-browser and requests from it to open and preview selected PowerPoint presentation that is stored on the server-side of the application.
It is important to mention that each activity is responsive on screen rotation and there is no data loss.
It is also possible to browse a list of surveys of selected presentation.
After selecting one of surveys, a list of questions (and their options if there are any) appears. Questions that are ending with small asterisk are mandatory.
When user fills whole survey form (or at least its all mandatory questions), then they can submit it to the server.
A confirmation message shows up if answers were sent successfully.
If user tries to send answers multiple times, an error message shows up that says that answers where previously sent.
Presenter can anytime refresh current charts. If chart representing answers of selected question is already in opened PowerPoint presentation, then presenter can simply select in drop-down list to replace current chart representing answers of the same question. Now we can notice that pie-chart was really changed.
When user sends reply request, it can be noticed by presenter in his presentation window of desktop application. Presenter can simply click on row with user's name within 'Replies' tab-page what removes that row from table and allows user again to send reply-request. Number in round brackets indicates number of unseen reply requests or chat messages.
If user tries to send reply request and their previous reply-request isn't processed yet, then error message appears.
Entering a chat section, user can see all messages that were sent during active presentation session (even if user wasn't present during whole discussion). It is possible to use chat and reply requests only when there is active presentation session, i.e. presenter has opened and is using presentation via desktop application.
Each time when user receives message, it shows up in notification bar. Therefore, user can even have this application minimized, but still can follow the discussion because of push notifications.
Of course, it is also possible to send message - message can contain not only text, but also emojis.
All messages appear immediately in presenter's presentation window in 'Chat' tab-page.
By tapping on hamburger button or by swiping right, navigation drawer appears. There are few options user can choose: list presentations, create new survey or open presentation (by scanning Qr code or entering textual access code) if it currently isn't in the list. After all these options for accessing applications modules, there is also a Logout button.
If user doesn't have some presentation in presentation list (e.g. because they haven't accessed it never before), then there is an option to add it. By tapping third option in navigation, application starts Qr scanner and user just has to direct the camera towards Qr code.
In case there is no any Qr code or user is unable to scan it, it is also possible to enter presentation's access code manually. If access code is valid, application loads belonging presentation and subscribes user to it.
If presentation session is not active (i.e. it has already finished) and user opens that presentation, then it is possible to view its content and even to fill the survey forms (if they aren't already completed), but chat and reply requests can't be used.
Last application's module is survey creation. For each survey user should define its title, description, presentation on which it is attached and at least one question.
User can link this new survey to one of their own presentations or attach it to new one. If user doesn't have any presentation, then it is required to upload new one in order to create survey.
By tapping button for adding new presentation file, integrated file explorer appears and user has to select appropriate file - file with extension '.ppt' or '.pptx'.
After successfully adding valid file, confirmation message is displayed and presentation's name is set next to previous button. This button now can be used to replace previously selected presentation. If user hasn't selected any file or or it is invalid, then error message appears.
When user taps button for adding new question, then green pop-up dialog shows up. Here can be specified question's name, type and options. Also user can decide if survey form can be submitted without answering on this question.
Currently, there are 3 question types supported: single-choice, multiple-choice and text-edit. If user selects text-edit as a type of question, then there is no need to specify belonging options, therefore, in that case, list view for adding them is disabled/hidden.
While we were developing this system, we carefully designed current software architecture so it is easy to add new question types and its graphical controls.
Each time question is added, it is immediately added in questions section. By tapping any of the item that represents previously-added question, a list of its options (if there are any) shows up below it.
Finally, when user is ready to publish created survey, then they simply tap button for uploading it. This can take a while if user's Internet connection is very slow and attached presentation's filesize is relatively large. Therefore progress bar appears on screen until upload is completed.
If the presentation is successfully stored on the server, confirmation message appears on screen. In case of failure (e.g. filesize exceeds maximum upload limit size on the server-side), error message appears.
Right after that it is possible to add another survey to previously-added presentation. Of course, it is possible to add new survey additionally.
In the presentation list in home activity, we can notice that now is there item with recently-added presentation. If user taps on it, it extends and shows its detailed information like access code and number of contained surveys.
Finally, lets try to sign in to desktop application as a user with which we were using mobile application in this demo.
It could be noticed that previously-added presentation is visible here with its Qr access code and can be easily presented to the audience.