+ case study: wedding planning site - by neha gupta goyal

27
+ Case Study: Wedding Planning Site - By Neha Gupta Goyal

Upload: carina-purdy

Post on 29-Mar-2015

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+

Case Study: Wedding Planning Site

- By Neha Gupta Goyal

Page 2: + 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

Page 3: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 4: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 5: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 6: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 7: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Features of the Website

Page 8: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Features of the Website

Vendor Toolso User Profileo Buddies/ Social Networko Photo galleryo Guestbooko Calendaro Appointmentso Clientso Marketplace Posts

Page 9: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Website Demo

Page 10: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 11: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 12: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 13: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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.

Page 14: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

non-members Example: Only buddies of a site member can see the said

member’s guestbook and buddies tab.

Page 15: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 16: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 17: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 18: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Thank You!

twitter: @launchingfrog

Website: www.launchingfrog.com

Email: [email protected]

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 ([email protected])

Page 19: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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']); }

Page 20: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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);}

Page 21: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+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

Page 22: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Results: Mean Time

Brides

Page 23: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Results: Mean Time

Vendors

Page 24: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Results: Success/Failure

Brides

Page 25: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Results: Success/ Failure

Vendors

Page 26: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Mean No. of Clicks

Brides

Page 27: + Case Study: Wedding Planning Site - By Neha Gupta Goyal

+Mean No. of Clicks

Vendors