Final-Presentation-Neha-Goyal-Case-Study-06-26-10

advertisement
+
Case Study:
Wedding Planning
Site
-
By Neha Gupta Goyal
+
Project Background

Number of mainstream wedding planning websites

Provide many useful tools for brides and vendors

Inadequate wedding planning resources for Asian Indians.

Specialized tools required for the Asian Indian segment of
the market.

This website, which was developed using Drupal, fills that
void
+
Pre-Project Analysis

Thorough market research and competitive analysis

Different business models were explored

Interviews with different brides and vendors

User Personas and Scenario analysis of a typical user

Gap between what is currently being offered by main stream
websites and what brides and vendors were looking for

Requirements, Wireframes and Mock ups were created
+
Project Requirements

Virtual Wedding Planning Expo

Social Network for Brides and Vendors

Provide tools for Brides and Vendors

Marketplace and Forum

Step by step tutorials
+
Technology

Initially thinking to use PHP and MySQL for backend

Would have taken long time for development and was not
feasible

Finally zeroed in on Drupal, which is an Open Source Content
Management System

Drupal is very flexible in the functionality that it provides via the
core and contrib modules (5000)

HTML and CSS for front end

Studied Tutorials to learn Drupal

Attended various Drupal Events, Camps and Conferences
+
Implementation of Drupal for the
Project

Drupal Core

Contributed Modules

Custom Functions written in PHP

Drupal theme used to build upon: Light Fantastic

http://drupal.org/project/lightfantastic
+
Features of the Website

Wedding Planning Tools
User Profile
o Social Network/
Buddies
o Guestbook
o Photo gallery
o Appointments
o Binder
o
Budget
o Calendar
o Checklist
o Marketplace Posts
o Vendor Directory
o Forum
o Invitations
o
+
Features of the Website

Vendor Tools
o
User Profile
o
Buddies/ Social Network
o
Photo gallery
o
Guestbook
o
Calendar
o
Appointments
o
Clients
o
Marketplace Posts
+
Website Demo
+
Core Modules
 Search:
Enabling basic site content and user
search
 User: Enabling registration of users
 Upload: Be able to attach documents to web pages
 PHP: Be able to write custom PHP code for
modules
 Node: Create nodes on the site
 Contact: Set up a site wide contact form
 Comment: Be able to comment on nodes
+
Contributed Modules






Admin Menu: This is a very user friendly tool to configure
the different modules on the site.
Auto Assign Role: Since I needed the users to register as a
bride or a vendor, this module came in very handy.
Back Up and Migrate: This module is perfect for creating
site back up and migrate it to other domains.
Calendar: Helps build a site calendar
CCK: Helps you manage all the content on the site. You can
create different Content Types, which in essence are
categories of content that the users can create by entering
data in the forms. The Content Types can be configured
with specific fields.
Content Access: Enables privacy of Content Types
+
Contributed Modules









Content Profile: Let’s you create various fields for a user
profile. One profile was made for brides and vendors. They
were differentiated programmatically and via permissions.
Date: Helps configure dates for the site. JQuery pop up.
Devel: Debugging tool
Event and RSVP: To create site wide invitations
Faceted Search: Allow advanced site search by Content Type
File Field: Allow creation of fields for file uploads to Content
Types
Formblock: Allow a content type form to be accessible as a
block which can be placed anywhere on the site.
Gmap and Zipcode: Google Map Configuration
Google Analytics: Site Statistics
+
Contributed Modules








Guestbook: Akin to Facebook Wall
Image API, Image Cache, Image Field, Thickbox: Used to
create site photogallery and user avatars
Jquery UI: To enable popups for certain modules
Location: Enable collection of valid locative information on
the site. Zipcode search for vendors.
Node Review: Be able to review certain content types
Poormanscron: Be able to run cron jobs
User Relationships: Be able to friend other users
Views and Views Calc: A very important module which lets
you display the data entered through content types as a
table. This can be displayed anywhere on the site.
+
Custom Functions


Submit Handlers:

To redirect a page to itself on hitting submit

Preview Button was disabled
Permissions on viewing content:

