IPL-SI: Group Design Project 4

From VMT

Jump to: navigation, search
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
  1. Patron clicks on the hyperlink named as “Chat Live with a Library Service Specialist”
  2. Web browser opens a new popup window with a chat program
  3. If no librarian is available, the chat window will close and the user will be routed to the e-mail reference page and this use case will be terminated.
  4. A librarian or a library student greets the patron with pre-typed message: “Hello, My name is XYZ and I am a Library Specialist. May I assist you in finding information relevant to your area of interest?”
  5. The Patron enters his/her queries or enquires into the chat window and then clicks on the send button.
  6. The conversation between the Patron and the librarian continues till all the queries of the patron have been answered.
  7. At the end of the conversation the librarian can use one of the pre-typed messages indicating that the user query is close to the end: “Is there anything else I can help you with today?”
  8. If the user has no additional questions and wishes to end the session he/she simply indicates so in the message and sends it. Otherwise the user starts from the point 5.
  9. The librarian uses one of the pre-typed messages “Thank you for visiting the Internet Public Library. Again my name is XYZ. It was a pleasure assisting you. Have a great day”
  10. The Patron then closes the chat window.
Alternate Flows
  1. Chat session is interrupted. User follows points 1-4 of the basic flow and if any IPL staff member is available he/she asks for a librarian with a username from the previous session. If requested member is available he/she takes over the session. If requested member is not available, the user is asked if he/she wishes to continue the session with another IPL member. In any case, the IPL staff member pulls the previous conversation with the user into the chat message area, successfully continuing the interrupted conversation.
  2. Alternatively to point 7, it is the user who initiates the end of the session by selecting and sending a pre-typed message: “I would like to end this session”. The flow continues from the point 9.


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
  1. User navigates to their social bookmarking list on the IPL
  2. System paints bookmarking page
  3. User clicks on “add bookmark”
  4. System presents user with Add Bookmark form
  5. User fills in form (including tags and comments) and clicks submit
  6. System adds bookmark and associated tags to user’s list
Return to Designing IPL Social Interaction
Personal tools