Live data from Hacker News

What design tools get wrong

kilianvalkhof.com

21–30 of 84 posts

Re: What design tools get wrong

#21
post #8

Earlier quoted context omitted.

Basically this. It's mind boggling to think a designer could ever excel without knowing how to work with the medium they're designing for. One of the fundamentals of art school is learning how to work with the characteristics of your medium.

The whole purpose of tools is to make craft accessible to more people. It's perfectly logical not to expect a designer to excel without knowing what they're designing for, but to expect tools to aim for that goal. How much knowledge has to be "in the head" vs. "embedded in the tool" can be debated, but the direction where things generally go seems pretty obvious.

Is it though? If so, it's deeply troubling.

The purpose of a screwdriver isn't to make working with screws more accessible, it's to make it possible and convenient. The purpose of power drill isn't to be more accessible than a screwdriver - it's to enable working faster and easier with screws, and to enable working with screws and materials for which using a screwdriver isn't feasible.

This brushes my primary annoyance about modern software - the current trend is to focus on making the basic, entry-level tasks accessible, at the expense of tasks that a proficient user might want to perform. The more advanced tasks are not just made more difficult - they're often made impossible.

Re: What design tools get wrong

#22
post #13
post #2

It seems that author advocates for design tools to become more and more like developer tools - a notion that I, as a developer, can totally get behind. However, in my 12 years of experience in game development, many people who are world-class designers and artists don't have the same mental model as developers. There are a lot of "technical art" issues that in the end, you'd rather handle on a developer's side. I jus…

I see where you're coming from but I disagree on a few points. I work as a UX designer, designing web UI. I should understand and consider how the design will flex when the browser is resized (and understand what's possible). I have a good understanding of what will be trivial to implement versus what will require an extra week of development for little gain. I need to understand how the web works so I can think abou…

I don't think that we really have something to disagree on here. Web and app designers like you are more technically and design-oriented; however, I'm talking about game development, where these roles require much more pure "art" skills: you don't use simple material design here, you actually draw all the real-looking materials (in the artistic style of the whole project) and characters and every little shiny detail.

Re: What design tools get wrong

#23
Somewhat off topic, but this gets at an issue with “components” of all types that I’ve been wanting to get off my chest:

> Design libraries are also limited in the type of things they share: just components or symbols. This works great if all your design work is just clicking together new screens with the same components, but anything new will see designers clicking into components and copying over things like colors, font variants and checking spacing just to copy that over into new components. When you copy over things, you’ll invariably make mistakes (we’re just human after all).

Ideally, a component system means you’re black boxing some function.

Unfortunately every component system I’ve ever seen has a hard boundary at some “material” transition:

A UI drawing that can be used inside a design program

A React component is bounded at the DOM and can’t handle server side concerns

A CSS component is bounded at styles and can’t handle HTML concerns

A middleware component that handles authentication, but can't reach outside the routing phase.

etc

Inevitably then, you end up having two or more tightly coupled components:

A front end component + the server API that it knows how to talk to

A little HTML widget + a microservice that it feeds with it’s own persistence

A container for wrapped content + a little middleware meant to be added to the app that serves the content

A button + a delayed job + an email template to get sent when it's done

etc

In order to do this, instead of just having one module with a tight set of concerns inside it, you have to implement some of your concerns in two places, and you also have to map data into the component interface, and then back out again. In some cases this can be 4x the complexity ("code" vs. "code + write to component interface + decode component interface + variant of code on other side of interface").

If the component could span both domains, it could just move the data exactly where it needed to go, as efficiently as possible, since the data is all internal to the component.

The conclusion I’ve come to is something like "components want to be free."

I.e. components want to have concerns that can span the entire stack, and implement procedures in arbitrarily disparate kinds of source locations.

This of course precludes ALL of the component systems which are confined to a specific material domain. It means the boundary of a component has to look something like arbitrary source code. Component interfaces can’t conform to a single template.

That raises the question “what is a component at all?” If the boundary of my component is just a set of function calls, it’s just a module. How is it a component?

And maybe it’s not. Maybe components are a local maximum in code cleanup, and I’m advocating people move past them and just write really excellent single-concern modules instead.

I don’t know. This is as far as I’ve thought it through.

