With Pickr, one of the front end engineering philosophies I decided early on was to only design with an extreme mobile first mentality. Mobile first design refers to a design philosophy that aims to create better UX by starting the design process from the smallest of screens, which is mobile. Extreme mobile first refers to a design philosophy where every other design other than mobile is de-prioritized.

I made this assumption since I imagine most people visiting Pickr will experience mobile, and mobile only. By the point someone visits the desktop app, they are likely already a vested user, and a slight degradation in UX is worth the trade off for engineering velocity. In the future however, an elegant responsive design component system may be fun to explore and implement.

The largest challenge IMO when it comes to mobile first design is how to fit in all the damn content while still looking great and considered.

Pomeranian vs dachshund
Opacities are helpful to overlay content on top of each other, but they don't provide the best UX. What do you think of the back button overlapping with the title above? How else would you design this?

In terms of implementation details, it is time now that the industry needs to embrace more specific responsive breakpoint names, that are better than mobile, tablet, and desktop. For Pickr, the only breakpoint which it responds, which is used sparingly, is actually if it is “less than or equal to mobile landscape”, at 767px. Although it is a quite wordy acronym (isLTEML), it is much more descriptive than isMobile or isCompact which can be vague.

Finally, one of the biggest advantages that Pickr has compared to similar apps like piku, is the fact that it’s optimized for mobile. Pickr embraces mobile users first, and expects that desktop users will be fine with a slightly narrow experience.

Of course, there are not many of these assumptions made directly in code, and in the future, it will be very easy to build out more desktop-considered designs by changing a few basic View components.