SlideShare a Scribd company logo
1 of 75
Download to read offline
UX Fluency
for a better Front End
Iā€™m a director of user experience at Shopify and have been working as
a front end developer in Toronto since 2008. Previous to Shopify, I had
been working at a number of diļ¬€erent sized agencies.
Monika Piotrowicz
UX Director, Shopify
@monsika
medium.com/shopify-ux
A bit more about Shopify - weā€™re a commerce platform helping merchants sell online, in store, and on mobile. My team designs and builds out our marketing materials on shopify.com
as well as features inside of our core product, especially developer-facing features for our APIā€™s
and although i have a lot of diļ¬€erent disciplines on my team, today ā€˜ll talk about the front end at shopify - ļ¬tting audience!
I just gave a super simple deļ¬nition of front end, but i want to dive into it a bit more because i glossed over a ton of detail there - front end is super complex these days
Today
ā€¢ Complexity of the ā€œfront endā€
ā€¢ Discipline Fluency
ā€¢ Taking advantage of UX Fluency
ā€¢ First, a little bit more about the FED team at Shopify
ā€¢ Shopify began over a decade ago but the front end team has been around for less than half that time. When the team got formed, we were starting fro scratch
ā€¢ We had to start answering some of bigger questions facing a brand new team
ā€¢ Like what stack weā€™d choose, and how we worked with other disciplines, and what our mission and purpose was
So letā€™s get started with answering one the ļ¬rst big questions we had to think about
So what is a front end developer?
Itā€™s a bit of a funny question to be asking in front of you, because youā€™re at a conference called UP FRONT, so I expect each of you has an answer to this because youā€™re living it day in and day out
Defining FED
Hey UpFront, what do you do?
WTFED?
ā€¢ HTML
ā€¢ CSS
ā€¢ JavaScript
Back when I started, the deļ¬nition was pretty straight forward
But now, this simple list of 3 turned into a much longer list as languages and capabilities matured.
We have the rise in web applications, no longer just simple sites and at the same time, greater focus on earlier prototyping, more tools to build interactivity, and the rise of compilation and
bundling tools.
WTFED?
ā€¢ HTML
ā€¢ CSS
ā€¢ JavaScript
ā€¢ Node/WebPack/Sass/Gulp/PostCSS/jQuery/D3.js/SVG/
CSS Grid/Vue JS/Flexbox/npm/React/Animations/AMP/
PWA/Babel/JSX/OOSCS/BEM/Performance/TypeScript/
Ember/Browserify/Redux/functional/React Native
Itā€™s a lot to take in and it can feel very chaotic, especially for teams trying to grow, or hire, or youā€™re thinking about your own career path.
Just last week i heard someone describe a role as being ā€œfull stack front endā€ and it really left me scratching my head. We donā€™t have the language even to describe this role, so how can teams
built, job descriptions well written, career paths deļ¬ned?
So we have to ļ¬gure it out!
chaos
FED
Design ā€œBack Endā€
So, taking a step back, in that ļ¬rst, simpler model, you might have this range of skills.
And FED happily occupies the middle, right, itā€™s ā€œthe frontā€ relative to the back, all the stuff that
happens on a users browser, in the client.
HTML
CSS
JS
Design ā€œBack Endā€
So letā€™s keep it simple and keep calling it the HTML, CSS, JS part of your app
HTML
CSS
JS
šŸ˜
šŸ’–
Design ā€œBack Endā€
FEDDesign ā€œBack Endā€
With these 3 pillars, the parts in between are the ones that cause the chaos.
FEDDesign ā€œBack Endā€
#
If we look to the right of this line, we are being much more rigorous with technical decisions - we know what jQuery soup and spaghetti code look like and we know itā€™s hard to work with. So
weā€™re looking at architecture and patterns, and including things like testing and even writing Javascrpt on the server - no longer the front!
#šŸƒ
FEDDesign ā€œBack Endā€
And at the same time, we might be the ones deļ¬ning the animation states of a design based on what we know is possible and performant in a mobile browser. Or building beautiful SVGā€™s,
tweaking their output and using complex Javascript to create amazing interactions.
Front enders might ļ¬nd themselves doing some design!
#šŸƒ
FEDDesign ā€œBack Endā€
And so when we look at this whole range, we get into that chaotic state because we wonder, do we need to know it all?
And especially if we spend a lot of time worrying about this right side - about frameworks and tools - How do we decide between different options, what to focus on, and what features we need to
care about?
Talking each otherā€™s languages
Discipline Fluency
And so this is where I want to talk about what iā€™m calling ā€œdiscipline ļ¬‚uencyā€
Fluency means being able to speak another language - and thatā€™s vital when working with cross-disciplinary teams. When you know enough about that discipline to really empathize, to
understand how they approach problems, and their perspective, you build your own context, and it helps you better communicate your own perspective, because you can ļ¬nd those
commonalities and better describe the distinctions. Itā€™s that common language and even being able to step into that other role, dip your toes in - thatā€™s why I like calling this ā€œļ¬‚uencyā€.
If youā€™ve worked on cross disciplinary teams, youā€™ve probably experienced a lack of ļ¬‚uency at some point, especially because front end does occupy that middle space so you might see it in two
directions.
Design ā€œBack Endā€
FED
So weā€™ve experienced it ourselves, but ļ¬‚ipping that around,
Design ā€œBack Endā€
FED
We may be guilty of this ourselves, and can do work to build our own ļ¬‚uency of areas outside of FED so that we can make better decisions just like we hope others will.
FEDDesign ā€œBack Endā€
So letā€™s start on this engineering end - I wager a lot of the chaos we talked about earlier actually comes from the fact that we are building more complex applications today than we were 5 years
ago, but we donā€™t yet have the technical conventions that might exist already in more traditional, longer standing software development - Iā€™m talking principals of computer science and
engineering that, as front end developers, many of us might be less familiar with if weā€™ve spend most of our time working on the front end.
FEDDesign ā€œBack Endā€
MVC vs Component
Static Typing
Functional vs OOP
Developer productivity
Maintenance
Where 5 years ago, not many front enders were thinking about these types of topics, but these are all long-standing components and discussions in other software development ļ¬elds that have
already been long settled or turned into conventions. So, if we choose to dive in, becoming ļ¬‚uent in those programming concepts outside of front end might help us make these types of
decisions in the front end as well.
This way, perhaps we wonā€™t be as drawn in to the ā€œļ¬‚avor of the week toolā€ debates
JavaScript fatigueOr even worse, developing Javascript fatigue - but that dread you might feel when thereā€™s yet another new tool you feel you need to catch up on.

