SPRABS.COM | blog : Technical • Travel • Personal | 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.