Emotiv-Based Social Media Navigation Interface, Study Guides, Projects, Research of Computer Science

The development of an accessible user interface that allows navigation using the emotiv headset. The application interfaces with the emotiv device, fetches data from twitter using their api, and adjusts the data to enhance the user's experience. Mental commands are used to navigate the social media data. A backup method and a simulated mental command interface are also included. The application learns the user's type and does not support emotiv account creation or login on social media sites.

Typology: Study Guides, Projects, Research

2023/2024

Uploaded on 04/13/2024

pankaj-kumar-75
pankaj-kumar-75 🇮🇳

1 document

1 / 48

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Software Requirements
Specification
for
Connectome
Version 3.0
Prepared by:
1. Jon Schuck
2. Kennan Meyer
3. Nate Bender
4. Sheik Hassan
5. Khaled Alhendi
6. Bairavi Venkatesh
7. Kevin Garrone
Senior Design Project
Advisor: Mr. Jeff Salvage
Fall 2016 to Spring 2017
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30

Partial preview of the text

Download Emotiv-Based Social Media Navigation Interface and more Study Guides, Projects, Research Computer Science in PDF only on Docsity!

Software Requirements

Specification

for

Connectome

Version 3.

Prepared by:

1. Jon Schuck

2. Kennan Meyer

3. Nate Bender

4. Sheik Hassan

5. Khaled Alhendi

6. Bairavi Venkatesh

7. Kevin Garrone

Senior Design Project

Advisor: Mr. Jeff Salvage

Fall 2016 to Spring 2017

Table of Contents

Revision History Version Date Reason For Changes Version 1 10/21/16 Original Copy Version 2 1/23/17 Update 1 Version 3 4/13/17 Update 2 Version 4 5/21/17 Update 3

1. Introduction 1.1. Purpose This document describes the features, interface, underlying system, and constraints of Connectome. It also describes how to interact with and use the application. This document is applicable to both the developers and stakeholders of the system, and is used to outline the system. 1.2. Overview Amyotrophic Lateral Sclerosis (ALS) is a disease that attacks the nerve cells responsible for controlling voluntary muscle movement. As the disease progresses, the patient loses their ability to move on their own. In later stages of the disease, the user loses complete control of their muscles and may be unable to move. This project is designed specifically for use by people suffering from ALS, however, anyone with a mobility impairment could benefit from use. Connectome is a hardware/software hybrid solution that allows patients with limited mobility to control social media using just their mind. The application interfaces with the Emotiv, a brain-computer interface, which senses changes in electrical signals in the brain, to operate the interfaces of the application. The API for the popular social media website, Twitter, is also used to fetch the user’s data, which is displayed in the application. An accessible user interface has been developed to allow navigation using the Emotiv, along with algorithms and data structures to allow the Emotiv to be configurable to the strengths and weaknesses of each individual user. Navigation of the application requires the user to reliably demonstrate two commands that are built into the Emotiv: a passive command and an active command. The passive command relies on the user to maintain a natural resting state while the active command depends on the generation of a distinct, neural signal that the Emotiv can recognize.

1.3.2. Out of Scope

All social media outlets that are not initially specified social media outlets, as well as other platforms that are not social media related, are all outside the scope of this project. Also outside our scope is modifying the provided hardware-interfacing software given by the Emotiv manufacturer. Our system will remain a recreational application, any rehabilitative functionality is outside our scope. Our system will also only be compatible with the Emotiv Epoc+ Brain Computer Interface (BCI) device, other BCI hardware will not be supported within our scope of the project. The application will not support the ability to create Emotiv accounts in order to save profiles to the cloud. In order to use the application, the account must be created before the application is used. Similarly, any social media accounts that will be used in the application will also need to be created prior to use of the application. Logging into Twitter using credentials is also not supported in the current version of the application. Users will need to navigate to a URL given by the application, authorize the application for use by Twitter, and copy the code that is received from the authentication back into the Connectome application. Mental commands can also not be used to log into either the Emotiv cloud or the social media sites. A mouse must be used to complete these steps. 1.4. Definitions Term Definition Brain Computer Interface (BCI) A non-invasive device that collects neural signals which can be used to communicate or control a desired output Amyotrophic Lateral Sclerosis (ALS) A progressive neurodegenerative disease that weakens muscles and impacts physical function by causing the death of neurons that control voluntary muscles. Active (“Push”) Command A distinct, user-trained neural signal that triggers a specific action (click, keyboard pop-up etc) in the Connectome interface. Passive (“Neutral”) Command A resting state, baseline neural signal that does not elicit a specific action in the Connectome interface. Electroencephalogram (EEG) The measurement of electrical activity in different parts of the brain

