enhancing user experience why it is important? discussing user experience one-by-one
TRANSCRIPT
![Page 1: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/1.jpg)
Lecture#06
![Page 2: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/2.jpg)
Outline
Enhancing User Experience Why it is important? Discussing user experience one-by-
one
![Page 3: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/3.jpg)
Ouline
Allowing customers to search our product catalog effectively
Enhancing this search by allowing our customers to filter products
Providing wish lists for our customers Generating recommendations for
customers based on previous purchases Informing customers when their desired
products are back in stock Enabling social aspects such as product
ratings and reviews from customers
![Page 4: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/4.jpg)
Why Customer Experience?
Find out popular and wanted products
Analyze customer trends Planning e-commerce products Customers know merits and
demerits of any products Helps to increases revenue and sales Improves customer satisfactionTo enhance customer experience
facilitate customers as more as you can
![Page 5: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/5.jpg)
Search
Search and filter products is vital in framework
Why? If they cannot fid what they are looking for
▪ Customer will be frustrated by our site▪ Go somewhere where they can fid what they are
looking for much more easily There are two methods of search
Keyword Search: search based on keywords Filtering: Search based on listing product
attributes
![Page 6: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/6.jpg)
Keyword Search
Based on Keywords
Applies all metadata and complex algorithms to the
search
More complex, because you have to rank the best
results first
No matter how data model is?
Answers to 20% of users needs to find
![Page 7: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/7.jpg)
Filtered Search
Based on product multiple attributes
Filter criteria should correlate with the data
model.
Known as Advance Search
Answers to 80% of users needs to find
![Page 8: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/8.jpg)
Search Implementation
Easy way is to search the keywords from product name and product description fields
To make the results more relevant We can place different priorities
▪ Result is more valid if keyword is in both fields▪ Is also valid if keyword is in name field▪ Least valid is if keyword is in description field
We need following 3-things Search Box: to type keyword to search Search Feature in Controller: code for searching Search Result: template for viewing search
results
![Page 9: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/9.jpg)
Search Box-Template
![Page 10: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/10.jpg)
Search Box-Controller
Mytasks.net
Mytasks.net/view
Mytasks.net/search
Mytasks.net/someelse
![Page 11: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/11.jpg)
Our Search Function
Working of search function is as given: Customer has actually entered some
phrase to search Clean the search phrase Run the query from database Name and Description is checked with
search phrase Show priorities results SearchFunction.php
![Page 12: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/12.jpg)
Search Results-Template
![Page 13: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/13.jpg)
Improving Search Results
We can improve our search result by changing our search template
![Page 14: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/14.jpg)
Filtering Products
Filtering allow customers to better find the products they are looking for
Filtering products are based on product attributes Like price ranges, manufacturer, weight,
brands etc. Price range filtering is simple enough But with product attributes, we would
need To extend the database and models to
maintain this additional information
![Page 15: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/15.jpg)
Filtering Products
There are different ways in which we can store filtered results:
In the user's session: This will be lost when the user closes their browser
In a cookie: This information will stay when the user closes their browser
In the URL: This would allow the customer to filter results and send the link of those results to a friend
In POST data: The information will only be stored for the one instance thefilter is used
![Page 16: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/16.jpg)
Store Filtering Results in URL We are trying URL method We format filter data within the URL as
filter/attribute-type/attribute-value-ID For example for two attributes, URL can be:
Domain.com/filter/price/5/filter/weight/6 How it will work?
we can simply iterate through the bits of the URL find bits containing filter then take the next two parts of the URL Filter down(query to DB) the product based on
parts
![Page 17: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/17.jpg)
Database Changes for Filtering We need three new tables to for effective
product filtering An attribute types table:
To manage types of attributes; for example, price,weight, brand, manufacturer, color, and so on
An attribute values table To manage values and ranges of attributes; for
example, <$5, $5 - $10,<5 KG, Nike, Adidas, gold, red, and so on
An associations table To associate products with attribute values
![Page 18: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/18.jpg)
Attribute Type Table
![Page 19: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/19.jpg)
Attribute Values Table
![Page 20: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/20.jpg)
Attribute Values Table
![Page 21: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/21.jpg)
Attribute Association Table This table will have only two fields
Product ID and Attribute ID
![Page 22: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/22.jpg)
Filter Options
To enable Filtering in framework we need to Build a list of attributes Build suitable URLs based on the attributes Display them within the product list view
We need nested loops One for generating headings and empty lists 2nd to insert the loops of values into these
lists
![Page 23: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/23.jpg)
Filter Options
Step-by-step process for filtering options We query the database for attribute types We cache the results of this query The cache is associated with a template tag
▪ Building empty list and showing on template We query the database for all attribute types We iterate through the results, putting each
value into an array for its corresponding attribute type
For each attribute type, we cache the array, and assign it to a template tag
![Page 24: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/24.jpg)
Filtering Product Template
![Page 25: Enhancing User Experience Why it is important? Discussing user experience one-by-one](https://reader034.vdocuments.us/reader034/viewer/2022051418/5697bf761a28abf838c80c4f/html5/thumbnails/25.jpg)
Improving Filters
Displaying the number of products matching a filter next to it
Pagination—limiting the number of products displayed on a page
Filter options with no matching products could be hidden