Friday 13 April 2012

Seeing the world through augmented eyes

In the end of last year, Seth Weintraub, a blogger for 9to5 Google, talked about Google introducing wearable heads-up display glasses. With those, it shall be possible, to augment reality without holding a device in your hands and looking into a small screen. Instead, there is a transparent screen right in front of your eyes, which augments reality with additional information layers.

What sounds like science-fiction Terminator technology now isn't that much science-fiction anymore. Samsung (as covered in an earlier blog post) came up with a transparent display, smartphones and their processing units get faster and faster and furthermore even smaller and are therefore capable of complex calculations like real-time augmentation. So as recent news show, wearable technologies like heads-up display glasses could already become reality this year as Google is testing those devices in the wild, labelled Project Glass.
This is how the latest prototype of Google Project Glass looks like

The device itself processes information gathered from the person's surrounding, augments it with useful information in real-time and displays this information on a transparent screen along the real objects it is assigned to. Paired with voice recognition, the person wearing the device can controll the different functions and express his commands like where he wants to go, what meeting is up next and when, and so on. The possibilites of this is only limited by one's imagination and as shown in the following impressive video could really be useful in everyday life.

 

So what do you think about this development and the blurring of the real and virtual worlds? Do you think this is the future of how our interaction devices will be like?

If you want to stay updated on this matter, visit the Google+ Site of Project Glass.

Sources:
[1] http://9to5google.com/2011/12/19/google-xs-wearable-technology-isnt-an-ipod-nano-but-rather-a-heads-up-display-glasses/
[2] https://plus.google.com/111626127367496192147/posts
[3] http://www.engadget.com/2012/04/06/google-project-glass-sergey-brin/
[4] http://www.engadget.com/2012/04/04/google-testing-heads-up-display-glasses-in-public-wont-make-yo/
[5] http://www.theverge.com/2012/4/4/2925237/googles-project-glass-augmented-reality-glasses-begin-testing

Saturday 7 April 2012

Visualization

‘The man who can’t visualize a horse galloping on a tomato is an idiot’ – AndrĂ© Breton
Visualization is one of the important aspects for data representation. A proper artificial stimulus can produce the same effect as natural objects, with visual stimuli being extremely effective.  In general, visualization helps human to handle vast amount of data easily. The object of visualization is to increase human understanding and readability of complex data by taking advantage of the high-bandwidth human visual channel. In addition, the techniques used in visualization are majority from the field of computer graphics.

A comprehensive definition for visualization is given below ,[2], [1]:
‘Visualization is a cognitive process using the powerful information processing and analytical functions of the human vision system. It has always been a major factor in scientific progress, and now, with the assistance of computer graphics, it extends our vision system from sub-atomic to interstellar dimensions and allows geometric representation and simulations of any multidimensional data set. The fundamental objective is to acquiring new knowledge rather than generating images’.

A modern technique used for visualization is tone mapping. Tone mapping is only dealing with scalar data that came from difference input sources. In addition, tone mapping can extend data range significantly. Furthermore, the scale that the raw data are represented in is not compulsory compatible with sensory response curve of human photoreceptors, and therefore a direct linear mapping of the input data to light intensity does not have the desired visual effect. The majorities of tone mapping techniques work on the spatial domain and are therefore categorized under either local or global process, depending on the nature of the compression.

Transfer function is commonly used in tone mapping.  A transfer function is a special algorithm that mapping a space to another space based on some interest. A common adopt transfer function is based on luminance-chrominance HDR (High Dynamic Range).

In designing a visualization, technical issues is not the one must take into consideration but also the characteristics of the human visual system, that is, matters of perception. As known, human eye are sensitive to variation in intensity as well as chromaticity. A contrast sensitivity research, [3], showing human sensitivity to luminance contrast is very different from human sensitivity to chrominance contrast.  [4] found out that red-green and blue-yellow contrast sensitivity functions have similar spatial bandwidth.

Several color models can serve as intermediate level for conversion. RGB color model generally suffers from high channel correlation and mixing on luminance and chrominance. YUV and YCrCb are used to solve to problem from RGB model as Y channel being the luminance value and the other two channels is a combination of red-green and blue-yellow. These models do not solve entirely the correlation problem because the chrominance channel still correlated. Thus, other color model is required to decouple the channels. XYZ color model and LAB color model offer such requirement.  In addition to LAB color model, it offer a nice property that the L, A, and B channel have a Euclidean relationship. Other color model exists for special proposed such as HSV color model and CMYK color model.   

In conclusion, visualization is the most effective way for human to analyze and manipulate data. Various visualization principles need to consider for achieving highest possible way for conveying information. Once again, a picture is worth that a thousand words !


References:
[1] T. Theoharis, G. Papaioannou, N. Platis, N.M. Patrikalakis. Graphics & Visualization: Principles and Algorihthm.  pp. 231 - 365. A K Peters, Ltd. 2008.

[2] University of Edinburgh. Visualization, 2005.

[3] G.J.C. van der Horst, C.M.M. de Weert, and M.A. Bouman, ‘Transfer of spatial chromaticity-contrast at threshold in human eye’, Journal of the Optical Society of America, vol. 57, no. 10, pp. 1260-1266, October 1967.

[4] K.T. Mullen, ‘The contrast sensitivity of human colour vision to red-green and blue-yellow chromatic gratings’, Journal of Physiology, vol. 359, pp. 381-400, February 1985.

Tuesday 3 April 2012

The Battle of Mobile UIs - Android VS iOS

As many of you already know, there has been this ongoing battle between the two leading mobile platforms for smartphones, namely Android and iOS. So which is really better? Is there any real winner in this war of the mobile platforms? There probably isn't, in terms of overall user experience. However, we can do an analysis in the HCI context, and there might just be a winner with regards to HCI.