New tools are just diļ¬€erent solutions to those really hard problems weā€™re more recently seeing on the front end, and if we look into other areas of programming, we might ļ¬nd a new perspective
on our own.
Great tools and great code arenā€™t
the end goal
FEDDesign ā€œBack Endā€
The same thing can happen with this side of ļ¬‚uency - closer to the design side
Good tooling itself isnā€™t
the goal
FED
User Experience
Design ā€œBack Endā€
And more speciļ¬cally, whatā€™s in between this spectrum of design to Front End - the user experience of what youā€™re building, and when we spend a little more time here, it can actually bring a lot
of clarity back to this middle.
& the impact FED has on.. users!
UX Fluency
And so this is where I want to spend a bit more time - and talk about how we can develop and then leverage a UX ļ¬‚uency
User experience is a person's entire experience using
a particular product, system or service. It includes the
practical, experiential, aļ¬€ective, meaningful and
valuable aspects of humanā€“computer interaction and
product ownership. Additionally, it includes a personā€™s
perceptions of system aspects such as utility, ease of
use and efficiency.
Itā€™s not just the pixels on the mockup that are handed down to someone to code - itā€™s the full experience your user has, dependent on the user research youā€™ve done, the IA of the site, the
design, content, through to how well it was executed, how speedy it feels in someoneā€™s hand on their device.
HTML
CSS
JS
šŸ˜
šŸ’–
Fed is really the FRONT Line of that user experience then - because all of that eļ¬€ort culminates in the code being served in the browser.

All the planning, design, frameworks, and tools we use are reļ¬‚ected in the the HTML, CSS, and JS served on the device, experienced while in line at the bank, or relaxing on the couch, or
rushing from one meeting to another. And users just want to complete their task - buy a product, read your article, register for your event.
šŸ› 
And users wonā€™t care if youā€™re using isomorphic javascript, that you still havenā€™t upgraded to React, or that your webpack conļ¬guration is a work of art. They care that your interface works and
they can get where they need to go. They may notice when things go well, but theyā€™ll DEFINITELY notice when they donā€™t.
šŸ› 
Thereā€™s something incredibly liberating about that - because while we donā€™t have to optimize for tools, yay!
šŸ›  šŸ˜€ šŸ˜€
šŸ˜€šŸ˜€
But itā€™s a reminder that we DO have to optimize for our users, and all the things theyā€™re going to want to do - and thatā€™s a huge responsibility.
Front end is integral
to User Experience
ā€Ø
FED is integral to UX - itā€™s our JOB to build for users, this is why weā€™re here. Not to create the best framework, not to learn the ins and outs of one tool or another, but to create value for users.
Our tools help us, we need them, and to those building them, thank you. But for most of us, who consume and who hopefully do contribute back, weā€™re here to USE those tools, think about our
users, and do something thatā€™ll be useful to them.
chaos
The good news, is that when we remember that, we can actually help ourselves get out of this chaos too because by scoping our work to satisfy our users, explicitly, we now have the rules w
need to decide how to spend our time, where to focus, and how to make decisions when it comes to technology. Our users tell us if weā€™re building the right thing.
ā€¢ So how do we actually go about doing this? Growing our UX Perspective and putting it into practice?
And at Shopify - weā€™ve used this deļ¬nition to actually structure our team.

So rather than being a specialty under engineering or on our own entirely, we group front end purposely as a part of our user experience team - right beside design, research, and content.
Part of the UX Process
Design
Front End Dev
Iā€™ve worked in this model before - waterfall - design hands oļ¬€ to development which builds without always knowing why. In this process, the ļ¬rst question is ā€œok how on earth do we build thi
thing weā€™ve been handedā€
Design
Front End Dev
Being part of the UX process means the process looks morel like this - with signiļ¬cant overlap of build while design is iterating so we can inļ¬‚uence each other.
Design
Front End Dev
At these tail ends, encourages design to help out in the ļ¬nal QA and maintaining quality of build, while at the front, having more high level conversations like - Should we build this? Why?
Only when we know that can we eļ¬€ectively answer the how
This allows the full team to gain the context from the rest of UX on the ā€œwhyā€ of our project, and we use this to make better technical decisions. We learn whatā€™s most
important, whatā€™s ok to compromise on, and whatā€™s an experiment we expect weā€™ll iterate on heavily. Each type of work leads to a different technical outcome.
This is a picture of a kickoff that happened just las week - this is several different projects teams, all under 1 product domain exploring user journeys together. This is a mix of
UXers from design, content, research, and front end, mixed with some of our support team, data engineers, and back end developers - all talking about user challenges. This is
what that diagram looks like in practice.
ā€¢ common, shared breakpoints as variables
ā€¢ common, shared helpers (to show/hide content at breakpoints)
ā€¢ shared mixins to apply media queries
ā€¢ JS for responsive images, resize events, etc
ā€¢ mobile testing lab
As we see repeat scenarios, itā€™s a strong signal that this might be something important to standardize, so we can start optimizing our toolchain for these known, proven use
cases. Such as:
Performance is another area where that close collaboration with design can help us make better decisions
Performance can be a big numbers game, like all these quotes show, but those numbers donā€™t always tell the whole story.
Hello world!
The fastest page in the world will be one without images styles or interactivity!
Going back to numbers, these shots hint at something interesting - on top is our speedindex score over the past year for one of our marketing pages
- Itā€™s heading in the right direction, lower is better
- But below, we actually see some resources have increased in size at the same time
- The page is still rendering more quickly because weā€™ve since made a lot of optimizations, even though weā€™re doing more on the page.
- Both numbers would tell a different story if we didnā€™t see them together
Absolutely have a performance budget, but you have to arrive at that number as a team, not as a rule you have to force others to adopt. Instead of a policing tool, we use it for performance
monitoring and a tool for making informed trade oļ¬€s in our UX process. 

