My Secuire UI post will have to be postponed until Monday. Meanwhile, I got a name for the idea: Phishmark. I am also planning to write a small downloadable client that implements a simplified version of the idea. Since I am in the naming mood, I named it PhishGuard. I'll probably throw other related ideas into that as well over time because phishmarking doesn't cover all the bases. Until then, so long and thanks for all the phish.
Category: Technical
Funnyside of Open Source
I read this really funny sequence of comments to Hani's recent post about a spat between Bob Lee, who contributed some AOP code to the JBoss 4.0 effort, and Marc Fleury, fearless leader of JBoss.
Marc Fleury
Hani, perhaps you could name your sources… CDN? Cameron? chiara? carlos V who seems to have a thing for my wife? cedric? rickard? the list goes on when you are as popular as we are and talk the way I do…
Anonymous1
Hey Carlos, since when do you have a thing for Mrs. Fleury? Marc doesn't seem to mind – that's the real spirit of open source: LGPL your wife.
Marc Fleury
jon tirsen: are you pissed off because I called IoC "gay"? I am sorry if you took that personally, that was just my view on the technology.
So once and for all
I WILL HUNT YOU ALL DOWN FOR TRYING TO PROFIT FROM THE INTERNET. THE INTERNET BELONGS TO JBOSS AND ME ME ME AND ANY OF YOU TRYING TO USE IT AND PAY JBOSS ZERO DOLLARS WILL PAY IN BLOOD SWEAT TOIL AND TEARS!!!!And as a night cap for all you bad boys out there. I heard from a friend of a friend of friend (who might be as reliable as hani's source) who mentioned JBoss to Alfred Chuang from BEA and I quote "he flipped a switch, he said JBoss was a crazy company that had STOLEN THEIR CODE (!!!!!!!) but that he couldn't sue us because he was afraid for his life". Now THAT is pretty crazy.
Anonymous2
LGPL mrs Fleury? wow I'll have a piece of that!
But knowing Dr Marc he wouldn't go for that license. He would go for the GPL. The GPL would require you give your wife back in return.
Let's even not get started on the BSD license, with the BSD you can take the wife and run.
1456\
Actually GPL would require that you released any progeny back to the community. That's just wrong in so many ways.
Bob Lee
Can we pull the sticks out of our asses and stop taking ourselves so seriously?
Jon Tirsen
And by all means keep calling IoC "gay" I certainly don't mind. It's trendy to be "gay".
Looks like open source communities take their openness seriously. I have heard many hilarious spats like this before but never out in the open like this.
<
p dir=”ltr”>Thanks to the guys for the ROFL. I needed the exercise.
Visual Illusions
This post is a follow up to the Visual Spoofing post in which I demonstrated a serious visual vulnerability of browsers and alluded to a deeper problem.
Most of the readers who saw the demo thought of it as a hole in the browser code. Yes, there is a hole in the browser, one that allows scripts to hide and replace key UI components such as the toolbar used to display URL of the page and the statusbar used to display the golden lock. But there also a hole in our brain, one that people like Diego Doval zeroed in on right away.
You see, the computer screen you are seeing this post with is actually showing just a rectangular array of pixels. There are no such thing as windows or buttons. Instead, there are pixel patterns we call windows or buttons. It is us, the users, who associate the idea of windows and buttons to those patterns of pixels.
From this perspective, a browser window is a rectangular array of pixels under full control of someone else, full control meaning any pattern of pixels can be displayed including those 'sacred' patterns we sees as 'windows' or 'buttons'. The illusion of depth, used commonly to enforce the concept of overlapping windows, can also be duplicated.
Even if one can't hide the real toolbar and statusbar, clever visual illusions will trick sufficient number of people to make the approach lucrative for crooks. If you think you can't be fooled, you should visit a magician near you.
The bottom line is that the when you open a browser window, you are also opening a window of vulnerability, a window through which bad guys can trick you into exposing critical secrets such as passwords. Now expand that scary thought to include software you willingly installed onto your system and you will find yourself hesitating the next time you reach for the power button.
As I mentioned before, I will be discussion a solution to this problem in a post titled 'Secure UI'. The solution won't close the window, but I believe it shrinks the window size down to, hopefully, an acceptable level.
See Also: Visual Spoofing, Secure UI: Phishmarking
Visual Spoofing
While Microsoft recently patched a URL-based spoofing vulnerability, a whole new class of spoofing exists for browsers: Visual Spoofing. I have not yet seen any evidence of this type of spoofing actually being done, but I was able to create a demo in less than an hour.
Here is the demo of visual spoofing for IE6 I put together. Note that the vulnerability is not unique to IE.
The problem with visual spoofing is that it is difficult to fix with a simple patch. Yes there are ways to fix the problem partially, but I don't see a way to remove the problem completely because hackers can still create a page with images of overlapping windows to distract the clueless user who tend to keep many windows open.
Update:
While thinking about tigers this afternoon, I stumbled onto an idea that could minimize the vulnerability, including the 'deeper problem', down to an acceptable level. Why was I thinking of tigers? I have no idea. Anyhow, I'll post about it in the next day or two (look for a post titled 'Secure UI') after I explain the 'deeper problem'.
Boy, I feel better already.
See Also: Visual Illusions, Secure UI: Phishmarking
XML Library Benchmark and NSIS 2.0
According to latest XMLBench results, LibXML2 is the clear winner. Hopefully, StAX parsers will be included in the benchmark soon.
Final version of Nullsoft Scriptable Install System 2.0 is out.
Don Norman’s Emotional Design
It looks like Don Norman, Mr. Design of Everyday Things, has another major hit book in his hand: Emotional Design. I ordered my copy after reading first few paragraphs of the first chapter titled Attractive Things Work Better (245K PDF).
The core idea is this: if it looks good, you can use it more effectively with less confusion than if it didn't look good. When you think about it, it's obvious. Even if you are a talented musician, your performance will suffer if you hated playing music. Of course, it can't be stretched too far. I remember reading somewhere that, when a woman is too beautiful, one can have, er, physical difficulties.
Alternate News Reader UIs
Here are some alternative news reader UI ideas to consider. First two are usuable as is, but the rest require quite a bit of polishing and crafting before they can be useful. I came up with them while I was sitting at a recent workshop after hearing the speaker complain about how boring existing news readers are.
Flashcard UI
News item are displayed on flashcards. Background color, font size, and number of items per card (1-7), and transition effect should be configurable. User can navigate forward or backward to next or previous set of headline. Up or escape to wider view (list of news or sources) should be available. Fullscreen-mode is essential.
Movie Credit Screen UI
Similar to Flashcard-style UI but visual presentation effects seen commonly in movie opening or closing credit screens are used. UI should not emphasize more than one news item at one time. For example, if news items fade or blur in and out then current candidate for further reading should be most noticeable. Background music and entertaining audio ads can be be used simultaneously. Again fullscreen-mode is essential. Screensaver-mode is optional.
Video Game UI
Wild array of UIs are possible here including using news items as prizes, gates, or monsters.
Multiplayer UI
You can see what others are interested in using various UI schemes such as footprints, ranking, etc.
A refined version of these UI might fade in a transparent headline over the screen or in some assigned space for a 'while' when user hasn't moved the mouse or typed anything for certain amount of time. Since most news one might read using a news reader aren't urgent, you can spread hundreds of headlines over the entire day instead of flooding the reader with large number of popups simultaneously like SharpReader does.
These ideas are just branches off a single idea: news readers as boob tubes for couch potatos. Instead of overwelming the user with long list of articles and folders, turn it into a linear experience like the TV. Press the power button to turn it on and just sit back until you see something you like and then press another button to dive in. Add another button for fast-forward or switch the channel.
Update:
Joe Gregorio points to Trevor Smith's Speed-Reader applet (I couldn't get the applet to run though) and the XFR project. Interesting.
Update 2:
Finally got the applet working and tried it. Well, it just doesn't work for me. Individual words have several meanings which neighboring words help in narrowing down. Using the Speed-Reader, each word touched off several trails of thoughts so a stream of words in sequence left me disoriented and exasperated because all the thought trails I launched got stranded as I was pulled along by the speed reader. With my brain in a carefully balanced disarray, I don't want to risk messing it up further with this thing. Frankly, it gives me the creeps.
XML 1.1 Recommendation
W3C finally put its seal of recommendation on XML 1.1 which is going to confuse a lot of people for the years to come. In essence, it resyncs XML with latest Unicode standard and simplifies aspects of the XML affected by Unicode related changes. I was one of the folks who called for some of the changes in XML 1.1 (seemingly ages ago), but even I have mixed feelings about the spec. So it's not surprising that the release of XML 1.1 spec upset a lot of folks out there.
My recommendation for XML application developers is to ignore XML 1.1 until support for XML 1.1 in XML parser implementations is near ubiquitous. I suspect it will take at least two years to approach that level of availability. When will it be safe to consider dropping XML 1.0 support? My optimistic answer is at least seven to ten years from now. More realistic answer is never.
Another reason for not using XML 1.1 now is that next version of XML is likely to arrive before XML 1.1 is widely adopted. Why? Because engineers are like blacksmiths without a hobby.
So please don't panic and do ignore XML 1.1 unless:
- you are an XML parser implementor.
- your application requires use of XML 1.1.
- you have a monopoly.
Update:
Read Dare Obasanjo's post XML 1.1: The W3C Gets It Wrong. I wonder if Jean Paoli has a blog?
Social Software for the Deads
Yesterday, I dreamt that my father died. So I woke up upset and disturbed. Disturbed because my father is going to Paris today, a trip I have a bad foreboding about. Chewing bad mojo all morning led me to think about using blogs as a memorial of sort and then spilled out into thinking about dead people in social networks. Here are some notable pieces from that trail:
Rewinding a blog back in time
I thought it might be neat to have a blog that moves backward in time with posts sorted in reverse order. So when I die, my blog will show posts from the day before I died and then the day before that and so on. There will be blog comments by visitors before and after I died. There are problems with this idea but is worth savoring to look for hidden passages to new ideas.
Blogging from the Grave
It would also be interesting to turn my blog into a wiki-ish blog after I died so that my friends can post to my blog for one reason or another. In a sense, 'I' continue to live within the mind of my friends so 'I' am still blogging from the grave.
The Dead as a Party Host
I mentioned before that a 'center' of a social network doesn't have to coordinate or even be aware of the synergy he or she creates. Come to think of it, the center doesn't even have to be alive. For example, people who met each other at a funeral forms a social network around a dead person.
Zombies in Orkut
What should happen when a member of Orkut or LinkedIn dies? It's bound to happen or have happened already. Should his node disappear? That doesn't make sense. Two people having a friend in common is relevant even if the friend happens to be dead. But if the node is left within the network, what are the downsides other than having to add a gravestone icon to the profile?
Groovy Social Clubs and Clients
As I try to look ahead of the social networking service market, I see following three trends emerging:
- Specialization – Who's Who in X, Y, and Z.
- Segregation – Invitation-only
- Decentralization – Rich clients (i.e. Groovy) supporting multiple social networking services and richer integration with other social tools such as e-mail and IM.