HCI Principles \ Mobile OS
iOS (latest: iOS 5.1)
Android (latest: Android 4.0.4 Ice Cream Sandwich)
Visibility – Users should see what functions are available and what the system is currently doing.
Buttons are generally visible and easy to find. The strength of the OS is in its simplicity and ease of navigation.
With the release of Android 4.0 (Ice Cream Sandwich), “hollow theme” was adopted, which got rid of the previous design for a sharp and high contrast UI theme which gives great visibility to the user.
Consistency – Components such as buttons, labels, messages, colour scheme, and menus should be consistent on all screens.
iOS always adopts a very consistent UI design and provides very clear design guidelines for application developers to follow.
Since Android 4.0, it is generally consistent. However, there were some problems with consistency among application developers. Some of the iOS developers that went over to develop apps for android tried to create an iOS-like feel on android, which causes the app to be inconsistent with the rest of the OS.
Familiarity – Use language and symbols that the user will be familiar with or suitable metaphors which help them transfer similar and related knowledge from a familiar domain.
Because of the consistency of iOS across multiple platforms (the different iPhones, iPads, and Apple TV), it creates familiarity for the users. Moreover, it is also quite similar to Mac OSX in with regards to the theme, icons, and general feel.
Android 4.0 is made to be multi-platform for use in both the tablet and phone. This will create a sense of familiarity for users of both Android tablets and phones. However, due to the availability of custom ROMs, there might be fragmentation in terms of user experience, resulting in a possible compromise in familiarity. Also, the inconsistency of designs in some apps might result in the loss of familiarity.
Affordance – Design things so it is clear what they are for.
iOS does follow a standardized conceptual model which is similar in iOS for all their devices. They also have a policy of enforcing their Human Interface Guidelines which creates a similar experience across their apps. This creates affordance in their UI.
Android follows a standardized conceptual model which gives the UI affordance. However,  this might be vary for different applications and custom ROMs as strict guidelines are not properly enforced.
Constraints – Provide constraints so people do not try to do things which are inappropriate.
This is a basic rule that was definitely enforced in the UI design of iOS and iOS apps.
This is a basic rule that was definitely enforced in the UI design of the stock Android OS. However, due to the availability of custom ROMs and not-so-strict
Navigation – Provide support to enable users to move around parts of the system.
Navigation to apps is done in the form of icons from the home screen and notification pulldown menu. This is quite intuitive for the users, and as a result the learning curve is very gentle for new users.
Navigation to apps can be done in the form of icons in the apps page, icons on the home screen, widgets from the home screen, or notifications pulldown menu. The use of widgets may not be as intuitive for users that are new to android.
Feedback – Rapidly feedback information from the system to the user.
iOS provides rapid feedback to the user in the form of sound alerts, status bar icons (battery, wifi signal, etc), popup notifications, progress bar indicators, notification messages via notification pulldown menu, colour changes with changing states of buttons, just to name a few. Thus, overall they do provide proper and rapid feedback to the users.
Android provides rapid feedback to the user in the form of sound alerts, changing states of widgets, status bar icons, popup notifications, progress bar indicators, notification messages via pulldown notification menu, colour changes with changing states of buttons, etc. Overall it is quite similar to what iOS has, with the exception of having widgets.
Recovery – ability to recover from actions, and errors quickly and with ease.
iOS devices have a physical ‘home’ button which also allows multitasking when double-tapped. This helps with recovery by allowing aborting apps quickly and switching between apps quickly.
The Android UI has ‘back’, ‘home’, and ‘multitask’ buttons either integrated as an on-screen button or as a physical button on the phone. This helps with recovery from actions in a familiar way to android users. The default picture editing app also allows for undoing and redoing in case of mistakes. Edited photos are also saved in another folder separately instead overwriting the original file to allow for easy recovery. Moreover, due to the open source nature of Android, bootloaders such as ClockworkMod Recovery are developed which allows easy backup and recovery of the ROM.
Flexibility – allow multiple ways of doing things which accommodates users with different levels of experience and preferences.
iOS is quite inflexible because it does not have much room for customization unless jailbroken.
Android is extremely flexible due to the customization it provides and the open source nature of the OS. It accommodates both the power user and the average user. Open source also means that very advanced users can even modify the OS to their liking to be used.
Aesthetically Pleasing – visually pleasant, appealing, and friendly.
By my personal opinion, iOS is very visually appealing and a pleasant experience to use, with smooth animations and a beautiful design.
By my personal opinion, Android is aesthetically pleasing only after version 4.0 with improved UI design, smoother and faster animations. Prior to that, I felt Android 2.X has a comparably less-pleasant look, and choppy animations.

All in all, I would conclude that there is probably no clear winner between the two mobile OSes in terms in the HCI context (applying the HCI principles). However, it can be noted that while both platforms generally design their UIs well to provide a pleasant and smooth experience for the users, Android has higher flexibility (accommodating the more tech-savvy people with the ease of customization and open source nature of their OS), whereas iOS focuses more on a holistic, intuitive, and familiar experience across all their products (iPhone, iPad, Apple TV, Mac OSX). Competition is between different mobile platforms is always good, because it will push companies to further improve their products and striving to provide a better user experience. Thus, I look forward to the endless pleasant surprises from these two tech giants will showcase in the future with regards to iOS and Android.

Sources - CS3240 Lecture 2 notes by Prof Bimlesh.
Author's Note (XC): Comparisons between the 2 mobile OSes are a result of my own personal opinions, experiences, and knowledge with the both platforms.