cross‑platform is bunk
11 October 2007, 17:49
Picture this: m+mi works opens two more offices, in addition to our Berlin ‘headquarters.’ One for functionalist architects (sense and simplicity) in Amsterdam and a cool Mediterranean design studio in Barcelona.
Our company is then operating in three countries. All have a lot of EU law in common and quite similar culture, traditions and mores. It should be relatively straightforward to come up with a common management policy and house rules for all three offices.
Let’s start with holidays, when our offices are closed. For all the common Christian holidays between the three countries, there are plenty of days where only one or two countries have a day off.
Of course I do not like the overhead of implementing and documenting different holiday schedules for the three offices. And I fear that co‑workers and customers in Holland will be confused when trying to reach our Barcelona office on a Catalan holiday.
not the only fruit
So let’s look at ways to arrive at a single, consistent holiday policy for all three countries:
- preferred native solution
- It is my company and I am Dutch, so I tend to see the holidays in Holland as natural. So we take those: my co‑workers and customers in Germany and Spain suffer.
- grand compromise
- also known as roll your own, if there are holidays on the eighth, eleventh and seventeenth, then we will have one on the twelfth: mass confusion among co‑workers and customers.
- lowest common denominator
- Only the holidays all three countries have in common are company holidays: too sparse a set of holidays, will really upset my co‑workers everywhere.
- union of all
- If it is a holiday somewhere, it is a company holiday in all three countries: now we got holiday bloat, co‑workers can’t get any work done, customers think we are always chatting in the café.
The lesson from all this is that there is no other choice then to grit our teeth, comply with the law, traditions and mores in each country and focus on doing the right thing for co‑workers and customers within the context of each country.
back at the ranch…
So what has this got to do with user interaction? Well, just like m+mi works operating in three countries, a lot of applications operate in up to four ‘countries.’ They are the macintosh, windows, KDE and gnome desktop platforms.
All four have a lot of UI guidelines in common and quite similar look + feel, traditions and mores, thanks to the Xerox PARC–macintosh bloodline. It should be relatively straightforward to come up with a common UI design for all four platforms.
But for all the commonality between the four platforms, there are plenty of interface guidelines where one or two or all are different.
In the fourteen years that I have worked on cross‑platform projects, the engineers have never liked the overhead of implementing and documenting different UI for the different platforms. And they fear that windows users will be confused when trying to use the same application on linux.
So they look at ways to arrive at a single, consistent UI for all desktop platforms. And so in my career I have seen all variations of the bunker‑thinking above:
- forcing the original UI design upon all platforms; especially applications that started out on windows have this tendency: preferred native solution;
- roll your own look + feel, the Java route: grand compromise;
- use only UI elements that are available on all platforms; makes it impossible to create usable UI on any of the platforms: lowest common denominator;
- making everything available on all platforms; means re‑implementing something specific for one platform on all others: union of all.
All of these are as dissatisfying, confusing, infuriating, and user productivity wasting as the m+mi works holiday solutions. It takes a lot of convincing from my side to get the engineers out of their bunker and look at the matter from the users’ point of view.
The lesson from all this is that there is no other choice then to grit your teeth, comply with the law (UI guidelines), traditions and mores of each desktop platform and focus on doing the right thing for users within the context of each platform.
1 comments · post a comment
- at 04 June, 2012 18:35, commented
- Makes sense.
Designs and interfaces are really just ways of communicating things, and like any sort of communication, you have to tailor it to the audience you're speaking to if you want a meaningful connection to take place.
I've always felt that design is a way to fascilite that connection and that a good design should feel pretty much invisible, such that the experience and benefit of using the product/system is all that remains--similar to language when it works well.
I think "cross-platform" is just an easy way to say to users "our software works on a few systems, maybe even yours."
One cool thing I learned about how people approach creating solutions (whether they be design solutions, products, or anything) is that personality has a lot to do with it. Some people are pre-disposed (based on a variety of factors) to be more inclusive and naturally "individualise" their approach. So, habitual ways of approaching things aside (which can be changed), for some people an individualised design approach may come naturally, while for others it may go against the grain a bit because they feel more of a draw to do things in other ways.
If you like to ask Peter one burning question and talk about it for ten minutes, then check out his available officehours.
What is Peter up to? See his /now page.