Seapegasus Blog

All | Hacks | Java Mobility | Mac | Misc | NetBeans | NetBeans_de
Main | Next page »
20080507 Wednesday May 07, 2008

Maker Faire 2008 in San Mateo

A few pics from the Makers Faire...

After the faire... Yup, the instructions are in Japanese. But we went by the pictures and the robot worked right away!

Posted by seapegasus ( May 07 2008, 12:26:49 AM CEST ) Permalink Comments [0]


20080324 Monday March 24, 2008

New Blog Spammer Hack?

My brother just discovered a mean blog content hack in an RSS feed. Somebody managed to insert a div with spam text into a blog entry's content (and in one case even into the description meta tag). As opposed to 'normal' comment spam (see rel=nofollow), content spam makes it look as if the blogger recommended the link, which (I presume) gives it a higher google ranking.

So why does the blogger not notice the inserted text? The height and width of the div are zero, so the text is hidden. Some feedreaders however preview entries without div styles, so the inserted text is visible in the RSS feed.

By googling for variations of the link text, I found 7 more blogs. Sure, eight is far from a botnet epidemic. Still it's strange how the same hidden text turns up in the content of eight unrelated blogs. Do they have anything in common?

The eight cases I saw all run on Wordpress, but on different versions. This still does not explain why only these eight were affected. If someone had 'teh über h4ck' to insert arbitrary text into other people's blogs, there'd be A LOT more cases, you would think. So is the common denominator something more simple, such as a weak password? But then, why only wordpress...?

If you have a wordpress blog, please quickly search the page source for a div with style='overflow:auto;width:0;height:0; and tell us whether you got one too. I'd really like to get to the bottom of this Easter mystery...

PS: Update

OK, I found out more. Somebody indeed exploited a bug in WordPress' XML-RPC interface to insert text into certain versions of WordPress blogs. They patched it, but users didn't update.