For marketing pages, every byte counts, so we always strive to have strong rationales, and with that context, the implementation team can better decide on what options we have to explore,
what the performance implications may be, and how these interfaces are experienced in diļ¬€erent scenarios worldwide. This helps everyone make more informed decisions.
Accessibility
Accessibility is another area thatā€™s very dependent on a healthy dialog between design and front end. This is something front end developers in particular need to be mindful of - we have a hu
impact but itā€™s still not something thatā€™s reached a lot of understanding in our industry, or even tooling to help support it, unless weā€™re deliberate about it.
Accessibility
ā€¢ prototyping
So with complex UI, weā€™ve invested the time prototyping options while still in design to vet accessibility and feasibility and work together with design on any adjustments. We understand the
purpose of the design so we can have a more meaningful back and forth during that process
Accessibility
ā€¢ prototyping
These are just different ļ¬delities of prototypes, with feedback going back to design
Accessibility
ā€¢ prototyping
And code improving with each round.
Accessibility
ā€¢ Common abstractions
This is another instance where we saw repeat use cases which we then decided to abstract into our shared framework. We decided accessibility would be a higher priority and made sure we
focused some of our tooling time there because we knew itā€™d have real impact on users. So the tool is led from UX needs, built to support those needs
ā€¢ user testing and research
Article: Running Accessibility Testing How-To
AccessibilityAccessibility
This next one is great example of diving in to ļ¬‚uency in another discipline - Hereā€™s a screenshot from a live user testing session with an experienced screen reader user, organized by a front end
developer. It was a great experience for the entire team and it was driven by the deep curiosity for how real users are interacting with the frameworks weā€™ve built
Content!
Content!
Hemingway App
Tooling. Finally :)
FEDDesign Engineering
Weā€™ve talked about some UX implications of front end and how all of this context we gathered here
FED
#
Design Engineering
And how itā€™s helped us when we spend time over here - we know our code has to be performant, ļ¬‚exible to account for unique interfaces, and accessible - and these are no longer abstract
ideas, weā€™ve seen them in action and have helped design the baseline with our entire UX team. 

With that baseline set of features weā€™re opinionated about, that we decided are important, we can think of how to make those features scale, how we maintain them, and how we make them
approachable to everyone on our team
FED
#
Design Engineering
And when it comes to tooling, we can leverage this very same chaotic spectrum, because individual FEDs have expertise at points across this entire line, and as a team, if we bake each of those
points into our shared frameworks, then no one person does need to know it all! We roll that knowledge up and itā€™s now available to the entire team.
Weā€™ve been building iterative styleguides for a few years now, and each of these facets has helped us do it. We began with sharing basic styles across projects, focusing on responsive and
accessibility behaviours,
And soon added in dynamic markup helpers and even an API we built in Rails to spit out the regular HTML and associated CSS classes for complex components. We went to the far right in that
case - front enders were spending a lot of time in a Rails back end, but it was in the service of building a great UX by the same team whoā€™s helped deļ¬ne what great UX even is.
Sometimes we learned lessons the hard way - we had a period where we wanted to
modernize our stack with Browserify, but actually quickly saw
it only made maintenance and onboarding harder, without a positive impact on our
users. So we ripped it out and ļ¬t was the right call!
Design FED
Iteration
Build
Review
Learn
Our shared design system
polaris.shopify.com
Polaris
Building a Culture of Fluency
chaosWe still havenā€™t solved this for front end developers
But we at least have a rubric, maybe not for predicting the future, but at least how to make decisions and what we might want to focus on. Weā€™ve developed an opinion on whatā€™s most important
to our team, and thatā€™s our users. For us, great code and passing tests will never be enough. These principals have helped guide many of our decisions as a team, and weather the storm
happening in the industry. Your team may have different priorities or a different heuristic for decision making, thatā€™s great - and if not, I urge each of you to pause and think of what yours is, or
could be - because this is what has helped us move past that chaos.
Team Growth
These principals also help us here - an area iā€™ve spent a lot of time thinking about.
*We better know how to structure someoneā€™s growth on the team, and even how we hire and onboard. We know weā€™ll have to do more than a whiteboard sorting exercise when meeting someon
new.
Continuing to Scale
So whatā€™s next? Still a lot of challenges for FED on the team.
Things on my mind:
How do we continue looking in two directions at the same time, building our ļ¬‚uency in engineering and UX?
Responsive design was a huge shift for UI, whatā€™s the next major change and how adaptive will our team be? Will our model still work
You donā€™t need to know it all!
ā€¢ So coming to an end Iā€™ve talked about how as front enders, we need to build our discipline ļ¬‚uency over a wide range of topics can help us zone in on what we think is important.
ā€¢ I talked about how focusing on UX can actually help us make progress in our FED-speciļ¬c skills, tooling and frameworks
ā€¢ The reason why that is, I think, is because that focus on UX takes us outside of our FED bubble and forces us to look at the external impact weā€™re having. Real users interact with what we build
and thatā€™s why weā€™re here. So if nothing else, when youā€™re in the middle of fretting about which direction to go in, which new trend to dive into, consider its impact. Will it make you a better
developer? Will it help you solve a real problem? Will it be a fun exercise youā€™ll enjoy? Each is important, and each will lead to a different outcome.
ā€¢ so donā€™t set yourself up to having to know it all, but instead strive to use what you do know, to make an impac
Grow for impact
Thanks!
@MON SI KA
ux. shopify.com

