Aleksandar • Vacić

iOS bits and pieces

Two-level navigation

Alex Robinson posted a CSS challenge few days ago on css-discuss list: using 2-level nested list, create a two-line navigation with the following properties:

  • “current” main item’s sub menu should be always visible

  • sub menus for other items should display on hover

  • menu should be liquid, i.e. to be based on ems rather than pixels

I took the plunge. Excellent example of such navigation is Nokia’s, and the CSS version based on the above is here.

Version with floated box fails in IE/Win. In that example, each item is floated to the left, and IE calculates width:100% for absolutely positioned nested lists from the left edge of the item instead of full viewport width. Yet another IE/Win bug. :(

Software localization

I just completed the translation of FeedDemon’s user interface to serbian language. I thought it would be a straight-forward thing, but it wasn’t. It’s damn hard.

Serbia is only just recently starting to receive software which is partially localized - interface and messages are in serbian while help and other stuff are in english. Microsoft leads the way by offering Serbian Latin and Serbian Cyrillic interface shells which are installed over existing english version of Windows XP.

There was, there is and there will be much discussions over the terms used. I did not pay too much attention and was simply joining the laughs over some translations.

When I took upon myself to translate the FeedDemon to serbian, I realized how hard it is. English is very, very computer-oriented. Words are short, have somewhat neutral sound and one word can mean different things when used in various contexts. Also, some of the words are very hard to translate and I often found myself adding lots of hints that Nick did not have originally, simply to explain the meaning of menu item or some button.

For instance, FeedDemon have watches. Those are special channels used to automatically search incoming news items for certain keywords. There is no direct 1-word translation for it in serbian that could be used here (which will actually be related to what FeedDemon’s watch actually is). Or 2-word. Or 3-word. So in the end I used the word monitor (has the same meaning in both english and serbian) which describes what that features actually does - monitors incoming news items.

Same thing with news bin. Direct translation of the word bin sounds kind of…awkward, since that word is not used in that context in the serbian language - it sounded more like a trash can than the place where you keep important stuff. I chose the word kutija (box) which is the closest thing I could think of.

Another problem: File menu is usually the first one in any software, and it always have something to do with files - open, save, close… However, RSS aggregator deals with news items, not files. Nonetheless, I did not have a single doubt about the use of such menu - I’m used to it, since I deal with computers for years, using purely english-based software.

But this translation is for people that don’t know english language. People that possibly know little about computers and files. In such case, using the serbian word for file would be meaningless since not a single menu option there deals with files. Therefore, I named it Vest, which means news, and I like to think of it as good choice.

Even the very essence of RSS - news item - is hard to translate. In serbian, when you use the word news you are talking about the newspaper or TV news (“10 people injured”, “Milan wins the Champions League” etc.). And items in the RSS are mostly blog entries (at least in the feeds I read). I tried several words, ran them through the interface just to see how they sound in various contexts that FeedDemon uses news item…you know what I chose? News. I used the direct translation, since all others tear my ears when spoken - I’m just not used to hear them for something like this.

Bottom line?

Software localization is never a straight-forward business. After I finished the initial translation, it took me 6 or 7 passes to polish the words and phrases and to give them proper meaning. And there is no reason to laugh. Even though some terms sounds funny, in the ears of new computer users, they could be quite sensible.

Importance of correct goals

I have recently been asked to review particular ASP.NET application, written using Visual Studio.NET 2003 (what else…). Each page is one huge form with dozens of various elements - drop-down lists, textboxes and checkboxes. And their labels.

When you build the page in VS’s HTML Designer, default is that all controls are absolutely positioned. When you place a control - whether that is label or form field - it gets positioned.

When I opened the source code for first page, I encountered 138 levels of z-index. I looked sadly at multitude of font tags, right next to style attributes. I was greeted with the web of HTML code like this:

<span id="Label5" style="Z-INDEX: 108; LEFT: 3px; POSITION: absolute; TOP:

113px"><font face="Microsoft Sans Serif" size="2">Label</font></span>

This is how terrible - for web purpose - one of Microsoft’s flagship product is, and it will be for unknown time in the future. It is basically the absolute evil of Front Page-like HTML output combined with very good (most likely excellent) server-side programming.

Now, where does project goals fit into this?

Microsoft’s project goals were obviously very clear: build mostly usable product that will showcase the strong points of their new framework. And they did - dealing with XML, databases and other various server-side stuff is very easy and almost without significant bugs. They left web part for future version. OK. when you know the rules, you can’t feel cheated (although I still do, since that kind of output is simply ridiculous in year 2003).

However, for this particular web project, goal was simple: build a web app which was supposed to work in IE/Win. IE/Win holds overwhelming majority of users and it seemed like a good choice. Right until the moment when app was offered to the client that uses Mac. Then project goals suddenly seems very bad.

Yasmeen Ghauri II

In the previous post, I explained the “how and why” for the site structure.

This one is about adding the life. Doors, windows and coloured walls.