(I do maintain an NPM module called browser-bridge that lets me build arbitrary client/server components, along an event sourcing library called a-wild-universe-appeared for doing persistence in an isomorohic way, and then something called bridge-module for getting dependencies in the browser... All of which let me experiment with what I'm describing, but those are all in a pre-1.0 mostly beta state. The basic interfaces are all stable though.)

Re: What design tools get wrong

#24
post #9
post #4

I could nitpick the authors points, but honestly this article just boils down to "Design tools need more features!" which I generally agree with. We're living in nice times for design tools though - Figma/Sketch are leading the pack and moving extremely fast. We're no longer in the dark ages of waiting 5+ years for Adobe to implement some basic feature (like being able to round corners on a rectangle). Well, I guess…

Well a lot of people don't know how to use Figma properly and still are exporting css with absolute positioned items so there's certainly a need for courses on Figma its a very deep tool but its not going to give usable results by default.

Got any good links to share that would help designers level up w/ Figma and leverage it properly?

Re: What design tools get wrong

#25
post #2

It seems that author advocates for design tools to become more and more like developer tools - a notion that I, as a developer, can totally get behind. However, in my 12 years of experience in game development, many people who are world-class designers and artists don't have the same mental model as developers. There are a lot of "technical art" issues that in the end, you'd rather handle on a developer's side. I jus…

Kind of agree (as a developer who appreciates art) - right now we're constraining ourselves to grid-based layouts. Having been in web professionally for 15 years and recreationally for 25 years, I've seen UI conventions change a lot as technology, form factors and global design trends change.

So modern tools like sketch work for grids, mobile responsive, yada yada which is much better than using photoshop as the design sits closer to the canvas it will be rendered on. As a developer, yay that works great for me! And also it's a huge middle finger to those designers who just built stupid impossible pointless UIs in the 90s and 2000s.

But it's also very constraining for the designer, especially given how far standards have come, and it's almost a given that someone is going to come along and Bauhaus the shit out of UI.

I really enjoyed the challenge of implementing a truly creative design on the web, but there has been a general convergence towards a convenient middle point where the designs are constrained by development requirements, at least in the way the tools are geared.

That's not to say a great artist can't create something amazing but if we have to teach all our creatives that they must conform to this particular way of thinking, then we're cutting the industry short in a bad way I think.

I guess the next thing will be a sass or js library called bauhaus.js. Or is that just DOM + CSS?

Re: What design tools get wrong

#26
post #11

Earlier quoted context omitted.

I've found that agencies are behind the times when it comes to design tools. I once exported a screen of a mobile UI from Sketch as a PDF, only to be told "When I opened it in Photoshop, it was one flat layer. Can you send over your original Photoshop file?" I told them that the original was made in Sketch, and that was the last I heard from them.

To be fair, Sketch is a Mac only program, so the team may have just been unable to use it, and preferred to just move on rather than purchasing an entire new computer (and Sketch). It would perhaps been more helpful to have responded by offering to provide your Sketch assets/layers via Zeplin, which is free and web based.

[deleted]

Re: What design tools get wrong

#27

Earlier quoted context omitted.

The whole purpose of tools is to make craft accessible to more people. It's perfectly logical not to expect a designer to excel without knowing what they're designing for, but to expect tools to aim for that goal. How much knowledge has to be "in the head" vs. "embedded in the tool" can be debated, but the direction where things generally go seems pretty obvious.

Is it though? If so, it's deeply troubling. The purpose of a screwdriver isn't to make working with screws more accessible, it's to make it possible and convenient. The purpose of power drill isn't to be more accessible than a screwdriver - it's to enable working faster and easier with screws, and to enable working with screws and materials for which using a screwdriver isn't feasible. This brushes my primary annoyan…

I'm not sure the screwdriver analogy works here.

The tool isn't the screwdriver alone, it's the screwdriver and the screw, which allow for easier fastening than, say, advanced woodworking joinery. A powered screwdriver also allows non-trained people to get closer to the productivity of a trained professional.

What are some examples of that annoyance in modern software?

Re: What design tools get wrong

#28
post #13

Earlier quoted context omitted.

I see where you're coming from but I disagree on a few points. I work as a UX designer, designing web UI. I should understand and consider how the design will flex when the browser is resized (and understand what's possible). I have a good understanding of what will be trivial to implement versus what will require an extra week of development for little gain. I need to understand how the web works so I can think abou…

I don't think that we really have something to disagree on here. Web and app designers like you are more technically and design-oriented; however, I'm talking about game development, where these roles require much more pure "art" skills: you don't use simple material design here, you actually draw all the real-looking materials (in the artistic style of the whole project) and characters and every little shiny detail.

Perhaps I misinterpreted your comment then. But all the same, my work is not simply applying material design to websites. We're creating our own branding and "art", but still we have to distill that down into something that can actually be implemented by a developer. Early on we do all kinds of crazy stuff but we always have to be thinking about how we'll bring it back down to Earth and how it will be used and experienced.

Re: What design tools get wrong

#29
post #20
post #5

Sounds like the author wants his tools to be as fully featured as the code that will embody the resultant design. In that case I would recommend learning more code instead of relying on a proxy that will never be as flexible. The best designers I’ve worked with not only understand their own domain but the possibilities and limitations of how it will be executed, because they are also developers.

When someone says HTML & CSS is terrible I ask them to design something better that lets you represent user interfaces that can adapt across multiple screen sizes, and allow complex layouts that Flexbox and CSS Grid makes possible. It is easy to criticize something if you don't have to worry how you would do it better. That said, HTML & CSS is just how the world currently is. It doesn't mean that it is the best possi…

> When someone says HTML & CSS is terrible I ask them to design something better that lets you represent user interfaces that can adapt across multiple screen sizes, and allow complex layouts that Flexbox and CSS Grid makes possible.

Uh huh. And how many years did it take to actually get Flexbox and CSS Grid? I mean...They're both still "Candidate Recommendations" in 2019. That's not even the penultimate level of recommendation. You definitely can't use Grid if you want broad compatibility; it was only first implemented in 2017. "People should update their software to the latest versions! And they should switch browsers to use one that supports my nonstandard features!" Oh, yes? Well they don't. And let's not even talk about Grid Level 2 which is implemented nowhere. We've gone through generations of faking markup with javascript because the dogma behind CSS has always been a terrible mess. "No tables for layout!" Ok, what else are you supposed to use to arrange things in grids? "Uhhh....give us a couple decades to get back to you on that."

When people say that CSS is terrible, they mean the actual standard parts, and they mean for the past 22 years.

Re: What design tools get wrong

#30
post #5

Sounds like the author wants his tools to be as fully featured as the code that will embody the resultant design. In that case I would recommend learning more code instead of relying on a proxy that will never be as flexible. The best designers I’ve worked with not only understand their own domain but the possibilities and limitations of how it will be executed, because they are also developers.

Yes but...

The best coders I've ever worked with understood the hardware

The hardware engineers I've ever worked with understood the physics

The physicists I've ever worked for understood the math...

At some point you just gotta say "I need better tools"

Post reply on HN