UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Design and evaluation of trajectory-based tasks in a thin-seam perspective-corrected cubic display Tang, Yichen 2016

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata


24-ubc_2016_february_tang_yichen.pdf [ 2.35MB ]
JSON: 24-1.0223278.json
JSON-LD: 24-1.0223278-ld.json
RDF/XML (Pretty): 24-1.0223278-rdf.xml
RDF/JSON: 24-1.0223278-rdf.json
Turtle: 24-1.0223278-turtle.txt
N-Triples: 24-1.0223278-rdf-ntriples.txt
Original Record: 24-1.0223278-source.json
Full Text

Full Text

Design and Evaluation ofTrajectory-Based Tasks in aThin-Seam Perspective-CorrectedCubic DisplaybyYichen TangBachelor of Science, Fudan University, 2010A THESIS SUBMITTED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFMASTER OF APPLIED SCIENCEinThe Faculty of Graduate and Postdoctoral Studies(Electrical and Computer Engineering)THE UNIVERSITY OF BRITISH COLUMBIA(Vancouver)January 2016c© Yichen Tang 2016AbstractThis thesis describes the design and evaluation of wire-tracing task in pCubee,an improved version of hand-held perspective-corrected display that allowsthe user to observe and interact with 3D content visualized inside the cubicsystem. In order to overcome visual discontinuity issues identified from pre-vious works, we redesigned pCubee system using OLED panels and FPGA-based display controller to achieve reduced seam size and compact form-factor. We investigated user performance with the new system using atrajectory-based wire-tracing task where users were asked to move a ringalong wires. Experiments were conducted to evaluate the impact of ringradius, wire length and curvature. Analysis of results revealed that a linearmodel similar to the steering law for 2D tunnel task applies to 3D trajectory-based task in pCubee as well, exhibiting an increase of task completion timewhen smaller ring or longer wire is used. Our study complemented the the-ory that 3D interaction in virtual reality system follows existing principlefor 2D tasks, and also identified a potential method to evaluate interac-tion designs for geometric displays. This work could help motivate futuredevelopment of pCubee and guide interaction design for similar systems.iiPrefaceAll of the work presented in this thesis was conducted in Human Communi-cation Technologies Laboratory at the University of British Columbia. Allexperiments and associated methods were approved by the University ofBritish Columbia’s Research Ethics Board (Certificate Number H08-03005).The hardware design in Chapter 3 was done by myself, with OLED pan-els available in HCT lab and development kit sponsored by Altera. Displaymechanical design was based on the original pCubee project by I. Stavness,B. Lam and S. Fels (2010). Modifications were made to accommodate dif-ferent dimensions and structure of the new system. J. Wang was involved inthe design of 3D printed chassis and contributed to configuration and tuningof the printing device. I owned FPGA development for display controller,referenced datasheets and application notes provided by display panel man-ufacturer, and designed customized features to support multiple displays.Except for the DVI-HSMC transceiver card purchased from Terasic and Ar-duino Micro development board, all other peripheral circuits were designedby myself and printed in a local PCB house.The software system for new pCubee was modified from B. Lam’s originalcode. B. Lam implemented head-tracking feature including off-axis projec-tion, matrix transformations and calibration which were reused in this work.I updated some of the original models, added an abstraction layer in order tosupport later versions of PhysX engine, and introduced touch input deviceinto the scene control.I was the lead investigator responsible for user studies in Chapter 4. I.iiiPrefaceStavness, B. Lam and A. Ho contributed to early stages of system develop-ment and experiment design, including the execution of user studies, datagathering and analysis. Professor S. Fels was actively involved throughoutthe project in concept formation, design iterations and manuscript edits.Part of this work has been published in CHI 2014 Interactivity session.Yichen Tang, Ian Stavness, and Sidney S. Fels. 2014. The new pCubee:multi-touch perspective-corrected cubic display. In CHI 2014 Extended Ab-stracts on Human Factors in Computing Systems (CHI EA 2014). ACM,New York, NY, USA, 419-422.This research project was funded by the Networks of Centres of Excel-lence of Canada through GRAND, the Graphics, Animation and New MediaNCE.ivTable of ContentsAbstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiiTable of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . vList of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiiList of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixAcknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . x1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 Evaluation of Trajectory-Based Tasks in pCubee . . . 41.1.2 A New Hand-Held Perspective-Corrected Cubic Dis-play System Design . . . . . . . . . . . . . . . . . . . 41.2 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . 62 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1 Geometric 3D Display Technologies . . . . . . . . . . . . . . 72.2 User Interface Design for Geometric 3D Display . . . . . . . 102.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Design and Analysis of the New pCubee System . . . . . . 143.1 Hardware Design . . . . . . . . . . . . . . . . . . . . . . . . . 143.1.1 OLED Screen Controller . . . . . . . . . . . . . . . . 173.1.2 Peripheral Circuits . . . . . . . . . . . . . . . . . . . 25vTable of Contents3.1.3 Touch Controller . . . . . . . . . . . . . . . . . . . . . 283.1.4 3D Printed Chassis . . . . . . . . . . . . . . . . . . . 293.2 Software System . . . . . . . . . . . . . . . . . . . . . . . . . 313.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.1 Design Review . . . . . . . . . . . . . . . . . . . . . . 323.3.2 Limitations and Alternate Solutions . . . . . . . . . . 333.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Evaluation of Trajectory-Based Tasks in pCubee . . . . . . 384.1 Wire-Tracing Task . . . . . . . . . . . . . . . . . . . . . . . . 394.2 Experiment Design . . . . . . . . . . . . . . . . . . . . . . . 434.2.1 Apparatus . . . . . . . . . . . . . . . . . . . . . . . . 434.2.2 Procedure . . . . . . . . . . . . . . . . . . . . . . . . 444.3 User Study 1: Effect of Ring Radius . . . . . . . . . . . . . . 464.3.1 Conditions . . . . . . . . . . . . . . . . . . . . . . . . 464.3.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . 484.3.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . 504.3.4 Discussions . . . . . . . . . . . . . . . . . . . . . . . . 514.4 User Study 2: Effects of Wire Length and Curvature . . . . 534.4.1 Conditions . . . . . . . . . . . . . . . . . . . . . . . . 534.4.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . 564.4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . 574.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.1 Potential Applications . . . . . . . . . . . . . . . . . . . . . . 615.2 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . 625.2.1 Tracking Technology . . . . . . . . . . . . . . . . . . 625.2.2 Cross-Screen Multi-Touch . . . . . . . . . . . . . . . . 635.2.3 Trajectory-Based Tasks . . . . . . . . . . . . . . . . . 645.2.4 Comparison of Geometric Display Technologies . . . . 64Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65viTable of ContentsAppendicesA Board Schematics and Layout Designs . . . . . . . . . . . . 70B User Study Questionnaire . . . . . . . . . . . . . . . . . . . . 78viiList of Tables3.1 Comparison between old and new pCubee display solutions . 163.2 4-wire touch signals . . . . . . . . . . . . . . . . . . . . . . . 284.1 Pilot study: failure rate of various radius . . . . . . . . . . . 484.2 User study: response and average score . . . . . . . . . . . . 524.3 User study: wire conditions . . . . . . . . . . . . . . . . . . . 554.4 User study: failure rate of length and curvature conditions . . 57viiiList of Figures3.1 FPGA-based video controller system diagram . . . . . . . . . 183.2 Video controller system peripheral circuit design . . . . . . . 263.3 3D printed chassis . . . . . . . . . . . . . . . . . . . . . . . . 303.4 Multi-touch gestures . . . . . . . . . . . . . . . . . . . . . . . 314.1 An example of wire maze game device . . . . . . . . . . . . . 414.2 Wire-tracing task visualized in pCubee . . . . . . . . . . . . . 424.3 Comparison between 2D tunnel task and wire-tracing task . . 424.4 3D print model of physical ring attachment on magnet sensor 434.5 Experiment procedure . . . . . . . . . . . . . . . . . . . . . . 454.6 Five rings with different radius . . . . . . . . . . . . . . . . . 474.7 Linear regression of Mean Time v.s. Radius . . . . . . . . . . 504.8 Nine wires with different length and curvature . . . . . . . . . 544.9 Linear regression of Mean Time vs Wire Length . . . . . . . . 56ixAcknowledgementsI would like to thank my supervisor Professor Sidney Fels for guidance andsupervision, especially for his invaluable suggestions for me to overcomechallenging tasks and fight against various distractions. I would not havebeen where I am without his patient and continous encouragement.Thanks to Gregor Miller, Ian Stavness, Billy Lam, Antonio Sanchez,Andrew Ho, Abir Al Hajri, Matthew Fong, Johnty Wang and all HCT andMAGIC friends for support and feedback. Best wishes to your future en-deavors.Finally, thank you mom and dad for your love and support.xChapter 1IntroductionA Virtual Reality (VR) system, as defined by Cruz-Neira et al. [7], is onewhich provides real-time computer-generated head-tracking perspective withinteractive control and binocular display that allows users to interact withalternate reality. Researchers have exploited various technologies in orderto provide convincing virtual reality experiences. Each solution excels atdifferent aspects. Some focus on immersive experiences, like the CAVE Au-tomatic Virtual Environment system [7]. With images projected onto wallsof a room, it allows users to step into a surrounding virtual space, see itfrom different angles and navigate around the world. Head-Mounted Dis-play (HMD) provides similar immersive feelings as well as extraordinaryimage quality in a smaller form-factor. Another solution, referred to asvolumetric display [20], aims at illuminating actual physical points in thereal world using advanced technologies like laser beams and spinning films,producing realistic viewpoint-independent virtual Three-Dimensional (3D)worlds.Perspective-corrected geometric display technology, which extends theconcept of Fish Tank Virtual Reality (FTVR) display by arranging multi-ple flat panels together to form a geometric shape (e.g. a cube) to providehead-coupled perspective, stands out as a promising solution with its var-ious advantages. By tracking the viewer’s head position and adjusting theimage perspective accordingly on each screen, geometric display offers astrong 3D clue with motion parallax, creating an illusion of realistic ob-jects being contained within the physical area enclosed by display panels.Unlike other VR display solutions, no sophisticated circuitry or excessivemechanical setup is required. Therefore, the display can be designed to be1Chapter 1. Introductionas compact and lightweight as a small personal hand-held device. Geometricdisplay also inherits advantages of flat LCD or OLED display technology,including the slim form-factor, low power requirement, continuously improv-ing image quality and native support for touch input.The unique form-factor of hand-held geometric display has introducedchallenges in interaction design. In pCubee system [20], our cubic perspective-corrected geometric display, a virtual cubic volume overlaps with the phys-ical area formed by display panels, creating a strong illusion of realisticobject existing within this space. The alignment between virtual volumeand the actual physical geometric shape brings opportunities for designersto create consistent visual experience that expands to both virtual and realworld. There are many questions to be answered for this novel display be-fore effective interaction designs can be implemented. For example, amongmultiple methods for 3D manipulation tasks (e.g. direct mapping, virtualwidgets, or ray-based pointing), which one would be more suitable for thescenario in a perspective-corrected cubic display is currently unknown. Itwould also be useful to understand the difficulty levels of various tasks thatcan be performed in pCubee and identify which tasks are better supportedby this type of system. Furthermore, unlike traditional display which servesonly as an output by providing feedback according to the user’s input fromother devices (e.g. mouse or trackball), the geometric display itself canbe manipulated and used as a six Degree-of-Freedom (DOF) input device,which also presents a unique challenge of combining both input and outputeffectively in a single equipment. Lastly, it is worthwhile to understand howuser perform differently on the same task implemented separately in virtualenvironment and real world, which can provide valuable information for de-signers to create more realistic interactions to fill the gap.To start with a small step, in this thesis we would like to study the fun-damental principles of user interactions in perspective-corrected geometricdisplay system. For linear pointing and selecting task, Fitts’ Law [11] isa robust regularity describing the mathematical relationship between user21.1. Contributionsperformance and task difficulty. Steering law extends the model to 2Dtrajectory-based movement task. If a similar regularity could be discov-ered for 3D tasks in pCubee, we would have a model that can both describeuser performance on our device and gauge effectiveness of interaction designobjectively.Inspired by 2D tunnel task used for steering law evaluation, we investi-gated a trajectory-based 3D manipulation task where the user have to movea ring along a given wire without the two objects colliding with each other invirtual 3D environment visualized in pCubee. We designed this wire-tracingtask to evaluate three potential factors that may affect task completion timein user studies. Two experiments were conducted in order to test whethera linear relationship similar to the steering law model proposed by Accot etal. [1] applies in 3D trajectory-based tasks. The outcome from our analysisof data can help us gain better understanding of user performance on 3Dmanipulation tasks in hand-held geometric displays, and motivate furtherdevelopment on novel interactions around this technology.Previous work on the old pCubee system revealed a visual discontinu-ity issue that affects user performance in multiple tasks. As an effort toaddress this issue before conducting our experiment, a redesigned pCubeesystem was implemented to take advantage of latest OLED display tech-nologies, customized FPGA-based display controller as well as a lightweight3D-printed chassis. The new system features thinner display seams andbetter image quality in a smaller form factor. We will continue identifyingadvantages and limitations of the system in order to provide improved 3Dexperience.1.1 ContributionsThe research presented in this thesis provide the following two major con-tributions.31.1. Contributions1.1.1 Evaluation of Trajectory-Based Tasks in pCubeeTrajectory-based task such as following a curve in virtual 3D environmentis challenging due to multiple reasons such as limited feedback of depthon virtual reality systems. It is valuable to understand whether 2D inter-action principles apply in virtual 3D environment. We investigated twosets of trajectory-based tasks where user moves a ring along wires in ourperspective-corrected display. The research question we tried to answerfrom this study is whether a model similar to the steering law for 2D tunneltask can be identified to describe user performance for 3D trajectory-basedtasks, if such a model exists, what the contributing factors were for wire-tracing tasks, and what modifications were required on the original linearmodel in order to correctly reflect user performance in our scenario. Fur-thermore, this research presented a potential method of investigating howtrajectory-based task and the linear model can be applied to evaluate theeffectiveness of interaction designs in geometric displays.Along with our study of wire-tracing task performance, a qualitativesurvey was also conducted to gauge user experience and preference on inter-action mechanisms used in pCubee. User feedback revealed limitations ofour system that can help guide future iterations of hardware developmentand interaction design.1.1.2 A New Hand-Held Perspective-Corrected CubicDisplay System DesignIn order to ensure our evaluation of trajectory-based tasks is not underminedby the visual discontinuity issue in pCubee identified previously, we com-pletely redesigned the perspective-corrected display system incorporatingOLED display panel, FPGA display controller and 3D-printed chassis. Thenew pCubee brought several improvements over existing system as describedbelow.• With thinner OLED panels we were able to reduce screen bezel width41.1. Contributionsfrom 23 mm to 6 mm. The thinner seam width helped reduce visualdiscontinuity caused by occlusion when the user changes viewpointfrom one screen to another, which discourages cross-screen view changeand limits how the user interacts with the display. As previous studyindicated, smaller seam will motivate user to utilize more than onescreen and change viewpoint more frequently, which helps them toaccomplish visualization tasks such as 3D path-tracing faster and moreaccurately.• The new system with lightweight 4.3-inch OLED panels and 3D printedplastic chassis was smaller and lighter than the previous one withwooden frame and 5-inch LCDs. New design allowed it to fit better inone hand, making the whole display easier to manipulate and reducingfrustration when prolonged bi-manual interaction tasks are conducted.• Higher contrast and wide viewing angle introduced by OLED panelsgave the user better visibility when the screen is tilted, resulting inconsistent visual experience and stronger 3D illusion.• Resistive touch panels were attached to all our displays to enable track-ing of single touch behavior on each panel. Combining informationreceived from all five panels, we were able to create cross-screen multi-touch gestures for manipulating virtual objects within the display.• Last but not the least, a FPGA-based display controller was designedto replace 5 independent VGA-LVDS conversion board, eliminating theneed of multiple VGA output from PC as well as several peripheralaccessories. Hardware complexity of new pCubee system was signifi-cantly reduced to enable easier carrying and setting-up the portablesystem.51.2. Thesis Structure1.2 Thesis StructureThe remainder of this thesis is structured as follows: Chapter 2 surveysprevious literature on geometric displays and related interaction designs;Chapter 3 outlines hardware and software design and analysis of the newpCubee; Chapter 4 covers user studies we conducted to evaluate user perfor-mance on new pCubee and corresponding results; Chapter 5 concludes withdiscussions on our findings and suggestions on future research directions.6Chapter 2Related WorkAs personal computing devices become more and more portable and pow-erful, there has been increasing attention in nontraditional user interfacesthat create intuitive experiences. With the advent of virtual environments,augmented reality and mixed reality technologies, the 3D user interface isbecoming a critical area for researchers and developers to understand. Oneof the recognizable barriers is the limitation of display technologies. Whilecomputer graphics has improved drastically in past years, allowing realisticimages to be generated, most users still interact with 2D projections of 3Dvirtual worlds, using the same basic principles and designs for traditionaldesktop interfaces. Increasingly, efforts have been made to investigate 3Ddisplay technologies and interactions supported by these new technologies.In this chapter, we review previous literature in two major categories.First, we summarize our survey on development of geometric 3D displaytechnologies and existing systems similar to the new pCubee, identify theunique characteristics of this type of display and discuss factors that promptedour redesign of the pCubee system. Then we explore previous studies oninteraction designs and point out remaining challenges for this hand-helddisplay.2.1 Geometric 3D Display TechnologiesContinuous efforts have been put into the development of 3D display devicesthat can visualize realistic 3D objects in physical space, classified as volu-metric displays [20]. By illuminating corresponding physical points (static72.1. Geometric 3D Display Technologiesor swept-volume displays) or providing autostereoscopic horizontal-parallaxviews in multiple degrees (multi-view displays), volumetic displays are ableto present vivid 3D images to multiple viewers at the same time. However,these benefits come at a cost of reduced resolution, slower refresh rate andlimited image quality. Volumetric displays also require complicated setupthat make them only suitable for desktop applications.Research has been done to explore the possibilities of utilizing flat-paneldisplay technology in 3D display design, hoping to inherent the benefitsof this mature technology and bring better image quality to 3D displays.The early work on this type of display technology took place in 1980s whenFisher [10] used a monitor with head tracking to provide different views tothe user by displaying pre-computed images. A similar system was devel-oped by Venolia et al. [32] to provide pre-rendered stereoscopic images withhead-coupled perspective. Deering [8] described mathematical details aboutgenerating high-quality head-coupled stereoscopic images on a CRT monitor,taking the screen curvature and glass thickness into account. McKenna [25]used a 3D target reaching task to compare three different types of displays,including a fixed-display monocular system with head-tracking, a mobiledisplay monocular system, as well as a hand-held display, and reported bestresults on the head-tracked system.Arthur et al. summarized similar approaches referred to as Fish TankVirtual Reality (FTVR) technology in their work [3]. A typical FTVR sys-tem requires a head tracker to determine the user’s real time point of view.Based on this information, computer graphics software adjusts rendered im-ages on a flat screen to present the corrected view from the user’s perspective.Unlike volumetric displays that provides 3D effects by illuminating actualphysical voxels in space, FTVR displays rely heavily on motion parallax inorder to create their 3D effect, because they essentially only generate 2Dimages. Motion parallax is a monocular dynamic 3D cue delivering motion-induced depth perception [33]. It causes objects closer to the viewer to movemore quickly across the visual field and object farther away to move more82.1. Geometric 3D Display Technologiesslowly. Combining other auxiliary depth cues including relative sizes, occlu-sion, shadows and texture gradient, FTVR display can deliver realistic 3Dexperience to the user with a simple and lightweight setup. The flexibility ofthis technology enables it to be supported by commercial mobile productssuch as Amazon Fire Phone and Nintendo 3DS consoles.While being simple and fairly effective, single FTVR display systems onlysupport limited viewing angles. Virtual objects will be cut off by screen bor-der if the user moves beyond certain angle, causing mismatches that hinder3D effect. Geometric display effectively overcome this issue by arrangingmultiple FTVR displays into a geometric shape such as a cube, allowing theuser to continue observing virtual object beyond screen boundaries. Whilecreating competitive 3D effects as volumetric displays, geometric 3D displayinherits all benefits from FTVR technologies, such as high resolution, widecolor range, low latency as well as mechanical flexibility. However, in mostcases geometric display only supports one single user at a time, as the per-spective can only be adjusted to accommodate one view point. This limitsthe display’s potential for collaborative tasks and public scenarios, but hasless impact for personal usage in either hand-held or desktop setup.One of the earliest geometric display system is the CAVE AutomaticVirtual Environment [7], which uses the walls of a room as back projectionscreens. The system allows a user to walk into the inward-facing vitual en-vironment and navigate around to interact with the immersive 3D world.Cubby, a scale-down version of the CAVE system using similar inward-facingmechanism was presented by Djajadiningrat et al. [9]. In these displays, vir-tual 3D space overlapped with real physical cubic area in front of the panels,thus creating an immersive illusion allowing the user to reach into virtual 3Dworld and even “touch” virtual objects. However, inward-facing geometricdisplay has to be seamless otherwise the occlusion caused by screen borderswill severely impact 3D effect. As a result, back-projection seems to be thebest solution suitable for this type of display but also makes it difficult toimplement in a small and portable form-factor.92.2. User Interface Design for Geometric 3D DisplayOn the other hand, outward-facing geometric display has better toler-ance on screen borders since virtual 3D environment appears to be confinedinside the area constructed by multiple screens so appropriate occlusion canbe accepted. For example, Inami [17] demonstrated MEDIA CUBE withfour display panels mounted to sides of a cubic box. gCubik [22] provedthe possibility of utilizing lens arrays to filter pre-rendered images of mul-tiple perspectives to a selection of viewing angles at a sacrifice of displayresolution. Cubee [31] arranged five desktop LCD monitors into a cubicframe that hung from a truss to allow easier manipulation. pCubee [30] wasa smaller version of Cubee that replaced desktop LCD screens with 5-inchLCD panels, allowing the whole display to be held and manipulated in onehand. Lam [19, 20] evaluated this hand-held perspective-corrected cubicdisplay and identified how visual discontinuity resulting from different seamsize impacts path-tracing task performance and discourages users from mov-ing viewpoints from one screen to another. Their results indicated that aseam width between 3 mm and 13 mm seems to be the most effective size fora similar screen-to-seam ratio condition, resulting in reduced mean responsetime and mean error rate.As a drawback from inverting the screen arrangement, outward-facingdisplay provides weaker immersive experience, and limits any interactionwith virtual objects outside of the screen boundary. Movement mapping orprojection is required for 3D manipulation tasks in virtual world, increasingthe challenges in interaction design.2.2 User Interface Design for Geometric 3DDisplayWhile traditional user interfaces like mouse and keyboard are still prevalent,there are more and more non-traditional devices and interface components102.2. User Interface Design for Geometric 3D Displayemerging. In the case of geometric display, it is already confirmed by multi-ple researchers [15, 20, 25] that traditional mouse is not an effective interfacefor object manipulation in virtual 3D environment. In order to identify thebenefits brought by the unique hand-held geometric display and achieve adeeper understanding of interaction designs for similar display technologies,Lam et al. conducted multiple studies on previous pCubee system. Theyfirst studied visual discontinuity on head-coupled display using a radial span-ning tree-tracking task [20] and identified the effect of display seam size. Itis reported that small-range structured rotation with high quality visual-ization, such as a single-screen head-tracked display, would be sufficient forpath-tracing visualization tasks, reaffirming the findings of Ware et al. [34].Then they designed a spatial reasoning task where the user had to compare3D cubes using mental rotation. They compared task performance underthree different conditions (desktop+mouse, desktop+pCubee and pCubee-only) and reported differences in mean error rates and response times. Theresults indicated that pCubee did not significantly outperform the desktopdisplay, primarily due to seam occlusions and restraints on manipulating thedevice resulting from the cables, the size and weight of pCubee. However,subjects’ feedback revealed that pCubee is highly preferred and intuitivechoice for performing the cube comparison task. Further experiments [19]were carried out on more complex tasks such as solving 3D puzzles thatrequire coordination of selection, translation, rotation and placement tasks.Although users were significantly faster in solving physical puzzle on a deskcompared to doing an identical virtual task within pCubee, this work demon-strate the potential and challenges of using hand-held geometric display asan interactive platform for real-world tasks. Throughout all these studies,it is pointed out that display seam size is one of the major issues impactinguser performance on different tasks and therefore should be taken care of infuture generations of the system.Aside from visual discontinuity issue, it is reported that people oftenfind it inherently difficult to understand 3D spaces and interact with vir-tual objects in 3D environment simulated by computer [14]. Although we112.2. User Interface Design for Geometric 3D Displaylive in a 3D physical world and interact with 3D objects all the time in ourdaily life, there are lots of constraints and affordances on which we can baseour actions [28]. Objects around us are designed to have their own movingtrajectory so that the user only needs to spend minimum effort to makethe object move as it should. For example, a door swings only around thehinges and a key can only be inserted straight into the lock. Any violationof the rule will cause confusion. However, in free 3D space, a user doingtasks such as free translation and rotation is usually not able to benefitfrom these extra visual constraints as well as haptic feedback. Therefore theuser has to spend more efforts in order to accomplish similar tasks in virtualspace. Because of the described difficulties in 3D interaction, proper systemdesign is required in order to provide an experience close to real-world tasks.Efforts have been made to explore suitable interaction designs for 3D ma-nipulation tasks [4]. Smith et al. tried to apply 2D constraints to 3D scene toassist the user in placing tasks [28]. Martinet et al. also evaluated possibili-ties of separating DOF [23, 26]. Additional hand-held devices [21, 27, 35] ormetaphors [29] were also introduced for virtual object manipulation. Despiteuser input method, the 3D user interface components should also be care-fully designed [18], especially for different types of display technologies [13].Before proposing any new interaction designs, we have to first under-stand whether any fundamental regularities exist for user interactions withgeometric 3D display, so that a model independent from tasks can be usedto describe and evaluate the effectiveness of user interaction designs. Forexample, Fitts’ law [11] is a widely adapted and robust model to describethe relationship between cursor travel time and object dimension for targetacquisition tasks. Previous work [6, 12, 24, 36] has already shown that thetime taken to select an object using a 3D point cursor in volumetric displayfollows Fitts law, and will thus be a function of the travel distance. Thepopularity of Fitts’ law is also because of its Index of Performance (IP)parameter, which describes the effectiveness of a certain system and canbe used to compare the quality of different designs. If a similar regularity122.3. Summarycan be found for tasks other than pointing and selecting in pCubee, it maybe used to motivate and guide further interaction designs with usability inmind.2.3 SummaryIn this chapter, we summarized the development of geometric display tech-nology and related usability studies. We identified limitations of previoussystems and discussed design challenges for both display itself and interac-tions with the system. Main issues impacting user experience such as seamsize were highlighted, which motivated the design of new pCubee system.We also pointed out that in order to design proper interaction mechanismsfor pCubee, fundamental rules for user interactions in head-coupled geomet-ric display have to be investigated.13Chapter 3Design and Analysis of theNew pCubee SystemAs a major revision of our previous system, the new pCubee is designedwith primary focus on resolving existing issues discovered by studies usingthe earlier prototype. With various improvements on both visual and hapticexperience, the new pCubee system allows us to carry out experiments totake a deeper look into how user interacts with virtual world in the displaywithout worrying about distractions or discontinuities that impact user per-formance. Besides, with the addition of interaction mechanisms includingcross-screen multi-touch support, the new pCubee extends its function fromonly a hand-held cubic 3D display to becoming a virtual reality interactiveplatform. This chapter will cover detailed designs of the new system, criti-cal decisions made during the development, and discussions about trade-offsand next steps.3.1 Hardware DesignThe most distinctive change in new pCubee hardware is the replacementof LCD screens using five AMOLED panels in favor of their better displayquality and thinner bezels. But this change actually pushed us to pursuea complete redesign of the whole system. Because driver technologies andrequired signals for OLED are different, existing display solution could notsupport OLED panels. We gave up on using multiple independent VGA toLVDS signal converters to forward video signal directly from PC to displaypanels because of two reasons. First, instead of using a bundle of wires to143.1. Hardware Designtransmit differential LVDS signal pairs, the OLED panel only supports par-allel signals transmitted by a fine-pitch (0.3 mm) Flexible Flat Cable (FFC).In order to maintain acceptable signal quality, the length of FFC cable hasto be much shorter, making it difficult to separate signal converter boardand OLED panels like before. On the other hand, if OLED signal converterboard is used, we would end up building a large box of five converter boardsas well as two VGA signal splitters, because each panel requires an inde-pendent input and driver board. It is impossible to fit all these boards intothe cubic area without attaching a much larger base. Therefore, instead offollowing similar solution from previous pCubee, we designed a customizedFPGA-based video controller that drives all OLED panels directly, whiletaking only one input from PC. Table 3.1 provides more detailed differencesbetween two display solutions.Except for changing video controller, the smaller form-factor of OLEDalso requires a redesign of the chassis. A detachable 3D printed chassis isused to replace the wooden frame on our previous pCubee, reducing weightto make it easier to manipulate the display without sacrificing robustness.It is also possible for us to utilize resistive touch panels mounted on top ofOLEDs to support touch input on all 5 sides of the cubic display, whichfurther expands the possible applications of new pCubee.153.1.HardwareDesignItems Old pCubee New pCubeePanel type LCD OLEDPanel dimension (inches) 5 4.3Viewing angle (degrees) 100 176Panel thickness (mm) 6 3Panel bezel size (mm) 10 2Final bezel size (mm) 23 6Video signals LVDS parallel or serial RGBNumber ofcontroller boards required 5 1Power supplies 5 power supply units for each LCD 1 ATX power supplyController board VGA to LVDS signal converter DVI to multiple parallel controllerController source Purchased with LCD Designed in-houseController chip proprietary CPLD-based solution Altera Stratix III FPGANumber ofseparate video inputs required 5 1Frame per second 60 30Touch overlay None 4-wire resistiveTable 3.1: Comparison between old and new pCubee display solutions.163.1. Hardware DesignThe hardware design of pCubee contains four major modules: (1) OLEDscreen controller, which drives each OLED screen with appropriate clockand pixel data; (2) peripheral circuits and connections, including DC/DCcircuitry which provides appropriate power supply for FPGA and OLEDdual voltage diode; (3) touch controller, which actively scans and detectssingle finger touches on all panels and reports coordinates via USB; and (4)3D printed chassis which defines the device dimension and accurately holdsall boards, panels, and sensors in their designed positions in pCubee. Wewill go through details of each module respectively in following sections.3.1.1 OLED Screen ControllerThe display controller of new pCubee is a highly hierarchical design. Majorchallenges in designing the new system include:• Instead of using existing signal converter boards in our previous pro-totype, we have to manually design a display signal transmitter thatcan provide appropriate signals required by OLED panel driver IC,including specific timing signals, formatted RGB data and SPI controlcommands.• Instead of taking care of one screen, our controller should have enoughbandwidth and processing power to be capable of driving at least threeindependent displays simultaneously.• The controller is expected to receive images for all five screens simul-taneously via a single video output from PC.The core of OLED screen controller is a FPGA-based video signal pro-cessing system implemented on an Altera DE3 development board with aStratix III series EP3S340F1152C2 FPGA chip. The system takes inputfrom a PC or laptop’s graphics card through a single DVI-D connector,generates appropriate video streams for each OLED panel by picking froma large 1280 * 1024 input stream and adjusting pixel formats and timing,then drives OLED panels with corresponding data.173.1.HardwareDesignFigure 3.1: System block diagram of FPGA-based OLED screen controller.183.1. Hardware DesignThe controller also handles panel driver power-on/off, initialization se-quences and image/color testing on OLED panels. All these features imple-mented in Verilog and programmed onto the FPGA development platform.The system block diagram 3.1 illustrates different software componentsof the OLED screen controller system. We have three groups of modules toprovide three simultaneous video output to screens on top, left and front sideof pCubee. To save FPGA resource and reduce output bandwidth, imageson right and back screens are directly duplicated from left and right screenrespectively. Actual image will be switched based on real time viewpoint.pCubee software determines which screen is not visible depending on datafrom head tracker and flip images when necessary.Except for the FPGA development platform itself and a DVI transceiverdaughter board, all other components illustrated below are developed andDVI receiverVideo stream generated by PC graphics card is transmitted to the receivervia only one full-digital DVI-D connector. On PC/laptop side, the output isconfigured as a secondary 1280 * 1024 (or higher resolution, maximum 1600* 1200 or 1920 * 1080 at 60 Hz) display that can either mirror with primarydisplay (for debugging purposes) or act as a extended desktop so that pri-mary display can be used to present other information such as an overviewof virtual world. A Texas Instruments TFP401 chip on DE3 daughter boarddetects the input, synchronize and decode the data stream, then transmitvia High-Speed Mezzanine Card (HSMC) to FPGA pins.DVI data fetcherDecoded RGB pixel data and synchronization signals (VSYNC, HSYNC,DE and clock) are shared by three DVI data fetcher connected to the sameinput pins. Each data fetcher synchronizes with data stream by searching for193.1. Hardware Designappropriate HSYNC/VSYNC edges, compares with predetermined locationinformation (pixel counts) and pulls corresponding data out of input streamand fills into framebuffer. For example, the OLED screen on top side ofpCubee is designed to show the image data in a 480 * 272 rectangular areabetween (482, 100) and (961, 371) on the large virtual display output. Thedata fetcher first locates valid row by skipping first 100 rows of a new frameby counting VSYNC pulses in input stream. It then ignores the first 2 pixelson each following row and start forwarding valid RGB pixel data from inputstream to framebuffer.At the same time, a group of three counters keep track of the location ofcurrent pixel by recording VSYNC, HSYNC and DE (pixel enable) pulses.This information is then used to calculate the RAM address for the pixel.DE signal is also used to control the clock for RAM write operations.FramebufferThree framebuffers are implemented using FPGA’s internal on-chip memoryblocks, storing RGB data for top, left and front screens respectively. Eachframebuffer is configured as a 24-bit wide 2-port RAM that can fit in awhole frame of image data for the panel with a native resolution of 480 *272 pixels. Memory address signal is 17-bit wide (supporting up to 131,072addresses) which is sufficient for all 130,560 pixels. Each address providesaccess to 8-bit red, green and blue value for the corresponding pixel.On the input port of the RAM, write clock, write address and inputdata bus are connected to the memory address generator of correspondingDVI data fetcher module. RAM write clock is controlled by pixel enable(DE) signal as well as conditions defined by image selector to ensure onlypixels for the specific panel are passed through and saved in framebuffer.During RAM write cycle, 17-bit address signals are calculated based onthree counter values in memory address generator. RAM address space isflattened and accessed as a 1 * 130560 list.For the output port, pixel data are read out from framebuffer under a203.1. Hardware Designdifferent clock and sent directly to display output control module for finalalignment and packaging. Read clock and RAM read address signals areinputs controlled by another memory address generator in display timingcontrol module, which coordinates with display output control module tomake sure correct data sequences are being sent to OLED panels.From a resource perspective, because we are saving whole frames intothe buffer, each framebuffer is relatively large: 480 columns * 272 rows *3 colors * 8 bits = 3,133,440 bits (3060 Kbits), let alone other resourcesspent for managing the buffer structure and input/output port drivers. Aminimum of approximately 9 Mbits memory space is required for the sys-tem to support three independent screens. There are two memory solutionseach featuring some advantages and limitations in different aspects. First,we could implement all framebuffers using on-chip memory blocks of theFPGA. The internal memory block is much faster than any other alterna-tives and easier to design using IP modules provided by Altera. However,due to much higher cost, these memory blocks are usually very small andmay not be sufficient for holding a large number of data. Alternatively,separate DRAM chips with plentiful storage capacity can be introduced tosolve this issue, but we have to cope with a number of other design chal-lenges, including extra latency, communication overhead, signal integrityrisks and sophisticated DRAM management (such as byte format conver-sion and periodic refreshing). It is a less preferred solution considering allthe sacrifices as well as the difficulties in implementation because a Systemon Programmable Chip (SoPC) design will be required.Altera Stratix III FPGA family provides two types of configurable inter-nal memory blocks, organized in 9 Kbits and 144 Kbits groups respectively.There are 1040 M9K memory blocks and 48 M144K blocks in the EP3SL340chip on our development board, providing a total of 16,272 Kbits user mem-ory. This is enough for us to implement three framebuffers while leavingenough extra for other purposes. In our final design, left and front frame-buffers are implemented using all M144K blocks, each taking 24 blocks; topframebuffer uses nearly 40 percent of all M9K blocks.If DVI data fetcher could not receive any valid data from PC (for exam-213.1. Hardware Designple, when DVI cable is not connected or PC display setting is not correctlyconfigured), all framebuffers will instead load pre-programmed test imagesshowing color gradients for debugging purposes. The memory initializationfile (.mif) can be loaded and changed using IP configuration tool in QuartusII IDE.Display timing controlThis module contains a finite state machine that switches between differentstates and generates synchronization signals with appropriate sequences anddelays for the display panel according to specifications in application notes.At the same time, a synchronized memory address generator calculates thememory location of the pixel to be displayed, then sends a read request toframebuffer. RGB data of current pixel from framebuffer and four synchro-nization signals (DCLK, VSYNC, HSYNC and DE) will be sent to displayoutput control module for final assembly.Ideally, pixel RGB values should be ready on data bus right at the mo-ment when synchronization signals are triggered. However, due to an extrastep of reading data from framebuffer, the delay in memory access createssome design challenges. To eliminate the possibility of sending incorrectdata to next module, a few possible solutions were explored. At each neg-ative edge of pixel clock signal, Instead of reading current pixel data, werequest RGB values for the next pixel in framebuffer. When the next clockedge arrives, framebuffer returns correct data for the pixel, which align wellwith corresponding synchronization signals. However, this method may in-troduce a problem: for the first pixel on each line, the controller is not ableto determine the time to send read request in advance, therefore no validdata will be read from framebuffer, resulting in a black pixel. In order tocorrect this, the controller monitors counts in Horizontal Back Porch (HBP)defined by clock counts between HSYNC signal and the first valid pixel. Atthe last pulse in HBP, controller starts requesting a new pixel from frame-buffer. One cycle afterwards, when DE becomes positive indicating that223.1. Hardware Designvalid pixel data should be ready for read, framebuffer is able to providecorrect RGB values for the first pixel on each line.Together with corresponding initialization commands via SPI bus, dis-play timing control module determines operating mode of OLED panel byadjusting data format or signal edges. This module also enables us to changethe OLED frame rate and modify pixel clock (DCLK) frequency for latertuning on image and signal quality.Display data controlThis module is a short buffer that ensures all signals are properly alignedand packaged as required by OLED driver IC. Depending on actual OLEDoperation mode chosen, it converts parallel RGB data into serial signals andalign them with synchronization signals if necessary.For each screen, display data control module exports 8-bit RGB pixeldata (under serial RGB mode) and four corresponding synchronization sig-nals (DCLK, VSYNC, HSYNC and DE) to GPIO buffers. Two 40-pin par-allel cables are used to transmit signals for all three screens to customizedCableTX board.SPI command sequence generatorBefore OLED panel starts to display data received through parallel interface,it has to be properly configured in order to work as expected. For example, ithas to understand the format of pixel data, polarity of clock signal, blackoutdelays etc. to correctly interpret data from parallel interface before anythingelse can be done.The OLED panel allows us to use a SPI interface to send control com-mands to the driver IC in order to control display modes and provide con-figuration information before turning on the display. Functions supportedby SPI commands include:• Control power on/off sequence of different components on OLED233.1. Hardware Design• Put the panel into standby mode when necessary• Select initialization parameters including scan mode, RGB color for-mat, display resolution, clock polarity• Enable or disable optional pins and choose serial RGB mode or parallelRGB mode• Provide gamma correction for color tuningAll acceptable SPI commands are stored within the module. Based onchosen configuration, appropriate lines of commands will be drawn and thesequence generator will iteratively trigger SPI timing control module to parseand send out each command one by one.Under normal operating conditions, we could also send a few limited SPIcommands to adjust display parameters or to put the panel into standby.SPI timing controlThe AMOLED driver IC HX5116 offers a 3-wire serial interface that requiresa customized SPI controller. The serial peripheral interface uses three signalsincluding chip select line (NCS), serial transfer clock line (SCL) and serialinput/output data (SDA). Bi-directional command bitstream is transmittedover a 2 MHz clock. Each command consists of 7-bit register address, 1-bitread/write flag and 8-bit data. We implemented a SPI transceiver usingAlgorithmic State Machine (ASM) method to match the data format andtiming requirements. Internally, the controller works at 40 MHz systemclock. A state machine controls delays and timing, while its data pathgenerates serial signals.Each OLED panel is connected to a SPI timing control module throughGPIO, which allows us to configure different screens separately.243.1. Hardware DesignScreen controller state machineThree groups of above modules are implemented inside FPGA chip in orderto support multiple screens at the same time. All modules within each groupare coordinated by a high-level screen controller state machine that controlsthe system flow and provides user interface to monitor system status andmanually switch between modes.3.1.2 Peripheral CircuitsAs shown in Figure 3.2, FPGA development boad is used to generate ap-propriate signal for OLED panels, but its outputs are limited to on-boardGPIOs. In order to properly communicate with OLED driver IC mountedon each panel and display expected images, three customized printed circuitboards are designed to interface the signals and provide extra functions. Ex-cept for the FPGA development platform itself and a Terasic DVI transceiverdaughter board, all other components illustrated below are developed andbuilt in house.253.1.HardwareDesignFigure 3.2: Peripheral circuits for FPGA-based OLED screen controller.263.1. Hardware DesignCableTXThis transmitter board takes input from two GPIO connectors on FPGA de-velopment board, and forward them to CableRX board on pCubee througha pair of 40-conductor cables.In addition to signal forwarding, two DC-DC converters are also placedon this board to provide power for diodes in OLED panels, which requiresa pair of specific voltages different from driver IC’s 3.3 V VCC. A TPS5450buck converter takes in 12 V from extra pins on the ATX power supplyfor FPGA, step down the voltage to 5.2 V to drive VSSP line. Anotherconverter uses an inverting buck-boost topology to generate -3.8 V VSSNline. Both lines are added to 40-conductor cables connecting with CableRXboard. Multiple pins are used to support enough current. All power linesare isolated from digital signals to avoid interference.CableRXCableRX is the main board located inside pCubee. It gets input signalsand power lines from CableTX through two 40-pin cables, then generatessignals for each OLED panel and transmits to five OLED FPC Interfaceboards via 40-pin cables as well. Due to dimension limits inside pCubeeand relatively large number of connectors, routing on a two-layer CableRXboard is a challenging task. To reduce the difficulty and get better signalquality, signals are rearranged on CableTX board before being transmitted,allowing less wire crossings and shorter lengths on CableRX.To support resistive touch panels on each screen, 4-wire touch signalsare also included in each 40-pin cables and routed to connectors on the backside of CableRX, allowing an Arduino Micro board to be connected to com-municate with all five touch panels. Touch signal are processed by Arduinoboard and sent to PC via a separate USB cable.273.1. Hardware DesignOLED FPC interfaceA small interface board is attached to each of the five OLED panels toconvert power, pixel data, synchronization, display control and touch sig-nals from 40-pin cable to 71-pin 0.3 mm-pitch FPC connectors. Power linefilters and decoupling capacitors are placed on the board as suggested byOLED driver reference design.3.1.3 Touch ControllerEach OLED panel is overlaid with a transparent 4-wire resistive touch sensorpanel. The sensor includes two conductive layers separated by insulatingspacer dots. When the screen is pressed, the top layer will bend downwards,pushing spacer dots away and creating an electrical connection between thetwo layers. By applying different voltages on opposite sides of one layerand measuring the voltage sensed on the other layer, we will be able to tellthe distance between touch point and sides of the screen by comparing thevoltages. Next, we do a similar measurement in the other direction, then wecan get both horizontal and vertical positions of the touch.Status X- X+ Y- Y+idle N/C N/C N/C N/Cread X 0 VCC ADC Hi-Zread Y ADC Hi-Z 0 VCCTable 3.2: 4-wire resistive touch signals.Table 3.2 demonstrates the signals required on all four wires (X-, X+,Y-, Y+) during the process. As we can see, at least two wires (X-, Y-)have to be connected to ADC inputs in order to measure the voltage onthat layer, but the other two (X+, Y+) only need to switch between VCCand Hi-Z mode so digital I/O pins should be sufficient. Considering thatwe have to support five touch screens, an Arduino Micro board providing12 available analog input channels is chosen to be implemented as a touch283.1. Hardware Designcontroller.Once powered on, the controller consecutively reads touch coordinateson all five panels. 8-bit analog values are converted to pixel coordinates andtransmitted to PC via USB serial interface. Due to communication delaysand limitation of processing power in micro controller, the final scanningrate is 10 Hz, resulting two samples on a panel per second.Due to the limitation of resistive touch technology, only single touchpoint can be detected on each screen. Gestures such as pinching and zoomingon a screen can not be supported, however, it is possible to utilize toucheson different screens to support cross-screen multi-finger gestures.Capacitive touch solutions have been explored. Transparent touch over-lays are available but they have at least 5 mm thick bezels to allow sensortraces to be routed, making them impossible to be mounted on top of ourOLED panels.3.1.4 3D Printed ChassisOn previous pCubee, all LCD panels were mounted on a wooden box witha smaller base for users to hold. It was designed to be a small form-factorhand-held device, but unfortunately the device was still not small and lightenough for users comfortably manipulate in one hand. It was observed thatthe user tend to hold the box with both hands and rotate it around to seevirtual objects displayed on screens. When bimanual tasks are conductedwhere the user have to hold the display in one hand and stylus in the other,subjects easily get tired after a short period of time. Also, the thick edges ofwooden box added extra seam width which is critical to visual discontinuityissue.With lighter and thinner OLED panels, we were able to build a evensmaller cubic display without sacrificing too much display area. Our OLEDpanel has 3 mm bezel width between active area and outer case. If minimizedseam size has to be achieved, we would require 3 mm * 3 mm rods aroundall panels to hold them in place. A wooden external frame at this thickness293.1. Hardware Designwould be too fragile to provide any support to other components. Therefore,a 3D printed frame is used instead.Figure 3.3: 3D printed chassis of new pCubee: (1) top module, (2) leftmodule, (3) base module, (4) assembly demonstration, (5) final assemblyWe designed a modularized 3D printed chassis that can be detached andreattached easily as shown in Figure 3.3. Each screen has a frame piecethat holds circuit boards, cables and OLED panels together. Five panelmodules are assembled together on a square base to become a cubic display.CableRX board, touch controller and magnet sensor are also held in placeinside the cube. All chassis parts are 3D printed using ABS material.Extra caution was taken when designing the chassis model, as the ma-terial tend to bend due to uneven temperature during cooling process. Toallow heat to dissipate, more holes are opened while not affecting supportingstrength. Wall thickness is also adjusted to ensure rigid and accurate partsget printed successfully.303.2. Software System3.2 Software SystemWhile the software framework remains similar to our previous system, twomajor additions are made in new pCubee.First, an abstraction layer is added between our own code and physicsengine, isolating pCubee control logic and updated Nvidia PhysX engine.If the API changes in future PhysX releases, only minimum code revisionon the abstraction layer will be required. Moreover, this addition createsthe possibility of implementing other real time physics simulation enginesinto our system, allowing us to incorporate pCubee system with other largerplatforms without changing internal structures and interfaces.Second, with the addition of touch screens and customized controller,new pCubee is able to support single touches on all five screens. Touchcoordinates are generated by the controller and sent to PC via USB serial,a separate thread is implemented to translate coordinates and recognizegestures. Figure 3.4 illustrates all gestures currently supported by pCubee.Figure 3.4: Cross-screen multi-touch gestures supported by pCubee, fromleft to right: translation along horizontal plane, translation along verticalplane, rotation when swiping at opposite directions, fixed-axis rotation alonga vertical axis, fixed-axis rotation along a horizontal axis.1. One finger movement on any screen moves the object accordingly onthe same plane.2. Two finger swiping in opposite directions on opposite screens causesthe object to rotate towards the swiping direction.313.3. Discussion3. One finger holding steady on a screen while another finger swiping inan adjacent screen will cause the object to rotate along axis given bythe steady finger.A demo is created to allow user to manipulate objects visualized insidepCubee using these touch gestures. As discussed in earlier sections, if ca-pacitive touch sensors are used, more multi-touch gestures will be available,allowing multiple ways to interact with virtual objects by touching pCubeesurface.Due to function limitations of resistive touch technologies discussed aboveand based on the interaction task design, cross-screen multi-touch functionwas not evaluated in later user study sections. However, it still demonstratesa novel way of interacting with virtual reality world in pCubee.3.3 Discussion3.3.1 Design ReviewWith the primary focus on improving user experience for interacting withpCubee, the new design has achieved five major goals:1. Reduced seam size of pCubee from 23 mm to 6 mm.2. Replaced the wooden box with a detachable 3D-printed chassis.3. Replaced LCD screens with OLED panels.4. Provided cross-screen multi-touch support.5. Implemented a FPGA-based video controller instead of relying on mul-tiple signal conversion boards.Combining these changes, the new pCubee design overcomes several is-sues discovered in previous studies on old prototype. For example, the323.3. Discussionsmaller seam size is proven to encourage multiple screen usage as well asto reduce response time and error rates for path-tracing task. From ourprevious studies on visual discontinuity of pCubee, it is suggested that aseam size for better user performance lies between 3 mm and 13 mm [20].Considering the native bezel width of OLED panels available, the minimumseam size is achieved to alleviate its impact on user performance. During ouractual user study using new pCubee, it is noticed that user easily changesviewpoints from one screen to another when necessary, as the occlusion isno longer creating difficulties for following an object or a certain trace.Aside from seam size change, visual discontinuity is also mitigated byimproved image quality, especially when observing from a sharp angle withthe display. Traditional LCD panels may suffer from color distortion andbrightness degradation at a sharp viewing angle, which hinders user experi-ence as the changed object color on another screen makes it difficult for userto perceive them as different parts of a same object, causing the illusion ofrealistic 3D objects existing inside pCubee to fail. The wide viewing angleprovided by OLED panel ensures consistent brightness, contrast and colorbalance at various angles, hence strengthens the geometric 3D illusion.Other than visual discontinuity, it is observed that the form factor andlength of signal cable in previous prototype discouraged subjects to rotatethe display and utilize multiple screens to perform tasks. Although designedto support bimanual interactions, users are discouraged from performingsuch actions due to the weight of the display. With reduced number ofcables and a smaller, lighter chassis, the new pCubee is made easier tohandle with only one hand for a long time.3.3.2 Limitations and Alternate SolutionsWhile the new design resolved several issues presented in our previous sys-tem, there is still numbers of areas that can be further improved to createan intuitive and flexible interface.As pointed out by 3 subjects during our experiment, the cable attachedto pCubee is still preventing them from manipulating the display freely.333.3. DiscussionWe explored the possibilities of eliminating external cables and creating astandalone device without sacrificing existing features. Taking a look at allsignals transmitted through the cable in our current design:• 3 groups of video signals for OLED panels• OLED power lines• Touch controller USB• Polhemus Fastrak sensorThe most difficult ones are high-speed digital video signals. It is difficultto wirelessly transmit customized high-speed signals without using existingreliable solutions. But there are some approaches we may consider: (1)Embed FPGA video controller inside pCubee and transmit conventionalvideo signals from PC to an receiver, then forward to FPGA; (2) Build asmall form factor computer within pCubee and manage all rendering andsignal processing locally. Either case more circuitry has to be added topCubee in order to boost the processing power on the device to interfacewith outside. This could result in increased weight and power consumption.Another concern is the wired magnet sensor. Magnet tracking can pro-vide very low latency and accurate tracking, but the sensors have to bephysically connected through a cable. Optical tracking seems to be thebest alternative wireless method which provides comparable accuracy andlatency that meets our requirements, but it also creates inconvenience whenthe user rotates the display. Optical tracking relies on direct line of sight,but user’s hand or the display itself may occlude optical trackers, thereforemultiple marker has to be placed in order to cover different angles. Addi-tional markers mounted onto the display in return make it difficult for userto handle the device.Although we have to rely on cables between pCubee display and con-troller boards for now, it is possible for us to build wireless versions in fu-ture. Based on available technologies up to date, a possible path for newerversions of pCubee can be proposed. Several iterations are listed based ondevelopment efforts required.343.3. Discussion1. Create a compact customized FPGA board that fits inside pCubee,which eliminates CableTX and CableRX boards. PC display outputcan be directly connected to the device.2. Replace magnet tracking method with wireless tracking technologiesincluding: optical tracking, combining gyroscope and accelerometer,IR tracking or active radar.3. The last step, build a portable system inside pCubee, render all im-ages without help of a PC and display them on pCubee. Attach abattery module for power supply, then external connections are nolonger required.On the other side, as the new pCubee is such a highly customized design,extensibility is very limited. For example, the framebuffers are designed toexactly fit our 4.3-inch 480 * 272 OLED screen, if other resolution or pixelformat is used, the framebuffer module as well as all memory address gen-erators have to be redesigned according to the new panel. One of the futuredirections would be making a general FPGA driver that supports differenttypes of panel and different number of display.Investigation into other display panel and interconnect technologies re-veals several alternative solutions available. If applied appropriately, thesetechnologies could benefit pCubee with less connections, higher resolutionand framerate, as well as improved signal quality.A commonly used interface for non-monitor LCD/OLED panels is Dis-play Serial Interface (DSI) specification by the Mobile Industry ProcessorInterface (MIPI). DSI defines a high-speed differential signaling point-to-point serial bus and a communication protocol between the host and thedevice. It could be used to replace the parallel connection between FPGAand OLED panels by adding DSI transmitter and receiver at each end.Compared to our current solution, DSI interface allows longer cables withimproved signal quality, less connections and higher bandwidth, all thanksto its differential signaling serial bus. Design effort is also reduced as many353.4. Summarynew display panels in the market have MIPI DSI receivers integrated withthe module already. However, the OLED panels used in our current systemrequire customized signals which causes difficulties designing DSI receiverboard, therefore parallel connections are our only choice due to this limita-tion, unless new display panels with built-in DSI were used.Starting from DisplayPort version 1.2, the protocol supports daisy-chainconnection with multiple monitors called Multi-stream Transport, allowingthe user to stream independent video displays from a single video output.Based on bandwidth limits, up to five 1680 x 1050 displays (or even morewith lower resolution) can be daisy-chained to a single DisplayPort output.Although the technology is yet to mature with very limited controller chipssupporting such a feature, it does offer the possibility of eliminating theadditional FPGA video controller in pCubee for separating video streams.Video for all panels could be transmitted via only one DisplayPort connec-tion from the host and selected by each panel driver internally, resultingin greatly reduced number of components, routing complexity and powerrequirements.3.4 SummaryIn this chapter, we described our design of the new pCubee hardware includ-ing OLED screen controller, peripheral supporting circuits, touch controllerand 3D printed chassis. Several improvements over old pCubee were madeto provide the user a better experience when interacting with the system.We also discussed the trade-offs and limitations in different aspects of thenew hardware as well as possible alternative future solutions.On software side, the new pCubee incorporats an abstraction layer forreal time physics simulation, which provides the possibility of switching todifferent physics engines if necessary. A selection of simple cross-screenmulti-touch gestures are also supported, allowing the user to use multiplefingers to translate and rotate a 3D object.363.4. SummaryWith issues discovered in previous version of system being addressed,the new pCubee design enabled us to further investigate novel interactiontechniques made possible with this unique type of geometric 3D display.37Chapter 4Evaluation ofTrajectory-Based Tasks inpCubeeDespite identifying improvements in various aspects in our redesigned pCubeeas a display, we would also like to find out whether the user can benefit fromthe new system when interacting with objects in virtual environment. WhilepCubee supports various tasks ranging from basic pointing and selection tocomplicated interactive tasks such as virtual painting and scene navigation,this thesis will focus on a common task that is used frequently in 3D envi-ronment and can reflect unique characteristics of our hand-held geometric3D display.As Accot et al. points out in [1], trajectory-based interactions such asdrawing curves, navigating through nested menus, and moving in 3D worlds,are common tasks in modern virtual reality interfaces. They designed a 2Dtunnel task to model user’s performance when moving a cursor through atunnel without colliding with it. They also explored other cases includingnarrowing tunnels, curved tunnels, as well as spiral tunnels to further derivea general description of the law. The resulting model for 2D trajectory-basedtasks called the steering law can be further used to evaluate and comparedifferent input devices [2].Evaluating trajectory-based interaction in 3D becomes a bigger challengebecause of additional efforts required to control in the third dimension inorder to follow a desired trajectory. While people move objects in 3D allthe time effortlessly in real world, manipulating objects to navigate along384.1. Wire-Tracing Taskan existing 3D path is not as simple. Accurate and comprehensive under-standing of the target trajectory is required. Close feedback to make pathcorrections based on real time observation is also essential, making the taskparticularly difficult in virtual reality interfaces due to insufficient depthfeedback from traditional display. Furthermore, most users are more experi-enced working with 2D input devices on a day-to-day basis, such as regularmouse and trackpad, but are rather new to 3D input devices and wouldrequire reasonable amount of time to familiarize the hand movement andvisual feedback. This also adds difficulties for general users to work with 3Din virtual environment [5, 15, 16, 28].Considering the benefits brought forth by pCubee such as the flexibilityof manipulating the display and virtual scenes inside, an intuitive way ofchanging perspective, as well as the strong motion parallax effect, we wouldlike to investigate how 3D trajectory-based task is accomplished in pCubee.In this chapter, we discuss the design of a wire-tracing task in pCubeeand two studies we conducted to investigate user performance with our de-vice. Statistical effects of three factors–ring radius, wire length and wirecurvature are tested. Results for each study are reported and discussed re-spectively. A derived steering model inspired by Accot’s work [1] is proposedfor 3D trajectory-based interaction based on our findings in these studies.4.1 Wire-Tracing TaskTarget acquisition task such as pointing and positioning is one of the mostcommon task used in virtual reality environments. Fitt’s law [11] describesthe relationship between acquisition time of a target and the target’s dimen-sion and distance which reflects the efficiency of particular input device.T = a+ b log2(AW) (4.1)where:• T is the time to complete the movement.394.1. Wire-Tracing Task• a and b are regression coefficients.• A is the distance from the cursor starting location to the center of thetarget.• W is the width of the target measured along the axis of motion.In addition to target acquisition, trajectory-based manipulation are alsocommonly used when controlling objects in virtual reality systems such aspCubee. However, Fitts’ law, while being a robust regularity for pointingtasks, could not be applied to model user’s performance in these trajectory-based tasks. Accot et al. [1] proposed the steering law for 2D tunnel tasksbased on Fitt’s model:T = a+ bAW(4.2)where the tunnel has length of A and width of W , a and b are regression co-efficients, T is the time to complete the movement. Index of Difficulty (ID)is defined as AW . Using this new model, Accot et al. evaluated several inputdevices [2] and compared their Index of Performance (IP) defined as IP = 1b .To evaluate trajectory-based task performance in 3D display such aspCubee, we could not simply extend the 2D tunnel task to 3D. It is difficultto visualize a 3D cursor inside a tunnel without affecting depth perception–rendering a translucent tunnel or subtracting the front half of the tunnelwall will create difficulties for user to judge the distance between 3D cursorand the wall, therefore can cause frustrations and unexpected failures.On the other hand, although very challenging, the tunnel task is a goodabstraction to represent a common type of tasks where a constrained trajec-tory has to be followed. For example, in 2D, navigating through cascadedsequences of menu items, or keeping a target within moving boundaries. 3Dexamples include some medical surgeries where a pill or something else hasto be delivered to certain target without touching anything on its way.Wire maze (Figure 4.1) is a popular toy that requires the user to move404.1. Wire-Tracing TaskFigure 4.1: An example of wire maze game device.a metal ring along a curved wire without the two objects touching eachother. Whenever a collision is detected (usually by detecting electrical shortbetween the ring and wire), warning light or buzz sound will go off as anotification. It is a fun game designed to practice one’s ability to coordinatevisual and hand movement. The task may seem to be easy, but it is in factvery challenging to avoid collision when the ring is small enough and thewire becomes complicated.Inspired by the physical wire maze game, we design a constrained wire-tracing task to replace tunnel task in 3D based on the interaction model ofthe physical game: the user controls a virtual ring to move it along a givenwire without both objects touching each other in 3D space visualized insidepCubee. Figure 4.2 shows an example of the task. A similar real world taskwould be adding beads or rings to a thread.As Figure 4.3 indicates, if we imagine a flattened ring around mouse cur-sor, the original tunnel task with a tunnel width of D is equivalent to a 2Dversion of wire-tracing task with a D/2 radius ring around a zero-thickness414.1. Wire-Tracing TaskFigure 4.2: Wire-tracing task visualized in pCubeeFigure 4.3: Comparison between 2D tunnel task and wire-tracing task.wire. Therefore we would like to test if findings from Accot’s 2D tunneltask are still valid for 3D wire-tracing task and whether any modification isneeded. To be exact, in our studies we would like to test the effects of threepotential factors on user performance: (1) radius of the ring, (2) length ofthe wire, and (3) curvature of the wire.424.2. Experiment Design4.2 Experiment Design4.2.1 ApparatusFigure 4.4: 3D print model of physical ring attachment on magnet sensor.User controls virtual ring by directly manipulating the sensor.All our studies are conducted using the new pCubee system as describedin Chapter 3. The experiments are set up on a desk where the subjectsperformed the tasks while seated as they were using a PC, with elbowsrested against desk. The users are allowed to freely interact with the pCubeedisplay. Head tracking is done by a magnetic sensor mounted on top of acap that the subject wears for the duration of the experiment. A keyboardinterface is used for the experimenter to control the tasks. A traditionalLCD monitor is used to visualize the scene from user’s perspective for theexperimenter to observe the interaction and provide guidance during trainingsession.In wire-tracing tasks, the wire is fixed in position with outer frame ofpCubee that can be moved around with the user’s non-dominant hand, whilethe ring being controlled by an extra sensor on the user’s dominant hand434.2. Experiment Designmoves freely in space within the boundary of pCubee. A physical ring fix-ture is attached to the sensor to mimic wire maze game and indicate sensororientation as shown in Figure ProcedureThe experiment procedure for each subject is illustrated in Figure 4.5.When a task starts, the user is allowed to pick and move the ring aroundin pCubee freely. Timing will start as soon as the user begins to move thering along given wire. This is triggered by detecting the intersection betweenwire segments and an invisible flat disc located in the ring with the sameradius and orientation. When intersection ends at the other end of wire, anew time stamp will be marked and the duration of current trial along withall collected data will be recorded.Collision between ring and wire is detected by traversing through thescene and reporting intersection between any triangle of the ring geometryand line segments of the wire. Based on user feedback, collision detection istemporarily turned off for the first few seconds when a new task is loadedto avoid unexpected collision when object position resets.If any collision are detected during the movement, current trial will stopwith the wire and floor of pCubee illuminated in red to indicate the failure.The incomplete record as well as conditions of current trial will still bereported but marked as a failed attempt. After 2 seconds delay, the systemwill automatically load a new task. User can choose whether they would liketo be given another chance to repeat the same trail again or move forwardto another one and come back at a later time.If the user finds the task too difficult to accomplish, he or she couldrequest to skip current trial instead of spending extra amount of time figuringout the task in frustration. A failed attempt rather than an extraordinarylong task time will be reported, so that our statistical analysis on taskcompletion time won’t be affected.444.2. Experiment DesignFigure 4.5: Flow chart of experiment procedure.454.3. User Study 1: Effect of Ring RadiusOnly when user successfully moved the ring all the way along given wirewithout any collision detected during the process, pCubee floor will illumi-nate in green to indicate a successful task completion. System will notifyend of experiment when target number of conditions are all tested.4.3 User Study 1: Effect of Ring RadiusFrom experience in real-life wire maze game, we know the task is more diffi-cult when a small ring rather than a larger one is used because more carefulcontrol is required. We would like to see if the same happens in virtual envi-ronment and further understand how ring size affects task performance. Toinvestigate the statistical effect of ring radius on completion time for wire-tracing tasks, we conducted a controlled study where subjects are asked tomove rings of different size along the same wire without collision as fast aspossible. In this study, other major factors (length and curvature of wire)that we believe may affect user performance stay at appropriate fixed values.Orientation of the ring is also locked at perpendicular position to the wireregardless of any tracker rotation. Only 3-DOF positional data from the6-DOF tracker is used to control the ring. This will ensure that the effectiveradius (determined by projected radius on the perpendicular plane of wire)remains the same without being affected by ring rotation.4.3.1 ConditionsAs discussed above, fixed values are chosen for length and curvature of thewire to avoid effects of other factors. We decided to use a straight 80 mmwire placed horizontally in the middle of pCubee for all the tasks in thisstudy, as it is (1) long enough to ensure the tasks are not too easy, and inthe same time (2) allows enough space for subjects to move and align thering without accidental collisions.The form-factor of new pCubee determines that our study will be limited464.3. User Study 1: Effect of Ring Radiuswithin a 100 mm * 100 mm * 60 mm 3D environment. Comparing to Accot’stunnel task which is done on a 19-inch (482.6 mm diagonally) 2D monitorand 18 * 25 inches tablet, object movement in our device becomes moreconstrained. This creates a challenge to choose appropriate values for ringradius: a too small ring will make it extremely difficult to avoid collision,while a too large one will suffer from very limited movement inside our cubicdisplay.Figure 4.6: Five rings with different radius used in our user study.In order to find the right balance, we started a pilot study testing 5different ring radius: 3 mm, 5 mm, 7 mm, 9 mm and 12 mm. As shownin Figure 4.6, rings are rendered in gold, purple, green, yellow and bluerespectively to be easily distinguished. We recorded number of failed at-tempts for each radius and compared them with total number of attempts.As indicated from table 4.1, a 3 mm ring causes as much as 71.5% of failedattempts which is significantly higher than other conditions (all below 40%with an average of 32%). After careful consideration we decided to drop3 mm radius condition as it appears to be too difficult for pilot users andcould not reliably reflect their performance.474.3. User Study 1: Effect of Ring RadiusRing radius Total attempts Failed attempts Failure rate3 mm 330 236 71.5%5 mm 307 114 37.0%7 mm 384 131 34.2%9 mm 339 101 29.8%12 mm 339 93 27.4%Table 4.1: Comparison of failure rate of 5 different ring radius.On the other hand, a 12 mm radius ring is already large enough becausewe noticed that pilot users have to carefully move the ring around when notcrossing with wire, especially when the ring is below the wire, as the 30 mmspace barely allows a 24 mm diameter ring to pass.In conclusion, based on results and observations from pilot study, wedecided to use rings with 5 mm, 7 mm, 9 mm and 12 mm radius for actualuser study.4.3.2 MethodThe experiment used a within subjects design due to limited amount of par-ticipants available. Independent variable, or within subjects factor, is radiusof the ring. The principal dependent variable is measured task completiontime. The experiment consists of 15 trials per condition and 4 different radii,resulting 60 total trials for each participant. Tasks are randomly ordered tocounterbalance any learning effect.We instruct the subjects to perform the tasks as fast as possible withoutfailing. The experiment typically takes 20-40 minutes to complete depend-ing on subject’s performance. A 5-10 minute training session is includedbefore actual measurements are taken, where subjects can familiarize them-selves with controlling both pCubee display and the extra sensor. Tasks ofvarious difficulties are available during the session for them to try out. Theexperimenter also helps clarify any questions or confusions.A total of 7 subjects with little or no experience with 3D input devices484.3. User Study 1: Effect of Ring Radiusparticipated in the experiment. After completion of all tasks, post-studyquestionnaires were given to our participants to collect subjective feedbackregarding their interaction experience. We designed 11 7-point Likert scale(-3 to +3) questions to gauge subject feedback as listed below. Open-endedquestions (item 6, 7 and 8) are also included to survey opinions and sugges-tions on new pCubee design.1. How would you rate the overall difficulty of this task?2. How would you rate your performance on this task?3. Difficulty and intuitiveness of:(a) Visualizing the wire maze in virtual environment(b) Manipulate virtual ring using physical sensor(c) Moving the ring(d) Rotating the ring(e) Handling pCubee4. Do you find following feature helpful:(a) Collision highlighting(b) Shadows(c) Bimanual manipulation(d) Motion parallax5. What do you think contributes the most to the difficulty of the task?(wire length, curvature, or ring radius)6. What feature do you think should be added to better help you completethe task?7. What improvements would you expect on next version of pCubee?8. Other comments.494.3. User Study 1: Effect of Ring Radius4.3.3 ResultsWithin subjects one-way ANOVA was carried out to test whether ring radiushas any effects on task completion time. Each radius group consisted of 7samples, which is the average time of 15 trials for each participant. Astatistical significant difference was found between radius groups (F (3, 24) =3.8800, p = 0.0215). Post-hoc pair-wise test revealed that mean time of 12mm radius group (M = 827.24, SD = 340.41) is significantly shorter than5 mm group (M = 2419.41, SD = 1331.98), but no significant differencesbetween other pairs were found.Figure 4.7: Linear regression of Mean Time v.s. 1/Radius.Linear regression is performed on 1/R vs Mean time 4.7, results indicatea linear relationship MT = 13556∗1/R−266.99, with correlation coefficientr2 = 0.9973.Table 4.2 summarizes all objective questionnaire responses.504.3. User Study 1: Effect of Ring Radius4.3.4 DiscussionsAlthough we successfully proved the effect of ring radius on subject’s averagetask completion time, the statistical significance observed in our study isnot very strong (p = 0.0215 < 0.05). The small number of samples (only 7participants) should be one of contributing issues. We also noticed that thevariance between subjects are relatively large, indicating a large individualdifference on task completion time. For example, Subject 2 takes averagesof 1331, 1852, 3151 and 4838 ms to complete the task for each condition,while subject 3 only spends around 1/3 of the time (438, 539, 824, 1341ms respectively) to do the same job. This huge variance as well as limitednumber of samples both impacts our analysis results, although an obviouswithin subjects trend can be observed.We conducted our post-hoc analysis using two methods, pair-wise t-testwith Bonferroni correction and Tukey HSD. Bonferroni correction tends tobe more conservative and gives more false negatives in most cases. Butfor our study, both method provide the same result showing that only 5mm group and 12 mm group have significant difference. It also indicatesthat variance between conditions is not large enough compared to between-subjects variance. Choosing conditions further apart from each other mayhelp. However, as discussed earlier, the radius range is limited in our studytherefore it is impossible to test conditions with larger or smaller rings.It is also worth noting that between-subjects variance increases as radiusgets smaller, demonstrating that user performance varies more for hardertasks but appears less diverse for easier ones, which may indicate that factorssuch as personal experience or task strategy plays a more important role asthe task difficulty rises.On the other hand, linear regression shows clear linear relationship be-tween 1/R and Mean time:T ∝ 1R(4.3)suggesting that ring radius R might be equivalent to tunnel width W insteering law model.514.3. User Study 1: Effect of Ring RadiusQuestionnaire resultsQuestions Subject#1 #2 #3 #4 #5 #6 #7 Average scoreQ1 -3 -3 -3 -2 -3 -2 -1 -2.43Q2 -3 1 -1 0 -2 0 1 -0.57Q3.1a -3 1 2 1 -2 2 1 0.29Q3.1b -1 1 1 1 -2 1 1 0.29Q3.2a -2 -1 0 -2 -2 1 -1 -1.00Q3.2b 0 3 0 0 2 1 2 1.14Q3.3a 1 2 2 1 -2 2 2 1.14Q3.3b 1 3 1 1 1 2 2 1.57Q3.4a -1 -1 2 -2 -1 2 -2 -0.43Q3.4b -1 3 2 1 2 2 2 1.57Q3.5a -2 -1 -1 2 -2 1 0 -0.43Q3.5b -1 3 -1 2 2 1 2 1.14Q4.1 3 3 3 -1 2 2 2 2.00Q4.2 3 2 1 3 1 3 1 2.00Q4.3 -1 -2 -1 2 -2 0 1 -0.43Q4.4 2 2 1 -2 -2 1 2 0.57Table 4.2: Response and average score for each 7-point Likert scale ques-tion, ranging from -3 to 3.Responses of questions in our survey also reveal some useful information.• All participants consider the task to be challenging.• Three participants are not satisfied with their performance on the task.• Manipulating virtual ring using the physical sensor is intuitive, butalso difficult.• Moving and rotating the ring is intuitive.• Participants also found object shadows and collision highlighting veryhelpful.According to their feedback in open-ended questions, the factors con-tribute most to the difficulty of the task include:524.4. User Study 2: Effects of Wire Length and Curvature• Cable attached to sensor and pCubee• Offset between virtual ring and the sensor• High curvature of the wireAs for improvements and suggestions, 6 out of 7 participants mentionedthat they would like a wireless sensor to manipulate. Two participants alsorequested highlighting contact point between wire and virtual disc on thering to assist determining distance.4.4 User Study 2: Effects of Wire Length andCurvatureDespite ring radius, we observed that wire length and curvature may also befactors that determine task difficulty and impact user performance on phys-ical wire maze games. In order to investigate their influence on wire-tracingtask in pCubee, a second experiment under slightly different conditions wasconducted to test the effect of wire length and curvature on task completiontime. We are not able to test all three factors in a single experiment becausethe combination of three factors will result in too many conditions, andbetween-subjects design is not possible due to limited time and resourcesavailable. Within-subjects design may lead to lengthy studies that easilycauses fatigue and frustration for subjects, especially when the task itselfis both mentally and physically challenging. Therefore, we conducted twoexperiments to test the factors separately so that both experiments wouldbe feasible.4.4.1 ConditionsTo rule out effects of ring radius, a certain value has to be chosen for alltasks. We selected 9 mm as the ring radius used in this study for followingreasons:534.4. User Study 2: Effects of Wire Length and Curvature• As demonstrated by previous study, a larger ring makes the task eas-ier and gives us smaller between-subjects variance. It will cause lessdistraction for us to identify the impact of actual factors being tested.• At the same time, we want to maintain an appropriate difficulty levelin our tasks. If the ring is too large that makes it effortless to cross inconditions with shorter wires, it may affect test results. Consideringour shortest wire is only 31 mm, a 9 mm ring is preferred than a 12mm one as the latter takes as short as 0.3 second to cross entire wirebased on data from previous study.Figure 4.8: Nine wires with different length and curvature used in our userstudy.Three wire lengths are selected: 10pi (31.4) mm, 20pi (62.8) mm and 30pi(94.2) mm. The longest one requires some rotation to fit into our 100 mm *100 mm * 60 mm cubic virtual space. All other wires with different lengthand curvature are randomly rotated and positioned within the space, whileleaving sufficient area for the ring to align and travel through.Curvature of the wire is defined by the radius of osculating circle (ROC).For simplicity we only tested smooth curves in our study, which means thewire has only one osculating circle of a certain radius and is always part ofthis osculating circle. For example, a 20pi mm length wire with 40 mm ROCis actually quarter of a 40 mm radius circle. To ensure our study coversnearly straight as well as more curved conditions, we selected 40 mm, 80544.4. User Study 2: Effects of Wire Length and CurvatureWire Number Length (mm) ROC Curvature (mm)1 10pi 1602 10pi 803 10pi 404 20pi 1605 20pi 806 20pi 407 30pi 1608 30pi 809 30pi 40Table 4.3: User study: wire conditions.mm and 160 mm ROC to be combined with different lengths, creating 9total conditions. All wires used in this study are shown in Figure MethodThe experiment uses a 3 * 3 within subjects factorial design for three lengthsand three curvatures. The subject will conduct at least 10 trials under eachcondition, resulting in a total of 90 trials for each participant. All trials arerandomly ordered to counterbalance learning effect. Task completion timeis measured the same way as previous user study. All failed attempts arerecorded and another trial will be provided at a later time, unless the sub-ject explicitly requests to skip the condition. Upon completion of all trials,we conducted a short interview session with each subject and asked generalquestions to gather their feedback. In total, 8 subjects were recruited toparticipate in this study. A small amount of compensation was provided fortheir time and effort.554.4. User Study 2: Effects of Wire Length and CurvatureFigure 4.9: Linear regression of Mean Time vs Wire Length.4.4.3 ResultsTwo-way within subjects ANOVA was conducted on 9 length and curvaturecombinations. A significant main effect of length was found (F (2, 63) =45.6459, p < 0.0001), however there are no significant effect of curvature(F (2, 63) = 2.9685, p = 0.0586) or interaction effect between length andcurvature (F (4, 63) = 0.3719, p = 0.8278). Post-hoc test using Tukey HSDrevealed that 10pi mm length group (M = 2288.18, SD = 1393.32) is sig-nificantly faster than 20pi mm group (M = 5418.57, SD = 2781.66). Bothgroups are also significantly faster than 30pi mm group (M = 10181.80, SD =3969.51).Linear regression (Figure 4.9) was conducted on length factor whichdemonstrated a significant effect. The correlation coefficient r2 = 0.9859.Table 4.4 summarizes percentage of failures under each length and cur-vature condition based on all data collected during the experiment.564.4. User Study 2: Effects of Wire Length and CurvatureLength Total attempts Failed attempts Failure rate10pi mm 284 33 11.6%20pi mm 338 87 25.7%30pi mm 457 228 49.9%ROC Total attempts Failed attempts Failure rate40 mm 369 131 35.5%80 mm 373 123 33.0%160 mm 337 94 27.9%Table 4.4: Comparison of failure rate of each length and curvature condi-tion.A clear trend can be observed that as the wire gets longer, percentage offailed trials increases as well. Also, as the wire gets less curved, percentageof failure slightly drops.4.4.4 DiscussionAs we have learned from our previous experiment, between-subjects vari-ance is relatively high due to factors that we could not control in thisstudy. Through our observation and follow-up discussion with participants,we would like to identify the following noninclusive list of possible factorsthat may be related:1. Although all participants claim that they have little or no experiencewith 3D input devices before, some of them are apparently more com-fortable working with pCubee and using the sensor to control accu-rately while others spend quite a long time struggling with the deviceto do what they expected. One participant pointed out that it maybe the result of previous training on certain musical instruments orother crafting skills that requires accurate hand movement and closehand-eye collaboration.2. Some participants can easily learn to use the system and get good atmanipulating the ring in a short time, while others still have trouble574.4. User Study 2: Effects of Wire Length and Curvatureunderstanding the direct mapping relationship until the end of exper-iment. This personal difference in learning practice is very difficult tocapture before the experiment. This factor may be eliminated if a longenough training period is introduced but time and resource constraintswould not allow such a plan.3. Different subjects use different strategies on completing the task. Wenoticed that some subjects take full advantage of free viewpoint bycarefully observing the 3D scene from various angles before makinga continuous move, while others are more conservative and prefer astable viewpoint and figuring out object’s 3D relationship by trial anderror with small movements. Some even combine both methods byfirst looking for a comfortable viewpoint, stay there and do a smallmove, then change to a new viewpoint and move again, etc. Comparedto tunnel task study, wire-tracing task in pCubee gives user moreflexibility to interact with virtual objects at expense of greater betweensubjects variation in performance measurements.Despite the similar between-subjects variation as we witnessed in ourfirst study, the wire length factor still exhibits a strong effect and linearrelationship to task completion time. In contrast, wire curvature shows aweak effect at 0.05 significance level. The result actually matches Accot’ssteering law model, where wire length L and ring radius R appear equivalentto tunnel length A and width W respectively. Also, as pointed out by Accotet al. [1], for a curved tunnel, TC = a + b∫CdsW (s) , where TC is the time totravel across the tunnel and C is the path, if tunnel width W (s) is constantand equals to W , we have TC = a + b · dsW (s) , telling that curvature of thetunnel does not affect the time to steer through path C.Combining results from both studies, we can confirm that wire-tracingtask follows a model similar to 2D steering law:T = a+ b · LR(4.4)where L is length of the wire, R is radius of the ring, and T is the time for584.5. Summarythe ring to travel through wire.4.5 SummaryIn this chapter, we reported our experiments of trajectory-based task per-formance in redesigned pCubee. Effects of three potential factors – ringradius, wire length and wire curvature – were investigated by testing userperformance in a wire-tracing task visualized inside pCubee. We carried outtwo experiments with different conditions to limit the total number of trialsin one user study to make it feasible. Subjective feedback was reported inpost-study questionnaires.Analysis of recorded user performance data revealed that radius of thering and length of curved wire both have significant effects on task comple-tion time, while curvature of the wire shows little effects in our study. It wasalso proven that average task completion time is proportional to both thereciprocal of radius and the length of wire respectively. Although the sta-tistical effects were identified, we observed large between-subjects variancein our data. Possible issues such as prior personal experience not related to3D manipulation, task strategy and effects of learning curve were exploredand discussed. Results from our survey also indicated that the task wasvery challenging that half of the participants were not satisfied with theirperformance. Feedback about the task pointed us to difficulties caused bythe attached cable and the offset of physical sensor.Based on these results, we confirmed that 3D trajectory-based interac-tion follows a similar model as Accot’s 2D steering law, in virtual 3D spacevisualized in perspective-corrected geometric display.59Chapter 5ConclusionsIn the first part of this thesis, we discussed the design and implementationof new pCubee system. We learned from previous studies about limitationsof old system and designed a new version of hand-held perspective-correctedcubic display system to bring in thinner borders and better display quality.The new design helped effectively reduce visual discontinuity that impactsuser experience when interacting with virtual objects inside pCubee.We investigated 3D manipulation tasks supported by new pCubee, eval-uated user performance on a trajectory-based wire-tracing task implementedinside the virtual environment. By varying ring radius and wire length, weidentified a linear relationship between movement time and these factors,suggesting a model similar to the steering law for 2D tunnel task also ap-plies in 3D trajectory-based tasks. The experiment proved that certain 2Dinteraction principle applies to 3D tasks in perspective-corrected geometricdisplays as well, providing an effective model for researchers to further in-vestigate user interaction designs and hardware revisions for similar displaytechnologies.In this chapter, we discuss the potential areas where the new pCubeesystem can be used to fill the gap between virtual environment and realworld. We also summarize a number of challenges we encountered through-out the research and promising directions for future investigation.605.1. Potential Applications5.1 Potential ApplicationsBeing a hand-held system, pCubee not only has all the benefits of a perspective-corrected geometric display, but also demonstrate unique advantages suchas easier manipulation and portability. This enables the system to be usedin a variety of scenarios where other solutions might not be effective.Personal EntertainmentGaming is one of the dominating areas where virtual reality technology iswidely used and continuously improved. While most gaming system stillstick to a display+controller model, more and more devices bring in newinteractive features including perspective correction. For example, Nintendo3DS used camera sensor to determine the user’s viewpoint and provideda head-coupled gaming experience. The form-factor of pCubee makes ita promising candidate for personal hand-held consoles, bringing a strongerillusion of virtual world as well as a more intuitive method of interacting withobjects in games such as spacial puzzles, or navigation-based role playing.Design and PrototypingDesigning in 3D space is a challenging task using 2D user interfaces. Multiplewidgets have to be utilized to build constraints and map inputs. pCubeeallows designers to create or modify 3D content directly in a realistic 3Dspace. Using direct mapping, the user would be able to control a virtualstylus to do 3D drawing, sculpturing and assembling. Most 3D model filetypes are supported by pCubee and can be easily visualized inside the cubicdisplay. Even novice designers can preview 3D model using pCubee, makenecessary adjustments directly without going back to complicated modelcreation tool, and finally publish the design or send it out for 3D printing.Scientific Simulation and VisualizationHighly sophisticated scientific data, for example, protein structure, medicalmodel of human body, network model etc., are difficult to be visualized in615.2. Future Directionstraditional 2D displays. Researchers can take advantage of head-coupledperspective of pCubee system and navigate through these data intuitivelywithout spending a lot of effort controlling their point of view. Further-more, they can select, mark and manipulate the 3D data with direct map-ping, turning pCubee into a interactive simulation platform for tasks suchas surgery operations.Collaborative WorkingAlthough pCubee itself does not support multiple viewers due to limitationsin perspective-corrected display technology, it still demonstrates great po-tential for collaborative content creation and editing. Multiple users canshare a common virtual work space visualized in each of their own pCubeedevices, while individual user working with their unique view point andleveraging all the benefits of this portable display.5.2 Future DirectionsHere we summarize a number of challenges we encountered and limitationswe identified throughout the design, implementation and evaluation of thenew pCubee system. Based on our current work, we would also like to pointout promising research directions for further investigation.5.2.1 Tracking TechnologyWhile the visual discontinuity problem from previous pCubee is taken careof in new pCubee system, there are still remaining issues that impact userexperience that need to be accounted for.One of the major issues is calibration of the tracking system. The Pol-hemus magnetic tracker we used provided great accuracy and minimumlatency, but as with all systems operating on magnetic fields, it suffers frominterference of objects within its working area, especially metals which cancause distortion in the field. As the system becomes more compact, less625.2. Future Directionsspace between the sensor and metal materials in circuit boards and displaypanels can be guaranteed. On the other hand, to maintain signal integrity,large ground planes or shielding cans have to be placed to ensure propergrounding. We tried placing the sensor on the furthest corner of the displayand using a 3D-printed plastic frame, but we could still observe some jitterin tracking data as a result of interference from multiple sources.In addition to jitter, calibration is also affected by the position mappingfrom magnetic tracker to actual eye position. We can only estimate subject’seye position by applying a fixed offset from the tracker position located ona cap worn by the subject. Due to individual difference, the offset needs tobe adjusted for each participant through an additional calibration process.Moreover, it is reported from multiple participants that the cables causeddifficulties when manipulating both pCubee and the sensor, especially whenrotating to certain angles. A wireless system would be helpful to eliminatethis issue.A possible solution for these issues would be a different tracking systemwhich may directly tell user’s eye position without using a magnetic sensors.Depth camera or multiple camera arrays seem to be promising substitutions,but their tracking accuracy, latency as well as refresh rate must be carefullyevaluated before further implementation.5.2.2 Cross-Screen Multi-TouchIn this system, a preliminary multi-touch interface was implemented sup-porting very limited number of gestures for translation and rotation tasks.It demonstrated the possibility of interacting with virtual objects by directlytouching their images on the display. Only a single touch can be detectedon each panel due to the resistive touch panel available, preventing morecomplicated and useful gestures to be implemented. Our work set an ini-tial step on investigating this unique and promising way of interacting withvirtual environment.Camera-based finger tracking or capacitive touch panel could be consid-635.2. Future Directionsered to overcome the limitation of resistive touch technology, bringing insmooth and accurate multi-touch experience. It is also worthwhile to fur-ther explore how this unique multi-touch interface may help manipulatingobjects in pCubee.5.2.3 Trajectory-Based TasksAs pointed out previously, tasks involving free movement in virtual 3D en-vironment are inherently difficult due to lack of constrains and affordances.Same conclusion was reaffirmed in our wire-tracing task, as a large numberof participants consider the task difficult to be accomplished. In fact, ourpreliminary test also showed that even for real-world physical wire puzzlegame, users still had to make a lot of efforts to complete successfully, as aresult of inadequate movement constrains. It would be useful to investigateboth virtual and physical trajectory-based tasks with varying difficulty lev-els, and understand any performance difference as well as factors causing thegap. This could lead to deeper understandings on how people interact withobjects when very limited movement constrains were available. Further-more, it may inspire future researchers to identify the challenges in relatedinteraction design and explore mechanisms that may help overcome thesedifficulties.5.2.4 Comparison of Geometric Display TechnologiesAs steering law model has been confirmed for 3D trajectory-based manip-ulation task in pCubee, it is possible for us to expand the study to similarsystems and understand the effectiveness of each design using the Index ofPerformance parameter from the model. It proves researchers a tool to ex-plore and evaluate designs that better support trajectory-based tasks, andidentify factors that contribute to an effective design.64Bibliography[1] Johnny Accot and Shumin Zhai. Beyond fitts’ law: models fortrajectory-based hci tasks. In Proceedings of the ACM SIGCHI Confer-ence on Human factors in computing systems, CHI ’97, pages 295–302.ACM, 1997.[2] Johnny Accot and Shumin Zhai. Performance evaluation of input de-vices in trajectory-based tasks: an application of the steering law. InProceedings of the SIGCHI conference on Human Factors in ComputingSystems, CHI ’99, pages 466–472. ACM, 1999.[3] Kevin W. Arthur, Kellogg S. Booth, and Colin Ware. Evaluating 3dtask performance for fish tank virtual worlds. ACM Trans. Inf. Syst.,11(3):239–265, July 1993.[4] Doug A Bowman and Larry F Hodges. An evaluation of techniquesfor grabbing and manipulating remote objects in immersive virtual en-vironments. In Proceedings of the 1997 symposium on Interactive 3Dgraphics, pages 35–ff. ACM, 1997.[5] Doug A Bowman, Ernst Kruijff, Joseph J LaViola Jr, and IvanPoupyrev. 3D user interfaces: theory and practice. Addison-Wesley,2004.[6] Yeonjoo Cha and Rohae Myung. Extended fitts’ law for 3d pointingtasks using 3d target arrangements. International Journal of IndustrialErgonomics, 43(4):350–355, 2013.[7] Carolina Cruz-Neira, Daniel J. Sandin, and Thomas A. DeFanti.Surround-screen projection-based virtual reality: the design and imple-65Bibliographymentation of the cave. In Proceedings of the 20th annual conference onComputer graphics and interactive techniques, SIGGRAPH ’93, pages135–142, New York, NY, USA, 1993. ACM.[8] Michael Deering. High resolution virtual reality. In Proceedings ofthe 19th annual conference on Computer graphics and interactive tech-niques, SIGGRAPH ’92, pages 195–202, New York, NY, USA, 1992.ACM.[9] J.P. Djajadiningrat, G.J.F. Smets, and C.J. Overbeeke. Cubby: a mul-tiscreen movement parallax display for direct manual manipulation.Displays, 17(3C4):191 – 197, 1997.[10] Scott Fisher. Viewpoint dependent imaging: An interactive stereoscopicdisplay. volume 0367, pages 41–45, 1983.[11] Paul M Fitts. The information capacity of the human motor systemin controlling the amplitude of movement. Journal of experimentalpsychology, 47(6):381, 1954.[12] Tovi Grossman and Ravin Balakrishnan. Pointing at trivariate tar-gets in 3d environments. In Proceedings of the SIGCHI Conference onHuman Factors in Computing Systems, CHI ’04, pages 447–454, NewYork, NY, USA, 2004. ACM.[13] Jonna Ha¨kkila¨, Maaret Posti, Olli Koskenranta, and Leena Venta¨-Olkkonen. Design and evaluation of mobile phonebook application withstereoscopic 3d user interface. In CHI ’13 Extended Abstracts on Hu-man Factors in Computing Systems, CHI EA ’13, pages 1389–1394,New York, NY, USA, 2013. ACM.[14] Kenneth P. Herndon, Andries van Dam, and Michael Gleicher. Thechallenges of 3d interaction: A chi ’94 workshop. SIGCHI Bull.,26(4):36–43, October 1994.[15] Ken Hinckley, Joe Tullio, Randy Pausch, Dennis Proffitt, and NealKassell. Usability analysis of 3d rotation techniques. In Proceedings66Bibliographyof the 10th Annual ACM Symposium on User Interface Software andTechnology, UIST ’97, pages 1–10, New York, NY, USA, 1997. ACM.[16] Stephanie Houde. Iterative design of an interface for easy 3-d directmanipulation. In Proceedings of the SIGCHI Conference on HumanFactors in Computing Systems, CHI ’92, pages 135–142, New York,NY, USA, 1992. ACM.[17] Masahiko Inami. Media3: The virtual hologram. In ACM SIGGRAPH97 Visual Proceedings: The Art and Interdisciplinary Programs of SIG-GRAPH ’97, SIGGRAPH ’97, pages 107–, New York, NY, USA, 1997.ACM.[18] Jaeho Kim, Sungwook Jung, Jaeho Choe, and Eui S Jung. A study onuser interface design according to 3d menu type and control type for3d displays. 30(4):551–562, 2011.[19] Billy Lam, Yichen Tang, Ian Stavness, and Sidney Fels. A 3d cubicpuzzle in pcubee. In Proceedings of the 2011 IEEE Symposium on 3DUser Interfaces, 3DUI ’11, pages 135–136, Washington, DC, USA, 2011.IEEE Computer Society.[20] Billy Shiu Fai Lam. pCubee: evaluation of a tangible outward-facinggeometric display. University of British Columbia, 2011.[21] Hai-Ning Liang, Cary Williams, Myron Semegen, Wolfgang Stuer-zlinger, and Pourang Irani. User-defined surface+motion gestures for3d manipulation of objects at a distance through a mobile device. InProceedings of the 10th Asia Pacific Conference on Computer HumanInteraction, APCHI ’12, pages 299–308, New York, NY, USA, 2012.ACM.[22] Roberto Lopez-Gulliver, Shunsuke Yoshida, Sumio Yano, and NaomiInoue. gcubik: real-time integral image rendering for a cubic 3d display.In ACM SIGGRAPH 2009 Emerging Technologies, SIGGRAPH ’09,pages 11:1–11:1, New York, NY, USA, 2009. ACM.67Bibliography[23] Anthony Martinet, Gery Casiez, and Laurent Grisoni. Integrality andseparability of multitouch interaction techniques in 3d manipulationtasks. Visualization and Computer Graphics, IEEE Transactions on,18(3):369–380, 2012.[24] Michael J. McGuffin and Ravin Balakrishnan. Fitts’ law and expandingtargets: Experimental studies and designs for user interfaces. ACMTrans. Comput.-Hum. Interact., 12(4):388–422, Dec 2005.[25] Michael McKenna. Interactive viewpoint control and three-dimensionaloperations. In Proceedings of the 1992 Symposium on Interactive 3DGraphics, I3D ’92, pages 53–56, New York, NY, USA, 1992. ACM.[26] Miguel A Nacenta, Patrick Baudisch, Hrvoje Benko, and Andy Wil-son. Separability of spatial manipulations in multi-touch interfaces. InProceedings of Graphics interface 2009, pages 175–182. Canadian In-formation Processing Society, 2009.[27] Norio Nakata, Naoki Suzuki, Asaki Hattori, Naoya Hirai, YukioMiyamoto, and Kunihiko Fukuda. Informatics in radiology: intuitiveuser interface for 3d image manipulation using augmented reality anda smartphone as a remote control. Radiographics, 32(4):E169–E174,2012.[28] Graham Smith, Wolfgang Stuerzlinger, Tim Salzman, B Watson, andJ Buchanan. 3d scene manipulation with 2d devices and constraints.In Graphics Interface, volume 1, pages 135–142, 2001.[29] Peng Song, Wooi Boon Goh, William Hutama, Chi-Wing Fu, and Xi-aopei Liu. A handle bar metaphor for virtual object manipulation withmid-air interaction. In Proceedings of the SIGCHI Conference on Hu-man Factors in Computing Systems, CHI ’12, pages 1297–1306, NewYork, NY, USA, 2012. ACM.[30] Ian Stavness, Billy Lam, and Sidney Fels. pcubee: a perspective-corrected handheld cubic display. In Proceedings of the SIGCHI Con-68ference on Human Factors in Computing Systems, CHI ’10, pages 1381–1390. ACM, 2010.[31] Ian Stavness, Florian Vogt, and Sidney Fels. Cubee: thinking inside thebox. In ACM SIGGRAPH 2006 Emerging technologies, SIGGRAPH’06, New York, NY, USA, 2006. ACM.[32] Dan S. Venolia and Lance Williams. Virtual integral holography. vol-ume 1259, pages 99–105, 1990.[33] Hans Wallach and DN O’connell. The kinetic depth effect. Journal ofexperimental psychology, 45(4):205, 1953.[34] Colin Ware and Glenn Franck. Evaluating stereo and motion cues forvisualizing information nets in three dimensions. ACM Trans. Graph.,15(2):121–140, April 1996.[35] Dongwook Yoon, Joong Ho Lee, Kiwon Yeom, and Ji-Hyung Park.Mobiature: 3d model manipulation technique for large displays usingmobile devices. In Consumer Electronics (ICCE), 2011 IEEE Interna-tional Conference on, pages 495–496. IEEE, 2011.[36] Shumin Zhai, William Buxton, and Paul Milgram. The silk cursor:Investigating transparency for 3d target acquisition. In Proceedings ofthe SIGCHI Conference on Human Factors in Computing Systems, CHI’94, pages 459–464, New York, NY, USA, 1994. ACM.69Appendix ABoard Schematics andLayout DesignsFollowing pages depict hardware design documents for the new pCubee dis-play module.1. CableTX board schematic design version A, featuring a 100-pin Na-tional Instrument cable for connection to display.2. CableTX board layout design version A.3. CableTX board schematic design version B. A compact design withtwo 40-pin ribbon cables for display connection. It allows easier ma-nipulation of the display but as a trade-off, cable lengths are limited.4. CableTX board layout design version B.5. Final CableRX board schematic design. Breakout of ribbon cable sig-nals to OLED interface boards. Including touch controller signals forall five panels.6. Final OLED interface board schematic design.7. Final OLED interface board layout design.704/21/15 6:50 PM  f=0.70  /home/yitang/git/eagle/CableTXv2/CableTXv2.sch (Sheet: 1/1) 1 4 8657 1 4 86575566-4GND100u4.7u 4.7u 0.01uTPS54500.01u15uSB540330u 0.01u10k3.09kTPS545010u 0.01u0.01uSB54015u330u 0.01u10k10k10k2540- 2540- 2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDBAK_PWR_SWITCH PWR_ENGNDGND2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100CABLE-CONNECTORSHIELD1SHIELD2X1-1X1-2X1-3X1-4BULKC1 C2 C3POWERPADBUCK_CONVERTERVINENAGNDBOOTPHVSENSE1 2JP1C4L1D1C5 C6R1R2POWERPADINVERTING_BUCK-BOOSTVINENAGNDBOOTPHVSENSEC7 C8C9D2L2 C10 C11R3R4R5GPIO0-1GPIO0-2GPIO0-3GPIO0-4GPIO0-5GPIO0-6GPIO0-7GPIO0-8GPIO0-9GPIO0-10GPIO0-11GPIO0-12GPIO0-13GPIO0-14GPIO0-15GPIO0-16GPIO0-17GPIO0-18GPIO0-19GPIO0-20GPIO0-21GPIO0-22GPIO0-23GPIO0-24GPIO0-25GPIO0-26GPIO0-27GPIO0-28GPIO0-29GPIO0-30GPIO0-31GPIO0-32GPIO0-33GPIO0-34GPIO0-35GPIO0-36GPIO0-37GPIO0-38GPIO0-39GPIO0-40GPIO1-1GPIO1-2GPIO1-3GPIO1-4GPIO1-5GPIO1-6GPIO1-7GPIO1-8GPIO1-9GPIO1-10GPIO1-11GPIO1-12GPIO1-13GPIO1-14GPIO1-15GPIO1-16GPIO1-17GPIO1-18GPIO1-19GPIO1-20GPIO1-21GPIO1-22GPIO1-23GPIO1-24GPIO1-25GPIO1-26GPIO1-27GPIO1-28GPIO1-29GPIO1-30GPIO1-31GPIO1-32GPIO1-33GPIO1-34GPIO1-35GPIO1-36GPIO1-37GPIO1-38GPIO1-39GPIO1-40TEST1-1TEST1-2TEST1-3TEST1-4TEST1-5TEST1-6TEST1-7TEST1-8TEST1-9TEST1-10TEST1-11TEST1-12TEST1-13TEST1-14TEST1-15TEST1-16TEST1-17TEST1-18TEST1-19TEST1-20TEST1-21TEST1-22TEST1-23TEST1-24TEST1-25TEST1-26TEST1-27TEST1-28TEST1-29TEST1-30TEST1-31TEST1-32TEST1-33TEST1-34TEST1-35TEST1-36TEST1-37TEST1-38TEST1-39TEST1-401 23 4TEST1TP1 2JP2564S1231S1564S2231S2TEST2-1TEST2-2TEST2-3TEST2-4TEST2-5TEST2-6TEST2-7TEST2-8TEST2-9TEST2-10TEST2-11TEST2-12TEST2-13TEST2-14TEST2-15TEST2-16TEST2-17TEST2-18TEST2-19TEST2-20TEST2-21TEST2-22TEST2-23TEST2-24TEST2-25TEST2-26TEST2-27TEST2-28TEST2-29TEST2-30TEST2-31TEST2-32TEST2-33TEST2-34TEST2-35TEST2-36TEST2-37TEST2-38TEST2-39TEST2-40TEST3-1TEST3-2TEST3-3TEST3-4TEST3-5TEST3-6TEST3-7TEST3-8TEST3-9TEST3-10TEST3-11TEST3-12TEST3-13TEST3-14TEST3-15TEST3-16TEST3-17TEST3-18TEST3-19TEST3-20TEST3-21TEST3-22TEST3-23TEST3-24TEST3-25TEST3-26TEST3-27TEST3-28TEST3-29TEST3-30TEST3-31TEST3-32TEST3-33TEST3-34TEST3-35TEST3-36TEST3-37TEST3-38TEST3-39TEST3-401234JP3123456JP412VG0A[0..7]G0A[0..7]G0B[0..7]G0B[0..7]G0B[0..7]G0C[0..7]G0C[0..7]G0C[0..7]G0D[0..7]G0D[0..7]G0D[0..7]G1A[0..7]G1A[0..7]G1A[0..7]G1B[0..7]G1B[0..7]G1B[0..7]G1C[0..7]G1C[0..7]G1D[0..7]G1D[0..7]G0A[0..7]USBCONN[0..3]USBCONN[0..3]TOPTP[0..5]TOPTP[0..5]+5.2V +5.2V-3.8V-3.8V5V 5V3.3V 3.3V3.3V 3.3V 3.3V3.3V3.3VSCRPWR+SCRPWR+ SCRPWR+ SCRPWR+SCRPWR+SCRPWR-SCRPWR- SCRPWR- SCRPWR-SCRPWR-714/21/15 6:51 PM  f=1.40  /home/yitang/git/eagle/CableTXv2/CableTXv2.brd1 2 5051 100NCNCVSENSEBOOT PHVINGNDENANCNCVSENSEBOOT PHVINGNDENA123456 123456X1BULKC1C2C3NAMEJP1C4L1D1C5C6R1R2NAMEC7C8C9D2L2C10C11R3R4R5GPIO0GPIO1TEST1TEST1TPJP2S1S2TEST2TEST3JP3JP45566-4100u4.7u4.7u0.01uVALUE0.01u15uSB540330u0.01u10k3.09kVALUE10u0.01u0.01uSB54015u330u0.01u10k10k10k2540-2540-2540-BAK_PWR_SWITCHPWR_EN2540-2540-724/21/15 6:45 PM  f=0.70  /home/yitang/git/eagle/CableTXv3/CableTXv3r1.sch (Sheet: 1/1) 1 4 8657 1 4 86575566-4GND100u4.7u 4.7u 0.01uTPS54500.01u15uB520C330u 0.01u10k3.09kTPS545010u 0.01u0.01uB520C15u330u 0.01u10k4.3k4702540- 2540-GNDGNDGNDGND2540- 2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGND AGND+5VGNDGNDGNDGNDGNDGNDGND+5VAGNDX1-1X1-2X1-3X1-4BULKC1 C2 C3POWERPADBUCK_CONVERTERVINENAGNDBOOTPHVSENSE12JP1C4L1D1C5 C6R1R2POWERPADINVERTING_BUCK-BOOSTVINENAGNDBOOTPHVSENSEC7 C8C9D2L2 C10 C11R3R4R5GPIO0-1GPIO0-2GPIO0-3GPIO0-4GPIO0-5GPIO0-6GPIO0-7GPIO0-8GPIO0-9GPIO0-10GPIO0-11GPIO0-12GPIO0-13GPIO0-14GPIO0-15GPIO0-16GPIO0-17GPIO0-18GPIO0-19GPIO0-20GPIO0-21GPIO0-22GPIO0-23GPIO0-24GPIO0-25GPIO0-26GPIO0-27GPIO0-28GPIO0-29GPIO0-30GPIO0-31GPIO0-32GPIO0-33GPIO0-34GPIO0-35GPIO0-36GPIO0-37GPIO0-38GPIO0-39GPIO0-40GPIO1-1GPIO1-2GPIO1-3GPIO1-4GPIO1-5GPIO1-6GPIO1-7GPIO1-8GPIO1-9GPIO1-10GPIO1-11GPIO1-12GPIO1-13GPIO1-14GPIO1-15GPIO1-16GPIO1-17GPIO1-18GPIO1-19GPIO1-20GPIO1-21GPIO1-22GPIO1-23GPIO1-24GPIO1-25GPIO1-26GPIO1-27GPIO1-28GPIO1-29GPIO1-30GPIO1-31GPIO1-32GPIO1-33GPIO1-34GPIO1-35GPIO1-36GPIO1-37GPIO1-38GPIO1-39GPIO1-40123456JP3CABLE0-1CABLE0-2CABLE0-3CABLE0-4CABLE0-5CABLE0-6CABLE0-7CABLE0-8CABLE0-9CABLE0-10CABLE0-11CABLE0-12CABLE0-13CABLE0-14CABLE0-15CABLE0-16CABLE0-17CABLE0-18CABLE0-19CABLE0-20CABLE0-21CABLE0-22CABLE0-23CABLE0-24CABLE0-25CABLE0-26CABLE0-27CABLE0-28CABLE0-29CABLE0-30CABLE0-31CABLE0-32CABLE0-33CABLE0-34CABLE0-35CABLE0-36CABLE0-37CABLE0-38CABLE0-39CABLE0-40CABLE1-1CABLE1-2CABLE1-3CABLE1-4CABLE1-5CABLE1-6CABLE1-7CABLE1-8CABLE1-9CABLE1-10CABLE1-11CABLE1-12CABLE1-13CABLE1-14CABLE1-15CABLE1-16CABLE1-17CABLE1-18CABLE1-19CABLE1-20CABLE1-21CABLE1-22CABLE1-23CABLE1-24CABLE1-25CABLE1-26CABLE1-27CABLE1-28CABLE1-29CABLE1-30CABLE1-31CABLE1-32CABLE1-33CABLE1-34CABLE1-35CABLE1-36CABLE1-37CABLE1-38CABLE1-39CABLE1-401 23 4JP2MINI_RSTMINI_RSTMINI_TXMINI_TXMINI_RXMINI_RXSCRENSCRENS0DAT[0..7]S0DAT[0..7]S0CTR[0..7]S0CTR[0..7]S1DAT[0..7]S1DAT[0..7]S1CTR[0..7]S1CTR[0..7]S2DAT[0..7]S2DAT[0..7]S2CTR[0..7]S2CTR[0..7]GPIOC[0..7]GPIOD[0..7]12V+5.2V +5.2V-3.8V-3.8V5V 5V3.3V 3.3V3.3VSCRPWR+SCRPWR+SCRPWR-SCRPWR-734/21/15 6:46 PM  f=2.00  /home/yitang/git/eagle/CableTXv3/CableTXv3r1.brd2 5 40 -2 5 40 -G PI O 0G PI O 1NCNCVSENSEBOOT PHVINGNDENANCNCVSENSEBOOT PHVINGNDENAX1BULKC1C2C3NAMEJP1C4L1 D1C5C6R1R2NAMEC7C8C9D2L2C10C11R3R4R5JP3CABLE0CABLE1JP25566-4100u4.7u4.7u0.01uVALUE0.01u15uB520C330u0.01u10k3.09kVALUE 10u0.01u0.01u B520C15u330u0.01u10k4.3k4702540-2540-744/21/15 6:43 PM  f=0.70  /home/yitang/git/eagle/CableRXv4/CableRXv4r2.sch (Sheet: 1/1)2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGND2540- 2540-GNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDGNDTOP-1TOP-2TOP-3TOP-4TOP-5TOP-6TOP-7TOP-8TOP-9TOP-10TOP-11TOP-12TOP-13TOP-14TOP-15TOP-16TOP-17TOP-18TOP-19TOP-20TOP-21TOP-22TOP-23TOP-24TOP-25TOP-26TOP-27TOP-28TOP-29TOP-30TOP-31TOP-32TOP-33TOP-34TOP-35TOP-36TOP-37TOP-38TOP-39TOP-40FRONT-1FRONT-2FRONT-3FRONT-4FRONT-5FRONT-6FRONT-7FRONT-8FRONT-9FRONT-10FRONT-11FRONT-12FRONT-13FRONT-14FRONT-15FRONT-16FRONT-17FRONT-18FRONT-19FRONT-20FRONT-21FRONT-22FRONT-23FRONT-24FRONT-25FRONT-26FRONT-27FRONT-28FRONT-29FRONT-30FRONT-31FRONT-32FRONT-33FRONT-34FRONT-35FRONT-36FRONT-37FRONT-38FRONT-39FRONT-40LEFT-1LEFT-2LEFT-3LEFT-4LEFT-5LEFT-6LEFT-7LEFT-8LEFT-9LEFT-10LEFT-11LEFT-12LEFT-13LEFT-14LEFT-15LEFT-16LEFT-17LEFT-18LEFT-19LEFT-20LEFT-21LEFT-22LEFT-23LEFT-24LEFT-25LEFT-26LEFT-27LEFT-28LEFT-29LEFT-30LEFT-31LEFT-32LEFT-33LEFT-34LEFT-35LEFT-36LEFT-37LEFT-38LEFT-39LEFT-40BACK-1BACK-2BACK-3BACK-4BACK-5BACK-6BACK-7BACK-8BACK-9BACK-10BACK-11BACK-12BACK-13BACK-14BACK-15BACK-16BACK-17BACK-18BACK-19BACK-20BACK-21BACK-22BACK-23BACK-24BACK-25BACK-26BACK-27BACK-28BACK-29BACK-30BACK-31BACK-32BACK-33BACK-34BACK-35BACK-36BACK-37BACK-38BACK-39BACK-40RIGHT-1RIGHT-2RIGHT-3RIGHT-4RIGHT-5RIGHT-6RIGHT-7RIGHT-8RIGHT-9RIGHT-10RIGHT-11RIGHT-12RIGHT-13RIGHT-14RIGHT-15RIGHT-16RIGHT-17RIGHT-18RIGHT-19RIGHT-20RIGHT-21RIGHT-22RIGHT-23RIGHT-24RIGHT-25RIGHT-26RIGHT-27RIGHT-28RIGHT-29RIGHT-30RIGHT-31RIGHT-32RIGHT-33RIGHT-34RIGHT-35RIGHT-36RIGHT-37RIGHT-38RIGHT-39RIGHT-40CABLE0-1CABLE0-2CABLE0-3CABLE0-4CABLE0-5CABLE0-6CABLE0-7CABLE0-8CABLE0-9CABLE0-10CABLE0-11CABLE0-12CABLE0-13CABLE0-14CABLE0-15CABLE0-16CABLE0-17CABLE0-18CABLE0-19CABLE0-20CABLE0-21CABLE0-22CABLE0-23CABLE0-24CABLE0-25CABLE0-26CABLE0-27CABLE0-28CABLE0-29CABLE0-30CABLE0-31CABLE0-32CABLE0-33CABLE0-34CABLE0-35CABLE0-36CABLE0-37CABLE0-38CABLE0-39CABLE0-40CABLE1-1CABLE1-2CABLE1-3CABLE1-4CABLE1-5CABLE1-6CABLE1-7CABLE1-8CABLE1-9CABLE1-10CABLE1-11CABLE1-12CABLE1-13CABLE1-14CABLE1-15CABLE1-16CABLE1-17CABLE1-18CABLE1-19CABLE1-20CABLE1-21CABLE1-22CABLE1-23CABLE1-24CABLE1-25CABLE1-26CABLE1-27CABLE1-28CABLE1-29CABLE1-30CABLE1-31CABLE1-32CABLE1-33CABLE1-34CABLE1-35CABLE1-36CABLE1-37CABLE1-38CABLE1-39CABLE1-40MOSISS1/TX0/RXRSTGND234/A656/A778/A89/A910/A1011ARDUINO_MICRO12/A11SCKMISOVINGND2RST2+5VA5A4A3A2A1A0AREF3.3V131 23 45 6JP1CAUTION: CTRL and DATA buses on OLEDInterface boards are inverted (MSB first).TTOUCH[0..3] FTOUCH[0..3]FTOUCH[0..3]BTOUCH[0..3]LTOUCH[0..3]LTOUCH[0..3]RTOUCH[0..3]RTOUCH[0..3]S0DAT[0..7]S0CTR[0..7]S1CTR[0..7] S1CTR[0..7]S1DAT[0..7] S1DAT[0..7]S2CTR[0..7] S2CTR[0..7]S2DAT[0..7] S2DAT[0..7]S0CTR[0..7]S0DAT[0..7]S1DAT[0..7]S1CTR[0..7]S2DAT[0..7]S2CTR[0..7]TTOUCH[0..3] FTOUCH[0..3] BTOUCH[0..3] LTOUCH[0..3] RTOUCH[0..3]EXTRA[0..5]EXTRA[0..5]3.3V 3.3V 3.3V3.3V 3.3V3.3VSCRPWR+ SCRPWR+ SCRPWR+SCRPWR+ SCRPWR+SCRPWR+SCRPWR- SCRPWR- SCRPWR-SCRPWR- SCRPWR-SCRPWR-TTOUCH0TTOUCH1TTOUCH2TTOUCH3 FTOUCH0FTOUCH1FTOUCH2FTOUCH3BTOUCH0BTOUCH1BTOUCH2BTOUCH3LTOUCH0LTOUCH1LTOUCH2LTOUCH3RTOUCH0RTOUCH1RTOUCH2RTOUCH3754/21/15 6:47 PM  f=0.70  /home/yitang/git/eagle/OLEDInterfacev8/OLEDInterfacev8.sch (Sheet: 1/1)4.3-inch OLED Interface Board71-pin FPC to 40-pin +5.2V-3.8VDCLKHSYNCVSYNCDESDASCLNCSNRESET+5.2V-3.8VGND VCIVCI3.3VCC +5.2VDD -3.8VSS1215163.3V3.3VTP1TP2TP3TP4DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7FH26-71S-0.3SHWGNDGNDGND1uF 1uFGND GNDGND1uFGNDSTPS1L30UGND1uF1uF1uF1uF1uFGND1uFGNDSTPS1L30USTPS1L30U1uF 1uFGND GNDGNDGNDGNDGNDGNDGNDGND1uF2540-5GND4.7uFGNDGNDGNDGND4.7uFGND4.7uF4.7uFGNDGNDTP1 1TP2 2TP3 3TP4 4AR_VSS5 5AR_VSS6 6TEST1_VS 7AR_VDD8 8AR_VDD9 9TEST2_VD 10ARREF 11VGL 12VGH 13LVO 14C22N 15C22P 16HVO 17C21P 18C21N 19C11N 20C11P 21C12N 22C12P 23PVSS 24DDVDH 25VSSA26 26VSSA27 27VCI28 28VCI29 29VGAM1OUT 30VDDD 31VCC 32VSSD 33NRESET 34NCS 35SCL 36SDA 37DE 38VSYNC 39HSYNC 40DCLK 41D27 42D26 43D25 44D24 45D23 46D22 47D21 48D20 49D17 50D16 51D15 52D14 53D13 54D12 55D11 56D10 57D07 58D06 59D05 60D04 61D03 62D02 63D01 64D00 65TEST3_W 66AR_VDD67 67AR_VDD68 68AR_VSS69 69AR_VSS70 70TEST4_P 71FPC-TO-OLEDC6 C7C8DB0C11C12C13C14C10C9 DB1DB2C15 C16C5X1-1X1-2X1-3X1-4X1-5X1-6X1-7X1-8X1-9X1-10X1-11X1-12X1-13X1-14X1-15X1-16X1-17X1-18X1-19X1-20X1-21X1-22X1-23X1-24X1-25X1-26X1-27X1-28X1-29X1-30X1-31X1-32X1-33X1-34X1-35X1-36X1-37X1-38X1-39X1-40C4C3C1C2TP[1..4]TP[1..4]DATA[0..7]DATA[0..7]CTRL[0..7]CTRL[0..7]C12PC12PC12NC12NC11PC11PC11NC11NC21NC21NC21PC21PC22PC22PC22NC22NAR_VSSAR_VSSAR_VSSVCIVCIVCCVCCAR_VDDAR_VDDAR_VDD764/21/15 6:48 PM  f=3.00  /home/yitang/git/eagle/OLEDInterfacev8/OLEDInterfacev8.brd2540-5X12.15 in0.5 inFPC-TO-OLEDC6C7C8DB0C11C12C13C14C10C9DB1DB2C15C16C5C4C3C 1C 21uF1uF1uF1uF1uF1uF1uF1uF1uF1uF1uF1uF4.7uF4.7uF4.7uF4.7uF77Appendix BUser Study Questionnaire78 User Experiment Questionnaire  Participant No.  ______________ Experiment Date ______________ Evaluator ______________   Section 1 ­ Basic information Age:________ Gender:________  1.1 How would you rate your familiarity with 3D interfaces? ­ Choose one: ☐ No experience ­ never played with any 3D interaction device ☐ Little experience ­ played with wii/ps3move casually etc. ☐ Some experience ­ used Virtual 3D tools such as a 3D desktop ☐ Experienced ­ used 3D modeling software such as Maya, 3dsmax, SolidWorks, etc. ☐ Expert ­ used 3D input device like 3D trackballs, styluses, cyber gloves, etc.  1.2 Have you ever played with wire maze puzzle game before?   Section 2 ­ Evaluator observations  2.1 Bimanual on virtual maze? Time: 2.2 Bimanual on physical maze? Time:  Section 3 ­ Overall ratings  3.1 How would you rate the overall difficulty of this task? ­3 ­2 ­1 0 1 2 3 Very Challenging ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy  3.2 How would you rate the overall difficulty of the physical maze task? ­3 ­2 ­1 0 1 2 3 Very Challenging ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy  3.3 How would you rate your performance on this task? ­3 ­2 ­1 0 1 2 3 Very Poor ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Well  3.4 Please rate each of the following:  79● Visualizing the wire maze in virtual environment ­3 ­2 ­1 0 1 2 3 Very Difficult ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy Very Unintuitive ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Intuitive  ● Manipulate virtual ring using the physical sensor ­3 ­2 ­1 0 1 2 3 Very Difficult ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy Very Unintuitive ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Intuitive  ● Moving the ring ­3 ­2 ­1 0 1 2 3 Very Difficult ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy Very Unintuitive ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Intuitive  ● Rotating the ring ­3 ­2 ­1 0 1 2 3 Very Difficult ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy Very Unintuitive ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Intuitive  ● Handling pCubee ­3 ­2 ­1 0 1 2 3 Very Difficult ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Easy Very Unintuitive ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Intuitive Very Bulky ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Light   3.5 What do you think contributes the most to the difficulties of the task?       (wire length, curvature, ring radius, etc.)   3.6 Do you find the following feature helpful? ● Collision highlighting ­3 ­2 ­1 0 1 2 3 Not Helpful at all ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Helpful  ● Shadows ­3 ­2 ­1 0 1 2 3 Not Helpful at all ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Helpful  ● Bi­manual manipulation ­3 ­2 ­1 0 1 2 3 Not Helpful at all ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Helpful 80 ● Head­tracking (motion parallax) ­3 ­2 ­1 0 1 2 3 Not Helpful at all ☐ ☐ ☐ ☐ ☐ ☐ ☐ Very Helpful  3.7 What features do you think should be added to better help you complete the task?       3.8 What improvements would you expect for the system?        3.9 Other comments?         81


Citation Scheme:


Citations by CSL (citeproc-js)

Usage Statistics



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items