Thursday, August 27, 2009

The Extreme Middle

Why is it always the extreme right or the extreme left making a fuss? What about the middle?

People only protest when they're upset. But they create this false sense that lots of people are upset and share their view because they're the only ones running around shouting. The majority of people in the middle just want to get on with their lives and know that everything requires compromise and that the people actually in charge will do their best to come up with good solutions.

I sometimes find it amusing to think about going to a protest with a sign along the lines of:
"I'm generally ok with everything."
"I'm angry that people are angry!"
"I trust my representative to make a good decision."
"None of this really matters."
"I'm just here cause I'm bored."

Visual User Interface Design

I often wonder why more user interface tools aren't designed visually from the beginning. Why bother coming up with a text based abstraction that needs an interpreter. Why not just start writing a gui editing tool from the beginning and just spit interfaces to a binary format?

I guess this is why glade XML and EFL's edc files bother me. I feel like all this work is being put into the interpreter and the ui text language when the developers could just spend more time making a kick-ass gui tool.

Maybe it's because making good guis is hard...

Pondering Software Design, ripping on HTML

In Software you design using various languages. These languages are used to create abstractions, which combined describe your intentions for the computer. These abstractions are arbitrary, just as the words and gramar of language are. However, once you create a language or abstraction, you are bound by its limitations.

So, lets look at a bit at how we program today, specifically web applications. We write code in some primary language (Java, Python, Ruby, php, etc), which generates HTML, which your browser interprets and renders. On top of HTML you also have Javascript and CSS. In addition there are a number of software layers in between (Toolkits/Libraries). Sound confusing? It is...

The problem with the web programming model, is the fundamental separation of your primary language from the browser and its languages. The other problem is that there are so many ways to abstract concepts. The same design can be done within different layers. But the abstractions are always difficult to translate between the layers. The limitations of HTML often force you to do certain design across layers. Part of your user interface design may be done in template languages connected to your primary language, and some of it is HTML. Even if you abstract everything with these template languages you're constantly having to tweak HTML to achieve your desired effect.

So, what's the solution? To cleanly layer the languages and abstractions. HTML never should have been both a rendering layer and a ui abstraction layer. Either it should deal with primitive drawing, or higher order concepts such as form elements, not both!

What's the whole purpose of a browser anyway? Really it's just to preload code and abstractions on the client side so that you don't have to transfer so much data to create the visual effect you want (render an HTML document). We shouldn't be scared of changing these abstractions and improving the way we program.

We have to separate web concepts from web technologies. Certain concepts, such as the link, will forever be part of our technological culture. But the abstract idea of a link is separate from it's implementation (an anchor tag in HTML). HTML is a mess that we can and should discard. Links can be described and created with other languages and technologies. We should focus on finding and developing better languages, abstractions, and tools rather than constantly patching the broken concept that is HTML.

Wednesday, August 19, 2009

Mysterious Email

So I just received a strange email:

Dear Arlo,

On the eve of the final test in this wonderful Ashes season myself and my wife were faced with a dilemma as to what to call our new born son. Out of nowhere the wonderful lady suggests Arlo which has always brought to my mind an exciting sports report after the humdrum miserableness and gloom that is the news. So it has been decided upon and with a bit of luck the new Arlo will either open the batting for England or play for Leeds when he is 16 and they are top of the premier league!

I hope that you don't mind my message and hope even more that this brings England all of the luck that they need to finish off the Aussies this weekend. Enjoy the coming days and if you have any advice for a newborn Arlo J Cook then it would be most welcome I'm sure.


Tony (his Dad)

At first I thought it was spam, but it doesn't really solicit any information from me. The email headers seemed legit. I ran traceroute on the ip address of the domain and found that it did indeed originate in England. I visited the website and found that Tony is the manager of a real estate agency in England.

So, this person seems real...the question is why did he contact me. I googled my name and found a wiki page for Arlo White:

Apparently, there's an English sports commentator with my name and Tony was trying to get in contact with him. It looks like he may have just grabbed my email from the second google result (my profile page at the Atlassian Forums). I suppose I'll email back and tell him he's got the wrong Arlo.