Creating Effective Graphical User Interfaces Using Version 8 SAS/AF® Anders Longthorne, National Highway Traffic Safety Administration, Washington, DC

Total Page:16

File Type:pdf, Size:1020Kb

Creating Effective Graphical User Interfaces Using Version 8 SAS/AF® Anders Longthorne, National Highway Traffic Safety Administration, Washington, DC NESUG 16 Posters PS001 Creating Effective Graphical User Interfaces Using Version 8 SAS/AF® Anders Longthorne, National Highway Traffic Safety Administration, Washington, DC ABSTRACT Improving access to an organization’s database can often result in large gains in productivity and therefore lead to improved response time to customers. This paper will show how this goal can be achieved using applications developed with SAS/AF software. Applications implemented using SAS/AF can be used by all workers within an organization, including those who do not have SAS® programming experience. INTRODUCTION SAS/AF software provides a set of tools that allows for the development of powerful interactive and intuitive applications. The ability to produce applications of this kind can quickly help an organization to improve its productivity and therefore its response time to customers. A developer must have SAS/AF software licensed on his computer in order to start developing the type of applications that will be discussed in this paper. To run SAS/AF applications only requires a licensed copy of Base SAS. There have been many books and papers written on the subject of SAS/AF and therefore this paper will not concentrate on the technical details of SAS/AF. Instead this paper will give details regarding the steps needed to create a basic application. By learning how to create and manipulate a basic application, the door to using SAS/AF will be opened; and with further reading and practice a new user should be able to develop sophisticated solutions to an organization’s needs. This paper assumes that the reader has a good knowledge of Base SAS, the SAS Macro Language, the SAS Output Delivery System (ODS), and a basic understanding of object-oriented programming. SAS/AF OVERVIEW SAS/AF software is a type of software that is generally known as object-oriented. Visual Basic, C++ and Java are other types of object-oriented software. Creating applications using object-oriented software is known as object-oriented programming (OOP). The key concept behind OOP programming is that a program is viewed as a collection of independent objects, where the objects have two characteristics: state (data) and behavior (operations that can be performed on the data). SAS/AF objects store their state within their Attributes. Attributes are variables that can be of the following types: Numeric, Character, List, Array and Object. Methods are functions that are used to change an object’s state. For a more detailed discussion, please refer to the SAS documentation referenced at the end of this paper. CATALOGS SAS/AF applications are built around a SAS catalog. SAS catalogs are storage locations that are only usable by the SAS system. Catalog entries are stored within a SAS catalog. While there are many types of Catalog entries, this paper is going to concentrate on only two types: Frame entries and their related Screen Component Language (SCL) entries. Applications can be easily developed using just one catalog, however it is also possible to use multiple catalogs. FRAME ENTRY Frame entries are windows within which instances of visual classes (controls or components) are placed. This is where the Graphical User Interface (GUI) for an application is developed. The GUI is usually the only part of an application that an end user will interact with and therefore proper design of a GUI is essential. - 1 - NESUG 16 Posters SCL ENTRY SCL entries can either be stand-alone programs or they can be linked to a Frame entry. When linked to a Frame, SCL entries can be used to provide functionality to the visual components of the Frame. HOW TO DEVELOP A SAS/AF APPLICATION There are two ways to develop SAS/AF applications: using interactive development windows or using the Build Procedure. This paper will concentrate on using the interactive windows environment. CREATE A CATALOG 1. First create a new SAS library. 2. Enter the new library via the SAS Explorer window. 3. Select FILE -> NEW -> CATALOG 4. Name the new catalog and then click ok. CREATE A FRAME ENTRY AND ITS ASSOCIATED SCL ENTRY 1. Enter the new catalog via the SAS Explorer window. 2. Select FILE -> NEW -> FRAME 3. A new window will open on the right side of the screen and a third pane, called Components, will be added along side the SAS Explorer and SAS Results window. The new window is the Frame entry. 4. Select FILE -> SAVE AS. Enter a name for the new Frame and click save. 5. Select VIEW -> FRAME SCL. This will open the associated SCL entry for the new Frame. The SCL entry will have the same name as the new Frame but it will be of the SCL entry type. VISUAL COMPONENTS OVERVIEW The following table contains descriptions of some of the more generally useful visual components that are provided with SAS/AF. The visual components described in the table should provide enough functionality to allow a developer to produce effective applications. Visual Class Name Appearance Description Provides a switch for On/Off, True/False or Yes/No Check Box Control functionality. Provides a drop down list of items from which an end Combo Box Control user may select only one. Provides a list of items from which an end user may List Box Control scroll through and select one or more. Provides a push button that can be used to run a process Push Button Control or provide switch functionality that is similar to the Check Box Control. Provides mutually exclusive selection options, so that only one selection can be made at any time. Radio Box Control This Class is similar to the Combo Box Control except that all choices are visible. Text Entry Control Provides the end user an option to enter text. Provides a text label that is not editable by the end user. Text Label Entry These labels can be used to create page titles or to provide help and guidance to the end user. - 2 - NESUG 16 Posters DEVELOP A SIMPLE APPLICATION USING A RADIO BOX VISUAL COMPONENT 1. Have the Frame and Components Window open. 2. Click on the Radio Box Control in the components window. Be sure to select from the Components list and not from the Version 6 objects list. 3. A Radio Box Control should appear in the Frame. 4. Click on the Frame and then Select VIEW -> PROPERTIES WINDOW. The Properties dialog window should open. On the left side of the properties window will be an expandable menu for all of the objects currently on the Frame. Expand RadioBox1 to view all of the possible Attributes, Methods and Events for the Radio Box Control Object. RadioBox1 is the default name for the object. This name can be easily changed by setting the object’s name attribute. There are many other attributes divided into categories such as Appearance, Behavior, and Data etc. All the visual components described in the above table have very similar attribute lists associated with them. All of these attributes can be either interactively manipulated, using the mouse or keyboard via the properties window, or they can be manipulated from within an SCL program. To discuss and understand the full power of all of these attributes is beyond the scope of this paper. 5. In the properties window select ATTRIBUTES -> DATA. Open the list located in the VALUES column of the ITEMS ATTRIBUTE row. This is where a developer may enter data to be used as selections by an end user. Something similar to the following should be visible: - 3 - NESUG 16 Posters 6. Select Remove All. Use ADD to populate the list with data. This list now contains all possible selections to be displayed. Click OK and then close the properties window. - 4 - NESUG 16 Posters 7. Something similar to the following should be visible: 8. In a short time we have developed a very simple Graphical User Interface (GUI). To add functionality to this GUI we will now open the associated SCL entry. Click on the Frame. Select VIEW -> FRAME SCL. Something similar to the following should be visible: - 5 - NESUG 16 Posters 9. The SCL entry is where SCL code can be written to add functionality to the GUI. SCL is a fully developed and powerful programming language. A full discussion of SCL is beyond the scope of this paper. One very important feature of SCL programs is that they allow for the submission of SAS DATA STEP and SAS PROCEDURE statements to the SAS SYSTEM. This allows SAS/AF to be put to work without a programmer having to be an SCL expert first, although in the long run learning SCL will allow for even more powerful applications. SCL programs can be divided into what are known as Labeled Sections. These labeled sections allow for the development of modular code and for selective processing. The four main labeled sections are described below: The INIT section is executed when the associated application window (Frame) is opened. This can be used to set an application’s initial conditions. The MAIN section is executed each time a field (control or component) within an application window (Frame) is modified. The RADIOBOX1 section is executed each time the RADIOBOX1 object is modified (when a selection is made). This section always executes before the MAIN section. Every visual component added to the Frame can have its own Labeled Section. The TERM section is executed when an application window (Frame) is closed. This can be used to close files, tables, clean up old variables etc. 10. Remove all label sections except RADIOBOX1. Within a labeled section it is possible to place what are called submit blocks.
Recommended publications
  • Windows 7 Operating Guide
    Welcome to Windows 7 1 1 You told us what you wanted. We listened. This Windows® 7 Product Guide highlights the new and improved features that will help deliver the one thing you said you wanted the most: Your PC, simplified. 3 3 Contents INTRODUCTION TO WINDOWS 7 6 DESIGNING WINDOWS 7 8 Market Trends that Inspired Windows 7 9 WINDOWS 7 EDITIONS 10 Windows 7 Starter 11 Windows 7 Home Basic 11 Windows 7 Home Premium 12 Windows 7 Professional 12 Windows 7 Enterprise / Windows 7 Ultimate 13 Windows Anytime Upgrade 14 Microsoft Desktop Optimization Pack 14 Windows 7 Editions Comparison 15 GETTING STARTED WITH WINDOWS 7 16 Upgrading a PC to Windows 7 16 WHAT’S NEW IN WINDOWS 7 20 Top Features for You 20 Top Features for IT Professionals 22 Application and Device Compatibility 23 WINDOWS 7 FOR YOU 24 WINDOWS 7 FOR YOU: SIMPLIFIES EVERYDAY TASKS 28 Simple to Navigate 28 Easier to Find Things 35 Easy to Browse the Web 38 Easy to Connect PCs and Manage Devices 41 Easy to Communicate and Share 47 WINDOWS 7 FOR YOU: WORKS THE WAY YOU WANT 50 Speed, Reliability, and Responsiveness 50 More Secure 55 Compatible with You 62 Better Troubleshooting and Problem Solving 66 WINDOWS 7 FOR YOU: MAKES NEW THINGS POSSIBLE 70 Media the Way You Want It 70 Work Anywhere 81 New Ways to Engage 84 INTRODUCTION TO WINDOWS 7 6 WINDOWS 7 FOR IT PROFESSIONALS 88 DESIGNING WINDOWS 7 8 WINDOWS 7 FOR IT PROFESSIONALS: Market Trends that Inspired Windows 7 9 MAKE PEOPLE PRODUCTIVE ANYWHERE 92 WINDOWS 7 EDITIONS 10 Remove Barriers to Information 92 Windows 7 Starter 11 Access
    [Show full text]
  • Software Manual IDEA – the Software
    Software Manual IDEA – The Software Version 1.1 Open Technologies Srl WWW.SCANINABOX.COM Copyright © 2016 Open Technologies Srl First printing, June 2016 Contents I Part One 1 IDEA - the application for Scan in a Box .........................7 1.1 Application Interface7 1.1.1 Project management panel..........................................8 1.1.2 3D view panel....................................................9 1.1.3 Toolbar......................................................... 10 1.1.3.1 Project management (orange)........................................... 10 1.1.3.2 Acquisition (bordeaux)................................................ 10 1.1.3.3 Alignment (light blue)................................................. 11 1.1.3.4 Selection (turquoise).................................................. 11 1.1.3.5 Rendering (pink).................................................... 12 1.1.3.6 General (purple).................................................... 12 1.1.3.7 Features specific to range images (blue)..................................... 13 1.1.3.8 Features specific to triangle meshes (light green)................................ 13 2 Using IDEA ................................................... 17 2.1 Optical set-up 17 2.1.1 Optical set-up mode................................................ 19 2.1.2 Calibration of the optical head........................................ 22 2.2 Capture and alignment 25 2.2.1 Free mode acquisition............................................... 26 2.2.2 Turn Table acquisition mode..........................................
    [Show full text]
  • The Desktop (Overview)
    The desktop (overview) The desktop is the main screen area that you see after you turn on your computer and log on to Windows. Like the top of an actual desk, it serves as a surface for your work. When you open programs or folders, they appear on the desktop. You can also put things on the desktop, such as files and folders, and arrange them however you want. The desktop is sometimes defined more broadly to include the taskbar and Windows Sidebar. The taskbar sits at the bottom of your screen. It shows you which programs are running and allows you to switch between them. It also contains the Start button , which you can use to access programs, folders, and computer settings. On the side of the screen, Sidebar contains small programs called gadgets. The desktop, taskbar, and Sidebar Where did my desktop go? Because programs run on top of the desktop, the desktop itself is often partially or completely hidden. But it's still there, underneath everything. To see the whole desktop without closing any of your open programs or windows, click the Show Desktop button on the taskbar. The desktop is revealed. Click the icon again to restore all of your windows to the way they were. Desktop Training Session Handout Page 1 http://ict.maxwell.syr.edu/vista/ Working with desktop icons Icons are small pictures that represent files, folders, programs, and other items. When you first start Windows, you'll see at least one icon on your desktop: the Recycle Bin (more on that later).
    [Show full text]
  • Spot-Tracking Lens: a Zoomable User Interface for Animated Bubble Charts
    Spot-Tracking Lens: A Zoomable User Interface for Animated Bubble Charts Yueqi Hu, Tom Polk, Jing Yang ∗ Ye Zhao y Shixia Liu z University of North Carolina at Charlotte Kent State University Tshinghua University Figure 1: A screenshot of the spot-tracking lens. The lens is following Belarus in the year 1995. Egypt, Syria, and Tunisia are automatically labeled since they move faster than Belarus. Ukraine and Russia are tracked. They are visible even when they go out of the spotlight. The color coding of countries is the same as in Gapminder[1], in which countries from the same geographic region share the same color. The world map on the top right corner provides a legend of the colors. ABSTRACT thus see more details. Zooming brings many benefits to visualiza- Zoomable user interfaces are widely used in static visualizations tion: it allows users to examine the context of an interesting object and have many benefits. However, they are not well supported in by zooming in the area where the object resides; labels overcrowded animated visualizations due to problems such as change blindness in the original view can be displayed without overlaps after zoom- and information overload. We propose the spot-tracking lens, a new ing in; it allows users to focus on a local area and thus reduce their zoomable user interface for animated bubble charts, to tackle these cognitive load. problems. It couples zooming with automatic panning and provides In spite of these benefits, zooming is not as well supported in an- a rich set of auxiliary techniques to enhance its effectiveness.
    [Show full text]
  • Tracker Helps You Mark the Steps but Does Not Limit Your Control Over Them
    Tracker 6 Help Tracker is a free video analysis and modeling tool from Open Source Physics (OSP). Features include manual and automated object tracking with position, velocity and acceleration overlays and data, video filters, line profiles for analysis of spectra and interference patterns, and dynamic particle models for direct comparison with real-world videos. It is designed to be used in physics education but is also widely used in many other fields. To start using Tracker, see getting started. Getting Started When you first open Tracker it appears as shown below. Here's how to start analyzing a video: 1. Open a video or tracker file. 2. Identify the frames ("video clip") you wish to analyze. 3. Calibrate the video scale. 4. Set the reference frame origin and angle. 5. Track objects of interest with the mouse. 6. Plot and analyze the tracks. 7. Save your work in a tracker file. 8. Export track data to a spreadsheet. 9. Print, save or copy/paste images for reports. Note that the order of the buttons on the toolbar mirrors the steps used to analyze a video. For more information about Tracker's user interface, including user customization, see user interface. 1. Open a video or tracker file To open a local video, tracker tab (.trk), or tracker project (.trz) file, click the Open button or File|Open File menu item and select the file with the chooser, or drag and drop the file onto Tracker. You can also open still and animated image files (.jpg, .gif, .png), numbered sequences of image files, and images pasted from the clipboard.
    [Show full text]
  • Manual – Remote Control Page 2 of 111 7.2 Authenticating on the Remote Computer Using a Windows User Account 28
    TeamViewer 10 Manual Remote Control Rev 10.3-201506 TeamViewer GmbH • Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Table of contents 1 About TeamViewer 5 1.1 About the software 5 1.2 About the manual 5 2 Basics 7 2.1 How TeamViewer works 7 2.2 Description of the main TeamViewer window 7 3 Establishing a connection with TeamViewer 10 4 The Remote Control connection mode 11 4.1 Remote Control window options 11 4.2 Remote computer options in the TeamViewer Panel 18 5 The File Transfer connection mode 21 5.1 Options in File Transfer connection mode 21 5.2 Transferring files using drag and drop 23 5.3 File transfer via the Windows context menu 24 6 The VPN connection mode 25 6.1 Sample uses of TeamViewer VPN 25 6.2 Requirements for using TeamViewer VPN 25 6.3 VPN dialog box options 26 7 Other connection options 27 7.1 Establishing a LAN connection using the IP address 27 TeamViewer 10 Manual – Remote Control www.teamviewer.com Page 2 of 111 7.2 Authenticating on the Remote Computer using a Windows user account 28 7.3 Establish a connection via a Windows shortcut 29 7.4 Connections to your own computers without a password. 30 8 Computers & Contacts – Managing Contacts 32 8.1 The TeamViewer account 33 8.2 Computers & Contacts options 37 8.3 Service cases 53 8.4 Integrated system health checks 56 9 Multimedia functions 58 9.1 Options within the Session list 58 9.2 Transmitting webcam video to your partner 58 9.3 Talk to your partner via Voice over IP or conference call 59 9.4 Chatting with your partner during a TeamViewer session 61 9.5
    [Show full text]
  • Digital Photo Frame User's Manual
    PO_11960_XSU_00810B_Manual_en-gb Lang: English FI No.: 11960 Proof: 01 Date: 08/09/08 Page: 1 Digital Photo Frame User’s Manual Questions? Need some help? If you still have questions, call our Or visit help line found on the www.polaroid.com/support This manual should help you insert with this icon: understand your new product. PO_11960_XSU_00810B_Manual_en-gb Lang: English FI No.: 11960 Proof: 01 Date: 08/09/08 Page: 2 Controls and Basic Instructions CONGRATULATIONS on your purchase of a Polaroid Digital Photo Frame. Please read carefully and follow all instructions in the manual and those marked on the product before fi rst use. Failing to follow these warnings could result in personal injury or damage to the device. Also, remember to keep this User’s Manual in a convenient location for future reference. Important: Save the original box and all packing material for future shipping needs. Controls AUTO: Press it means exit.Hold for 2 seconds to start a Slide show. MENU: Press to enter or select. Hold for 2 seconds to enter the SETUP menu. UP ARROW Press to move up or select Previous. DOWN ARROW Press to move down or select Next. POWER: Turns power on or off. Installing a Flash Media Card USB Port 1. Find the slot that fi ts your fl ash media card. 2. Insert the card in the correct slot. 3. To remove the card, simply pull it out from the card slot. MS/SD/MMC Card Power Note: Do not remove any memory card from its slot while pictures are playing.
    [Show full text]
  • IG7013-Toolbars.Pdf
    Impress Guide Appendix B Toolbars Copyright This document is Copyright © 2021 by the LibreOffice Documentation Team. Contributors are listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/), version 4.0 or later. All trademarks within this guide belong to their legitimate owners. Contributors To this edition. Peter Schofield Dave Barton Feedback Please direct any comments or suggestions about this document to the Documentation Team’s mailing list: [email protected] Note Everything sent to a mailing list, including your email address and any other personal information that is written in the message, is publicly archived and cannot be deleted. Publication date and software version Published February 2021. Based on LibreOffice 7.0. Using LibreOffice on macOS Some keystrokes and menu items are different on macOS from those used in Windows and Linux. The table below gives some common substitutions for the instructions in this document. For a detailed list, see the application Help. Windows or Linux macOS equivalent Effect Tools > Options LibreOffice > Preferences Access setup options menu selection Right-click Control+click or right-click Open a context menu depending on computer setup Ctrl (Control) ⌘ (Command) Used with other keys F11 ⌘+T Open the Styles deck in the Sidebar Documentation for LibreOffice is available at
    [Show full text]
  • Quickly Customize Toolbars and Buttons Creating Custom Toolbars Is One of the Easiest Bar Will Be Saved
    Hands On User Level New/Casual Advanced Quickly Customize Toolbars and Buttons Creating custom toolbars is one of the easiest bar will be saved. ways to tailor ArcGIS desktop applications to 3. Under Categories, click the category contain- the way you work. In addition to positioning ing the command to add. Under Commands, toolbars in a specific area of the application, click the specific command. Drag the command Modify you can group commands on a custom toolbar. to the new toolbar and drop it. Alternately, click one of Save mouse clicks by creating a new toolbar the Add From File button and browse to the loca- the 200 that contains frequently used menu choices, tion of the code you would like to attach to the icons that new macros, or custom commands from an- button and drag the file to the toolbar. ship with other source. 4. Right-click on the new button and choose ArcGIS Change Button Image from the context menu or create Creating a Custom Toolbar to access the button icon palette. Select one of your own. 1. Choose Tools > Customize from the main the icons displayed or click the Browse button menu. to choose a custom image or another of the icon 2. In the Customize dialog box, click on the images that ship with ArcGIS. ArcGIS stores Make Your Own Icons Toolbars tab. icons in arcexe82\bin\incons. Click Open to add You can modify any of the 200 icon files that 3. Click the New button and type the name of the icon. ship with ArcGIS or create your own using the new toolbar.
    [Show full text]
  • Graphical User Interface Design Document
    EUROPEAN COMMISSION EUROPEAN MARITIME SAFETY AGENCY Cais Do Sodré 1249-206 Lisbon, Portugal SafeSeaNet Graphical User Interface Design Document NSW Prototype Document version: 1.78 Document release date: July 2015 NSW Prototype Version: 1.78 Graphical User Interface Design Document July 2015 Sa fe Se a N e t Document Approval NAME DATE SIGNATURE Prepared by: E. Thanasopoulos 03.07.2015 M. Ntirogianni C. Trigonis Checked by: A. Argyropoulos 07.07.2015 Quality control by: N. Karioti 07.07.2015 Approved by: G. Carayannis 07.07.2015 Distribution List COMPANY NAME FUNCTION FOR INFO / APPROVAL EMSA Duchesne Philippe EMSA Abela Carmelo Member States SSN central system contractor Change control History VERSION DATE AUTHOR DESCRIPTION 0.10 5 Aug 2013 Intrasoft First Draft submitted to internal QA for International Review. 0.90 12 Aug 2013 Intrasoft Submitted to EMSA for Review. International 1.00 05 Sep 2013 Intrasoft Incorporated EMSA review comments. International 1.10 18 Oct 2013 Intrasoft Defined the Consult Acknowledgement web International pages and updated the Authority Information Exchange web pages. 1.20 29 Nov 2013 Intrasoft Incorporated EMSA review comments. International 1.30 16 Dec 2013 Intrasoft Updated according to the SDD design review International teleconference on 09/12/2013. 1.40 18 Jan 2014 Intrasoft Updated to incorporate the additional International functionalities for the NSW prototype based on the SC#07 evolutive maintenance task. 1.45 17 Mar 2014 Intrasoft Updated to incorporate EMSA review International comments. 1.50 23 May 2014 Intrasoft Updated to incorporate design changes part International of SC#09. Submitted to EMSA for review 2 of 62 NSW Prototype Version: 1.78 Graphical User Interface Design Document July 2015 Sa fe Se a N e t 1.55 05 Jun 2014 Intrasoft Updated to incorporate EMSA review International comments.
    [Show full text]
  • 1 Lecture 15: Animation
    Lecture 15: Animation Fall 2005 6.831 UI Design and Implementation 1 1 UI Hall of Fame or Shame? Suggested by Ryan Damico Fall 2005 6.831 UI Design and Implementation 2 Today’s candidate for the Hall of Shame is this entry form from the 1800Flowers web site. The purpose of the form is to enter a message for a greeting card that will accompany a delivered flower arrangement. Let’s do a little heuristic evaluation of this form: Major: The 210 character limit is well justified, but hard for a user to check. Suggest a dynamic %-done bar showing how much of the quota you’ve used. (error prevention, flexibility & efficiency) Major: special symbols like & is vague. What about asterisk and hyphen – are those special too? What am I allowed to use, exactly? Suggest highlighting illegal characters, or beeping and not allowing them to be inserted. (error prevention) Cosmetic: the underscores in the Greeting Type drop-down menu look like technical identifiers, and some even look mispelled because they’ve omitted other punctuation. Bosss_Day? (Heuristic: match the real world) Major: how does Greeting Type affect card? (visibility, help & documentation) Cosmetic: the To:, Message,: and From: captions are not likely to align with what the user types (aesthetic & minimalist design) 2 Today’s Topics • Design principles • Frame animation • Palette animation • Property animation • Pacing & path Fall 2005 6.831 UI Design and Implementation 3 Today we’re going to talk about using animation in graphical user interfaces. Some might say, based on bad experiences with the Web, that animation has no place in a usable interface.
    [Show full text]
  • An Interactive Toolkit Library for 3D Applications: It3d
    Eighth Eurographics Workshop on Virtual Environments (2002) S. Müller, W. Stürzlinger (Editors) An Interactive Toolkit Library for 3D Applications: it3d Noritaka OSAWA†∗, Kikuo ASAI†, and Fumihiko SAITO‡ †National Institute of Multimedia Education, JAPAN *The Graduate University of Advanced Studies, JAPAN ‡Solidray Co. Ltd, JAPAN Abstract An interactive toolkit library for developing 3D applications called “it3d” is described that utilize artificial reality (AR) technologies. It was implemented by using the Java language and the Java 3D class library to enhance its portability. It3d makes it easy to construct AR applications that are portable and adaptable. It3d consists of three sub-libraries: an input/output library for distributed devices, a 3D widget library for multimodal interfacing, and an interaction-recognition library. The input/output library for distributed devices has a uniform programming interface style for various types of devices. The interfaces are defined by using OMG IDL. The library utilizes multicast peer-to-peer communication to enable efficient device discovery and exchange of events and data. Multicast-capable CORBA functions have been developed and used. The 3D widget library for the multimodal interface has useful 3D widgets that support efficient and flexible customization based on prototype-based object orientation, or a delegation model. The attributes of a widget are used to customize it dynamically. The attributes constitute a hierarchical structure. The interaction-recognition library is used to recognize basic motions in a 3D space, such as pointing, selecting, pinching, grasping, and moving. The library is flexible, and the recognition conditions can be given as parameters. A new recognition engine can be developed by using a new circular event history buffer to efficiently manage and retrieve past events.
    [Show full text]