Skip to content
By using Twitter’s services you agree to our Cookies Use. We and our partners operate globally and use cookies, including for analytics, personalisation, and ads.
  • Home Home Home, current page.
  • About

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @
  • Language: English
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
mwichary's profile
Marcin Wichary
Marcin Wichary
Marcin Wichary
@mwichary

Tweets

Marcin Wichary

@mwichary

Writing a book about the history of keyboards: http://aresluna.org/shift-happens  · Design manager @figmadesign · Typographer · Occasional speaker · He/him

San Francisco, Calif.
Joined October 2009

Tweets

  • © 2021 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • Imprint
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @

Promote this Tweet

Block

  • Tweet with a location

    You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.

    Preview

    Why you're seeing this ad

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not working for you?

    Hover over the profile pic and click the Following button to unfollow any account.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.

    Learn the latest

    Get instant insight into what people are talking about now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    1. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      Should we fuse or keep separate the same colour with different transparencies? (We went with keeping them separate.)pic.twitter.com/vdNPMInk3K

      1 reply 0 retweets 10 likes
      Show this thread
    2. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      What do we do with gradients? (We decided to grab the individual colours from gradients and treat them as if they were independent.)pic.twitter.com/cXuGlp9SKd

      3 replies 0 retweets 10 likes
      Show this thread
    3. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      How do we sort styles and colours? I knew sorting colours in one axis is its own area of science (there is a different story here how I learned it the hard way) – but fortunately, we already had that solved in Document Colors.

      1 reply 0 retweets 1 like
      Show this thread
    4. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      We also decided to hide colours from hidden layers, masks (but not masked objects), layout grids, and effects like shadows. They all seemed to exist in unrelated – or inconsequential – universes and would just pollute this space.pic.twitter.com/LJqNg4rnI5

      1 reply 0 retweets 5 likes
      Show this thread
    5. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      Of course, we also had to decide on where to put SC itself, how often it should trigger (too often = overwhelming, not often enough = undiscoverable), and what was our overflow strategy.pic.twitter.com/KgCIXJyrfF

      2 replies 0 retweets 1 like
      Show this thread
    6. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      But those were the easier questions. Here’s one that was hard. Let’s say you change this colour to an already existing colour, #FFC700. What should happen?pic.twitter.com/b0kLFmfqbM

      1 reply 0 retweets 3 likes
      Show this thread
    7. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      How about now?pic.twitter.com/ijKIRazD0Y

      1 reply 1 retweet 2 likes
      Show this thread
    8. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      In other words: Should a duplicate colour be immediately fused with an existing colour, or should it stay separate (but identical)? You can make arguments for both: first when you’re cleaning up, but second when you want for two colours to trade positions.

      1 reply 1 retweet 8 likes
      Show this thread
    9. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      This wasn’t just a hard design decision. The engineering consequences of this were even more daunting; just like Auto Layout, this pushed on the very fabric of Figma, which by its nature wants to reflect things immediately, and to everyone via multiplayer.

      1 reply 1 retweet 5 likes
      Show this thread
    10. Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      We really wanted to make it possible to trade two colours directly, because otherwise you would have to go through this unnatural and error-prone sequence: c = a a = b b = c

      1 reply 1 retweet 4 likes
      Show this thread
      Marcin Wichary‏ @mwichary 14 Apr 2020
      • Report Tweet
      • Report NetzDG Violation

      The solution was to “freeze” the list when the colour picker was open. Only the moment you closed it, the list would get cleaned up again. (We hoped that people would figure it out.)pic.twitter.com/xndqZWMni2

      11:35 AM - 14 Apr 2020
      • 1 Retweet
      • 17 Likes
      • Shuli Liu brandon 🌱 Zeh Fernandes Sasha Agapov Barton Smith Hero Ninja Rich Bargus Phil Freo
      2 replies 1 retweet 17 likes
        1. New conversation
        2. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          I’m vastly oversimplifying what “freezing” was (and honestly, not sure I fully understand it myself). But @SickingJ got it to work, and this enabled trading/swapping colours.pic.twitter.com/mKXdhiYXzI

          1 reply 0 retweets 9 likes
          Show this thread
        3. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          It required quite a bit of thinking and experimenting, though – see a bit of a doc that I wrote out just for the two of us to process this.pic.twitter.com/42r7SfjEa8

          1 reply 0 retweets 4 likes
          Show this thread
        4. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          We also had to solve a problem of stopping aggressive sorting. Left to its own devices, it was unnerving when your color moved up and down as you were changing it. (This is an earlier exploration where this exact thing happened.)pic.twitter.com/IJz283unJp

          1 reply 0 retweets 3 likes
          Show this thread
        5. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          We also had to solve a problem of you dragging a colour through existing colours – by default, they would automatically get fused together *as you were dragging*, which was logical… but confusing and destructive!pic.twitter.com/0ON4SOGWwW

          1 reply 1 retweet 12 likes
          Show this thread
        6. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          At the same time, we had to think about multiplayer. What if someone else changed the colour during any of the above – even in the middle of your drag? Or deleted the objects? Or edited the text you were changing?

          1 reply 1 retweet 5 likes
          Show this thread
        7. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          We continued cobbling together the prototype with code we were increasingly sure wouldn’t ever make it to production. If you‘re curious, here are all our commits. (I actually became a better engineer thanks to this process – thanks, @SickingJ!)pic.twitter.com/rezIbdjGpB

          1 reply 0 retweets 3 likes
          Show this thread
        8. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          Then we brought the prototype back to crit, and we learned a lot once again.

          1 reply 0 retweets 1 like
          Show this thread
        9. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          Mostly, our decision to decouple gradient colours was wrong – that’s just not how others thought about gradients.pic.twitter.com/JZ2hRp9XIq

          1 reply 0 retweets 5 likes
          Show this thread
        10. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          Second of all, it was annoying that you could select and go deeper into a stack of colours, but not have a way to easily get back.pic.twitter.com/u8VJHehono

          2 replies 0 retweets 2 likes
          Show this thread
        11. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          There were also smaller things. My overflow icons were confusing (one looked like a checkbox), and our triggering was off. (That was a tricky one, too. Imagine you have just one object with the same Fill and Stroke – should SC show up, or would it be too much?)pic.twitter.com/mRMRF4O87l

          1 reply 0 retweets 2 likes
          Show this thread
        12. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          We decided to build Selection Colors for real a few months later, motivated partly by… Auto Layout. We were planning to change the frames to have fills, and that ruined an existing feature where you could easily colorize an icon just by selecting a parent frame.

          2 replies 0 retweets 3 likes
          Show this thread
        13. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          I had nothing to do with code any more, save for an occasional UI fix or an icon swap. The real work was done by engineers on our team – @jessieteaa, @thejoannachen, @kenrickrilee.

          1 reply 0 retweets 4 likes
          Show this thread
        14. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          Immediately, they found some more real-life problems, one of them being performance. (Long story short: If you make a really large selection, we don’t show SC by default, because the list can get overwhelming, and the interactions quite slow.)pic.twitter.com/gV3GR4vz4K

          1 reply 0 retweets 2 likes
          Show this thread
        15. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          BTW here is a random fun screenshot from one of the few bug bashes. (I have tons of temporary Figma files like this. The style names here are particularly hilarious.)pic.twitter.com/zsYp8uNGfh

          1 reply 0 retweets 2 likes
          Show this thread
        16. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          But the biggest challenge was promoting to styles. In our maker-week version, we built this “one-click style creation” – a fun experiment.pic.twitter.com/atsTrqjvnE

          1 reply 0 retweets 4 likes
          Show this thread
        17. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          In real life, we already had an existing UI for that… but we also had a problem. In Figma, an object can have multiple fills. And a style can have multiple fills. But an object cannot have multiple styles.

          1 reply 0 retweets 1 like
          Show this thread
        18. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          If you choose a colour to promote to a style, that colour could also be shared with other colours in some layers. What should we do when that happens?

          1 reply 0 retweets 2 likes
          Show this thread
        19. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          This was the most “traditional” UI work I did on the project. I collaborated with @thejoannachen and @nikolasklein and @rsms to figure that one out. Here are some explorations.pic.twitter.com/7a0zol4e0c

          1 reply 0 retweets 5 likes
          Show this thread
        20. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          (The winning main flow came from @rsms and is beautiful in its simplicity.)pic.twitter.com/Gs5r00dKVk

          1 reply 0 retweets 4 likes
          Show this thread
        21. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          We also made a hard decision not to ship this part – and a few other things – in time for Config where SC v1 premiered, giving us a bit of time to get them right.

          1 reply 0 retweets 4 likes
          Show this thread
        22. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          But as of last week, Selection Colors v2 is now true to its original vision, meticulously crafted to perfection, flawless in every regard!

          1 reply 0 retweets 4 likes
          Show this thread
        23. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          Just kidding. Of course it’s not. There are a few things I don’t like about it, and I won’t even share them all because it’s too painful. 😬

          1 reply 0 retweets 2 likes
          Show this thread
        24. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          1. I never figured out how to solve the “go back to master selection” problem. On top of that, the icon is not great – I don’t like anything reminding people of firearms – but we couldn’t think of anything else.pic.twitter.com/foyFSJem1p

          4 replies 0 retweets 5 likes
          Show this thread
        25. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          2. I introduced a deliberate inconsistency. In normal use of styles, the pop-up shows on top of selection (nicer for your fingers). But here, we decided to move it aside to be consistent between colours and styles, and to not cover the list you care about.pic.twitter.com/QDUBOVgD4K

          1 reply 0 retweets 4 likes
          Show this thread
        26. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          3. We still have this weird problem illustrated in the screenshots. It turns out, our colour precision is higher than a hex string can afford – these two colours are slightly different, so in a way SC isn’t doing anything wrong… but this can be confusing.pic.twitter.com/bKMbcg0qDC

          1 reply 0 retweets 6 likes
          Show this thread
        27. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          But that’s part of the deal, I guess. No, you don’t have to get everything right, but you have to know exactly what you chose not to get right. Here’s what I *do* like about Selection Colors, though:

          1 reply 0 retweets 5 likes
          Show this thread
        28. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          1. It’s a flexible little beast. You can use it as color find and replace, you can use it to manage styles, you can use it to clean up your design – or to revel in its messiness (like I often do). It helps dealing with text, where selection can be particularly tricky.

          2 replies 0 retweets 2 likes
          Show this thread
        29. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          It hopefully sits somewhere perfectly right on the curve of complexity/flexibility. Too little flexibility, and it wouldn’t be powerful. Too much complexity, and it’d be overwhelming.

          1 reply 0 retweets 2 likes
          Show this thread
        30. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          (I’ve been there before with OpenType, which had some similar challenges. I’m still pretty happy with how that turned out: https://www.figma.com/blog/opentype-font-features/ …)

          1 reply 0 retweets 4 likes
          Show this thread
        31. Marcin Wichary‏ @mwichary 14 Apr 2020
          • Report Tweet
          • Report NetzDG Violation

          2. It provides a nice onramp to travel between the worlds of colours and styles. This felt very important to me. Design can be messy and organized, often within the same day. Design systems can be accelerants, but they can also suffocate.

          1 reply 0 retweets 5 likes
          Show this thread
        32. Show replies

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2021 Twitter
        • About
        • Help Center
        • Terms
        • Privacy policy
        • Imprint
        • Cookies
        • Ads info