Emotiv Epoc+ A^14 - channel^ wireless brain computer interface designed for contextualized research. Connectome A comprehensive map of the neural connections in the brain. Also the name of the software detailed in this report. User Profile An account that is created per user that stores data trained within Emotiv’s Xavier platform. This user profile can then be loaded into the Connectome software. Unity Game Engine A cross platform game engine developed by Unity Technologies. This is the platform used to design and develop the Connectome software. Emotiv SDK A set of software development tools that allowed for the development of Connectome. Steady State Visually Evoked Potential (SSVEP) Brain signals that are natural responses to a visual stimulus at specific frequencies. Within Connectome, a flashing light of black and white was used for training and navigating through the software. Twitter An online news and social networking service where users post and interact with messages, “tweets”. Emotiv Xavier A control panel that comes with the Emotiv Epoc+ device to enable users to setup the device, create a profile, and train the device. 1.5. Referencess Emotiv Hardware Manual - https://www.Emotiv.com/files/Emotiv- EPOC - Product-Sheet-2014.pdf For more information about the Emotiv hardware, please refer to the manual referenced above.

input command is done for a sufficient amount of time, the action of the button is triggered. 1.2) Keyboard Input User types through an on-screen keyboard that is optimized for typing using a single mental command or through blinking. These keyboards can either be alphabetical keyboards that allow users to create custom messages, or keyboards that have previously created canned responses. 1.3) Navigate screens User navigates the user interface using a single mental command, or through blinking. Each button on the page is highlighted on a timed loop. Once the button that the user wishes to select is highlighted, the user can trigger the action of the button by performing the action command. 2) Use cases related to Social media 2.1) Log in to Twitter User logs in to Twitter using the site’s APIs. The application is unable to support logging in through the application by username and password, so the user will need to visit the Twitter website using a URL, and then enter a pin code in the Connectome application to connect. After the user has connected once, they can quit the application and relaunch it without requiring the user to re-authorize Twitter. 2.2) Create a tweet User creates a post using the onscreen keyboard to type a message, which is then post the tweet to Twitter. 2.3) Respond to User responds to a tweet that is created by another

a tweet user, by typing a message using the onscreen keyboard. 2.4) Log out of Twitter User logs out of their account once they are logged in to twitter. 2.5) View direct messages User is able to view the direct messages that they have received and sent to other users on Twitter. 2.6) Send direct messages User is able to send a direct message to another user of Twitter. 2.7) View User’s Profile User is able to view their own profile, including the people they are following and tweets that they have created. 2.8) View images in a Tweet User is able to view all of the images that may be embedded in the body of a tweet. 3) Use cases related to training for Emotiv 3.1) Log in to the Emotiv cloud The user can access their cloud account that is set up with the Emotiv. 3.2) Load a user profile User loads profile into Connectome’s interface in order to access their individual training profile. 4) Use cases related to Settings 4.1) Adjust the input parameters User adjusts the parameters related to duration and power executed for each command based on training level and comfort.

