I have – as lots of people do – the “intuition” that designers shouldn´t design alone: we should be followed closely by our engineering counterparts. This is something pretty easy to stand for – as long as we´re on paper (or on screen, as is my case).
It´s no secret that we don´t get along well: we don´t agree, don´t trust and sometimes we dislike each other. If you could hear engineers talk about designers and vice versa (add architects x engineers; digital designers x coders to the tale) and you´ll get the picture.
Oh, but well, as I said: it´s not a secret. And I will not bother to talk about something everyone knows.
I´ll talk – briefly, because I have an UI to specify :0( – about something concrete: a case were a design decision was supported by an engineering constraint. I think this is important because when we stand for interdisciplinarity (I hope this word exists) – in front of less experienced co-workers or students, as is my case – we should have examples of what we´re saying.
I´ve been advocating for interdisciplinarity inside the teams I work, and I think it´s been a valuable experience, but the concrete knowledge of why is it that good sometimes is missed or shared as a valuable (though not easy) experience. Maybe it´s because of my professional background experience – I am a designer, an human factors specialist AND a coder. I feel the bitter and the sweet of being in all those fronts.
So, as I was saying, I am detailing an UI. It´s going to be a car pool software, for the university I work for. I stated we should have callouts to represent the passengers. The idea is that the driver, after placing a route, will see all the people he could pick up. Those people would be represented as callouts. When the user-driver passes the mouse over the callout, it´s going to expand, showing the name of the person. When the user clicks the name, the callout expands once more, to show a button asking if you accept the passenger. If you do, the callout will show a picture and contacts of that person.
Pretty well. So, drawing, I made the callouts rectangular. Why did it do that?
- It would be easire to expand. Visually, the transformation would be more natural: from square to rectangle.
- I worked – years ago – on the implementation of this kind of callout. So this is the callout shape I know best.
But this shape has a problem. Can you spot it?
I couldn´t untill I started writting the use case for the “system actor” called “Retrieving passengers”. What did I found out? Placing assymetrical callouts over the route would require aditional logic. Each callout would have to “know” the best position: turned left or ritgh; upside down or heads up.
I only realized it when drawing: how would I ask for the devs to work this out?
So turned me back to google maps callout. I found them ugly and uninteresting. But they are much easier to place. They do not need that extra work.
Now the questions are:
- Are those differences in the callout shape relevant?
- Is the placement logic that difficult to implement?
My answer – based on my knowledge as design and coder – is: the differences are not that relevant and the logic is really difficult to implement.
So this decisions poses another issues:
- The shape morphing (from circle do rounded rectangle) is feasible?
- How will the user-driver notice the difference between route-spots-callouts (the places he said he has to pass by) and the passenger-callouts?
In this figure, you see the green “circle like” callout (which is a google maps callout) representing a point the user-driver set in his rout – he IS going to pass that spot. I stated that because sometimes you are not willing to take the route the computer advises to: you have to pick up you sister in her work, you´re going to cash money, you think the best route is not the faster, it could be crowed and the list goes on and on. That´s why the user-driver will have the freedom to specify the route. And maybe he will like to see if a passenger is near a place he is going to pass by. You have to remember that maybe the driver dont know the passenger, so, I could be an additional aid for him to know that: Ill be picking Sonia near that street / avenue / place.
So, thar leads me to a dead end… I cant tell whats more important. I realized the trades I have to make, but I think I dont have enough information to make a decision. So, what will I do? I will specify the harder-to-do-callouts, which will solve the interaction problem – I think – Ill have if they are symetrical (as google´s), and ask for user tests on this feature. If it´s really necessary – if Im right – we´ll have the budget. If it´s not, my dev team will be pleased with me worring for not to waste their time.
So, to finish, I made a picture showing the pathway from the problem discovery to the solution specification.

Recent Comments