More Related Content

What's hot

Task 2 Unit 5
Task 2 Unit 5Task 2 Unit 5
Task 2 Unit 5ilyaboj
Ā 
Web designtrends
Web designtrendsWeb designtrends
Web designtrendsTafu Norido
Ā 
RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignDave Olsen
Ā 
Better Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed DevelopmentBetter Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed Developmentgoodfriday
Ā 
Technologies Used
Technologies Used Technologies Used
Technologies Used samwadsted
Ā 
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...Bootstrap Creative
Ā 
Bootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book SampleBootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book SampleBootstrap Creative
Ā 
Web Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @CygnismediaWeb Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @CygnismediaClark Davidson
Ā 
Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019
Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019
Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019Iwona Zalewska - Lech
Ā 
How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...tylermattless
Ā 
Prezi presentation
Prezi presentationPrezi presentation
Prezi presentation201031863
Ā 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...SocialBiz UserGroup
Ā 
Q6. Technologies
Q6. TechnologiesQ6. Technologies
Q6. TechnologiesOliver Midgley
Ā 
Word press to go how to build a wordpress website ( pdf drive )...
Word press to go how to build a wordpress website ( pdf drive )...Word press to go how to build a wordpress website ( pdf drive )...
Word press to go how to build a wordpress website ( pdf drive )...hanitaha10
Ā 

What's hot (15)

Task 2 Unit 5
Task 2 Unit 5Task 2 Unit 5
Task 2 Unit 5
Ā 
Web designtrends
Web designtrendsWeb designtrends
Web designtrends
Ā 
RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web Design
Ā 
Better Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed DevelopmentBetter Design Built Faster: Using New UI Technologies to Speed Development
Better Design Built Faster: Using New UI Technologies to Speed Development
Ā 
Q6
Q6Q6
Q6
Ā 
Technologies Used
Technologies Used Technologies Used
Technologies Used
Ā 
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Web Development Tutorial Workshop for Beginners - Learn Responsive Web Design...
Ā 
Bootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book SampleBootstrap 4 Online Training Course Book Sample
Bootstrap 4 Online Training Course Book Sample
Ā 
Web Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @CygnismediaWeb Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @Cygnismedia
Ā 
Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019
Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019
Prezentacja 2 ze szkolenia "ICT for Educators", Barcelona 2019
Ā 
How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...
Ā 
Prezi presentation
Prezi presentationPrezi presentation
Prezi presentation
Ā 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Ā 
Q6. Technologies
Q6. TechnologiesQ6. Technologies
Q6. Technologies
Ā 
Word press to go how to build a wordpress website ( pdf drive )...
Word press to go how to build a wordpress website ( pdf drive )...Word press to go how to build a wordpress website ( pdf drive )...
Word press to go how to build a wordpress website ( pdf drive )...
Ā 

Similar to UX Fluency for Better Front End Development

Thinking in Components
Thinking in ComponentsThinking in Components
Thinking in ComponentsFITC
Ā 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014MoodLabs
Ā 
Designing with content-first
Designing with content-firstDesigning with content-first
Designing with content-firstAndy Parker
Ā 
webdevelopment-210628031421.pdf
webdevelopment-210628031421.pdfwebdevelopment-210628031421.pdf
webdevelopment-210628031421.pdfDakshPratapSingh1
Ā 
Wait what? How to Enhance your Responsive Process with Content Questions
Wait what? How to Enhance your Responsive Process with Content QuestionsWait what? How to Enhance your Responsive Process with Content Questions
Wait what? How to Enhance your Responsive Process with Content QuestionsEileen Webb
Ā 
Web UI Design Patterns 2014
Web UI Design Patterns 2014Web UI Design Patterns 2014
Web UI Design Patterns 2014Lewis Lin šŸ¦Š
Ā 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersSarah Dutkiewicz
Ā 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for DevelopersSarah Dutkiewicz
Ā 
4 Pillars - Presentation Notes
4 Pillars - Presentation Notes4 Pillars - Presentation Notes
4 Pillars - Presentation NotesElizabeth Harris
Ā 
Web Application Development Company
Web Application Development Company  Web Application Development Company
Web Application Development Company Shelly Megan
Ā 
Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxrosemariebrayshaw
Ā 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?Diego Eis
Ā 
Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft 365 Developer
Ā 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for DevelopersSarah Dutkiewicz
Ā 
Bank Chris - Web UI Design Patterns - 2014
Bank Chris - Web UI Design Patterns - 2014Bank Chris - Web UI Design Patterns - 2014
Bank Chris - Web UI Design Patterns - 2014Shah Muhammad Baig
Ā 
What to do when you don't know what to do
What to do when you don't know what to doWhat to do when you don't know what to do
What to do when you don't know what to doLouis Rosenfeld
Ā 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Chad Udell
Ā 
what web devlopers do.pptx
what web devlopers do.pptxwhat web devlopers do.pptx
what web devlopers do.pptxsneharathod39
Ā 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?LavaConConference
Ā 

