Homam's Mind

Monday, December 29, 2008

What is a UI Only Interaction

In our business documents we use a concept named "transaction" to describe requirements and workflows. A transaction is simply a list of jobs including the roles that perform them and their sequential relationship. Although I am not satisfied with this approach, as it is not a standardized discipline, I worked to improve it, you know when your boss keep talking about some sophisticated ideas for more than a year, you have little choices but to endorse his ideas.

Anyway, I was working to model how we deal with UI in this transactions approach yesterday, I thought it's a good idea to record my work here because I have doubts we ever use my model :-)

In business documents describing transactions we define some UI elements related to transactions. So a transaction, lets call Tk has a collection of ejTk of UI elements associated with. A UI element could be a composition of other UI elements, in my notation: ejTk = {viejTk}. In contrast with ejTk These viejTk are a matter of importance for UI designers.

image

image

Em is a composite UI element:

image
A transaction (or user interaction) in user perspective changes viejTk to vi'ej'Tk'. The interaction T will be a UI only interaction if and only if j = j' and k = k'. Business documents don't deal with these kinds of interactions because they are not part of a transaction. For example if transaction T requires a pack of data D to be collected in UI, the UI designer has freedom to collect all the D in a single form or a wizard (utilizing multiple UI only interaction). The business document that described T has stated there's a UI element ejT that collects D, it does not matter for the business document if ejT is a composite element or if the UI designer introduces several UI only interactions.
image
This is a transaction as is seen in UI:
image
This is a generalization of the concept:
image
Saturday, December 13, 2008

PR

Computer world is full of acronyms. But this one is not ours. It is nearly three months that we are searching for a decent PR company to handle our rapports with the public.

I have not been involved in the talks, but since I heard the first buzz in the company I became sensitive on press releases and other PR jobs. Recently I noticed how Facebook publishes small interesting stories about how users use it in the bad way or how and where their system leaks. This is the most recent one: http://www.latimes.com/business/la-fi-facebook13-2008dec13,0,7506669.story

Monday, December 8, 2008

Dig and Win Islands

One of the most exciting features of Dig and Win is its Islands. Anyone who have ever heard of virtual worlds is familiar with islands concept. The most prominent ones are SecondLife Islands. In general islands are parts of a virtual world (or universe) which are independent to some extend and have some kinds of authority.

In my opinion and in Dig and Win architecture, virtual islands are something more than pieces of lands (codes) surrounded by water (universal infrastructure). Dig and Win Islands are more like "island universes", the term first used by Kant in describing some kinds of nebulae. These are independent and somewhat isolated 'complete universes' living on their own, but are being governed by invariant universal laws.

The formal definition reads:

An Island is an instance of Original Dig and Win running own its own, independent of other parts of the Multi-Island Universe.

At a large scale point of view, Islands are terminals of the Multi-Island Universe and act as interfaces between players and the universe itself.

So what is this "Original Dig and Win" is the immediate question that arises. I am not going to discuss it into the details, but for an analogy Original Dig and Win is like the legacy Win32 codes of Windows server. There are a lot of codes written to wrap these codes into more manageable modules. An Island is not totally made of legacy code, but its core is.

As the name suggests Original Dig and Win is something old, it has not been intended for this code to be part of a virtual world. The way we moved from this stand-alone application to a virtual world is an example of how it is possible to integrate individual software applications in very large networks, such as a virtual world. The key in it most ridiculous way is simple: see the isolated software application as a black box and wrap it into interfaces that facilitate its network communications. If you're my boss, don't expect me to incorporate every smaller can into a larger one seamlessly.

I generally enjoyed the efforts, as it showed me how it is possible to extend a business while keeping almost all the old aspects unchanged.

I can't close my first post about Dig and Win Islands without at least, quoting one of their most significant features:

Islands are independent entities. An Island must be able to live on its own, even if its connections to the universe fail.

Thursday, December 4, 2008

Rainy Dubai

Dubai sunny skies is one of the reasons I like it.
But it is the third consecutive day that it is raining.

IMAGE_00159-2 

I took this picture behind the office window looking toward Sheikh Zayed Road. The streets are muddy, but now that I'm writing a glimpse of sunshine is shimmering the city. This is something that I enjoy watching.

Anyway, yesterday I read about MIX 09, 10K Coding Challenge, I generally like the idea as long as it does not make developers to start shortening variable and class member names and obscuring the self-descriptive nature of the code. You know I am a fan of long variable names and code files that look like a story book.

These days I have a boring job implementing services for Dig and Win. These services are meant to make the up-to-date data accessible to Islands and Global Services Host clients.

There's no doubt that I enjoy designing the services but after all time I spent on Dig and Win, it is a pain to look after all the detailed implementations. I die for somebody whom I could sit and talk with about the software philosophy of Dig and Win service oriented architecture.

Here Omid is working on some landforms, I like his works and I hope to put these new ones in an island as soon as this afternoon.

 

Technorati Tags: ,,
Monday, December 1, 2008

Evaluation

This word has found so many meanings in software industry. But today's evaluation in our company is about to telling one staff member how useless he is.

I can't wait today for Hillary Clinton to be officially named secretary of state today. Why it matters to me, I love Clintons, because my childhood memories of self-identification are filled with their names.