SPRABS.COM | blog : TechnicalTravelPersonal | Profession | Photos | About | Contact

Sunday, March 21, 2010

Record of CPSC 436 Work

Lists all the blogs and comments posted as part of CPSC 436 coursework

Paper Blogs

* Assigned paper readings

UIST 2008

IUI 2009

CHI 2009

UIST 2009

Paper Comments

* Comments posted on substitute papers in cases where nobody from class had blogged on my assigned reading.

Book Blogs

Disclaimer

This post was created as part of course requirement for CPSC 436.

Wednesday, March 17, 2010

IE9 Test Drive comes here !

At the recently held MIX10 event, Microsoft proudly launched the Platform Preview of Internet Explorer 9 accompanied with a presentation on the future roadmap and progress made till now in its development. The word catch-up seemed to be written large on the faces of presenters who valiantly put a case for why Internet Explorer 9 would be a good tool to browse future of web with HTML5, CSS3, SVG and AJAX and JavaScript thrown in. Perhaps the highlight for the presenters was when they were able to show how IE9 supports one feature that other browsers could not which was support for latest ICC colour profiles. Needless to mention that presenters did not elaborate on how the platform preview lacked video support or that ALL of the demos present on Platform Preview could be viewed easily in current Firefox version without any hitch (except for one minor feature, tell me if you find it; hint: it is in HTML 5).

To the credit of presenters, one thing that they impressed upon was the graphics intensive nature of HTML5 and why it is a good idea to have a browser than can delegate its rendering to GPU while processor can handle other tasks such as document layout and JavaScript.

While certainly a news worthy event, it would be interesting to see how IE9 matures in coming weeks and if it can introduce any game changer in the browser warfare instead of just catching up to other players. All signs till now indicate – maybe not.

Thursday, March 11, 2010

The Inmates are Running the Asylum II

Alan Cooper

Discussion

Continuing from my previous blog on first half of this book, author says that programmers want more power and control in an application such that it often ends up leading to more complex designs for common user. Most people would rather give up the power to have a simpler interaction with a computer (“less is more”). Programmers do not understand this and it is a mistake to let them design the interaction. Author advocates the need to have dedicated UI designers instead of programmers assuming this role.

Author describes how for many programmers, end user is a distant thing and how often because of working in socially isolated areas, they start harbouring an inferior feeling towards everyday person. Author presents one solution of inventing personas for end user so that programmers design with these in mind. Author presents several case studies in the end of the book.

This book was an interesting read and one could identify with certain descriptions of a programmer. I would have liked to see mention of some way using which a programmer could become "enlightened".

Disclaimer

The work discussed above is an original work by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Multi-Touch Interactions on a Spherical Display

Hrvoje Benko, et al., Microsoft Research

Summary

This paper presents Sphere, a multi-user, multi-touch spherical display with shared projection and sensing paths and 360 degrees access without shadowing or occlusion effects. They also present some new interaction techniques and applications based on Sphere.

Details

Authors were attracted to the concept of a spherical display because of its 360 degrees field of view. While existing such devices were display only, authors combined a Magic Planet display with an IR camera to use the same optical axis as the projector for touch sensing. Touch sensing happens in IR spectrum using light from an IR illumination ring and hence is not disturbed by projector which has an IR cut filter to operate in visible spectrum only. The raw image from sphere is normalised, binary encoded and labelled to enable tracking using a C ++ library. Real time interaction requires runtime spherical distortion correction projection and sensing which was achieved using a vertex shader. Similarly content data needs to be authored in cylindrical or 3D Cartesian models.

image image Authors present a sample application for photo and video browsing which incorporates basic multi touch gestures such as drag, rotate and scale. To facilitate collaboration, auto-rotating (to ensure alignment irrespective of radial position), flicking (inertial flick movement) and send-to-dark-side (flat hand for 1s to send onto other side) were introduced. Circular menu items are selected by using orb like bimanual gestures. Another application for spherical data viewing introduced tether axis to to tether the manipulation of data display. Two games were also created using entire touch area.

User study provided following observations:

  • Photo/video browsing happened independently but data display proved to be a problem due to conflict in multi-user inputs.
  • Users were more willing to interact if display were left with ‘messy’ objects.
  • Radial heat maps showed that there existed no master user position for Sphere although users tend to stay at one position initially.
  • Many users requested zoom functionality in maps.

Review

The device sounds like a futuristic concept which could very well be used in public displays, education and sophisticated control. Zoom functionality in maps could be introduced by zooming only the region indicated by user so that displays for other users remains unchanged. In all a very exciting read.