Do CMS providers like wordpress have something like the netbeans update center? Can they send users a message reminding them to update? I assume not (unless the user signs up to a mailinglist). :(

The recommendation is not only to update to the latest patched version, you also should change your password.

Posted by seapegasus ( Mar 24 2008, 09:01:43 PM CET ) Permalink Comments [5]


20080128 Monday January 28, 2008

The Dutch Designer Trashed My Online Presence

http://producten.hema.nl/

Just a boring online shop.

Or... is it?

Posted by seapegasus ( Jan 28 2008, 10:59:30 AM CET ) Permalink Comments [2]


20071214 Friday December 14, 2007

Solaris vs MacBook

During the Sun Tech days in Frankfurt, I discovered a Solaris Installfest booth. Shortly before the end of the last session, I showed up with a Mac Book pro and Parallels Desktop, and asked for a Solaris disk... >:-D The guy said, "Sure... go ahead!"

So I created a virtual machine for Solaris 11 and inserted the DVD. I had to hit the (virtual machine's) reboot button two or three times until Parallels won the fight and tore control over the DVD drive from the iron grasp of MacOS. Or something.

Anyway, I was positively surprised how slim the Solaris installer looked. No clicking through 32 pages to set up drivers. It's almost like MacOS, it asks for your time zone and locale etc, and figures out the rest.

Unfortunately, installation of 7 Gigs of software took longer than I expected. Everybody was leaving (see photo)... They switched off the network, and then the lights... And I was only 49% done. I had to go to the airport, I could not wait another hour in the conference center for the installation to complete. Well I thought, I know now that it works, so I'll just close the MacBook (to put it in sleep mode) and reinstall Solaris on Thursday. It's a pity to have to delete the half-finished VM and lose this one hour, but actually no big deal.

So on Thursday, back in the office, I woke up the MacBook, expecting a broken VM with a broken (interrupted) Solaris installation to greet me. Nothing of that sort! MacOS had sorted it out, the installer hadn't even noticed the day-long interruption. It simply continued where it had been, and completed the installation. :-o I don't know whether I was just lucky, or whether it's meant to be like that. Anyway, Solaris runs in the MacBook's VM!

There is only one problem: Parallels does not allow direct write access to the virtual Solaris partition, and seemingly it cannot offer Solaris a recognizable default network device. What, no MacBook drivers? ;-) Here is a solution I found in moazam's blog: Parallels comes with extra drivers for this purpose, you just have to know where to find them.

  1. In MacOS, mount the file /Library/Parallels/Tools/vmtools.iso (in the Parallels menu, "Devices > CD/CVD > Connect Image")
  2. In Solaris, read the Readme and then execute /media/PRLTOOLS/Drivers/Network/RTL8029/SOLARIS/network.sh in the Terminal (as root!)
  3. Reboot Solaris (i.e. the VM)

One tip: The "Connect image" (mount) command is a very useful work-around to get data from MacOS into Parallel's VM! Your image will show up in Solaris' /media/ directory.

Another tip: Same as in MacOS, you can drag and drop files and folders from Nautilus into the Terminal, and it will spell out their paths. E.g. type "cd " into the Terminal, drag a folder onto the Terminal window, and it will complete to "cd '/path/to/whatever/directory/'".

PS: How did I manage to save this as draft and not post it all week?

Posted by seapegasus ( Dec 14 2007, 02:19:08 PM CET ) Permalink


20071012 Friday October 12, 2007

Thank Constantine it's Friday

Hehe, interesting page about the Roman calendar (from which ours is derived). The thing is an utter hack. Did you know that...?

Speaking of which: The above article mentions a pretty confusing English mnemonic, "Thirty days hath September...", to memorize the days per month. WTF? Never heard of it. You know what we learned at school?

Make a fist and look at your knuckles. Start at one knuckle (say, the one below the index finger). Count either a "hilltop" or a "valley" (between the knuckles) for each month. At the last knuckle (below the pinkie finger), you count the hilltop twice, and go back the same way. December will land you on the knuckle below the middle finger.

So what do you get? January, March, May, July, August, October, December are on a "hilltop"; February, April, June, September, November are in a "valley". Rule? Hilltop = 31 days, valley = 30 days, with exception of February. Much easier and more reliable. At least until the next emperor knuckles the whole system in the head.

PS:

I once read a fantasy story, the six fingers of time, about a guy who learned to fade into a time dimension 60 times faster than ours. He had the theory that the Babylonians (and other people from this dimension), who basically invented 'modern' time measurement, must have had 12 fingers. Or why else should they have used the dozen (12), the gross (144), 60 minutes (12*5) per hour, and 24 hours (12*2) per day, etc? Obviously it was as easy for them to count with 6 and 12 as it is for us to count with 5 and 10 -- right?

Well, there is a very simple explanation that doesn't require 12 fingers. All you need is 12 phalanges! A guy called Scott Reynen puts it very nicely on his page:

"The twelve months on our calendars, twelve hours on our clocks, and twelve inches to a foot all suggest a duodecimal (base twelve) number system, possibly derived from the twelve [phalanges] on the fingers of one hand (not counting the thumb). Duodecimal math is actually simpler than decimal math because twelve has more factors than ten."

Try it: Use the thumb as the pointer and point at the index finger's tip for one, its middle phalanx for two and the base phalanx for three, and so on. The base phalanx of the pinkie finger corresponds to twelve. This way you easily count up to twelve with one hand, while everybody else with the lame 5-finger system only counts up to 5! How stupid is that? Since I read this theory, I started counting with phalanges too, just to freak out the on-lookers with my incredible single-handed counting ability.

PPS:

You think the geeks' binary system is cool, where you count up to 16 by the fingers of one hand? Oh yeah? Well, the phalanx method at least doesn't make you to use a middle finger gesture for the number 4. :-P

Posted by seapegasus ( Oct 12 2007, 08:14:38 PM CEST ) Permalink Comments [3]


20070625 Monday June 25, 2007

Scientists Running Wild on the Streets (2)

So I went to the science on the streets (Veda v ulicich) over the weekend. Some impressions:

The virtual doppelganger was really that: They scanned people's faces, from the pictures they generated an animated 3D face, and then added a Czech speech synthesis and made it say stuff. (Yes, Czech tongue-twisters, too.) Some of the faces even came with facial gestures, and they also put a lot of effort in the teeth, tongue and eyes. No speech recognition though, neither was it hooked up to a dialog system requiring such an avatar for interaction.

The "three dimensional paint" turned out to be a liquid chemical substance in a marker, similar to window colors, but opaque. After drawing on paper, the lines foam up a bit and stand out of the picture. (Also interesting for the blind I assume?)

The "mammoth hunters" were a group of poor Czech men, women and children who somebody had talked into wearing "native clothing" and holding flintstone spears while camping in front of the Muzeum and smiling for the tourists. They also tried to play music on cattle horns. :) All the while, the mammoth was hiding inside the muzeum and never came out. Chicken.

