Skip to content

Latest commit

 

History

History
115 lines (111 loc) · 21.8 KB

README.md

File metadata and controls

115 lines (111 loc) · 21.8 KB

InteractivePPT

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.
image
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.
image
After entering facebook credentials in application, loading screen appears.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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).
image
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.
image
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).
image
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.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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.
image
It is important to mention that each activity is responsive on screen rotation and there is no data loss.
image
It is also possible to browse a list of surveys of selected presentation.
image
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.
image
When user fills whole survey form (or at least its all mandatory questions), then they can submit it to the server.
image
A confirmation message shows up if answers were sent successfully.
image
If user tries to send answers multiple times, an error message shows up that says that answers where previously sent.
image
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.
image
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.
image
If user tries to send reply request and their previous reply-request isn't processed yet, then error message appears.
image
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.
image
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.
image
Of course, it is also possible to send message - message can contain not only text, but also emojis.
image
All messages appear immediately in presenter's presentation window in 'Chat' tab-page.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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'.
image
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.
image
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.
image
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.
image
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.
image
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.
image
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.
image
Right after that it is possible to add another survey to previously-added presentation. Of course, it is possible to add new survey additionally.
image
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.
image
Finally, lets try to sign in to desktop application as a user with which we were using mobile application in this demo.
image
It could be noticed that previously-added presentation is visible here with its Qr access code and can be easily presented to the audience.