Similar to UX Fluency for Better Front End Development (20)

Thinking in Components
Thinking in ComponentsThinking in Components
Thinking in Components
Ā 
Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014Uxpin web ui design patterns 2014
Uxpin web ui design patterns 2014
Ā 
Designing with content-first
Designing with content-firstDesigning with content-first
Designing with content-first
Ā 
Web development
Web developmentWeb development
Web development
Ā 
webdevelopment-210628031421.pdf
webdevelopment-210628031421.pdfwebdevelopment-210628031421.pdf
webdevelopment-210628031421.pdf
Ā 
Wait what? How to Enhance your Responsive Process with Content Questions
Wait what? How to Enhance your Responsive Process with Content QuestionsWait what? How to Enhance your Responsive Process with Content Questions
Wait what? How to Enhance your Responsive Process with Content Questions
Ā 
Web UI Design Patterns 2014
Web UI Design Patterns 2014Web UI Design Patterns 2014
Web UI Design Patterns 2014
Ā 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for Developers
Ā 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
Ā 
4 Pillars - Presentation Notes
4 Pillars - Presentation Notes4 Pillars - Presentation Notes
4 Pillars - Presentation Notes
Ā 
Web Application Development Company
Web Application Development Company  Web Application Development Company
Web Application Development Company
Ā 
Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docx
Ā 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?
Ā 
Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019Microsoft Teams community call-September 2019
Microsoft Teams community call-September 2019
Ā 
The UX Toolbelt for Developers
The UX Toolbelt for DevelopersThe UX Toolbelt for Developers
The UX Toolbelt for Developers
Ā 
Bank Chris - Web UI Design Patterns - 2014
Bank Chris - Web UI Design Patterns - 2014Bank Chris - Web UI Design Patterns - 2014
Bank Chris - Web UI Design Patterns - 2014
Ā 
What to do when you don't know what to do
What to do when you don't know what to doWhat to do when you don't know what to do
What to do when you don't know what to do
Ā 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
Ā 
what web devlopers do.pptx
what web devlopers do.pptxwhat web devlopers do.pptx
what web devlopers do.pptx
Ā 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Ā 

More from Monika Piotrowicz

Building & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & TeamBuilding & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & TeamMonika Piotrowicz
Ā 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can buildMonika Piotrowicz
Ā 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can buildMonika Piotrowicz
Ā 
a11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developersa11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for DevelopersMonika Piotrowicz
Ā 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can buildMonika Piotrowicz
Ā 
jQuery Austin 2013 - Building a Development Culture
jQuery Austin 2013 - Building a Development CulturejQuery Austin 2013 - Building a Development Culture
jQuery Austin 2013 - Building a Development CultureMonika Piotrowicz
Ā 
jQueryTO 2013 - Creating a Development Culture
jQueryTO 2013 - Creating a Development CulturejQueryTO 2013 - Creating a Development Culture
jQueryTO 2013 - Creating a Development CultureMonika Piotrowicz
Ā 

More from Monika Piotrowicz (8)

Leadership as a craft
Leadership as a craftLeadership as a craft
Leadership as a craft
Ā 
Building & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & TeamBuilding & Scaling a Front End Practice & Team
Building & Scaling a Front End Practice & Team
Ā 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can build
Ā 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can build
Ā 
a11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developersa11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developers
Ā 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can build
Ā 
jQuery Austin 2013 - Building a Development Culture
jQuery Austin 2013 - Building a Development CulturejQuery Austin 2013 - Building a Development Culture
jQuery Austin 2013 - Building a Development Culture
Ā 
jQueryTO 2013 - Creating a Development Culture
jQueryTO 2013 - Creating a Development CulturejQueryTO 2013 - Creating a Development Culture
jQueryTO 2013 - Creating a Development Culture
Ā 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
Ā 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
Ā 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
Ā 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
Ā 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
Ā 
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024BookNet Canada
Ā 
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Alan Dix
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
Ā 
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
Ā 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
Ā 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
Ā 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
Ā 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
Ā 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
Ā 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Ā 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Ā 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Ā 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Ā 
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Ā 
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Ā 
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 āœ“Call Girls In Kalyan ( Mumbai ) secure service
Ā 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Ā 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Ā 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Ā 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Ā 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Ā 