One brainteaser I came across was a chain of flat wooden tiles, held together by straps, and you hold one tile and let the rest hang down, and one after the other tile kind-of flips over and down, but the chain doesn't fall apart and no tiles change their position in the chain. Huh? I took one home to figure it out, it's very simple indeed, like one of those Rubik thingies, but still... Who comes up with these things?

The last impression is from the promised "Robots separating waste in the metro station event". In short: They had not found a solution to automatic waste separation. Instead it was a normal student project very similar to the ones we did: I assume if they had advertised it as "Robots vaguely moving towards color-coded objects, sometimes picking them up, and then maybe throwing them in a random direction," fewer people would have bothered to come. ;-) However you could see that the robots where custom-made from scrap metal and old computer parts, which was very cool.

Posted by seapegasus ( Jun 25 2007, 04:12:43 PM CEST ) Permalink


20070613 Wednesday June 13, 2007

Scientists Running Wild on the Streets

Help! Somebody set free all the Czech scientists! By the end of next week, Cimrman's heirs will roam Prague in their eco-cars, and they will aim lie detectors at your spouse.

Seriously! It says so on a leaflet I picked up at the metro this morning. =-) (Well, it didn't literally say Cimrman. But it did say lie detector and spouse.)

I usually like advertisements as little as the next person, but on a boring metro ride, why not learn new vocabulary in an actual context, right? Well, the terms of public transport, the mortgage and the icteric ads just don't cut it anymore after a while. So I picked up a blue flyer from a student this morning that read "science on the streets!"

The coolest items are on display right at the Muzeum: A neural networking robot that can learn tasks, a "virtual doppelganger" that informs you of the train schedule (doesn't specify whether this involves speech tech, we will see), and (my favorite item) "Robots will separate waste in the Muzeum metro station. Come and cheer them on!" ... :-D

Other scientists will be set free on various squares and metro stations all over Prague. They will demonstrate physics and chemistry experiments, solar telescopes, models of powerstations, a sort of paint for 3-dimensional pictures (?!), motorcycle crash tests, eco-friendly sources of energy, optical illusions and brain teasers, mammoth hunters, and orthopedic footwear (... huh? I swear I never know when Czechs are serious or not.) :-)

Time: June 22nd and 23rd, 2007.
Venues: Muzeum, Jiriho z Podebrad, Namesti Miru and Republiky, and at FJFI CVUT technical university.

Posted by seapegasus ( Jun 13 2007, 11:45:22 AM CEST ) Permalink Comments [2]


20070211 Sunday February 11, 2007

Search Engineering - the End of N-Grams? (or Not)

My, I completely missed that: Heise now writes My Search Engine understands me (in German), and also A Chance to Rival Google tells you more (in English):

A start-up company called Powerset has set out for the holy grail -- a natural language search engine! One that does not (like the other one that starts with Goo and ends in gle) "simply" strip off stop words from the search string, and then makes parallel searches of lexemes and synonyms in a database of cleverly sorted n-grams?

Powerset say they will use technology from Xerox PARC. Okay, those Xerox guys are good, but having licenced their stuff doesn't solve the task alone. How and what exactly will they do? Dang, the web page doesn't tell... :-[ Hmmm... "Power set"...? Is that a hint of some sort? ;-)

Google is good because it already lets you search for natural input like "Who is that German who believes that 300 years of the history of the early middle ages are made up??" more or less successfully. Just hit "I feel lucky" and find a page where somebody blogged about this original conspiracy theory. But I had to try five times with different sentences to find this perfect hit. -- Well, still better than getting laughed at by your friends for asking them about phantom time, right? In real natural language search you would not have to try paraphrases yourself.

But don't expect Powerset will implement natural language search requests like "How many non-American and non-Russian Astronauts were deployed to the ISS?" that would get you the list of names and a number. This would require that the search engine not only understands the question perfectly, but also a) has access to a list of ISS astronauts, b) has access to a list of their respective nationalities, c) knows that "non" means I want it to filter all persons of American and Russian nationality from the list (and not people whose names happen to look like a nationality), and then d) interprets "how many" as a request to count the remaining entries, and finally prints the answer. That would "merely" require a mapping from each ever-so crazy text-book question type the user comes up with, to a step-by-step search solution, and the tables to look up data from...Then after 12 years of research a user types in "So how many legs do a farmer, a dog and 17 chicken have together?" and your engines gripes "Gimme a break" and dies of karoshi. *Sigh*

Answering math questions is not what Powerset attempts to achieve. (If they do, then they really found the holy grail!) Basically search engines are 'only' a more user-friendly interface for common "a and b and (c or d or e)"-style search requests, they are not supposed to do math homework for you. Unless somebody wrote a web page about the exact same question using similar words, these questions won't work. You will have to search for "list of ISS astronauts and their nationalities" or something and count them yourself -- sorry.

But there is still enough work to be done to make normal fact searching more intuitve, and that is more likely what Powerset are up to. They may try to use implicit context, so you could type in "Kubiak eat now" then the search would fill in your city (i.e. the city via which your provider connects you) as default location and list fast-food chains. Also search results could be clustered and labeled better -- are they news articles (presumably more reliable) or blog entries or reviews (if you are searching for opinions), are they privately hosted or on company domains or on university sites, what media are they, and how old? If the user's browser is set to German but she searches for an English word, would she be interested in German results about the same topic too? Etc. I hope they hired a lot of user interface designers.

Ooh, Powerset even have job openings for computational linguists, man, I haven't seen that for a while. Well, currently I already have a job, thank you, ;-) so I will have to wait until the end of the year to see the first prototype. *Sigh* Come on, Powerset, give us a Beta! Some Google apps have been in beta for how long? Since, like, the last millenium? See!

Uh-oh. Speaking of Google. I feel a disturbance in the force... Google just published their corpus of n-grams? Free. Gzipped. On 6 DVDs. Woah. *Waves at Thorsten Brants from Saarbrücken!*

Of course this does not mean that google is releasing their n-grams in response to Powerset's announcement, because, dunno, Powerset's new method will be the end of n-gram usage now or something. Obviously, Google did not publish the database column that says on which web page this n-gram was found (data which has to be refreshed regularly anyway)... :-P

If you don't know what an n-gram is: It's just sequences of words like they typically appear in text, sorted by frequency. This involves tokenizing loads and loads of text. Amounts of text which can be found for free on the internet.
For instance, a 3-gram (trigram) is a typical sequence of three words torn out of context ("I am a, I am just, I am here, I am the, I am not" etc). So, if you have collected lots and lots of different trigrams ("not completed but, not count on, not belong to", or "to do it, to go away, to continue his" etc), and have sorted them by frequency, then! *drumroll* You can calculate the statistically most probable English sentence! Which would look like (I am making an example up here) "I am not belong to continue his words are the one of the president of stupid like a big piece of all the things are no doubt that he is another step to..." Wahahahaha! :-D ... :-| Okay, maybe applied linguistics jokes are only funny for computational linguists.
Anyway, the real use case is, having alphabetically sorted n-grams annotated with the web page they came from, speeds up the search process significantly for a search engine provider (because jumping to a position in the alphabet can be done faster than doing full-text search over and over again).

Another example of useful things you can do with Google's n-grams even without the page URL they came from, is training speech recognition systems: If the system didn't get whether you said "Oh painter knew him tivo'ed phile ending sword mine amen sedate" or "Open a new empty word file and insert my name and the date", a quick n-gram frequency comparison tells it: The second interpretation is a bit more likely to occur in the English language. Now, aren't you glad n-grams were invented and you can get them for free? :-)

Posted by seapegasus ( Feb 11 2007, 05:04:30 PM CET ) Permalink


20061009 Monday October 09, 2006

Userfriendliness Is for Wimps

I jotted down some notes while getting the hang of one of the 3D Mesh Editors I checked out, Blender. Blender is cool: It runs on Windows, Linux and MacOS, has a huge selection of professional features (incl. animation, scripting, UV skins, and skeleton kinematics), supports a dozen common formats (incl. .obj, .x, .md2, .lwo), and it is free.

The catch? Blender's non-existent user interface makes you wish you could use vi instead. :-(( Let's say if a good user interface is a dialog, then Blender is a monologue, and it speaks a very strange dialect. My notes, a kind of Blender for Beginners, list the top 10 things that made me go "Gaaah! Nobody told me!" after two Sundays of trying to get a hang of it. Be warned, there may be some sarcasm ahead.

If these top 10 revelations did not scare you away from Blender for good, there's a wikibook called Blender 3D: From Newb to Pro that will answer a lot more questions (such as, which combination of the three million levers do I have to pull to make glass and water transparent?). Have... fun. :-)

Posted by seapegasus ( Oct 09 2006, 02:49:53 PM CEST ) Permalink Comments [2]


20060809 Wednesday August 09, 2006

The Perfect Trap to Catch a Newline

Hah, I need to write this down before I forget it again... One of the files I was editing was created on Windows: All the html was displayed in one long line with lots of ^M's instead of newlines -- pretty annoying when you just want to do some quick fixes with a simple linux texteditor.

The easiest way in Linux to replace a character (set) by another is the shell's tr command. If you get an error from tr, note that it expects input from STDIN, don't give it a file name as argument. And make sure the output file has a different name than the input file, otherwise the file will go all Ouroboros on you and eat itself. Usually, you give tr two arguments, the character to replace and the replacement.

But to search for a special character like ^M, you can't just search for a ^ and an M, your need heavier ordnance. The ^ thingy is shaped like a v, that was what finally reminded me how to do it. You press ctrl-v and then hit return. It will come out as ^M. Don't ask me why, it's magic. It also works with tab and other stuff. So the following line will replace all alien ^M characters by good and friendly \n characters:

tr '^M' '\n' < file.html > file2.html # press ctr-v return for ^M

The wikipedia entry on newlines claims I could have searched for \r instead of ^M, or used dos2unix if installed -- but oh well, next time. My solution at least escapes any character I want, not just "return", and it's always installed.

What about other options? In emacs, I'd press esc shift-5 for the search&replace "dialog", and when I replace some crazy special character, I usually just cowardly select it with the mouse while no-one's looking, and paste it into the dialog by pressing the middle mousebutton. Yes, generally this also works for newlines -- you select from after the last character of a line to before the first character of the next line, and it will select the (invisible) newline character. (Copying&pasting newline characters works in MacOS too, only in Windows I never succeeded with this trick.) Unfortunately, emacs somehow couldn't generate a "normal" newline character as replacement in this context. And replacing ^M by \n in vi only gave me even crazier ^@ thingies. Hm, seems I'll stick with the shell then.

Unless anyone has a better solution. Feel free to leave a comment.

Posted by seapegasus ( Aug 09 2006, 05:52:58 PM CEST ) Permalink Comments [2]


20060801 Tuesday August 01, 2006

Mind Hacks (they work)

Recently, I tried this 'Mind Hack' that lets you see better in the dark: I was fetching a drink from the fridge at night, and you know the problem: The moment you switch on the light (or the fridge does), your eyes adapt to it. When you go back and try to find your way through the dark, you are virtually blind.

Here comes the Hack: When you switch on the lights, you keep one eye closed. Then you fetch your drink or whatever it was. Then, when you walk back through the dark, you close the eye that's adapted to the light, and use the other one that's still adapted to darkness. I was too tired to find a mirror to see whether the eyes looked any different in that state. o_O But well, it worked! Fascinating.

Then yesterday, I was trying to remember a few things for today, so I tried a visual mnemonic: I pictured myself in the situation where I should remember something. For example, right after logging on to Linux, I should chmod u+x .xsession because I forgot to do that when I created the file. [No I don't know why I wake up in the middle of the night thinking "I need to chmod .xsession!", but hey, if it helps getting my system set up, I'm not complaining.] Okay, perfect, I managed to remember that one today pretty well.

But before logging on, when I switched on my computer... there was something else... I clearly remembered that I wanted to use the time it takes for booting to prepare something... I think in the kitchen... But what? Not tea... Well so much about that visual mnemonic crap! :-/

Alright, I thought, scratch that, and started working. I checked my mail and read some stuff. So, a while later, I am still reading stuff and I come across a line that says something about visual web development. — Suddenly I think "I wanted to put the juice I brought into the fridge!" That was it! But what reminded me? I remembered it exactly when reading the word visual .... :-o So that visual crap does work! Just in unexpected ways.

Posted by seapegasus ( Aug 01 2006, 04:56:32 PM CEST ) Permalink Comments [1]


20060730 Sunday July 30, 2006

The Eighties Need Some Fixing

If you had control, what would have been your perfect Eighties TV show? I'd go for KITT and Patrica McPherson from Knight Rider, teamed up with MacGyver instead of D.H. Bonnie is a hacker and gets some real dialogue, and KITT is the ambivalent cyberpunkish AI in the background. The setting is Earth and sometimes the secret base, Battlestar Galactica, hidden cleverly on the backside of the moon opposite a nuclear dump, whose explosion (caused by MacGyver with a piece of bubblegum) blasts the moon on a journey through the galaxy after a breathtaking cliffhanger at the end of the first season. The bad guys are played by Nimoy and Landau, while KITT may or may not be pulled over to the dark side by Matt Frewer. At the end of the second season (that's the one in space), McPherson disapears under mysterious circumstances, and is replaced for one season by Jessica Steen, who has been heroically saved by MacGyver from an annoying life among alien robots. The title theme is of course from Doctor Who. ... See! It's so easy to come up with good ideas. Why didn't they record a show like that 20 years ago, hm?

