IPL-SI: Group Design Project 4
From VMT
- Return to Designing IPL Social Interaction
Contents |
[edit] Instructions
- This week we begin the design process proper. We have looked at the issue of social networking for an online activity like collaborative browsing or knowledge-building synchronous interactions in this course. Now it is time to start to design some new functionality that will enhance the IPL environment to better support social networking related to the goal of the larger activity.
- The first major design phase is to begin to focus in on an area of computer support or a problematic area of interaction that your team would like to address. The traditional software engineering approach is to prepare a requirements specification. In our more user-centered approach, we want to describe the kinds of interactions we would like to see between users and computer interface or among users mediated by a new computer interface. We can do this by describing visionary scenarios of how our new system might be used. We can formalize this required functionality with what the textbook calls "use cases".
- An important characteristic of these approaches is that they do not yet specify details of the software implementation or even of the interface design. Once your group decides on one or more areas of functionality to work on, it will be important to be open-minded about a broad range of implementation possibilities. It will also be important to involve potential users in reacting to and discussing the scenarios and use cases. In our course, we do not have access to users other than the members of the class, who are using the IPL environment. So we will share the Week 4 postings and react to each other's postings.
- For Week 4, chat in your groups about what kinds of social networking functionality you would like to work on. Prepare brief but concrete scenarios of how you imagine things working and specify some core functionality in terms of use cases.
[edit] Notes
- Use cases are discussed in Chapter 10, esp. pp. 510-515. You should look at this for ways of formulating your use cases this week.
- Word smithing: The wiki provides an opportunity for everyone in a group to edit the text that one person posted. Your postings should not read like rough first drafts. The wiki allows everyone to edit these drafts so that the group ideas are more elegantly presented. Computer-support tools like chat systems and whiteboard textboxes encourage rushed and sloppy writing. The easy-to-edit-by-everyone style of the wiki allows you to refine posted texts. Good written communication almost always requires iterative improvement.
- Scenarios with use cases You might want to write brief scenarios and then define use cases related to the scenario. I think of use cases as almost psuedo-code laying out the steps and the logic of a proposed operation as an interaction between a user and a computer. Here is what I have in mind roughly:
- Use case for UN-DO button
- User: wants to un-do the creation of a textbox with its content
- User: selects textbox
- Computer: indicates textbox is selected
- User: clicks on un-do widget
- Computer: checks if user is the creator of the textbox
- Computer: if user is not creator, display notice that user is unauthorized to un-do textbox because not creator -- end of use case
- Computer: checks if anyone else has edited textbox
- Computer: if anyone else has edited textbox, display notice that user is unauthorized to un-do textbox because someone else has edited textbox -- end of use case
- Computer: un-do creation of textbox -- end of use case
- BTW, copy & paste between chat postings or textboxes in VMT and the wiki sometimes requires you to hold down your ALT button while selecting text in VMT, before using Ctrl-C and Ctrl-V. This is because just selecting the text is used for other functions, such as referencing.
[edit] Comments on Group Statements
[edit] Summary of Proposed Functionality
I thought it might be useful to provide a summary of the proposed functionality detailed by our teams below.
Team 1 : --Recommend Books : --User groups (by interest) : --Search by interest
Team 3 : --Registration : --Login : --Ask A Question : --Answer/Comment on others' questions and answers : --Chat
Team 5 : --Chat : --Social Bookmarking
MarkW 09:58, 8 February 2008 (EST)
[edit] Team 1 Statement
Out of the many different functionalities that we could add to address different problems found in the IPL, we have come up with use cases for three functionalities that we would like to see: 1) a system for recommending books between users, 2) the ability for user groups, 3) and searching for people by interest.
Recommend books:
Scenario: User wants to send/recommend books to another user
Use case for recommending book(s) to another user(s)
User: Selects functionality for recommending books
System: Display a page containing a list of books that belong to the user.
User: Checks off which book(s) he/she wishes to send to a user
User: Selects functionality to send books
System: Bring up a contact list or field where a user name(s) can be entered.
User: adds in contacts and selects functionality to send
System: delivers notification of selected books to the desired users
User groups:
User is a middle school student and wishes to find like-minded individuals to converse with about a particular type of literature. User hopes to find a group to join and make some new friends.
Assumes user has an account on the IPL website.
Use case for joining a group based on interest:
User: logs into the IPL and goes the interest groups page
User: locates search feature and provides target interest as parameter
System: searches the list of groups based on interest provided and returns results
User: locates the appropriate group from the results list
OR
If interest is not found, search again.
OR
If interest still not found or interest is new, user may create a new group
(Use case for Creating a new group based on interest)
User: selects "add to profile" functionality
System: associates user with group and adds to profile
Searchable by interest:
This functionality allows users to find others having similar interests. Users can search for such persons by selecting Find People functionality. They can then enter their interests or hobbies as keywords in the search criteria. The system returns a list of users having the same interests. Users can then add found users to their list of contacts.
Use Case:
User: Clicks on Find People link.
System: A new page loads with a search textbox. The user can enter keywords like interests, hobbies, first name, last name, profession, school name, etc.
- If the user does not want to search, he/she can click on Cancel button and the home page will load.
User: enters the keyword and clicks on the Search button.
System: After the search button is clicked, the system opens a new page displaying icons with names of people and a brief description beside those who have matched the search criteria.
User: Clicks on the icon which he/she was looking for.
System: loads the home page of that person.
- If user was not looking for this person, he/she clicks on the Home link and the users home page loads.
- If the person is the one who the user is looking for, then the user clicks on the Add as Buddy link on the person's home page.
System: Confirms if the user wants to add the person as a buddy.
- If the user clicks no, then the person's home page loads with a message saying that a request has not been sent to the person.
- If the user clicks yes, then the persons' home page loads with a message saying that a request was sent to the person.
--Abhishek 00:48, 7 February 2008 (EST)
[edit] Team 3 Statement
REGISTRATION USE-CASE
A user wants to register on the IPL website.
User: wants to register in the ipl member database.
User: enters clicks the register button.
Computer: loads registration info page.
User: Types information into all of the required text fields. Includes full name, valid current email address, desired userID, desired password,
security question/answer for forgotten login information.
User: clicks submit.
Computer: checks to ensure that required text fields have text entered.
-- Computer: if not, notify user that registration info may be incorrect.
Computer: checks to ensure the password is between 6-12 characters in length.
-- Computer: if it is not, displays notification that the password must be 6-12 characters in length.
Computer: checks if all the required fields are filled out properly.
-- Computer: if they are not, displays notification that all of the required fields must be completed.
Computer: sends a confirmation email to user's email address. Email contains a confirmation link that user has to use.
Computer: loads registration successful page and notifies user about sent confirmation email.
Computer: redirects user to login page.
User: receives confirmation email.
User: clicks on confirmation link.
Computer: checks confirmation.
-- Computer: if confirmation is valid, user registration is successful. If not valid, computer displays notification.
Computer: lets user choose between closing the window or to login.
User: types userID and password into provided text fields.
User: clicks the login button.
Computer: verifies login info with records in database.
-- Computer: if not correct information, display notification that userID and/or password incorrect.
Computer: loads the default home page for the user's age demographic.
LOGIN USE-CASE
An already registered user visits the IPL website and wants to login.
User: wants to login to the website as a user that has already registered with the IPL member database. User: types in the username and password that were identified when registered. User: selects the login button. Computer: authenticates the username and password. -- Computer: if incorrect, returns an error stating that the information provided is incorrect, please retry. -- Computer: if correct, proceeds to user homepage. Computer: returns a GUI based off of criteria supplied by the user in their profile.
"ASK A QUESTION" USE-CASE
A user visits the IPL website and wants to ask a question. Assumption: "Ask a Question" was redesigned and is located well visible on the top of the page. It's one of the first things every user of the IPL website sees.
User: visits IPL website and has in mind to ask a question. User: sees "Ask a Question" box at once .
{if user is not logged in}
Computer: asks user to login or register. User: enters his existing username and password in the provided text fields and logs in (alternatively user registers and then proceeds).
Computer: enters user's username and email address automatically based on information in the user's profile. User: enters his question in the provided text field. User: checks box stating that he wants to be noticed about any answers via email. User: clicks the submit button. Computer: adds and lists question.
--- following continued, extended case ---
User: receives an email notification that a new answer to his question was posted. User: clicks on the provided link in the email which brings him directly to his question. User: has additional question to given answer and feels that his question was not answered completely yet. User: clicks on the "reply" button. Computer: checks if user is logged in and then shows the reply form. User: writes and submits his additional question. Computer: adds user's post below the given answer. User: receives another email notification that a new answer to his question was posted. User: clicks on the provided link in the email which brings him directly to his question. User: is satisfied with the answer and his question is solved. User: tags his question as "answered" so that other users don't have to waste their time to answer it again. Computer: tags the question as "answered". Computer: won't list the question for users looking for unanswered questions only any more. Computer: archives the question with answers so that other people can easily find it and benefit from it.
ANSWER OTHERS' QUESTIONS USE-CASE
A user wants to comment on a posted question or existing answer to a question.
User: wants to comment about a question (or existing answer that has been posted to someone's question). User: after reading the question (and answer), clicks the 'post a reply' button at the bottom of the answer. Computer: checks to see that a user is logged in to the IPL site from the current computer trying to post a message. -- Computer: if the user is not logged in, prompts the user that they must log in before posting a message. Computer: loads the 'post a reply' page with a text field. User: types response to the question/answer in the text field. User: clicks the 'submit' button. Computer: checks that there is text in the text field. -- Computer: if there is no text, notify user that no text was entered. Computer: Posts that message beneath the question (or beneath existing answers to the question) on that specific question page. Computer: lists this question topic as a new entry in the user's 'recently viewed ask-a-questions' feature. Computer: loads 'reply posted' page. Redirects to that specific question/answer page.
CHAT USE-CASE
A user wants to engage in a topic discussion in a live chat environment
User: would like to engage in a topic discussion in a live chat environment. User: selects the 'live chat' button which is placed well visible on the IPL website. Computer: checks to see if user is logged in. -- Computer: if user is not logged in or not a member, returns to the new member and/or login page. -- Computer: if user is logged in, returns the chat room home page. User: can select an already existing chat room or create a new room.
{if user selects an already existing room}
Computer: returns the selected chat room in a new window.
{else if user selects to create a new chat room}
Computer: returns the 'create a new chat room' form in a new window. This window will give the user options for the room name,
whether the room is public or private, and the opportunity to invite new members.
User: fills in the 'create a new chat room' form.
Computer: returns the newly created chat room.
Johannes 13:28, 7 February 2008 (EST)
[edit] Team 5 Statement
For our use case scenarios, we chose chat and social bookmarking. The cases are broken down in the tables below. We chose chat because IPL needs a synchronous communication feature; we selected social bookmarking because it seemed appropriate for a web-resource based site like the IPL. One of our assumptions is that there will some kind of authorization login before a user accesses these services. MarkW 09:43, 8 February 2008 (EST)
| ID | 1 |
| Name | Synchronous Communication - Chat |
| Description | A user synchronously communicates with the IPL staff by means of the chat program. |
| Primary Actor(s) | Any registered user, IPL personnel |
| Precondition | User is logged in |
| Trigger | User action to chat |
| Basic Flow |
|
| Alternate Flows |
|
| ID | 2 |
| Name | Social Bookmarking / Bookmark Sharing |
| Description | A user shared a bookmark with other users. |
| Primary Actor(s) | Any registered user, IPL personnel |
| Precondition | User is logged in |
| Trigger | User clicks into social bookmarking area |
| Basic Flow |
|
- Return to Designing IPL Social Interaction
