The Steam Room

design. data. form.

The Design of Everyday Interfaces – 2 (Why meddle with the layout of a regular keyboard)

Part 2 of the series on the design of everyday interfaces.

The keyboard shown below is the standard issue keyboard at my workplace.  The top part of the picture is the old keyboard. Someone wanted to “design” something and came up with the near identical keyboard shown in the bottom half of the image – except for one crucial key (at least for me).

Notice that in the new design, the size of shift key on the left hand side has been reduced by half to make way for a duplicate of the ‘\’ key. Being a heavy user of the Shift key on the left end of the keyboard, I find myself pressing the ‘\’ key by mistake every time I intend to press the shift key. This is not a laptop keyboard where you are constrained by space. If there was a real need to have a duplicate of the ‘\’ key, I would rather provide a general purpose programmable key that a users can map to any key of choice. 

Keyboard-A

Can you think of a reason for the extra ‘\’ key? If yes, please post it as a comment.

Older articles in series:

Part 1

The Design of Everyday Interfaces – 1

Donald Norman is a legendary figure in the field of product design. His book The Design of Everyday Things first published in 1990 stands out as classic that has managed to retain its relevance in the face of the incredible changes we have seen in the past 20 years. I could never look at a door handle or knob the same way after I read his book. A new and updated version of the book was released in November 2013. Donald has also partnered with a couple of other folks to offer a ‘mini’ course on design at Udacity.com.

Inspired by the book and by the course at Udacity, I am planning to document interfaces that I encounter regularly that either frustrate me or make me want to cry because of their sheer beauty (usability). This is part 1 of the a series. I am using some of the content I submitted as assignments for the coursework.

This post provides an example of a good signifier. A signifier is a visual or perceivable signal to the user of an object about an affordance of the object. Affordance is a word invented by Donald Norman. It represents a relationship between a property of an object and the capability of the user. For example, a regular chair provides the affordance of sitting to a person. It, however, does not present the same affordance to an elephant.  The following is an excellent example of a signifier in a Sennheiser Px-100 headphone.

Sennheiser headphone

The dots that you see are only on the left hand side of the headphone. The headphone distinguishes between the left and right side speakers and will fit snugly only when worn the correct way. Normal headphones would have a mark like “L” or “R” to indicate the side. These marks can be hard to read especially in low light conditions as they would be in the same color as the body of the headphone for better aesthetics. I love the fact that someone was thoughtful enough to provide a “physical” way to identify the left side of the headphone.

 

Network Art

Network CableI found this cable in this state in a meeting room today…

Does this qualify as deliberate art or a passionate expression of incredible boredom during a previous meeting???

Feynman on knowledge and learning

My father knew the difference between the knowing the name of something and knowing something
-Richard Feynman in “The Pleasure of finding things out”

My qoute for the day

Amateurs built the Ark… Professionals built the Titanic…

~author unknown

 

noahs_ark  Titanic BW

Image sources:
http://www.garvandwane.com/images/noahs_ark.jpg

http://www.starway.org/Titanic/

Murphy’s law of Tennis

Murphy’s law of Tennis –

The top of a tennis net will attract the ball towards itself.

This is the only explanation for a ball that meets the net that would otherwise sail over it. All the laws of motion indicate that the ball should reach the other court but the law of attraction between the net and the ball has the final word!

Is Information Power?

We have been living in a world where we believe that “Information is Power”. 

Kofi Annan, while addressing the Global Knowledge Conference at Toronto in 1997 said, “Knowledge is power. Information is liberating. Education is the premise of progress, in every society, in every family.”

I would like to live in world where information is NOT power. Information and knowledge should be shared and real power should lie in the use and interpretation of information.

brain-763982-1

Image source: http://www.misconceptionjunction.com/wp-content/uploads/2010/10/brain-763982-1.jpg

Sankey Tank, Bangalore in HDR

Sankey tank is a beautiful artificial lake in Bangalore, India.  This is a HDR processed image taken using a Canon Powershot A630 and CHDK.

 

Sankey Tank

Spatial and Spatiotemporal Databases–Part 1

 

A traditional database stores information about objects of interest in the application world. A data model provides a framework to describe entities of interest. Each entity would have attributes that uniquely define an instance of the entity. The role of a data model is to provide storage and access mechanisms for efficient storage and retrieval mechanisms for the end user. The relational model proposed by E.F. Codd [2] has gained widespread acceptance. The initial adoption of this model was to represent static real world objects and processes. Examples of these are Enterprise Resource Planning (ERP) systems and Customer Relationship Management (CRM) Systems. The adoption of the relational model was accentuated by the SQL standard and its ease of use.