And look! I found another thing from the eighties(?) that needs fixing, my old harmonica. Sorry harmonica, this blog category is labled Hacks, and this means I have to take something apart, and this time it's you. I found it again in a box and (despite never having learned how to play) I tried to elicit some notes. Turns out that some notes didn't sound anymore. At least not more than a faint eep. Bummer.

But since we live in the age where information's at your fingertips, I go check out a webpage by a harmonica enthusiast and am told that the problem's obviously due to the reed gaps being to wide. Of course! It's that obvious! ... Alright. ... What are reed gaps? Only one way to find out. >:-) *Takes out Swiss army knife*

Look, reeds! And gaps! Everywhere! So what I learned this weekend was: The perfect reed gap must be as wide as its reed is thick. It may be a fraction wider if you play loud, and a trifle less, if you play softly. Also I learned that the reeds on the outside produce most of the sound when you inhale, and the ones on the inside when you exhale. Oh, and if the base is on the right side, and the high notes on the left, the cover is the wrong way round. >:-) *Takes out Swiss army knife again*

Posted by seapegasus ( Jul 30 2006, 04:51:21 PM CEST ) Permalink


20060714 Friday July 14, 2006

Don't Write on the Backside of Paper (2)

Last April or so, I blabbered about 3D desktops. Today I find a prototype: BumpTop. Thanks, Canadians, that was quick. "But oh, you, like, forgot the file names! :p"