Disclaimer

The work discussed above is an original work presented at UIST 2008 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Tuesday, March 9, 2010

Foldable Interactive Displays

Johnny Chung Lee, et al., Carnegie Mellon University

Summary

This paper explores foldable projected display with low cost tracking and orientation sensitivity.

Details

Much interest has been attracted towards flexible display but OLED prototypes remain rigid and rectilinear. Authors explore augmenting passive surfaces using image projection and IR dot tracking. While such a system suffers from occlusion problem, minimal object tracking, use of passive surfaces allow various foldable prototype designs such as newspaper, scroll, fan and umbrella. Subtle display movements can be detected by monitoring edges of surface to provide orientation sensitive behaviour. Similarly extra tracking points can be used to provide stylus-like input.

image

Review

This is an exploratory paper and as author admits, there are serious hurdles to be crossed in making this mobile and accurate in tracking. Introducing IR dots seem to counteract potential benefits of using a passive surface in the first place. Using computer vision techniques instead, coloured dots could be used to serve similar purpose.

Disclaimer

The work discussed above is an original work presented at UIST 2008 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Sunday, March 7, 2010

User Experiences Across Multiple Personal Devices

Jeffrey S. Pierce and Jeffrey Nichols, IBM Research

Summary

This paper presents an infrastructure which could be used to seamless experience across multiple personal devices. This attempts the software infrastructure part of the scalable computing problem that I discussed in a previous blog.

Details

Users today work with multiple computing devices but do not have seamless interaction because providing such functionality requires a basic framework which does not exist. Authors set off to develop an infrastructure that would allow exchanging information, events and commands across a user’s devices. They achieve this by elevating device ownership and creating twenty odd applications some of which they discuss in this paper.

image Authors chose to adapt to existing user practices and as a result had to build in room for device unavailability. They based their design on Instant Messaging (IM) architecture for its familiarity and support for various communication modes. They chose XMPP standard or Jabber for its open source and extensible nature. Users create an account in PIE (Personal Information Environment) servers and affiliate their devices as PIE clients. The infrastructure supports services that connect to clients and route messages. This reduces burden on server and makes app development simpler. Finally asynchronous communication support was improved to store and retrieve the most recent version of any shared state information. Applications can either be built as Java client using an Eclipse plug-in or communicate to clients over local socket using XMPP messages.

Amongst various applications built were Notebook and Shared Lists service for modifying common text files and lists across different devices. Another service synchronises or transfers files across personal devices. Send a URL service can open a URL on any device using a Firefox plug-in. Browse and Search Console services allows users to browse or search across multiple devices. Recent Shortcuts and Phone Events shares user history and events. Context service monitor input devices to tag devices  with server side aliases such as InUse or RecentlyUsed. Sever-side aliases were also used to support multiple communication models such as WorkDevices, Laptops, etc. Services register for XML namespaces on clients to handle traffic diverted towards them. Authors have described some sample codes for implementing an example service.

In the user study, 5 developers were given 4 tasks to achieve for which they were timed. It was observed that typically 2/3 of the time was spent in looking up API guides than in implementing tasks. Person 5 who spent a day reading the guide was able to achieve tasks in shortest time. Developers particularly liked reusability of XML namespaces. It was also observed that while some services perform in a peer-to-peer model others need to store most of their data on the server.

Review

I was amazed by the amount of work described in this paper. Not only do authors discuss the infrastructure but also describe several applications built to allow seamless interaction across various devices. I am not sure if authors discuss how a PIE server could be implemented and what happens in case a PIE server itself is unavailable. Another question left unanswered is if PIE clients can acquire the role of PIE server if so required. Authors should be credited for sticking to an open source and extensible framework.

Disclaimer

The work discussed above is an original work presented at UIST 2008 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Friday, March 5, 2010

Re-framing the Desktop Interface Around the Activities of Knowledge Work

Stephen Voida et al., University of Calgary

Summary

This paper argues that current desktop systems are too much focused on documents and applications and that in the age of multi-tasking and collaboration, an activity oriented desktop system has substantial advantages.

Details

Authors present historical background of existing desktop systems and how they are not a good fit for handling ‘fluid work’ practices. Authors start off with a scenario where a person organises his computing into activities and desktop switches context according to current activity of user. Key points here are enabling activity based resource storage, multitasking, tagging and collaboration support. This exist from existing solutions which are either standalone or do not provide contextual resources.

