C4 – Developing the tools.

The blog post title is in reference to blog post B4, so make sure to read that first.

So can I still describe a “genius loci” ? Or will this be something new ? It is in fact conceptually likened to reverse engineering and it is a real shot at moving the CURRENT design – process into the realm of the guided design performed by the “artificial” intelligence of the computer.  But you have to develop the tools to visualize both process and results also. So I move on to describe the digital tools for it….

Programming for the web.

On the subject of the Database I quickly started to toy with the notion of how to get this project up and running not only as a conceptual design but as a user- friendly web- application. My idea of presentation centers around the interactive abilities of operating- system type applications. That entails a dedicated server for my data and applications. Although I have deeply rooted interests in managing all digital aspects personally I make use of the a plethora of computer applications tailored specifically for these purposes.  I wanted to do this in a very correct and standardized way also, so I began working my way through the concept in a modelling environment.

First I needed sketching of what I wanted to accomplish :

Now this is just an initial use -case UML diagram but I gives me an idea of what I need to accomplish. Moving quickly on to a somewhat more detailed deployment diagram below, you can clearly see that it is specific in the artifacts of the system, but not yet combining that with the operations of the data flowing through the system :

As of now my dedicated website is more or less a standard HTTP – served one. Looking at the next diagram you can see the development of a more sophisticated model. An open source framework for web applications is the way to implement the responsiveness and the user-experience of a desktop application. Moving on to such a system demands firstly some more detailed diagrams of its components.

Presenting a temporary component/deployment UML we can clearly see that making a web application like this is not a trivial task:

Still we have to go much deeper and further. Having touched upon the simpler diagrams I will soon make the leap into more developed material…

It is not generally the intention to introduce experiments through my website but to showcase results of them there. Nevertheless I showcase through the following link the webpage that acts as the client portal for interacting with the software I am producing. It is indeed another layer of abstraction, but in its finished state it will also be the front end of my project and the main .com domain page:

Client Page

Be aware that page will be updated as the project develops. While the complete website linked to has a broad scope, the blog you are reading is narrowly focused on the high- rise Architectural project. As you can discern from the web-page, a more sophisticated web application is necessary to move the client experience into a new era. Web sites historically are not as efficient as desktop applications, as they were intended mainly for information- purposes. So if I imagine visualizing projects for clients via the web,this more than puts a strain on the web- format and its scripting languages. Both user requests and server responses are historically text encoding, so web programming has ultimately been a text processing task. That is why it has been convenient to program using scripting languages. Working in this fashion you are quite limited to what kind of interactivity you can facilitate. While programming for web pages and the document- model the visuals and interactivity of a desktop Graphical User Interface are difficult to reproduce. Imagine a situation where a page contains various form elements related to different tasks in different widgets, and the event- propagation and updating of these widgets. Although your server application could be quite sophisticated, your typical HTML-, PHP-, CSS- and JavaScript- pages are not quite up to the task of interacting with it or the databases. Here I introduce the open source Web Application Framework WT(Web Toolkit), which is able to leverage this issue Using C++ lower level programming, WT libraries, Ajax and particularly,Websockets. No JavaScript to update using DOM manipulations or re- rendering of the web page except for older browser, in which case the framework serves up simpler HTML content. Widgets are at the heart of this framework, correlating to the windows used in desktop applications. The following images visualize the the context of the web page and the sophisticated widget, respectively :

Multisite256As you can imagine there is a somewhat undescribed frontier where text- based web pages meet  desktop applications. As you can see…  :


…. An interactive application widget likened to the one  above is clearly difficult to reproduce using “traditional” Graphic Design. Belive me, I have tried.

For now I have started on the outlines of a more sophisticated web page. I will continue to describe it in the upcoming posts. In short these menus and the user input will function as part of an algorithm, and at the same time helping rewrite that algorithm for every new building generation.  The heuristic and “human” element of the construction of these buildings will be the choices that every user makes when setting the parameters for their building….