Of course this prototype is still far from being useful, but I think it doesn't hurt to experiment with the idea. One needs to start somewhere. If it at least results in a one nice photo browser or something I would already consider it success. Maybe over time, the idea refines and develops, who knows. I mean, come on, somebody must be able to come up with something. Whatever it will turn out to be, it will be named Sun Java Cubeform Third Dimension Plug-Around Module Pack for NetBeans ID3. Or maybe — 3Doogle.

Oh. Wait. I am suddenly worried. About support phone-calls. And written documentation. Hm... The more intuitive and less textual interfaces get, the more difficult it gets to describe an interaction in words... 8-| Neglecting the fact that you shouldn't, it's easy to explain to a beginner on the phone how to type in "R M blank minus R F blank star, now press return-key". And yes, sure, the most unspeakable mouse gestures will eventually be given handy names, in much the same way as complex facial gestures were given concise names like LOL, Argh, or Duh. But still — do you want to be the guy explaining correct mouse gestures to the panicky businessman who just accidentally swished his live's work into the dark little hole in the corner of the screen where the screensaver lives? Well?? See! *shudder*

Posted by seapegasus ( Jul 14 2006, 12:52:20 AM CEST ) Permalink Comments [3]


20060628 Wednesday June 28, 2006

Embedded HTML Editor for Bloggers and Wikians

