Monthly Archives: August 2007

Eat your own dog-food; Part 2

After happily adding new features for the 0.8.9 line, I’m at the point where debugging and the creation of demo code forces me to use the stuff I use.

We now have native border and backgrounds for all elements. Of course, whenever I copy ideas, I copy them all. Our border model is the same as the one used in CSS3 – each edge can be configured independently with width, color and stroke-style. Additionally, each border corner can be rounded off.

So to define the border, you need 3 properties for each of the 4 edges plus (if you want rounded corners) 4 * 2 properties (one x and y property for the corner). After all, you end up with 20 properties.

20 properties – that may need to be added to multiple elements. And this for our Simple-XML definition – which is meant to be written and read by human users. I should have seen this. But did I? No.

So before I continue to get sore fingers from writing the same 20 properties over and over again, I’m adding shortcuts to the Simple-XML parser. Hmm,.. should have added them from the very beginning.

… please hold the line … or on a quest to get a new telephone line

Right now, I’m desperately trying to get ISDN and DSL set up in my new home. But for reasons unknown to me, no one seems to be willing to give me a telephone extension.

When it comes to getting connected to the internet outside of the metropolitan areas in Germany, all alternatives usually boil down to two or three providers: You can stick with the former state-owned Telekom or you could try your luck using Arcor (part of the Vodaphone family) or Freenet.

Trying to get in touch with the Telekom salespeople is hard. Their web-site just sucks, for some reasons it is just a huge shopping system, without any hope to get any decent information out of it. It may be OK for the mainstream user, but once you have a specific question (as specific as “how to get additional numbers” or as simple as “what is the maximum speed you can offer to me”) you are left alone. Shop or die.

They give a call-in number so that you can use the phone to order. But sadly no one answers the phone. Is everyone out to lunch?

Nex try: Arcor. I experienced the funny and chaotic service department of Arcor years ago, when I lived in Nuremberg. Their efforts in getting new customers must be huge: During the last year I got more visits from Arcor Sales-people than from Jehova’s Witnesses.

Swallow your fear, lets call Arcor. Their web-site greets you with a overloaded news-portal, and the actual product information is as bad as the Telekom’s. So let’s forget the internet, lets try to talk to a human being.

Call-in time. First you get greeted by an automated voice asking you, whether you are a new customer or an existing one. (Existing ones are not allowed to use the free hotline, they have to use a paid one. This already gives you the extra feeling of being welcome as customer, doesn’t it?)

So I am connected now, lets try the questions. The first one is simple: My mother already is an Arcor customer, and the company offers to pay for referring new customers to them. We dont have money to waste, so my first question just asks, how we can get the credit for the referral. And there the sales-hell broke loose. No, you cant use this line to get a referred contract. You have to use the (expensive) customer support line or the (confusing and unusable) internet service to do this.

Nice – pay us to become a customer? But wait, it gets better. Not wanting to let a potential customer go without a sale, the nice sales-person told me that if I order now, without using the referral, I would have everything set-up in 10 to 14 days. But if I order through the service-center for existing customers, this would properly take longer.

This really sheds a bad light on the company. Either the service for existing customers is still as bad as 5 years ago, degrading existing customers to second-class citizens, or the sales people are using deception to try to get new sales. And there they are again, my bad feelings. I better trust my intuition here and stay away from them.

(And no, I do not seriously consider Freenet – a customer support line that costs 1.29€ per minute is a good indicator how they think about their customers. So whenever there is something wrong with their service, then *I* should have to pay to get it fixed? No, thanks.)

Now, lets try again to get in touch with the Telekom sales people…

A sexy outfit never hurt anyone

During the last couple of weeks, we finally managed to get the UI classes of the classic engine in a better shape. When you now fire up a report, you will be greeted by a nice print-preview that is sized to show the complete page, the buttons obviously work, and best of all: The progress dialog really makes sense now.

In the old days, it was hard to tell whether the report is finished or how much work will need to be done to paginate the report. The progress bar happily jumped from 100% to zero several times making the thing look all funny.

Now the progress bar runs smoothly from left to right, without jumping back and forth. But the ugly point is: We could have fixed this ages ago. All the parts where there, they just needed a couple of tiny modifications.

So why didn’t we fix this earlier?

The answer is as simple as stupid: Because we did not care. The user interface worked (some sort of), it did not crash, and no one ever complained. The last point really worries me: Why did no one state the obvious? We get feature requests for really tricky items, but no one ever stood up and said: Guys, your dialogs really suck!

And I know they do. Although I worked ages on and with them, so close that I got used to their familiar ugliness. But now, after stepping back and looking critically on what I have helped to make, its awful ugliness strikes me.

It is outright evil.

Why do we have to overwhelm the user with questions about character-set encodings?
Why do we have to show each and every screw you could tweak on the front page of the dialog?
Why do users have to care for anything else than just pointing the engine to where they want to export the reports to?

Well, I do not advocate to forbid power users to tweak all the settings they can find. And yes, the UI should offer access to these settings. (After all, I’m not a Gnome-developer, who seem to believe that even the file name input-box is way to complicated to be offered to any of their users.) But there is no need to put them in front of the unexpecting user. Let’s put them in tabs or sub-dialogs instead so that they are not visible to the unexpecting traveller. And for those installations, where this level of access is definitely not needed, lets add a configuration setting that removes these tabs from the UI. This way, stripping down the UI is as easy as placing a properties file into the ClassPath.

Lets create the best print-preview and exporting UI one can imagine. Yes, that’s what we should do.