Graphics Card DX9 or DX RAM 2 GB RAM Processor 3 GHz Disk Space 500 MB Available Ports USB 2. 2.5. Design and Implementation Constraints

  1. There are limitations to what the social media APIs allow developers to do - specifically, due to privacy restrictions and anti-data mining concerns, many actions are unavailable. These restrictions limit the ways that users can communicate on each website.
  2. The application is constrained by the Emotiv and the SDK that is provided by the Emotiv team to interface with the device. Due to purchasing the newest headset, the development team is constrained to using only the desktop version of the SDK, since the web SDK does not support the newest version of the headset. Beyond this, the development team is constrained to a limited set of programming languages - including Java, C, C++, Python, C# and Matlab - since these are the languages supported by the SDK.
  3. Although the Emotiv can support up to three actions, the average person will most likely only be able to train one action efficiently and reliably due to the intensity and difficulty of the training procedure. This limitation of the commands the user can use limits the choices of the development team for user input, such as keyboards for communication and navigation.
  1. The application is constrained by the responsiveness of mental command input to the Emotiv. Due to only having two actions - the neutral state and “push” state - input can become tedious, often requiring many inputs to trigger a single action. The application requires the fastest method of input possible to maximize usability.
  2. The application needs to support various methods of input, including both facial expressions and mental commands. Depending on the stage of the disease, the user may or may not have the ability to perform each of these actions. This requires different input methods for the user based on their individual impairments. 2.6 User Documentation Training Procedure Guide - a guide to teach new users how to use the Emotiv along with the application. This guide outlines the best practices for training a new user on how to use the Emotiv and produce the most effective commands. 2.7 Assumptions and Dependencies One assumption is that the application is used on a computer with enough performance ability, and the use of an up-to-date internet browser. If the computer does not have enough performance to support the Emotiv’s back-end (the input of mental commands from the hardware), then there may be scenarios where the application does not work as intended. This could cause performance and usability issues for the user. Another assumption is that the Emotiv training software, Xavier, is compatible and installed on the user machine, because the user must complete a training session with the Emotiv and upload their profile to their Emotiv account before being able to use the Connectome software. Finally, we are assuming that the user is able to run programs built with Unity on their machine. Another assumption that we are making is that the Emotiv can be paired with a variety of different computers the same way. By using Unity, we plan to port our application to any system supported by Unity, which includes all major operating systems. Facebook API - Originally planned to be a part of the initial release of connectome. Gaining access to the API through Facebook Inc. in a timely manner proved to be

3 External Interface Requirements 3.1 User Interfaces

3.1.1 Emotiv Navigation

The buttons that are visible on the screen will be cycled through from left to right in the order the they are visible on the screen. For example, in a set interval, in the above user interface mock-up, the Facebook button will be selected, then the Twitter button, and then the Instagram button. Once all three are selected, it will rotate back to the Facebook button. After a specified amount of time that can be configured in the settings panel, the next button is highlighted, as long as no power from the Emotiv is detected. The Emotiv navigation will be based upon a SSVEP (Steady State Visually Evoked Potential) methodology. The button that is currently selected on the screen will flash between two colors rapidly, which has been studied and proven to help some users trigger the mental command.

3.1.2 Login Screen

  1. Emotiv Cloud username text field i) Input for the username to access the Emotiv profile.
  2. Emotiv Cloud password text field i) Input for the password to access the Emotiv profile. ii) The password is hidden from the user typing. There is no password recovery implemented.
  3. Connect to Facebook Button i) Opens dialog to input Facebook credentials and link social media profile with application.
  4. Connect to Twitter Button i) Opens dialog to input twitter credentials and link social media profile with application.

3.1.3 Logged in Menu

  1. Facebook Button a) Navigate to the Facebook home screen
  2. Twitter Button a) Navigate to the Twitter home screen
  3. Instagram Button a) Navigate to the Instagram home screen.

3.1.4 Twitter Home Menu

The two images above are pictures of the home menu without the flashing light highlighter on the buttons and with the flashing light on the button. All buttons in the Connectome interface will have the flashing light highlighter. Therefore, form the following user interface pictures do not show the highlighter as it is assumed to be there. The specific portions of the home menu are explained below:

  1. Tweet Button a) Show the BCI keyboard and present options to type a tweet and submit it to user’s twitter profile. For more information on the keyboard, see the keyboard