I've worked with designers in the past that had in-depth knowledge about the controls available to developers to create user interfaces. When they created designs, they would be able to mark various controls being used in the layout, like a ListView, CollectionView, ViewPager etc, etc. The result was designs that were beautiful yet simple from an implementation perspective.

Should knowledge of available controls be a requirement for UX designers?

  • If the designer doesn't know the ins-and-outs of each SDK's built-in controls, part of your communication with them is going to have to be teaching them or showing them where they can find the specs for these controls. Someone coming from more of a graphic design or research background might not know what these things are called or how they behave on that particular OS; they might only have a more general sense of the UI pattern's requirements.
    – Nate Green
    Sep 14, 2016 at 17:02

4 Answers 4


Mobile UX designers should absolutely be required to have at least a working knowledge of UI controls - in my experience, it's hugely beneficial to keep everyone involved in the design process grounded in reality. Designers that are aware of and can speak to individual UI controls can approach the design task in a much more holistic manner, realistically presenting functionality, flows and interaction possibilities without being completely off base. This in turn could prevent scope-creep and keep deadlines intact.

Furthermore, if the designer is indeed creating a solution for multiple operating systems, a working knowledge of view controllers in iOS and corresponding fragments in Android, for example, can avoid a lack of feature balance and parity and result in an overall easier implementation for the development team.

  • Really well said. I never thought about the differences between Fragments vs ViewControllers as something designers should be aware of - the lifecycle differences between these is significant and has proved to be a design challenge in the past.
    – pnavk
    Sep 8, 2016 at 17:48

I have a slightly different take on this than the other answers.

Knowing about the specifically available UI elements is certainly useful, especially with regards to knowing about your limitations on specific platforms.

However, I think it's more important to be aware of current effective designs and interfaces on a higher level. The reasons, in my opinion anyways, are:

  • While it helps, it doesn't really matter if a designer isn't completely aware of all controls on a specific platform, because all of that stuff is trivial to find out on the fly through platform documentation and such.
  • Related to the above: If you know your end goal, you're going to learn about the controls available to you on your way to achieving that goal, be it through documentation, examples, tutorials, etc. If your end goal isn't an effective design then it doesn't matter if you knew how to build it going into it, the important part is the end effect, the concrete controls you use to get that effect will just fall into place on your journey there whether you knew about them ahead of time or not.
  • A designer who knows about every control in the world can still come up with an awful interface. A designer who can come up with a great interface, though, may not need to know what's available going in, but will be able to find out on the way there, and will be skilled enough to know how to come up with an alternative if a control isn't available to accomplish their goal (related to this: communication skills between designers and programmers is a must).
  • I dare say that virtually all currently effective designs are made up of currently available common controls, and so knowing effective design strategies sort of automatically implies becoming aware of available controls.

Actually all four of those points are kind of the same now that I re-read them. Point being: Available controls are easy to find as-needed, effective design is the real skill, and effective design usually uses common elements anyways so it sort of forces a designer to become aware of them. So I think the higher level "how to interact with humans effectively" is the more important thing to be aware of. The lower level stuff can be trivially learned, and will necessarily be learned.

I'd rather hire somebody who knew effective high level UX strategies and train them (or let them learn on their own) for the lower level stuff, than hire somebody who knew about the low level elements but had no concept of how to put it all together effectively. The latter I'd view as more of a programming "grunt", not a designer.

Now, the argument about keeping designers grounded in reality is very good, but I really think that knowledge about current effective techniques implicitly keeps the designer grounded in reality, because the high level strategies that they are knowledgeable about exist, and are therefore already grounded in reality. If a designer is coming up with wild, off-the-wall interfaces that end up not being feasible or being very difficult to implement, it's possible (not guaranteed of course, but possible) that they're not headed down the right design path anyways.

I'm not saying the fundamentals aren't important. Obviously they're critical. But it's not enough, and I think gaps are definitely forgivable if you are knowledgeable about higher level effective techniques.

Hope that made sense.

  • 3
    I completely agree. The UXD should be working with engineering throughout the discovery and design phases. Engineering brings the knowledge of specific platform advantages and constraints. UX needs to be aware of the potential, but doesn't need to know what every framework calls it's controls. Sep 8, 2016 at 5:05

Yes indeed.

At some point, some basic knowledge would have been enough, nowadays the more knowledge, the better. You can be an UX designer for many types of design, but you need to know the available possibilities for the requirements. If mobile, you'll need to be aware about the differences between the different devices and operating systems, controls, DPI, sizes, behaviors, etc. Please note that I'm NOT saying an UX designer has to be able to program an app, but she needs to be aware of the possibilities.

The bottom line is: you can design an experience if you know the reach of that experience and the elements and components that create that experience. Otherwise, you'll be creating something incomplete, incapable of reaching the max potential (because... hey, that little thingy you didn't even know it exists.... well, it could have saved months, or make the app more powerful,or logical, or whatever). Or even worse: you would be creating things that can't be done, or doing them would mean a cost that would render the project impossible.

Of course, this doesn't only apply to mobile, it applies to each and every branch of UX. For example, an UX designer could design an spaceship control to go to Mars, but she doesn't have any idea about how to design a website with a reasonable UX. And I certainly wouldn't ask the best website UX designer in the world to build the usability of my spaceship unless she spent quite some time working with the NASA!!

And if in doubt, let's take an example: take a look to iOS HGI guidelines. Would you REALLY want someone that ignores that and adds months in terms of revision or development simply because the UX designer ignores it all about the subject she has to design? REALLY? I bet you don't! And if so, I doubt you'll last long in your company. After all, you made them lose thousands of dollars "just because"

In short

It's like any discipline. You have specialists, and specialists knows their specialties. As simple as that.

  • 2
    Hyper-specialization in UX (or HCI or Human Factors, as it was called) is one of the reasons we ended up with mostly horrific software in the enterprise space. Only by diversification and cross-pollination (which happened out of competitive necessity much earlier in consumer products) have we begun to dig ourselves out of that hole. Sep 8, 2016 at 5:11
  • I never said it has to be a hyper-specialist in a vacuum: furthermore, with Lean, Agile or whatever methodologies each person takes a role. And at that point, I'd rather have an specialist for a project that someone that isn't even aware of the possibilities of the subject. A real life example: in our company , we do physical UX from time to time. Not very common though. But do we do it ourselves? Never! We hire external specialists so we can provide the best experience. While I learn a lot in the process (after all I face the client), I'm not an expert, so would never dare to do physical UX
    – Devin
    Sep 8, 2016 at 17:06
  • I see your point. Physical vs digital can be a challenging leap. In every project, I think it's critical to have technical specialists involved from the start. I also think you should avoid siloing your UX talent whenever possible. Defining at the level of iOS vs Android vs Windows vs Mac vs Android Wear vs Apple Watch vs ... that's just too far. Some designer's experience is limited along those lines, but you can help them grow. Sep 8, 2016 at 18:28

Yes! this is very important. They should be particularly familiar with the differences between android, ios and windows phone ui controls differences e.g. ios doesn't have check boxes. also understanding interaction and motion is fast becoming crucial.

  • 2
    ios doesn't have check boxes <-- one of the problems with thinking too much about the platform / framework is that you just put up with silly things like that instead of designing around them. Sep 8, 2016 at 5:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.