
Hootsuite new homepage welcome project

I believe a design system is never really done - it is a living entity consisting of components, patterns and documents that evolve according to the insatiable needs of customers, designers, and app features. It should be treated as a product and the evolution of this product is predicated upon consistent innovation which requires the solid foundation of design process.

Problem discovery: Discerning our app personality, understanding our user, their needs & ultimately defining how we want them to feel when using the app. I like to try and put pen to paper as much as I can, if nothing else to get all the bad ideas out of the way!

Problem definition: Defining a deeper understanding of component needs and a clear audit of the current app environment.

Solution discovery: Brainstorming solutions and opportunity areas.

Solution discovery: Storyboarding animation opportunities. This particular sketching session was investigating a modal animation story.

Customer journey discovery: Global opt-in flow. These were just two on many journey flows understanding the UI refresh opt-in experience.

Customer journey discovery: Global opt-out flow. This flow details the path for a user opting out of the new UI refresh.
Inspiration: Being inspired, often indirectly, is an essential facet of my process. I have always found it takes me in directions I could not have imagined otherwise.

Research validation: Understanding our user flows more deeply.

Concept validation: Stress testing navigation versions.

Iterating motion curves and duration: Foundational to a motion system, as well as an app's personality, are the motion curves and durations.

Iteration: Collaborative whiteboard sessions with the team.

Iteration: Further concept ideating through design team workshops.
Prototyping: I did a variety of low fidelity wireframe animation iterations to get the beginnings of our motion story defined. Here is an example from my work on our modal story.
High resolution prototypes: Wireframes were then taken further into higher fidelity iterations for concept validation.
1. Validate the navigation of the UI Refresh to ensure that it does not negatively impact any navigation/usability metrics compared to existing navigation.
Benchmark one results were mixed and disappointing, with slight success rates in 7/8 tasks. Usability recommendations were considered.
• Straightforward, nice colors, clean/clear, easy to use, organized/well laid out.


Lottie animation infrastructure integration: Further collaboration with engineering on Lottie animation inclusions to more easily deliver animated illustration and icon content and help improve our user satisfaction scores.

Delight system updates: Integrating the project's animated illustrations into the Delight System libraries marked the beginning of a cataloged library for Design, Dev & PM as well as served as a source of inspiration for new concepts.

Motion design system updates: Integrating the new durations & motion curves from this project into the code base was vital to provide consistency for the implementation of new component motion.
Hover entrance/exit: Slight scale up added to the hover as well as an animated icon
Selected hover entrance/exit: Similar to hover, but for a previously selected portfolio area
Hover with selection: Slight scale down added to the selection state to provide a natural indication to the selection.
My profile selection: Slightly modified hover and selection for the profile button
Global nav compose button menu entrance exit
Global nav pane & portfolio area pane entrance/exit animations
Modal interactions: Compose modal and standard modal with animated illustration bar entrance/exit animations

Before

After

In app onboarding experience: There was a five step education flow once users opted in. This is the compose button step. It helped users understand that the compose button was now global.

In app onboarding experience: Compose button step - detail
Opt-in experience welcome video: On launch day, this was the welcome video that played in a modal communicating that the new experience was available.

Indirect inspiration: I looked to nature for inspiration on this project, specifically how the Fibonacci sequence is represented in pinecones. This symmetry and flow was inspirational to the cyclical flow goal of the icons looping quality.

Iterative sketches: This example focuses on the Streams applet area icon. I was processing some of our design goals as well as storyboarding concepts.
Below is an array from both rounds of research testing for our icon sets. I focused on icons for our main navigation though we were able to add a variety of other high-use icons as well.

I created sets of animations for each solution rather than just one. This way we were able to randomize the set so that users were, perceptively, seeing a new animation every time.
Hootsuite brand icon launch animations
Hootsuite brand icon button hover animations

Research outcomes: Results page from the round 2 study

Participant quote: While a mixed response, I always love to see 'the page feels more alive'

Research outcomes from round 1

Prepping for second design phase

Overall research outcomes on effectiveness

Final research summary of the project
Final set of animated icons
Global navigation animated icon experience - live app
Randomized global navigation animated brand icon experience - live app
Button components
Drag and drop component
Modals, loading and delete components
Panes & popover components
Media loader within the composer modal: Utilizing our core color story within a bar loader as well as an advanced animation system. This was part of a released feature for the composer modal redesign.
Skeleton loader system: Telling this same color story through the lens of a skeleton loader system I developed.

Small form factor skeletal loader example

Small form factor skeletal loader example on a dark background
This solved one of our main engineering issues at Hootsuite - the lack of engineering support in the design system team. How could we create more dynamic component solutions with less time and resources?

time outs and empty states.
set of five animations for empty states and another five for time out scenarios.

Layer 1 background layer: Animated cloud layer.

Layer 2 city background: This layer only scrolls, but provides the needed middle distance for accurate parallax movement.
Layer 3 foreground layer: Fully animated illustration layer.
Parallax scrolling feature: All three layers of the animation move at different speeds when scrolling creating depth with a parallax effect. The red rectangle represents a 1920 x 1080 screen.

(Also part of the ad blocker project found below in the next section 'Increasing understanding')

Time out example: Hootsuite Amplify applet loading error and time out screen.
This included a variety of animated illustrations and animated UI to help illustrate the changes in the app experience.
There are necessary scenarios within the Hootsuite platform where add blocker needs to be turned off. This dialogue was simply to help users understand the benefits and motivate them in a fun and delightful way.
Ad blocker detail
Ad blocker in modal situ
Ad blocker in banner situ
This animation was one in a series to help customers select the most advantageous Instagram settings that best align with the Hootsuite platform.

Used in analytics and business side scenarios
Time out scenarios and marketing opportunities
Primarily used in modal banners and reward scenarios
Superhero animation used within a modal

Owly celebration banner: Used within the getting started flow, Hootsuite onboarding experience when a customer completes their initial setup step.
The gold medal: Weekly goal award from our Amplify applet.
The awkward high-five: This was used in a variety of rewards, initially for user activation celebrations.


in-house talent through extensive staff mentorships, as well as presented company-wide on a program I've created called Motion-First Design Thinking.