Control which tabs were visible to buddies and non-buddies

Control which content was available to members and nonmembers

Example: Only buddies of a site member can see the said
member’s guestbook and buddies tab.
+
Enhancing the Site
Usability

Screenshots of the website were taken to create tutorials.

Present information in small bits to prevent memory
overload.

Usability Test was conducted.

Potential: Create screencast
+
Usability Testing

10 participants (5 brides, 5 vendors)

Consent Form, Background Questionnaire, Pre-test
Questionnaire: Initial Impressions

Task Scenarios and testing of all most of the website features.

Post-test Questionnaire, Debriefing (Likert Scale)

Think out loud principle
+
Conclusions

Overall look and feel greatly appreciated

Overall functionality: very useful, according to users

Some usability flaws, but they can be easily fixed

Most of the users said that the website had all the features
needed for wedding planning website

No major red flags

Next step: fix bugs and launch the website

Drupal was successful in providing all the features for the
website
+
Thank You!

twitter: @launchingfrog

Website: www.launchingfrog.com

Email: contact@launchingfrog.com

LinkedIn: http://www.linkedin.com/in/nehagoyal

I also run a South Asian Blog called Marigold Events
(www.marigoldevents.com)

Credit for Custom Code: Doug Vann (doug@dougvann.com)
+
Submit Handler Code
if ($form_id == 'mybudget_node_form’)
$form['buttons']['submit']['#submit'][] = ’sub_handler’;
function sub_handler ($form, &$form_state) {
global $user;
$form_state['redirect'] = 'user/'.$user->uid.'/mybudget’; }
function custom_funcs_form_alter(&$form, &$form_state, $form_id) {
global $user;if ($form_id == 'mybudget_node_form') $form['buttons']['submit']
['#submit'][] = ’sub_handler';
unset($form['buttons']['preview']); }
+
Permissions Custom Code
/** Override theme_menu_item
* * Make sure that only buddies can see BUDDIES and GUESTBOOK tabs */
function phptemplate_menu_item_link ($link) {
global $user;
if (arg(1)==$user->uid)
return theme_menu_item_link($link);
if ($link[path] == 'user/%/friends' || $link[path] == 'user/%/guestbook') {
if (!_check_buddy_status()) { return "”;}}
return theme_menu_item_link($link);}
function _check_buddy_status() {
global $user;
if (arg(1) == $user->uid) return;
$path = is_numeric(arg(1)) ? arg(1) : 'none’;
if ($path == 'none' || arg(1) == $user->uid) { return; }
$buddy_status=db_query('select approved from {user_relationships} where
((requester_id = \''.$user->uid.'\' AND requestee_id = '.$path.') OR
(requester_id = '. $path.' AND requestee_id = \''.$user->uid.'\') and approved = "1")');
return db_result($buddy_status);}
+
What was measured in the
Usability Test?

Time

Number of Clicks

Ease of completing the task

Satisfaction with the navigation

Qualitative aspects of the participant and website
+
Results: Mean Time

Brides
Mean Time
Add Buddy
Search Vendor
Search Marketplace
Marketplace
Budget
Binder
Guestlist
Invitation
Checklist
Edit Profile
Create Account
0:00
Time
1:12
2:24
3:36
+
Results: Mean Time

Vendors
Mean Time
Add Buddy
Search Marketplace Post
Marketplace Post
Client List
Appointment Book
Edit Profile
Create Account
0:00 0:14 0:28 0:43 0:57 1:12 1:26 1:40
Time
+
Results: Success/Failure

Brides
Task Success/Failure
Add Buddy
Search Vendor
Search Marketplace
Marketplace
Budget
Binder
Guestlist
Invitation
Checklist
Edit Profile
Create Account
Fail
Pass
0
1
2
3
4
5
6
+
Results: Success/ Failure

Vendors
Success/Failure of Tasks
Add Buddy
Search Marketplace Post
Marketplace Post
Fail
Client List
Pass
Appointment Book
Edit Profile
Create Account
0
1
2
3
4
5
6
+
Mean No. of Clicks

Brides
+
Mean No. of Clicks

Vendors
Download