UX Fluency for Better Front End Development

  • 1. UX Fluency for a better Front End
  • 2. Iā€™m a director of user experience at Shopify and have been working as a front end developer in Toronto since 2008. Previous to Shopify, I had been working at a number of diļ¬€erent sized agencies. Monika Piotrowicz UX Director, Shopify @monsika medium.com/shopify-ux
  • 3. A bit more about Shopify - weā€™re a commerce platform helping merchants sell online, in store, and on mobile. My team designs and builds out our marketing materials on shopify.com
  • 4. as well as features inside of our core product, especially developer-facing features for our APIā€™s
  • 5. and although i have a lot of diļ¬€erent disciplines on my team, today ā€˜ll talk about the front end at shopify - ļ¬tting audience!
  • 6. I just gave a super simple deļ¬nition of front end, but i want to dive into it a bit more because i glossed over a ton of detail there - front end is super complex these days Today ā€¢ Complexity of the ā€œfront endā€ ā€¢ Discipline Fluency ā€¢ Taking advantage of UX Fluency
  • 7. ā€¢ First, a little bit more about the FED team at Shopify ā€¢ Shopify began over a decade ago but the front end team has been around for less than half that time. When the team got formed, we were starting fro scratch ā€¢ We had to start answering some of bigger questions facing a brand new team ā€¢ Like what stack weā€™d choose, and how we worked with other disciplines, and what our mission and purpose was
  • 8. So letā€™s get started with answering one the ļ¬rst big questions we had to think about So what is a front end developer? Itā€™s a bit of a funny question to be asking in front of you, because youā€™re at a conference called UP FRONT, so I expect each of you has an answer to this because youā€™re living it day in and day out Defining FED Hey UpFront, what do you do?
  • 9. WTFED? ā€¢ HTML ā€¢ CSS ā€¢ JavaScript Back when I started, the deļ¬nition was pretty straight forward
  • 10. But now, this simple list of 3 turned into a much longer list as languages and capabilities matured. We have the rise in web applications, no longer just simple sites and at the same time, greater focus on earlier prototyping, more tools to build interactivity, and the rise of compilation and bundling tools. WTFED? ā€¢ HTML ā€¢ CSS ā€¢ JavaScript ā€¢ Node/WebPack/Sass/Gulp/PostCSS/jQuery/D3.js/SVG/ CSS Grid/Vue JS/Flexbox/npm/React/Animations/AMP/ PWA/Babel/JSX/OOSCS/BEM/Performance/TypeScript/ Ember/Browserify/Redux/functional/React Native
  • 11. Itā€™s a lot to take in and it can feel very chaotic, especially for teams trying to grow, or hire, or youā€™re thinking about your own career path. Just last week i heard someone describe a role as being ā€œfull stack front endā€ and it really left me scratching my head. We donā€™t have the language even to describe this role, so how can teams built, job descriptions well written, career paths deļ¬ned? So we have to ļ¬gure it out! chaos
  • 12. FED Design ā€œBack Endā€ So, taking a step back, in that ļ¬rst, simpler model, you might have this range of skills. And FED happily occupies the middle, right, itā€™s ā€œthe frontā€ relative to the back, all the stuff that happens on a users browser, in the client.
  • 13. HTML CSS JS Design ā€œBack Endā€ So letā€™s keep it simple and keep calling it the HTML, CSS, JS part of your app
  • 15. FEDDesign ā€œBack Endā€ With these 3 pillars, the parts in between are the ones that cause the chaos.
  • 16. FEDDesign ā€œBack Endā€ # If we look to the right of this line, we are being much more rigorous with technical decisions - we know what jQuery soup and spaghetti code look like and we know itā€™s hard to work with. So weā€™re looking at architecture and patterns, and including things like testing and even writing Javascrpt on the server - no longer the front!
  • 17. #šŸƒ FEDDesign ā€œBack Endā€ And at the same time, we might be the ones deļ¬ning the animation states of a design based on what we know is possible and performant in a mobile browser. Or building beautiful SVGā€™s, tweaking their output and using complex Javascript to create amazing interactions. Front enders might ļ¬nd themselves doing some design!
  • 18. #šŸƒ FEDDesign ā€œBack Endā€ And so when we look at this whole range, we get into that chaotic state because we wonder, do we need to know it all? And especially if we spend a lot of time worrying about this right side - about frameworks and tools - How do we decide between different options, what to focus on, and what features we need to care about?
  • 19. Talking each otherā€™s languages Discipline Fluency And so this is where I want to talk about what iā€™m calling ā€œdiscipline ļ¬‚uencyā€
  • 20. Fluency means being able to speak another language - and thatā€™s vital when working with cross-disciplinary teams. When you know enough about that discipline to really empathize, to understand how they approach problems, and their perspective, you build your own context, and it helps you better communicate your own perspective, because you can ļ¬nd those commonalities and better describe the distinctions. Itā€™s that common language and even being able to step into that other role, dip your toes in - thatā€™s why I like calling this ā€œļ¬‚uencyā€.
  • 21. If youā€™ve worked on cross disciplinary teams, youā€™ve probably experienced a lack of ļ¬‚uency at some point, especially because front end does occupy that middle space so you might see it in two directions.
  • 22. Design ā€œBack Endā€ FED So weā€™ve experienced it ourselves, but ļ¬‚ipping that around,
  • 23. Design ā€œBack Endā€ FED We may be guilty of this ourselves, and can do work to build our own ļ¬‚uency of areas outside of FED so that we can make better decisions just like we hope others will.
  • 24. FEDDesign ā€œBack Endā€ So letā€™s start on this engineering end - I wager a lot of the chaos we talked about earlier actually comes from the fact that we are building more complex applications today than we were 5 years ago, but we donā€™t yet have the technical conventions that might exist already in more traditional, longer standing software development - Iā€™m talking principals of computer science and engineering that, as front end developers, many of us might be less familiar with if weā€™ve spend most of our time working on the front end.
  • 25. FEDDesign ā€œBack Endā€ MVC vs Component Static Typing Functional vs OOP Developer productivity Maintenance Where 5 years ago, not many front enders were thinking about these types of topics, but these are all long-standing components and discussions in other software development ļ¬elds that have already been long settled or turned into conventions. So, if we choose to dive in, becoming ļ¬‚uent in those programming concepts outside of front end might help us make these types of decisions in the front end as well.
  • 26. This way, perhaps we wonā€™t be as drawn in to the ā€œļ¬‚avor of the week toolā€ debates
  • 27. JavaScript fatigueOr even worse, developing Javascript fatigue - but that dread you might feel when thereā€™s yet another new tool you feel you need to catch up on. New tools are just diļ¬€erent solutions to those really hard problems weā€™re more recently seeing on the front end, and if we look into other areas of programming, we might ļ¬nd a new perspective on our own.
  • 28. Great tools and great code arenā€™t the end goal FEDDesign ā€œBack Endā€ The same thing can happen with this side of ļ¬‚uency - closer to the design side
  • 29. Good tooling itself isnā€™t the goal FED User Experience Design ā€œBack Endā€ And more speciļ¬cally, whatā€™s in between this spectrum of design to Front End - the user experience of what youā€™re building, and when we spend a little more time here, it can actually bring a lot of clarity back to this middle.
  • 30. & the impact FED has on.. users! UX Fluency And so this is where I want to spend a bit more time - and talk about how we can develop and then leverage a UX ļ¬‚uency
  • 31. User experience is a person's entire experience using a particular product, system or service. It includes the practical, experiential, aļ¬€ective, meaningful and valuable aspects of humanā€“computer interaction and product ownership. Additionally, it includes a personā€™s perceptions of system aspects such as utility, ease of use and efficiency. Itā€™s not just the pixels on the mockup that are handed down to someone to code - itā€™s the full experience your user has, dependent on the user research youā€™ve done, the IA of the site, the design, content, through to how well it was executed, how speedy it feels in someoneā€™s hand on their device.
  • 32. HTML CSS JS šŸ˜ šŸ’– Fed is really the FRONT Line of that user experience then - because all of that eļ¬€ort culminates in the code being served in the browser. All the planning, design, frameworks, and tools we use are reļ¬‚ected in the the HTML, CSS, and JS served on the device, experienced while in line at the bank, or relaxing on the couch, or rushing from one meeting to another. And users just want to complete their task - buy a product, read your article, register for your event.
  • 33. šŸ›  And users wonā€™t care if youā€™re using isomorphic javascript, that you still havenā€™t upgraded to React, or that your webpack conļ¬guration is a work of art. They care that your interface works and they can get where they need to go. They may notice when things go well, but theyā€™ll DEFINITELY notice when they donā€™t.
  • 34. šŸ›  Thereā€™s something incredibly liberating about that - because while we donā€™t have to optimize for tools, yay!
  • 35. šŸ›  šŸ˜€ šŸ˜€ šŸ˜€šŸ˜€ But itā€™s a reminder that we DO have to optimize for our users, and all the things theyā€™re going to want to do - and thatā€™s a huge responsibility.
  • 36. Front end is integral to User Experience ā€Ø FED is integral to UX - itā€™s our JOB to build for users, this is why weā€™re here. Not to create the best framework, not to learn the ins and outs of one tool or another, but to create value for users. Our tools help us, we need them, and to those building them, thank you. But for most of us, who consume and who hopefully do contribute back, weā€™re here to USE those tools, think about our users, and do something thatā€™ll be useful to them.
  • 37. chaos The good news, is that when we remember that, we can actually help ourselves get out of this chaos too because by scoping our work to satisfy our users, explicitly, we now have the rules w need to decide how to spend our time, where to focus, and how to make decisions when it comes to technology. Our users tell us if weā€™re building the right thing.
  • 38. ā€¢ So how do we actually go about doing this? Growing our UX Perspective and putting it into practice?
  • 39. And at Shopify - weā€™ve used this deļ¬nition to actually structure our team. So rather than being a specialty under engineering or on our own entirely, we group front end purposely as a part of our user experience team - right beside design, research, and content.
  • 40. Part of the UX Process
  • 41. Design Front End Dev Iā€™ve worked in this model before - waterfall - design hands oļ¬€ to development which builds without always knowing why. In this process, the ļ¬rst question is ā€œok how on earth do we build thi thing weā€™ve been handedā€
  • 42. Design Front End Dev Being part of the UX process means the process looks morel like this - with signiļ¬cant overlap of build while design is iterating so we can inļ¬‚uence each other.
  • 43. Design Front End Dev At these tail ends, encourages design to help out in the ļ¬nal QA and maintaining quality of build, while at the front, having more high level conversations like - Should we build this? Why? Only when we know that can we eļ¬€ectively answer the how This allows the full team to gain the context from the rest of UX on the ā€œwhyā€ of our project, and we use this to make better technical decisions. We learn whatā€™s most important, whatā€™s ok to compromise on, and whatā€™s an experiment we expect weā€™ll iterate on heavily. Each type of work leads to a different technical outcome.
  • 44. This is a picture of a kickoff that happened just las week - this is several different projects teams, all under 1 product domain exploring user journeys together. This is a mix of UXers from design, content, research, and front end, mixed with some of our support team, data engineers, and back end developers - all talking about user challenges. This is what that diagram looks like in practice.
  • 45.
  • 46. ā€¢ common, shared breakpoints as variables ā€¢ common, shared helpers (to show/hide content at breakpoints) ā€¢ shared mixins to apply media queries ā€¢ JS for responsive images, resize events, etc ā€¢ mobile testing lab As we see repeat scenarios, itā€™s a strong signal that this might be something important to standardize, so we can start optimizing our toolchain for these known, proven use cases. Such as:
  • 47. Performance is another area where that close collaboration with design can help us make better decisions Performance can be a big numbers game, like all these quotes show, but those numbers donā€™t always tell the whole story.
  • 48. Hello world! The fastest page in the world will be one without images styles or interactivity!
  • 49. Going back to numbers, these shots hint at something interesting - on top is our speedindex score over the past year for one of our marketing pages - Itā€™s heading in the right direction, lower is better - But below, we actually see some resources have increased in size at the same time - The page is still rendering more quickly because weā€™ve since made a lot of optimizations, even though weā€™re doing more on the page. - Both numbers would tell a different story if we didnā€™t see them together
  • 50. Absolutely have a performance budget, but you have to arrive at that number as a team, not as a rule you have to force others to adopt. Instead of a policing tool, we use it for performance monitoring and a tool for making informed trade oļ¬€s in our UX process. For marketing pages, every byte counts, so we always strive to have strong rationales, and with that context, the implementation team can better decide on what options we have to explore, what the performance implications may be, and how these interfaces are experienced in diļ¬€erent scenarios worldwide. This helps everyone make more informed decisions.
  • 51. Accessibility Accessibility is another area thatā€™s very dependent on a healthy dialog between design and front end. This is something front end developers in particular need to be mindful of - we have a hu impact but itā€™s still not something thatā€™s reached a lot of understanding in our industry, or even tooling to help support it, unless weā€™re deliberate about it.
  • 52. Accessibility ā€¢ prototyping So with complex UI, weā€™ve invested the time prototyping options while still in design to vet accessibility and feasibility and work together with design on any adjustments. We understand the purpose of the design so we can have a more meaningful back and forth during that process
  • 53. Accessibility ā€¢ prototyping These are just different ļ¬delities of prototypes, with feedback going back to design
  • 54. Accessibility ā€¢ prototyping And code improving with each round.
  • 55. Accessibility ā€¢ Common abstractions This is another instance where we saw repeat use cases which we then decided to abstract into our shared framework. We decided accessibility would be a higher priority and made sure we focused some of our tooling time there because we knew itā€™d have real impact on users. So the tool is led from UX needs, built to support those needs
  • 56. ā€¢ user testing and research Article: Running Accessibility Testing How-To AccessibilityAccessibility This next one is great example of diving in to ļ¬‚uency in another discipline - Hereā€™s a screenshot from a live user testing session with an experienced screen reader user, organized by a front end developer. It was a great experience for the entire team and it was driven by the deep curiosity for how real users are interacting with the frameworks weā€™ve built
  • 60. FEDDesign Engineering Weā€™ve talked about some UX implications of front end and how all of this context we gathered here
  • 61. FED # Design Engineering And how itā€™s helped us when we spend time over here - we know our code has to be performant, ļ¬‚exible to account for unique interfaces, and accessible - and these are no longer abstract ideas, weā€™ve seen them in action and have helped design the baseline with our entire UX team. With that baseline set of features weā€™re opinionated about, that we decided are important, we can think of how to make those features scale, how we maintain them, and how we make them approachable to everyone on our team
  • 62. FED # Design Engineering And when it comes to tooling, we can leverage this very same chaotic spectrum, because individual FEDs have expertise at points across this entire line, and as a team, if we bake each of those points into our shared frameworks, then no one person does need to know it all! We roll that knowledge up and itā€™s now available to the entire team.
  • 63. Weā€™ve been building iterative styleguides for a few years now, and each of these facets has helped us do it. We began with sharing basic styles across projects, focusing on responsive and accessibility behaviours,
  • 64. And soon added in dynamic markup helpers and even an API we built in Rails to spit out the regular HTML and associated CSS classes for complex components. We went to the far right in that case - front enders were spending a lot of time in a Rails back end, but it was in the service of building a great UX by the same team whoā€™s helped deļ¬ne what great UX even is.
  • 65. Sometimes we learned lessons the hard way - we had a period where we wanted to modernize our stack with Browserify, but actually quickly saw it only made maintenance and onboarding harder, without a positive impact on our users. So we ripped it out and ļ¬t was the right call!
  • 67. Our shared design system polaris.shopify.com Polaris
  • 68. Building a Culture of Fluency
  • 69. chaosWe still havenā€™t solved this for front end developers
  • 70. But we at least have a rubric, maybe not for predicting the future, but at least how to make decisions and what we might want to focus on. Weā€™ve developed an opinion on whatā€™s most important to our team, and thatā€™s our users. For us, great code and passing tests will never be enough. These principals have helped guide many of our decisions as a team, and weather the storm happening in the industry. Your team may have different priorities or a different heuristic for decision making, thatā€™s great - and if not, I urge each of you to pause and think of what yours is, or could be - because this is what has helped us move past that chaos.
  • 71. Team Growth These principals also help us here - an area iā€™ve spent a lot of time thinking about. *We better know how to structure someoneā€™s growth on the team, and even how we hire and onboard. We know weā€™ll have to do more than a whiteboard sorting exercise when meeting someon new.
  • 72. Continuing to Scale So whatā€™s next? Still a lot of challenges for FED on the team. Things on my mind: How do we continue looking in two directions at the same time, building our ļ¬‚uency in engineering and UX? Responsive design was a huge shift for UI, whatā€™s the next major change and how adaptive will our team be? Will our model still work
  • 73. You donā€™t need to know it all! ā€¢ So coming to an end Iā€™ve talked about how as front enders, we need to build our discipline ļ¬‚uency over a wide range of topics can help us zone in on what we think is important. ā€¢ I talked about how focusing on UX can actually help us make progress in our FED-speciļ¬c skills, tooling and frameworks ā€¢ The reason why that is, I think, is because that focus on UX takes us outside of our FED bubble and forces us to look at the external impact weā€™re having. Real users interact with what we build and thatā€™s why weā€™re here. So if nothing else, when youā€™re in the middle of fretting about which direction to go in, which new trend to dive into, consider its impact. Will it make you a better developer? Will it help you solve a real problem? Will it be a fun exercise youā€™ll enjoy? Each is important, and each will lead to a different outcome. ā€¢ so donā€™t set yourself up to having to know it all, but instead strive to use what you do know, to make an impac
  • 75. Thanks! @MON SI KA ux. shopify.com