Professional Documents
Culture Documents
Welcome to
E-Commerce Applications Development
Lecture # 11: Enhancing the User Experience (UX)
a.tabassam@gmail.com
valid with
23/01/2023
oral explanation!
Outline
Product Variant and User Uploads,
How the variant are applied previous
lecture
Why Product Variants are Helpful to E-Commerce Stores?
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 2
What is the User Experience (UX )?
It’s all about how visitors feel when they go through your online store and
how easy it is for them to perform the desired action.
So, apply the concept of user experience design when you are building
your eCommerce website.
But…
Why is eCommerce UX so important for online stores?
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 3
Why User Experience (UX )?
• Allowing customers to search the product catalog effectively
• Enhancing this search by allowing our customers to filter products
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 4
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 satisfaction
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 6
Keyword Search
Based on Keywords
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 7
Filtered Search
• 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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 9
Search Box-Template
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 10
Search Box-Controller
Mytasks.net
Mytasks.net/view
Mytasks.net/search
Mytasks.net/someelse
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 11
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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 12
Search Results-Template
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 13
Improving Search Results
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 14
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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 15
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 the
filter is used
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 16
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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 17
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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 18
Attribute Type Table
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 19
Attribute Values Table
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 20
Attribute Values Table
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 21
Attribute Association Table
• This table will have only two fields
– Product ID and Attribute ID
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 22
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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 23
Filter Options
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 24
Filtering Product Template
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 25
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
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 26
Reading
CIT-647
IT-4xx E-Commerce
E-CommerceApplications
ApplicationsDevelopment
Development Lecture # 11: Enhancing the User Experience (UX) 27
Q&A
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 28
CIT-647 E-Commerce Applications Development Lecture # 11: Enhancing the User Experience (UX) 29