The Giornata interface designed for this purpose feels familiar to the concept of ‘workspaces’ except that instead of fitting activities into fixed workspaces, a ‘workspace’ is created for each new activity. Giornata goes further by providing activity specific storage, contact palette and tags. This supports collaborative work and implicit hierarchical organization of resources instead of having users to handle it themselves.

imageimage

Giornata is implemented as a Carbon, Cocoa and AppleScript based application for OS X and works by adding two layers to existing window manager. Explicit layer provides Contact palette and activity management while implicit layer acts as a persistent information display for each activity. While authors envisage more tools like Contact palette to provide activity-based interaction, they admit that extending closed source window managers and balancing ‘local work’ and ‘communicative interactions’ is technically challenging. Supporting a reliable restore facility in case of system crash would require development of new programming frameworks. User study performed on five people provided positive reviews although authors do not discuss them in detail.

Review

On the face of it, Giornata comes across as an efficient tool in organizing day-to-day activities for anyone who does serious computing work. Parallels can be drawn between mobile apps and Giornata activities and it is clear that such an activity oriented desktop system has substantial benefits.  More than the development of such a tool, I feel the challenge would be to loosely divide various tasks into per-activity or across activity and provide activity specific interactions for former. Authors present Contact palette and resource storage as two such tasks.

Disclaimer

The work discussed above is an original work presented at UIST 2008 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Wednesday, March 3, 2010

Learning to Recognize Valuable Tags

Shilad Sen, Jesse Vig, John Riedl, University of Minnesota

Summary

Tags are ubiquitous on web and this paper explores various algorithms for evaluating tags. Specifically it attempts to find optimum metrics for tag selection, performance of tags based on implicit or explicit user behaviour and performance of each algorithm with rising tag density.

Details

For their research, authors use MovieLens movie recommender website which allows people to tag and evaluate movies and rate other tags using thumbs up or down.

image image

To collect gold standard for tags, authors then asked their active user base to take a survey on tags and feedback. Inspired by prior work, three different metrics were chosen – classification accuracy, precision for top-n and precision of top-n%. While classification ranks a selection algorithm on the classification for all the tags, precision based techniques test accuracy for only the top-n and top-n% tags. Authors chose to proceed with top-n since it was easily interpretable for their tagging system

image

Authors then evaluated a bunch of implicit and explicit tag selection algorithms. The interesting observations made were:

  • Explicit techniques perform remarkably better than implicit ones.
  • The popular technique of ranking tags on the number of times they were applied performs fairly well.
  • A combination of a variety of implicit and/or explicit techniques outperforms other individual techniques.
  • apps_per_movie (Average number of times tag is assigned to a given movie) performs best amongst implicit techniques
  • hierarchical_rating (composite algorithm) performs best amongst explicit techniques

Above results were also validated in a user study. Finally it was also observed that with rising tagging activity, the performance gap between implicit and explicit techniques increases although authors did not check it for tags more than 200.

Review

This was a very interesting paper to read. Authors have done very detailed and scientific study of various tagging algorithms although and considered different metrics before finally choosing one. An open question that authors also mention in their future work is whether the actual performance difference between best and popular tagging techniques is visible to normal user.

Disclaimer

The work discussed above is an original work presented at IUI 2009 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Tuesday, March 2, 2010

Emotional Design

Donald Norman

Discussion

In this book, Don places higher importance on aesthetics in contrast to functionality and ease of use as was the case in his previous books. He discusses how design evokes emotions in people and why some of the designs are so successful in doing so.

I thought this book was fairly interesting in that it covers an alternative aspect of looking at designs. One can find companies like Apple or Google which have built an empire partly if not fully based on emotional appeal. Marketability based on aesthetics or emotional value also have a role to play in any design’s perceived satisfaction.

Don puts a case for a robot’s need to have emotions so that it can learn and adapt, avoid deadlock or inaction by expressing frustration. I feel that some of his ideas are a bit over-generalizing. There already exist several different machines in industry that perform their work with pin-point precision without any hitch. It may be argued that best robot work is one which is done in background without any emotions attached. However to the credit of Don, his comments can be interpreted to lay more emphasis on emotional value of design. Recent publications have highlighted how customising Roomba has lead to increased user satisfaction. It has also been observed in the case of Aibo or Asimo that making robots real-world like in appearance has led to their increased acceptance in domestic market.

Overall I enjoyed reading the book. I feel that it certainly has a point to make but it should be taken with a pinch of salt.

Disclaimer

The work discussed above is an original work by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Monday, March 1, 2010

Do You Know? Recommending People to Invite into Your Social Network

Ido Guy, Inbal Ronen, Eric Wilcox, IBM

Summary

