<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Mark Huser on Medium]]></title>
        <description><![CDATA[Stories by Mark Huser on Medium]]></description>
        <link>https://medium.com/@markhuser?source=rss-4e6dc98ca694------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*xxQL_BGWUqzjTKhiZgj1DA.jpeg</url>
            <title>Stories by Mark Huser on Medium</title>
            <link>https://medium.com/@markhuser?source=rss-4e6dc98ca694------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 06:48:12 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@markhuser/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Maintaining Design Health: the support surrounding Design Systems]]></title>
            <link>https://medium.com/trade-me/maintaining-design-health-the-support-surrounding-design-systems-f3b9acadc067?source=rss-4e6dc98ca694------2</link>
            <guid isPermaLink="false">https://medium.com/p/f3b9acadc067</guid>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[process]]></category>
            <category><![CDATA[design-patterns]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Mark Huser]]></dc:creator>
            <pubDate>Wed, 06 Mar 2019 07:04:36 GMT</pubDate>
            <atom:updated>2019-03-06T22:25:33.844Z</atom:updated>
            <content:encoded><![CDATA[<p>“Keep New Zealand Beautiful” was a campaign which kicked off in the 90s alongside the tagline to “Be a tidy Kiwi”. A pertinent reminder that what we have in nature is stunning and worth maintaining, and we should do what we can to keep it that way.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/278/1*bTiIB7nTSeMGgtF1r2YnWA.png" /><figcaption>Keep New Zealand Beautiful logo — <a href="http://www.knzb.org.nz/">www.knzb.org.nz</a></figcaption></figure><p>We want to maintain what we have at Trade Me as well: we’re in the phase where we have a new platform to build on, a new design system it’s based on, and the luxury of an essential blank slate as we bring features to the <a href="http://trademe.nz/">new-look Trade Me</a>. This means that things can only go downhill when it comes to cohesion of design, maintainability of code, and knowledge management. 😁</p><p>20 years of design and code evolution has slowed our ability to move quickly on the current <a href="http://trademe.co.nz/">trademe.co.nz</a>: button styles and hierarchy vary across pages and flows so it’s difficult to know which pattern to follow on new features, and we’re hesitant to improve or modify existing code for fear of upsetting the delicate fabric of the site.</p><p>Our squads are considering code and design health <em>now</em>, so that in 20 years’ time we have an evolved, stable, easily maintainable and quick-to-build-on application. So how do we ensure that we keep the new-look Trade Me’s current levels of quality over time?</p><h3><strong>Design Systems</strong></h3><p>Tangram (Trade Me’s Design System) is the key to ensuring maintainable and beautiful design and code: right now to keep cohesion across the many areas of Trade Me, and in the future by ensuring improvements to tech and design patterns are easily implemented site-wide.</p><p>Tangram is very flexible as far as design systems go; giving much more power and trust to the designers and developers than other design systems.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SV9GnFSmR5qCN9D6IyPe7A.png" /><figcaption>Pagination in Tangram: Trade Me’s design system</figcaption></figure><p>In Tangram, components are tightly coupled to the developer experience: a component is a component in both an abstract concept as well as implementation.</p><p>In our design arsenal we have a fantastic Sketch App toolkit, which gives us the Sketch equivalents of the components including their built in spacing, helpers for spacing (Tangram is based on an 8px unit system), and many other common elements as easy-to-drop-in symbols.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/980/1*FMtpd8luNvc1pjHZRizg3w.png" /><figcaption>Pagination component with baked-in spacing, and spacing helpers from Tangram’s Sketch Toolkit</figcaption></figure><p>Where a component is used, and how it’s used, is not in the language of our current design system at this time: we need other methods of informing leading practice behaviour of this component, or what considerations there are when coupling pagination with other components.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pBwCid8q8DgB6nDmzvwt-g.png" /><figcaption>Designing for space surrounding pagination and an ad unit</figcaption></figure><p>When designing around ad units, we drew on existing patterns: space around it and other areas of the site need to be taken into account, as well as impact on our member when their primary focus is to paginate through results.</p><p>These are things which our design system <em>intentionally</em> does not dictate.</p><p>While the Design System is the hub of the wheel, it needs some well structured spokes to support it and keep us rolling with design health as well as feed into it to evolve the system.</p><p>Over the past year, we’ve been relying on Design Principles, processes for iterating on Design Patterns, documented UX Research, and experimenting with tighter cross-discipline squad collaboration and a design history rationale to help support building trademe.nz with Tangram.</p><h3><strong>Design Principles</strong></h3><p>Let’s start at the top. How do design principles help support a product beyond the system?</p><p>There are two key areas for design principles to relate to product design health:</p><ol><li>We assume that that the design system is built on the same principles, with strong ties to the brand it’s conveying.</li><li>They’re flexible: not prescriptive in terms of solutions, but guiding in their voice and go beyond a ‘best practice design’ (usable, helpful, etc.). There’s a <a href="https://medium.com/making-bulb/the-principles-behind-bulbs-design-8da5b07b5a06">great article on this here</a> from the head of design at Bulb.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4t5FojxiXF318wyuuCdCVA.png" /><figcaption>Trade Me’s Design Principles</figcaption></figure><p>Adhering to our design principles means that our designs will not get stale. For the foreseeable future anything that gets added to Trade Me, or Tangram, will be aligned by ensuring that products across the new-look Trade Me and its design system follow these principles.</p><p>New additions will be considered as a whole (being Human centred), clear and considered (Effortless), further our business by being Successful and embody what it is to be Trade Me (On brand).</p><p>Design principles are a great sanity check for any design: does my current solution fit the high level points we (as designers at an organisation) have agreed to adhere to?</p><p>Great! The implementation of a given feature or enhancement will have a lasting impact even if it doesn’t get touched again for years, because any future enhancements also adhere to the principles, it will fit well in the wider context of a journey through Trade Me. No matter the specific implementation.</p><h3><strong>Design Patterns</strong></h3><p>Rather recently (we’re still at step 6 below), we’ve been looking in depth at loading and progress indication states.</p><p>Our central design team was asked about the best practice for showing a loading state for file uploads: Trade Me Jobs (one of <a href="https://medium.com/default-to-open/design-cohesion-for-varying-team-sensibilities-d45a1aae9f4d">our business units</a>) needed to ensure users completed the upload of their CV before continuing.</p><p><em>Without</em> showing a loading state, it would be possible to submit the form without an attachment, and frustrating to not know whether anything is happening.</p><p>This is a rough outline of the process we’re following:</p><ol><li>Background research: based on our tech stack, <a href="https://blog.angularindepth.com/https-medium-com-thomasburleson-animated-ghosts-bfc045a51fba">guidance on ‘ghost’ states</a> suggests what’s being loaded (e.g. Facebook, Slack).</li><li>Where else do we have this need, or an existing pattern?<br>- Uploading pattern: using a shaded placeholder for the photo that’s being uploaded<br>- Another business unit, Property, needs to show progress through a slider of cards which auto-advance<br>- Existing usage of ghost states throughout the new-look Trade Me</li><li>Share the problem with all our web designers, where we find more use cases and interested designers</li><li>Form a group (designers and UI-developers who have been involved so far)</li><li>Share current state and future problems in the group</li><li>Discuss similarities, potential patterns</li><li>Apply and test</li><li><em>Write guidance</em></li><li><em>Include in our Design System site</em></li><li>Iterate</li></ol><p>To support design health going forward, what’s really important are steps 8 and 9.</p><p>Design patterns such as loading states can <em>partially</em> be solved by inclusion as design system components (in the form of ghost colour tokens or animations), but the usage of those colours and animations are tightly coupled to the resulting loaded state of the application and are best defined as reusable, recognisable patterns to be implemented application-side.</p><p>The best place to communicate these patterns is where consumers from all disciplines (be it design, product or engineering) will look for the initial building blocks: in the design system itself alongside the design system components and tokens.</p><h3><strong>UX Research documentation</strong></h3><p>We’re very lucky to have a UX Research team at Trade Me who pull together pertinent research across our various business areas: for immediate need testing and validation as well as long-term explorative research.</p><p>But how can we effectively surface this information at the right time?</p><ol><li>Links to our internal wiki written by the UX Research team <em>in our Design System</em>: As a designer or any other squad member, looking up a component will give me the relevant background to why this component is the way it is, and how its usage has been tracked throughout its product usage.</li><li>Abstract history. We’re using <a href="https://www.goabstract.com/">Abstract</a> to manage our Sketch files across all of design for the new-look Trade Me, which gives us the ability to add pertinent historical data alongside designs. When branching off an existing design, relevant UX research is linked right there in the project so that we, as designers, are able to see how the <em>combination</em> of components in a user flow have been tested, researched and validated so far. This way, we’re not re-testing past mistakes unless we make the informed decision to do so.</li></ol><h3><strong>DHR (Design History Rationale)</strong></h3><p>Which leads into the entire history of a particular piece of work. Where would one go to discover why and how previous decisions have been made?</p><p>In an ideal world, I’m a designer who cares about <em>why</em> and not <em>what</em>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/846/1*MRaXeREOSqgX_oAszr6WoA.png" /><figcaption>WHAT was merged into a project. But why?</figcaption></figure><p>In the above example, I’ve merged a few cases into the Master branch of a design project using Abstract. It clearly states <em>what</em> I’ve merged in but not why it was done in the first place, and how this has improved the project.</p><p>So I propose more explanation as to what our design commits hope to achieve: a purpose with user implications as well as the concrete changes made to a file or project:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yh_4jNSHPD6lpBgnrictUg.png" /><figcaption>WHY this commit was added: exploring options for greater user education</figcaption></figure><p>In the same way in which design principles guide us to make good decisions about the quality of our designs, so do the past decisions and rationale behind changes and improvements to projects.</p><p>Our projects are based on user flows at Trade Me: many pages brought together by a user need. By using descriptive commit messages which include <em>purpose</em> means that their history is easily understood by our futures selves as well as other designers working on these flows.</p><h3><strong>Squad collab</strong></h3><p>How about saying ‘no’ to designers? It’s a controversial thing to say as a designer, but it’s healthy to be challenged on the implications we have on our squads.</p><p>As much as we discuss our work and decisions amongst design teams, so too should squad members ask why their code is harder to implement, or their test automations no longer easy to run because we’re not using standard components or an already established, easily-understood pattern.</p><p>Much like our design principles are a great sanity check, so too are our squad members: if the chosen deviation from a pattern is because of user research, an intentional change to call attention to a critical message, or perhaps even an application-implemented solution to a future design system addition, then great! These are good answers and there are many other exceptions to following a design system.</p><p>If we’re not able to answer adequately, then why are we wasting development time, reducing code maintainability, and deviating from patterns we’ve educated our users on?</p><p>This sanity check with all other disciplines we work with is invaluable to ensure we have a well-rounded, long-term product for the next 20 years.</p><h3>Keep (New Zealand’s) Trade Me Beautiful</h3><p>We have tools to bring to the forefront the areas which our design system currently doesn’t house: either by tapping into the day-to-day for our designers (like including sensible commit messages to Abstract) or by adding to the breadth and depth of Tangram (by adding UX research and more design patterns to it).</p><p>We’re in a formative period of our design system and the new-look Trade Me: it’s easy now because everything is fresh and untainted but that won’t last long. Very quickly we’ll have deviations from patterns, many non-Tangram elements creeping in, and more.</p><p>We’re planning to minimise this. The supporting structures around our design system hub (which will be fed back into) will go far to keep Trade Me beautiful: not just visually and consistently for our users, but for the benefit of our future selves and others who continue to build out our product.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*t_Y2Wr1RolHZrkuUN6oTKw.jpeg" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f3b9acadc067" width="1" height="1" alt=""><hr><p><a href="https://medium.com/trade-me/maintaining-design-health-the-support-surrounding-design-systems-f3b9acadc067">Maintaining Design Health: the support surrounding Design Systems</a> was originally published in <a href="https://medium.com/trade-me">Trade Me Blog</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Design cohesion for varying team sensibilities]]></title>
            <link>https://medium.com/trade-me/design-cohesion-for-varying-team-sensibilities-d45a1aae9f4d?source=rss-4e6dc98ca694------2</link>
            <guid isPermaLink="false">https://medium.com/p/d45a1aae9f4d</guid>
            <category><![CDATA[style-guides]]></category>
            <category><![CDATA[facilitation]]></category>
            <category><![CDATA[agile]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Mark Huser]]></dc:creator>
            <pubDate>Wed, 24 Jan 2018 20:25:54 GMT</pubDate>
            <atom:updated>2018-01-24T20:25:54.599Z</atom:updated>
            <content:encoded><![CDATA[<p><em>We’re Dave &amp; Mark: part of a team that’s been building the new-look </em><a href="https://www.trademe.co.nz/"><em>Trade Me</em></a><em>. Welcome to part 2 of an 8 part series where we break down how we’ve been doing this from a product designer’s perspective.</em></p><p>Trade Me does a lot. For millions of <a href="https://medium.com/default-to-open/understanding-our-members-f3d9dbabacf4">people</a> in billions of ways.</p><p>Let’s look at how Trade Me’s internal structure works and how we bring our design teams together to best serve our members.</p><h3><strong>Our structure</strong></h3><p>Trade Me is split into 4 main business areas to serve their distinct challenges: Marketplace (new and used goods), Property, Jobs, and Motors. Supporting those 4, there’s also a wealth of underlying and supplementary business units and functional areas. This is not a new structure: TaMedia, Unilever and the BBC all divide themselves into core business areas to target the needs of their respectively unique users.</p><h3><strong>How we work</strong></h3><p>We work in an agile environment using scrum and kanban processes. Each business area has a number of squads working towards project outcomes to improve the lives of Trade Me’s members. Our design team is integrated in these squads, working tightly with Developers, Testers, Business Analysts, etc. This is what good design in agile looks like at Trade Me:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/842/0*EbBWW_hImVX0oPiH." /><figcaption>Product areas in Trade Me: containing one or more squads with one or more Designers, Developers, Testers, Business Analysts.</figcaption></figure><p>This deserves further writing, perhaps another post, but in short: Trade Me embeds design in every squad, aligning user needs with business goals and fostering better collaboration between product, design, dev, test and business analyst roles. This is an effective structure for the day to day process of agile within these business areas, but what about cross-project or cross-squad work? How do we ensure design cohesion throughout the organisation?</p><h3><strong>Our part in the process</strong></h3><p>Dave and I are in the Central Design team. We look after those aspects of Trade Me that apply to the entire business such as the homepage and ‘My Trade Me’ (the manage-the-things-I’m-selling-and-buying area). We also oversee brand, type, colour, and style consistency from a traditional design perspective. We’re fortunate to have a phenomenal <a href="https://medium.com/default-to-open/creating-collaborative-pattern-libraries-8b556ae7efdd">living style guide in place</a> to assist us in managing and implementing this consistency, and communicating it throughout the company (you’ll hear more about the evolution of <em>Tangram</em> in Part 3).</p><p>What matters is that our designers, our developers, our testers, our everybodys are spread throughout various areas of the business focused on improving pieces of Trade Me that make their areas great. They are the experts in these areas. But how can we effectively leverage this expertise to create one cohesive experience for Trade Me members? And what other things might we need to take into account? There are no end to tools, but one stood out in particular…</p><h3><strong>Seeing the whole and its parts</strong></h3><p><a href="https://twitter.com/kimgoodwin">Kim Goodwin</a> spoke about how to adapt design to various organisational sensibilities at Webstock 2017: how to assert yourself and best influence the matrix of organisational stature (pictured below) as a UX designer. Trade Me identified as a Clan; our central design team works best with the greater Trade Me, when heavily consulting on projects, bringing as many people together as possible, acknowledging input and in the end feeding back any and all design decisions made.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/842/0*IXj1RWvXSkREe12i." /><figcaption>Matrix of Organisational Stature</figcaption></figure><p>But there’s an ‘And’. Throughout Trade Me each business area, team, squad, and even project has its own unique subculture. In the same way that our business areas identify <a href="https://medium.com/default-to-open/understanding-our-members-f3d9dbabacf4">their core users with personas</a>, this matrix is helpful in assessing the structure and sensibilities of a team or project before we begin the actual work. As central facilitators or proponents of a project, we can best approach design problems by figuring out where that project or team may fit in this matrix.</p><h3>Treat your internal project teams like your users.</h3><p>Identify their needs, and how they operate. How do they think? How can you best resonate with their goals and methods of getting good work done?</p><p>Once you’ve got those fundamentals in place, you can effectively work together to design a cohesive experience in a way that, in turn, best serves your users.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d45a1aae9f4d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/trade-me/design-cohesion-for-varying-team-sensibilities-d45a1aae9f4d">Design cohesion for varying team sensibilities</a> was originally published in <a href="https://medium.com/trade-me">Trade Me Blog</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>