Entries Tagged 'design' ↓

(artificial) Intelligent Design

Sadly, I need to put aside my K9 Project for a while in order to start in on something else.

However, this is exciting in a different sort of way. I’m working on a dissertation proposal in an area which I identify as “artificial Intelligent Design” (aID) — the application of principles and techniques in Artificial Intelligence to interaction design problems.

My specific project concerns generating maps from web resources. There are scads of interesting problems associated with doing this. Needless to say I rely heavily on Natural Language Processing (NLP) and also the use of ontologies. I’ll post more on this later. In the meanwhile, a bit more on aID.

In many respects, the genesis of this idea comes from a rich tradition in Multimedia Generation. Multimedia Generation generally refers to machines generating both linguistic and non-linguistic content. Good examplars in academic literature are caption generation, the production of mixed media presentations (graphics and text), and gesture / speech generation of interactive dialogue agents. This community was very active during the 1990’s when there were many conferences and funding venues. Natural Language Generation (NLG) is still a very active field but you hear less of multimedia generation these days.

While pondering map generation from text and ontological information, I saw many parallels to multimedia generation. I’m still concerned with generating content from a representation that has access to information about information attributes and display parameters. But when I really started thinking about why map generation is so useful… I began to step back and see a bigger picture. Thus, I see aID as concerned with two ideas:

  1. Automating the more tedious work of design to reduce the designer’s workload
  2. Automating the generation of intelligent content

By intelligent content I refer to:

Content containing information with explicit semantic descriptions of its properties which might include technical metadata, subject
matter information, how the content is typically used or what rights apply to it.” (Bürger 2007)

The first goal is very concerned with the ability to more easily transform content into different views. For example, Chavez and Santos (2006) note that more than 76% of webpages contain geographic names. Yet, web page content these days is still predominantly textual. The ability to ground textual content geographically in an interactive map view may be of interest to those exploring web data. However, it may be quite time-consuming for the designer of web content to produce geo-spatial views.

In terms of the second point, the availability of rich content makes easier the task of automatically enrich content. Thus, the promise of Web 3.0 is the ready availability of rich semantic content, transforming the predominantly textual web to a richer, more interactive experience.

In any case, I’ll talk more specifically about this with regards to map generation in a later post.

Rapid turnaround is vital

Here’s a great 36-minute presentation by Sean Kelly on designing better web apps.

He compares a variety of web frameworks:

  • J2EE
  • Ruby on Rails
  • Zope
  • Django
  • JBoss

One of his main points is that rapid turnaround is the key to a successful User Interface. He says that 3/4 of time and effort is spent on dealing with changes the user wants. So move this button there, tweak this color here… Only 1/4 of time and effort is in planning. (Not sure where these stats come from, but it’s a reasonable enough WAG). As a result, older UIs built with compiled languages just suck (his word, but I share the sentiment). It takes too much effort to make changes. Today using scripting languages, we get rapid turnaround in UI development. We now focus less on widgets and more on layout. And developers work with designers to this end. So Sean asks the question of what frameworks are good for this purpose.

Well, I won’t spoil his story too much. Basically, the web frameworks that use scripting languages (and the ones above use Python and Ruby) are all comparable and tremendously better than things like J2EE and JBoss. Though he prefers one over others, it appears to be more of a personal preference — not everyone will agree with some of his details such as Rails having great documentation.

One language he doesn’t discuss that I’d really like see compared is Flex. Also, something like Flexiblerails that uses Rails for the web application framework and Flex for constructing views.