Until now we have covered SharePoint Online features, Office 365 tools, and looked in-depth toward creating a digital customer experience (DCX). In this chapter, we will focus on building digital portals using SharePoint Online. We will explore both the User Interface (UI) and User Experience (UX) in detail; it’s important these are adopted for websites in order to generate DCX. Digital Portals are specialized websites that are smart and intelligent. A fundamental difference between a portal and a website is that a website is hosted on the Internet to drive traffic whereas a portal is developed within an organizational boundary to meet user-specific needs. An example of a website is the company’s standard website, and an example of a portal is a sales portal to meet the objective of a sales community. Also in the chapter, we will look at the modern software development life cycle (SDLC), which is getting used to building products such as the SharePoint Online Portal. Using these techniques to build intelligent portals that are eye catching, user oriented, and friendly to navigate are what give us DCX.
The Software Development Life Cycle
Scope of dynamic changes are not possible, and, if at all it is required, it must follow the entire SLDC as shown in the figure. With Agile methodology, there is a change in philosophy, and now things are developed when required. Let’s say, if we build an X product with Modules A and B then, as per the traditional method, all steps will be followed starting from the requirements, definition, coding, and maintenance for Modules A and B. However, with the Agile approach, Module A or B but not both will be developed as per priority.
Traditional Software Development Life Cycle | Agile |
---|---|
Covers end-to-end development of Software products | It is an iterative approach |
End-to-end development approach is used to create quality products | It is used as an incremental development approach to build quality products |
They have different stages in development | They do have different stages within an incremental development model or methodology |
It suits any size of project | It suits any size but for a small size, results are very evident |
It does not allow any immediate or dynamics change in development cycle | It allows changes depending upon priority |
It may be complex sometimes if there are too many expectations and tough deadlines | It is very result oriented |
Agile | DevOps |
---|---|
An iterative approach focused on customer feedback, Team collaboration, and quick releases | Practice that gets development and operations teams together |
Management of complex projects | Manage end-to-end development and operations processes |
Focus on constant change | Focus on Testing and Delivery |
Implemented using tactical frameworks such as SCRUM, Pprint, and safe | There is no common framework as primary goal is collaboration |
Training all team members to have same or different skills | Between development and operation teams, DevOps divides and spreads the skills |
Small Team is a focus of Agile. Smaller team, fewer people with focus on objectives and requests | Involves all the stack holders due to relatively larger team size |
Agile development is managed using Sprints and it lasts not more than a month | Deliver code to production every day or every hour |
Feedback is submitted by customers | Feedback is given by internal team |
Target is Software Development | Fast delivery and business solution |
Leverage shift-left | Leverage both shifts left and right |
When software is developed and released, Agile team does not care what happens to it | DevOps deals with software that is ready for release and deployed in a reliable and secure manner |
Agile doesn’t emphasize automation | Automation is the primary goal of DevOps when deploying software |
Gap between customer need and development and testing teams are addressed | Gap between development + testing and Ops are addressed |
JIRA, Bugzilla, Kanboard are some popular Agile tools | Puppet, Chef, TeamCity OpenStack, AWS are popular DevOps tools |
Offers shorter development cycle and improved defect detection | DevOps supports Agile’s release cycle |
User Experience
UX is a design process adopted to build meaningful products to create relevant experiences to users. This process contains the end-to-end design of a product that includes branding, design, usability, and functional aspects of a product.
User Experience is a design process is often interchangeably used with other processes such as UI Design or Usability. User Interface and Usability are significant aspects of UX design, but they are subsets of it as UX design covers plenty of other areas. The typical UX design process covers the end-to-end process of acquiring and combining products that cover significant aspects such as design, branding, function, and usability. Even before a device is in the hands of a user, the user experience is Over.
Useful: If there is no purpose, then it will unlikely be able to compete for attention. For example, if you buy a car then it should be able to drive you, independent of the day and time.
Usable: Helps to effectively and efficiently achieve a user’s end objective. It makes an impact on safety and is easy to use. A car, for example, should have all features usable before we could drive it.
Desirable: It is conveyed through, image, branding, colors, font, identity, and emotional design aspect. The more desirable the product, a user creates desire in another user’s mind.
Credible: Ability of a user to trust in the product. Companies producing noncompliant products fall victim to user credibility.
Findable: Ensure product and its content are easy to find. Netflix helps a user to find the best online show based on an internal algorithm.
Accessible: Provides a user experience that can be accessed by users of a full range of abilities. Company manufacturing product with listening, hearing, and speaking abilities, for example, does have greater accessibility. Accessibility means designing a product for every type of user.
Valuable: Must deliver value to the business and to the customer.
Why, What, and How
The “Why” factor involves user motivation, values, and views for product adoption, which could relate to a task that a user performs associated with ownership and use of the product.
The “What” factor focuses on product functionality.
Finally, the “How” factor deals with the accessibility and aesthetics of products.
UX designers start with the Why factor before defining the What and then, finally How factor, to build products with an awesome user experience. In software product design, one must make sure that a product’s substance comes through an existing device and should offer a seamless, fluid experience.
UX Design Is User Centered
User Interface
Now we are at the second stage of the modern development cycle called User Interface (UI). UI is a place where a user interacts with the design. Control panels, dialog boxes, faces, and voice-connected faces are some examples of Graphical User Interfaces (GUIs). Engaging users with 3D design using body motions are an example of a gesture-based interface. UI is an essential part of UX. Typically, a user gives feedback on design, likeability, and usability. With a higher user focus, designers can build highly usable and efficient designs. Understanding different user scenarios will make designers aware of future flaws and make design very robust. Ideally, UI design should not be device specific, but they should focus on how a user interacts with a design. UI should be designed in such a way that all possible features can be observed quickly, and it should be readily used by users.
Use elements such as buttons to perform predictably so users can unconsciously use them everywhere. Form should follow function.
Preserve high discoverability. Clearly label icons.
Maintain interfaces clearly and simply. Create an invisible feel. Every element should have a purpose.
Respect a user’s eye and attention. Focus on the hierarchy and clear readability.
Minimize the number of alignment lines. Choose Justified text.
Draw attention using color, brightness, and contrast. Avoid excessive use of colors or buttons.
Further, draw attention by using text via font sizes such as bold type/weighting, italics, capitals, and distance between letters.
Users should read content meanings by scanning.
Minimize user actions to perform tasks.
Provide guidance to users by indicating preferred actions.
Make use of chatbot in the UI in order to create smooth user engagement.
Add defaults to reduce user burdens (e.g., pre-fill forms).
Manage user behavior related to navigation and search function using reusable design patterns.
Maintain brand consistency.
Following these UX and UI steps, development teams can use out-of-the-box SharePoint Online features such as features webparts and the Office 365 tool that we explored in the first two chapters of this book. Further, they can customize components using code. With such UI development standards, development will hand over portals to a User Acceptance Team (UAT), who will perform tests under valid test cases and post implementation of UAT feedback, the system will go live.
To understand UI, let’s do an assessment of the portal by performing UI assessment. In the below examples, we have created a dummy SharePoint portal, over which we will perform UI assessment. In the below images, the numbered text represents the assessment and is followed by its answer.
Scenario 1
Scenario 2
Scenario 3
Scenario 4
Note
In the comments in Figure 4-11: Bootstrap means development done using open source Cascaded Style Sheet (CSS) framework, and insufficient coding standard refers to the static coding method and not the dynamic method.
Scenario 5
Summary
In the modern development cycle, we have UX and UI components of development with a substantial amount of focus. Subsequent components such as Development, UAT, and Deployment have standard understanding. Development will be performed by a technical team, and the User community and business will perform UAT and provide sign-off; and then finally, changes are deployed in production. In this chapter, we have looked at the UI and UX aspects in detail and this will be useful from a product standpoint.