Now that's a cool firefox plugin if I ever saw one, Xinha! -- A WYSIWYG HTML editor embedded in your browser. Very useful for bloggers and wiki writers who use HTML. (Some wikis do.) You install Xinha! from addons.mozilla.org, and after it's loaded (restart the browser) it's accessible in the context menu of each text input field of your browser. Like this text input field I use right now to type this blog entry. So I right-click, and I can choose to open the Xinha Editor in either its own window, or in a frame at the bottom of the webpage I am working on.

If the text input field already contains some text, Xinha copies it over into the Xinha buffer, where you can edit it in a basic HTML composer GUI. The GUI even has skins. Tsk. ;-) After you made your edits in the textfield, scroll down to the Apply button (I didn't find it at first) and this will copy the Xinha buffer as html into the text input field.

Note that each Xinha seems to be tied to the textfield you open it for! This is important. So when you tab to another page, and keep using the same Xinha window, your changes will be pasted into the original text field, and not the one in the tab you happen to be looking at right now. Also, if you reload the page (e.g. for saving changes while blogging every 5 min or so), the Xinha window does stay open, but seems to lose the connection to the new instance of the textfield. Keep that in mind when using it.

Pretty impressive idea! It would be perfect if it wasn't for one display bug: In my Linux Firefox, the Xinha frame buffer blinks and moves around constantly while redrawing. Twice per second. Pretty annoying, but I hope that will be fixed in future versions. Try it! :)

Posted by seapegasus ( Jun 28 2006, 08:01:31 PM CEST ) Permalink


20060517 Wednesday May 17, 2006

Does Your GUI Clack or Rattle?

OK, here is my brainstorming about what Karsten Lentsch said at JavaOne about Swing GUI Design Dos and Don'ts. He had a weird kind of dry humor that made the audience laugh while he kept a straight face. Oh and I will also sum up what he said about the NetBeans GUI builder Matisse in this context.

  1. The GUI mustn't distract the viewer's attention. Visual representations are like poetry: Be aware that people intuitively try to assign meaning to every constellation of color, position, shade, blinking, movement, weight, size, alignment, they encounter: So don't send a message you don't want to send! (E.g. the fact that components are not aligned can be interpreted as that they don't belong together.)

  2. Fancy is not cool: Avoid sprinkling the GUI with blotches of saturated colors, noisy backgrounds, large or bold fonts, or fonts of different families (unless you want the reader to focus on only this odd-one-out, which you ususaly don't). Everything that strays from the standard is in the spotlight. If suddenly everything is in the spotlight, the users is blinded and stumbles around without guidance.
    You usually only want the workflow to be in the spotlight -- This is e.g. why headlines are few, short, bold, large, and in a different font.

  3. Be consistent with icons, theme, colors - also with respect to the OS. Don't swap/move positions of items if you have multiple dialogues or menues (e.g. don't swap "save" and "delete".) "Muscle memory" makes people associate positions with actions, so don't waste their time by forcing them to regather this information for every screen. Think of walking up a staircase where every step has a different height, you'd hate that!

  4. If the component/label doesn't add essential information, skip it! Can the user tell in one glance what the tool does? Make a Squint test to find out what stands out first. Be clear (remove noise), concise (nobody is ever going to read that). A GUI is not a 3-minute pop song, it's a tool in your hand that you use to accomplish something: If a button doesn't do what expected, you'll want your money back.

  5. One of Lentsch's metaphors was, if you brush over the interface with your fingernails, it should clack, not rattle. So no unnesessary lines: No double lines/borders between components, no nested titleborders, no gratuitous pseudo-3D effects. Use white space to group components instead of separator lines. Subtle gradient backgrounds can help to counterbalance other components' overhead weight.

  6. Symmetry, Grid & Alignment: Align components that have something in common! The user will thank you for this additional information. Align textfields to the fontbaselines. All fields should have the same size and spacing -- unless you want to convey the message that textfields of certain lengths are meant for contents of certain lengths (phone numbers, ZIP codes). In the latter case, constrain yourself to max. 3 sizes (small, medium, large textfields.)
    If the component's content is known and fixed in size, use static component sizes; dock or split windows only if necessary. Use a few aesthetic aspect ratios when spreading the components.

In Matisse he saw a great step in the right direction (e.g. it nicely aligns to fontbaselines), but he pointed out some weak spots: Matisse lacks guided alignment of components in multiple panels/windows/components, and it allows aligned components to have different heights. (When I'm back I need to try whether InterfaceBuilder can do that?) So don't count on a tool to do all the thinking for you.

So why are all these aesthetics relevant? Isn't the tool's function way more important? Unfortunately, humans tend to interpret good looks as health, and balanced GUI design as clear bugfree programming... Just flip the coin: If the GUI looks brittle, confused, clumsy, careless, users will have prejudice against it: "What is this klutz tool going to do with my precious data?" Oops, just lost a customer.
I'm well aware there are "ugly" but popular applications, but these often merely lack professional graphics, while their layout is intuitively clear and easy to use (and that counts).

Posted by seapegasus ( May 17 2006, 12:00:00 AM CEST ) Permalink


Calendar

Content

Search

Links

RSS Feeds

Recent...