A standard relational database has four broad functional components. They are the Storage and Access manager, the query processing engine, the transaction manager and the user access manager. One of the important roles of the query processing engine is to find an evaluation plan for a given query that would incur the minimum cost. The dominating factor affecting query cost is the number of disk reads that would be needed to fetch all the records satisfying a given query. The other factors include the size of the database buffer in memory, the load (number of concurrent queries) on the database at the given point in time, the distribution of data on disk etc. The traditional approach to improve query performance is to build database indexes that provide predictable access times in the event that an index can be used to execute a query. The B+ tree which is a variant of the B tree proposed by Rudolph Bayer [1] has been the index structure of choice in relational databases. The other index structure that is used is the hash index that uses a hash table to index and retrieve records. The B+ tree is a height balanced tree which is designed in a manner such that each node is at least half full and a node size corresponds to the size of data returned by one disk read (database blocks). The B+ tree is suitable for answering range as well as point queries on one dimensional data.

Many traditional applications of database systems need to model only one dimensional data. There are, however, an increasing number of applications that need to model and query multi dimensional data. Consider the following three successively interesting queries: (assuming we have information about the names and address of all book stores in Bangalore)

  1. List all book stores in Bangalore
  2. List all book stores in Bangalore that are within a 2 square kilometers radius of my current location.
  3. I am currently travelling by bus route number 500. List all book stores in Bangalore that will be within a 2 square kilometer radius of my location when I get down 10 minutes from now.

The first query can be answered by a traditional relational database. The second query, however, requires information about the user’s current location. Given the user’s current location, the query translates into a search for points in a circular geographical area marked by the 2 km radius. Databases that support such queries are called spatial databases. These databases support operations on geometrical shapes. The geometrical shapes are n-dimensional hyper rectangles. The third query not only requires information about the user’s current location but also a prediction of the user’s location at a future point in time (10 minutes from the current time). To answer the third query, we not only need spatial information about the user and the book stores, but also information that depends on time. In this case, the location of the user changes with time and is hence a function of time. Databases that support queries of the third kind are called spatiotemporal databases.

The next post will explore querying on Spatial and Spatiotemporal databases.

References

  1. Bayer, R. and McCreight, E. 1970. Organization and maintenance of large ordered indices. In Proceedings of the 1970 ACM SIGFIDET (Now Sigmod) Workshop on Data Description, Access and Control (Houston, Texas, November 15 – 16, 1970). SIGFIDET ’70. ACM, New York, NY, 107-141. DOI= http://doi.acm.org/10.1145/1734663.1734671
  2. Codd, E. F. 1983. A relational model of data for large shared data banks. Commun. ACM 26, 1 (Jan. 1983), 64-69. DOI= http://doi.acm.org/10.1145/357980.358007

My experiments with HDR photography

HDR stands for High Dynamic Range photography. The amazing thing for me is the fact that our human eye sees in HDR! No camera today can take a single picture that can capture the brightest and darkest areas of a scene with equal lighting. HDR is a classic case where the sum is much much better than the individual parts. HDR is a technique where we take multiple exposures(read photos) of the same scene with different exposures. Each shot is taken at a different exposure. In this manner each photograph would capture different parts of a scene with the correct amount of lighting. We then merge all the photographs using a HDR merging tool. There is a long way to go before I fully understand this art. I am halfway through the tutorial at http://www.stuckincustoms.com/hdr-tutorial/

The following photographs were taken on a weekend drive to Puttaparthi. This small lake is about 60kms from Bangalore. These are taken with my Canon Powershot A630. I use CHDK (http://chdk.wikia.com/wiki/CHDK) for exposure bracketing as the camera does not have built in support for the same. The following are the settings on the CHDK menu and on the camera for these shots:

CHDK:

CHDK Menu->Extra Photo Operations->Bracketing in Continuous Mode

Tv Bracketing Value = 1 Ev, Bracketing Type = +/-

Camera:

Shot Mode – Program (P )

Func/Set->Continuous Shooting Mode->Custom->MENU->Delay=1 Sec,Shots=5

 

IMG_6795 (Medium) Shutter speed = 1/800 sec
Note the color of the sky. The grass in front of the water body is dark. We have the sky but not the grass
IMG_6796 (Medium) Shutter speed = 1/400 sec
The grass is seen properly but the sky is now washed out.
IMG_6797 (Medium) Shutter speed = 1/1600 sec
The grass is dark again but note the setting sun! The sky is also a deeper blue now.
IMG_6798 (Medium) Shutter speed = 1/200 sec
The grass is very bright now. Nothing else is good in this photo.
IMG_6799 (Medium) Shutter speed = 1/2500 sec
Another shot to get just the sun!
IMG_6799_6_7_8_9_tonemapped (Medium) copy HDR Tonemapped.
This is how my mind remembers the scene!