How many times has it happened the last time you paid a visit to your favourite social networking site (SNS) that you would get a recommendation to connect/poke/wink/befriend/link a person that the site thinks you would be interested in. My guess is a lot. This paper discusses a novel UI for presenting these recommendations in an explanatory way.

Details

Authors created a “Do You Know” widget for IBM’s company directory Fringe to connect to people the widget believes they already know. For this the network relies on SONAR which aggregates data from other applications such as organisation chart, publications co-authorship, mutual connections and blog comments. Each such activity is assigned a score which is used to finally make a recommendation. In addition to recommendation, users are also presented with an evidence summary listing the sources (which can further be visited) using which the recommendation was made.

imageFor evaluation purpose, a user study was done over 4 months. SONAR was found to have caused 278% increase in invitations and received several positive comments from study participants. The average no. of connections per user jumped from 11.6 to 39.1 over the period of the study. Despite the fact that people recommended were already known, 31% and 47% found the evidence summary very much and somewhat useful.

Some of the improvements suggested for the widget were enhancing the “No thanks” feature to allow permanent or temporary removal of recommendation, showing only a few random recommendations at a time and allowing multiple recommendation approvals easily.

Review

The interface presented is very nice and clean. It is debatable if such extensive information as was available to SONAR through company intranet is also available to SNS. The solid principle however behind paper is enabling access in a compact interface to the information used for making a recommendation to the user.

Also it would be interesting to see this principle being extended to people who may not know each other but are linked through common hobbies or interests. For ex. the recommendation could read “You would like this person because you share interest in soccer (link to other person’s blog on soccer)”.

Disclaimer

The work discussed above is an original work presented at IUI 2009 by the authors/affiliations indicated at the starting of this post. This post in itself was created as part of course requirement of CPSC 436.

Some thoughts on Scalable Computing

Preface

For some time now, there has been some great interest in what various vendors have been planning for ‘devices of fourth kind’ i.e. devices which are a notch above the processing capabilities of a handheld and a notch above the limited mobility of a difficult to carry notebook or immobile desktop. Apple CEO Steve Jobs recently summed up the popular netbook solution (to widespread cheers from audience) as something which was “better at none” and went on to bill iPad as the solution. A month down the line, media and experts have pointed out too many loopholes in iPad for it to claim this title easily.

While far from over, the race for ‘fourth kind of device’ is not going to be the last such race. I suspect the problem is deeper than this.

Problem

Without further ado, I state the problem as thus: "We currently lack an efficient resource - software as well as hardware - that can be efficiently scaled up or down to meet customer requirements”. We do not need to look much beyond than our handhelds and computers (of any kind) to understand this, each tech-savvy person today has at least two pieces of what we shall refer to as resource. These two pieces of resources while essentially perform the same basic tasks but yet cannot be merged together to work as a single unit, nor can any one of these be further split into two pieces of resource to work independently. Now replace word ‘resource’ in above sentence with either software or hardware and read it again. The resources referred to above can be ones on your handheld devices, notebooks, netbooks, iPads, desktops, calculators or any other computing device. Each of these devices has a piece of software and hardware on them none of which can either be merged or split further.

The problem therefore is to find a method by which software and hardware resources of a system can be easily scaled to market requirements. Frankly speaking, we have been doing a pretty so-so job at this. New flavours of resources have often been reinvented from scratch (case in point being App Store, mobile development frameworks, mobile processors) or concocted from existing solutions (like netbooks from notebooks or operating systems for notebooks). The problem in this ? While reinventing from scratch costs development effort, it also tries to rebrand an existing solution for a problem that needs a new solution. Deriving from existing solutions seems right at first glance but can miss out on the fact that different form factors have different user interaction models and may require sufficiently different interfaces.

Solution

If I tell you the solution, I would have to kill you ! Data warehousing concepts attack this problem for compute farms and servers but not for mainstream customers. Parallel computing is another step in this direction but still in its nascent stages when it comes to being applied for scalable computing. Lenovo U1 is perhaps first device of its kind which tries to solve the problem of scalability.However much more can be done.

While the problem is too complex to be solved singlehandedly, it would require a redesign of hardware resources as we know them today. Instead of being monolithic designs, they would have to afford themselves to modular designs. In shorter run, we can expect more devices like Lenovo U1 and usage patterns like Air Mouse to emerge. It would be interesting to see how software resources are redesigned in such environments. It is still unclear if they would also go the parallel route or continue being developed in branches.

Disclaimer

The above thoughts are an original work of author and copyrighted. Author welcomes feedback / comments / views from all.