Ubiquitous Web Applications A design perspective Franca Garzotto HOC- Hypermedia Open Center Politecnico di Milano, Italy garzotto@elet.polimi.it Outline • • • • • • UWA definition Enabling Technologies (A touch of) Examples of UWA applications Our focus: designing UWA’s Conclusions Q&A Outline • UWA definition – the evolution of the web from an application view point – UWA and the convergence of application paradigms • • • • • Enabling Technologies (A touch of) Examples of UWA applications Our focus: designing UWA’s Conclusions Q&A The Evolution • from web based hypertexts to web based hypermedia • from read-only web sites to web applications (navigation + operations) • from a single delivery channel (i.e., the PC) to multiple delivery channels (PDA, WAP, WebTV, ….) • from static delivery devices to mobile delivery devices • from one-size-fit-all web sites to adaptive or adaptable web sites or apps • from profile-aware web applications to contextaware web applications Ubiquitous Web Applications (UWAs): A new class of applications that: make (a large amount of) multimedia accessible to the users information provide “operational” services support some form of transactional behavior provide a variety of interaction paradigms (e.g. navigation, query, search, operation invocation, etc.) Ubiquitous Web Applications (UWAs): A new class of applications that: are multi-channel, in the sense that they are available on a variety of different devices, using different connection infrastructures are ubiquitous, in the sense that they “would like” to be accessible anywhere at anytime. are used by different categories of users (each one with different characteristics and needs) in different situations of use The convergency ... Hypertextual Navigation Context Awareness Multimedia data UWA User based adaptivity (user profile awareness) Operations & Transactions Mobility & Ubiquity Multiple delivery channels Outline • UWA definition • Enabling Technologies (A touch of) – mobility – wireless communication – mobile divices • • • • Examples of UWA applications Our focus: UWA design Conclusions Q&A Enabling Technologies • the web • new architecture and programming paradigms for web based application execution – data base driven sw architectures – Java technology – …. • Mobile technology Enabling Technologies: mobility Today, technological advances are shaping a new computing environment where the user is free from the need to work with the computer sources at a specific location, and is even enabled to work while on the move Courtesy: Patricia Marti - HIPS project (Univ. Of Siena) Courtesy: XEROX PARC Mobility: a New Paradigm... often called also mobile computing – Enabled by • advances in wireless communications, • the increasing availability, miniaturization, and affordability of portable devices – Motivated by • increasing demand for mobile communication, as witnessed by the pervasiveness of cellphones – Accomplished through • a wide range of enabling technologies and possible modes of operations, still to be shaped by products Different Kinds of Mobility Mobility means different things to different people: • personal mobility – the ability of a user to move from one terminal to another without experiencing service disruption, and/or without perceiving a change in the application context (the application “follows” the user) • logical mobility – the ability of software programs to migrate across the hosts of a computer network (mobile code or mobile agents) • physical mobility Physical mobility • the ability for the user to move from one device to another, or to move with his/her own device without perceiving a change in the application context • achieved by three main “technological paradigms”: –nomadic computing –base station mobility –ad hoc networking Nomadic Computing • Users connect to the network from arbitrary and changing locations, • … are not permanently connected, and … • … do not necessarily benefit of wireless links: they carry out most network-related functions at a fixed location Base Station Mobility • Users move from site to site while retaining connectivity (and identity) during movements, and • … exploit wireless links to connect to a wired infrastructure, that carries out most of the computation and communication (typically including routing) • Mobile nodes act as the leaves of the architecture Ad-Hoc Networking • It is the most radical scenario for mobility, where no wired infrastructure is available: communication takes place entirely through the wireless network Wireless Communication Wireless communication is enabled by essentially two media: • radio • infrared Wireless Infrared Communication In general, infrared technology is – restricted to very short distances – subject to line-of-sight limitation – is now of common use for : • interconnecting devices and peripherals (e.g., PC with PDA, printer, or cellphone) • mobile applications where short range is actually desirable (E.g., experimental museum walkthroughs where people standing in front of a painting get information about it automatically fetched on their PDA) Wireless Radio Communication • Used by the majority of mobile wireless technology • Impredictable impairment effects caused by: – waves reflected by ground and obstacles arrive to the receiver out of phase, and summed to the direct signal; – Transmitters transmitting too close, or with a signal too powerful, or on the same frequency – Background noise (e.g., thermal) depending on the receiver sensitivity – Atmospheric noise (e.g., caused by storms) can scramble the signal – Industrial noise: generated by all electric equipment Wireless Networks Typically, wireless networks are conceived as a replacement of conventional technologies for the traditional kinds of networks: – Wide area networks (WAN) • Cellular phones, satellites – Local-area networks (LAN) • 802.11, HiperLAN – Metropolitan/Campus-wide area networks (MAN): • Wireless routers, Wireless Local Loop – Personal area networks (PAN): • seamless interconnection of a user’s device with other devices in the immediate surroundings • Bluetooth Satellite-based Wireless WAN • The use of small satellites to create a WAN infrastructure connecting several geographically dispersed LANs has become a standard option for large organizations – Easy to support mobile workers, e.g., truck drivers • Satellites support also the Global Positioning System (GPS) Master Station Web servers ISP Internet Bluetooth • Developed by a consortium established in 1998 by Ericsson, Nokia, IBM, Toshiba, Intel – The main objective is to enable straightforward connectivity among a user’s devices like PDA, cellphone, laptop, avoiding cumbersome cable connections and configuration procedures, with a low-cost, single-chip solution – The Bluetooth 1.1 specifications were released in February 2001, the first products are appearing Mobile Devices • Labtops • PDA (Personal Digital Assistant) – Emerged in 1993 as a data organization and communication devices, with specialized OS and GUI, and handwriting recognition. The initial products fell short of expectations, and suffered from the rapid growth of the laptop market – Modern PDAs benefit of the technological advances of wireless communication (but energy supply is still a major bottleneck) – Thee main PDA classes • palmtops • hadheld • communicators Palmtop Devices • typically very small (to fit in a pocket) • a pen-based user interface , no keyboard • Expansions for wired and wireless LAN and modems, cellular telephony, and GPS are available • a rechargeable battery (or common AA batteries) Handheld Devices • bigger in size • with a wider screen and keyboard (+ pen-based interfaces - usually) Communicators • an attempt at combining the concept of PDA with a cellular phone, thus reducing the number of devices and providing the PDA with ubiquitous connectivity • They typically support WAP Some Fancier Portable Appliances New Frontiers: Wearable Computing • “a computer that is always with you, is comfortable, and easy to keep and use, and unobtrusive as clothing” • Prototypes typically include a seethrough head-mounted displays, showing information superimposed with real-world (augmented reality) – Ideally, they should allow handsfree operation, employing voice recognition techniques • Main applications: military and industrial environments Issues in Mobility_1 • Quality of service and performance in general is impacted by – Dynamic topology causes instability disconnections are frequent – Links are bandwidth-constrained, of variable capacity, interference-prone, and possibly asymmetric • Energy-constraints – Portable devices are operated with batteries, and often disconnection is forced by the user to increase autonomy • Wireless vulnerability and limited security – The ease of setting up and joining a wireless network is at the same time a vulnerability of the overall system Issues in Mobility_2: Applications Hardware, communication technology, infrastructures, is evolving at a very fast pace, pushed by market demands BUT which applications? The potential coming from mobile technology is still largely to be explored Outline • • • • • • UWA definition Enabling Technologies (A touch of) Examples of UWA applications Our focus: designing UWA’s Conclusions Q&A UWA examples • mobile application on PDA – Xerox PARC: PDA Electronic Guidebook for Filoli Historic House • adaptive/context aware mobile application on PDA – HIP project - University of Siena : Civic Museum Touristic Guide • multi-devices web application (PDA, PC, – S. Francisco MOMA “Point of Departure” • context-aware mobile web application – CNR MUSE project The Xerox PARC Electronic Guidebook Courtesy: The Xerox PARC Electronic Guidebook • Handheld color PDA • Pictures of objects • Tap on objects to get short descriptions – Audio or text option – If miss, outlines appear • Press button to change viewing perspective Context Aware Adaptive Application: The Tourist Guide at the Civic Museum in Siena Courtesy: Patricia Marti HIPS project (Univ. Of Siena) Listening, Watching, and Reading... Courtesy: Patricia Marti HIPS project (Univ. Of Siena) Different visitor profiles induce different forms of adaptivity The Ant Visitor The Fish Visitor The Grassoper Visitor The Butterfly Visitor Multi-channel Web Application: The SF Moma “Points of Departure” Making Sense of Modern Art: Points of Departure section Courtesy: Peter Samis - SF MOMA The SF Moma “Points of Departure” IPAQ Gallery Explorer: Visitor watches artist Gerhard Richter on a Gallery Explorer while standing before a Richter seascape IPAQ Gallery Explorer: Artist Robert Rauschenberg narrates the story of his Erased de Kooning Drawing Courtesy: Peter Samis - SF MOMA Context Aware Mobile WEB Application: The MUSE system MUSE (Museums and Sites Explorer) project A project of the CNR National Research Program on Cultural al Heritage “PARNASO” (2000-’03) Courtesy: T.Simon Cinotti - MUSE Project, Univ. Of Bologna Università di Bologna, Cineca, Public Cultural Heritage institutions, Private companies The Mobile Interactive Multimedia Illustrator Barracuda tablets (Intel Labs prototype) Weared with a shoulder strap like a Radio connected a site server camera Courtesy: T.Simon Cinotti - MUSE Project, Univ. Of Bologna MUSE: Navigating Virtual Pompei Courtesy: T.Simon Cinotti - MUSE Project, Univ. Of Bologna MUSE: Basic topology Proxy Server M.U.S.E. Services MUSE Network INTERNET Router Firewall SRB SRB Site Services Site Network Courtesy: T.Simon Cinotti - MUSE Project, Univ. Of Bologna MUSE: Main services Administration Terminal Application server DB server SRB Multimedia server Cd server & accounting unit Mail server Servers may be located on one or more machines SRB RSA1 RSA1 RSA2 RSA2 Courtesy: T.Simon Cinotti - MUSE Project, Univ. Of Bologna MUSE: Two fruition modes SITE SERVER basic RBS HIGH PERFORMANCE GRAPHICS PANEL enhanced MULTIMEDIA MOBILE TERMINAL Courtesy: T.Simon Cinotti - MUSE Project, Univ. Of Bologna Outline • • • • UWA definition Examples of UWA applications Enabling Technologies (a touch of) Design Issues – motivations – integrating navigation & operations – customization • Conclusions • Q&E Motivations for “investing” on design Assuming we have the “perfect” technology: – The effectiveness and quality of WAs depends, to a large extent, upon the quality of the requirements-design process – The quality, effectiveness, and efficiency of the design process depend, at large, upon the design methodology ant the corresponding design tools – The effectiveness and the efficiency of the developmentmaintenance cycle of WAs depend, at large, upon the quality of the design. Our approach to UWA design • User-Oriented – designing UWAs properties in the user perspective, i.e., modeling aspects that are directly perceived by end users – see conceptual design in DBs • System-oriented – designing UWAs properties in the system perspective, i.e., modeling aspects that are of interest from an implementor’s perspective UWA: novel design issues ….w.r.t. traditional web site design or traditional application design? • Integrating “operations” and navigation • implications of mobility and ubiquity on “operational state “ • user profile + context awareness into account: customization Integrating operations and navigation • UWAS enable users not only to search and browse information, but also to perform complex workflows of activities, involving possibly sophisticated data processing and intensive data modifications • from a user experience perspective, NOT just an add-on • the navigation paradigm of interaction and the operational paradigm of interaction are integrated A new design space The Hypermedia Design Space Access Layer Hyperbase Layer Information Navigation Presentation Operations The Web Application Design Space Atomic Operations & Activities • Atomic Operation: Perceived by the user (and the system) as a single elementary interaction – add item to a shopping bag – change the order in a list of items • Activity: a complex flow of atomic operations or sub-activities that are intended to meet a given goal – buy a product – select papers for a conference Atomic Operations Various categories of effects (oftentimes combined) must be specified by designers: • information effects – e.g., change currency from dollar to euro • navigation effects: modify the current position of the user – once the information effects are achieved, the user is automatically taken to a different node • presentation effects: affect the lay-out – e.g., change the visual order of items in a list Activities • Activity: a complex flow of atomic operations or sub-activities that are intended to meet a given goal – buy a product – select the papers for a conference –… • An activity typically involves both atomic operations and “follow-link” (i.e. navigation) Designing activities: several degrees of integration with navigation • weak integration • strong integration Strong integration • Navigation mechanisms and Activities share hypermedia structures ("nodes" or "pages” and links) • Users can access hypermedia structures both while they are just browsing and while they are executing a non-navigational activity – example: before confirming a purchase during a "check out" operation in a virtual shop, the user is allowed to navigate from the node displaying the list of products to any product he has chosen to buy Weak integration • navigation and operations are totally independent • They only share the nodes from which the operations can be invoked, but after invoking an operation, the user is isolated from the surrounding hyperspace until the operational activity is over – example: Amazon check out Strong integration: design problems • Need to modify the “follow-link” semantics when executed in the contex of an activity • Different behaviours associated to "follow- link" Redefining navigation in an operational context_1 • follow-link = ABORT – the current activity is interrupted • e.g. the user must start again from the beginning if he wants to continue buying the same set of products • follow-link = SUSPEND – the current activity is suspended without any modification of the navigation space, until the user returns (no matter how) to the position where the activity has been suspended Redefining navigation operational context_2 in an • follow-link = SUSPEND & MODIFY – the current activity is suspended and the navigation space is temporarily modified until the user returns to the position where the operation has been suspended. – two types (oftentimes combined) of modifications of the navigation structures: • restriction of the navigation space (e.g., hiding all links outgoing from a product that are not relevant for the purposes of the current check-out process); • creation of new (temporary) links that induce the user to follow some special paths (e.g., building a guided tour across all products in the purchase list; linking each product in the list to other products that the site owner wants to promote; etc.). Weak integration • Complex behaviour may occur since operational and navigational mechanisms share the same presentation device, i.e., the browser. • The interaction capabilities implicit in the browser have a built-in semantics: – natural and correct in the context of pure navigational applications, but – misunderstood or even wrong when it interferes with operational behaviour. Example: the Amazon bug Back Continue shopping Proceed to checkout Delete 1 Add to Shopping Cart 2 2 items Delete Back Back 3a 3b 1 item 4a … Proceed to checkout 1 item 1 item … Proceed to checkout 4b 2 items The Amazon bug: discussion • By backtracking, users can return to a page that shows the results of a previously executed operation but has been modified later by other operations, and invoke an operation there. • In the user understanding, that operation is applied to the results shown in the page he is seeing: He interprets the "back" as "undo". • But for the application, the operation parameters correspond to the last state of that page (e.g., the state of the shopping bag resulting from the last "bag update" performed by the user). The Amazon bug: design implications various alternatives for the designer: – redefine the meaning of back as undo (information state update) – modify the meaning of the history, e.g., • “pages” are refreshed • critical pages expires • …. Activities and Transactions • need of defining the rules which describe the semantics of activities and govern their execution • in the data base world, these rules are defined by choosing a proper transaction model What is the proper transaction model for activities in ubiquitous web applications? – Still largely an open issue – Need to relax some of the ACID properties of traditional transaction models (invented for short operational processes) – no winner yet Requirements for conceptual modeling of UWA transactions_1 • LONG-LIVED ACTIVITIES – interplay of navigation and operation execution: user may start navigating which performing a complext activity – multidelivery • user may start a process on one device and continue in another device – mobility • user may get disconnected during the process (disconnections may be accidental or intentional e.g.. for power-saving reasons) Requirements for conceptual modeling of UWA transactions_2 • STRUCTURED ACTIVITIES – mobility (limited memory, processing power, and battery) • the activity is split at design level: user is forced to perform a defined part of the process on a mobile device and continue it on a stactionary device – multi-server execution • resources to perform an activity may be distributed on more than one server Requirements for conceptual modeling of UWA transactions_3 • COOPERATION and GROUP WORK – using the web is not a lonely activity and more, but is becoming a social activity – communities of individuals are allowed to “do things together” Requirements for conceptual modeling of UWA transactions_4 • preserving the state is a crucial need – the application is able to store, suspend and resume transactional conversations across different devices, servers, portions of the application, in order to minimize loss of work and maximize user service quality. • the notion of transaction state is more complex than in traditional DB transaction Requirements for conceptual modeling of UWA transactions_5 • current extended transaction models are the starting point but not fully satisfactory – transactional workflows particularly promising • need of integrating of the features of the different models Requirements for conceptual modeling of UWA transactions_6 • not a single transaction behaviour but multiple transaction behaviors should be offereb to the designer – there must be options available to the designer for defining rules to regulate the transaction behaviour – During the design process the designer selects, specifies and describes the level of transaction complexity and the corresponding support that he wishes to offer to the user. – The transactional behavior may range from very simple to extremely complex. Customization: The rationale_1 Different requirements (in terms of which content and services ar eprovides, and how) are induced by • different (possibly evolving) user profiles • different devices • different situations of use in their logical, geographical, temporal, and physical perspective Different requirements different design solutions CUSTOMIZATION DESIGN: the process of capturing the proper design solutions fitting the overal set of requirements Customization as a New Design Perspective Access Layer Hyperbase Layer Operations & Transactions Information Navigation Presentation Customization History of Customization • Adaptive user interfaces • Information filtering • Adaptive hypertext and hypermedia • Mobile computing and location aware systems • …. Today’s web applications would require many of those customization issues already discussed by these various different communities There exists, however, no general approach covering all these issues Customization „Parameters“ • • • • • User Environment Session History …. Customization „Parameters“ : User users profile, preferences, interests,… • information that is voluntarily entered by the user describing the user's preferences • information that is transparently acquired by the system including, e.g., usage statistics Customization „Parameters“ : Environment Agent: information about the device and browser: the capabilities of devices, e.g., display size, memory, operating system and the browsers running on these devices, e.g., kind of browser and version number. Network Context properties concerning the network (e.g., the bandwidth) Location Context: information about the location where an application is accessed Temporal Context: timing constraints such as opening hours of shops or timetables of public transportation. certain timing constraints Customization Factors: History and Session • Session possibly consisting of a sequence of active or suspended transactions, or the current values of the context properties for a given interaction (e.g., the most recent) • History information about historic interactions (navigation) A context model (UML spec) «ContextModel» aContextModel Session 1 0..1 History time 1 1 Context getContext(String) 1 1 1 UserAgent User get() 1 get() 1 1 Network Location get() get() Time get() ContextProperty get() Courtesy: UWA project - University of Linz Examples of customization needs (in a tourist guide) – Navigation: start navigation from a default point directly , or require specification of preferences and define the proper starting point (USER) – Information: Display the night-bus schedule or the subway schedule (TIME) – Information: Display a map related to the actual position of the user (LOCATION) – Layout: Render picture depending on the network throughput (NETWORK) – Information: Depending on the device, display full details about an item, or abbreviation of first name if WAP (DEVICE) – Navigation: presenting the collection of relevant sights in form of a list (index) for the web and as a guided tour in case of WAP (DEVICE) How to capture customization needs? The conventional approach – design different applications for different categories of users, different devices, different situations of use An alternative approach: rather than designing each single “version” in isolation, – designing a family of applications based on the same universe of information – providing different designs (different application schemas) where there are macro-differences in the situation of use – defining design modifications to capture fine grained requirements by means of customization rules Requirements Changing Changing “Context” “Context” Customization Design Customization Rules Customization Rules Variable properties Application Design 1 Stable properties Variable properties Application Schema Application Schema Stable properties Application Design N Stable “Context” Stable “Context” Modeling customization rules a proposal • event/condition/action (ECA) • Event. – determines the events which are able to trigger the rule. • Condition. – is evaluated as soon as the rule is triggered by an appropriate event and evaluates whether (and which) adaptation is actually desired. • Action. – is responsible for defining which design modifications must be taken Rule Properties. priority, consistency…. may affect the rule activation Customization Rules: Triggering Events (examples) • Change of context: – ChangeOfDevice, ChangeOfTime…. ChangeOfBandwidth, Change of profile: ChangeOfProfile , ChangeOfInterest …. ChangeOfLocation, Requirements Changing Changing “Context” “Context” Customization Design Customization Rules Customization Rules Variable properties Application Design 1 Stable properties Variable properties Application Schema Application Schema Stable properties Application Design N Stable “Context” Stable “Context” The designer dilemma in the customization design process • what in customized design (different schemas) ? • what in customization rules ? • what is the proper execution model – static vs dynamic customization Customization Dimensions Courtesy: UWA project - University of Linz Outline • • • • • • UWA definition Examples of UWA applications Enabling Technologies (a touch of) Design Issues Conclusions and open issues Q&E Conclusions and open issues_1 • Wireless technologies and portable devices are enabling “anytime, anywhere” styles of use of computers • From an application perspective, the potential coming from integrating mobile technology and the web is still largely to be explored • A wide spectrum of open research issues Conclusions and open issues_2 Open research issues from a conceptual design perspective: • operation modeling • transaction modeling • customization modeling • mapping conceptual models into implementation models • tools that support design and mapping • ….. Credits_1 The UWA project IST-2000-25131 (Jan. 2001-Dec.2002) – – – – – – – – – – HOC-Politecnico di Milano (I) Atlantis spa (I) IFS-University of Linz (A) Siemens Mobile Computing Dept. (A) MUSIC-Technical University of Crete (G) University College of London (UK) University of Italian Switzerland (CH) Robotiker (E) Punto Comercial (E) Banca 121 (I) Credits_2 • Gian Pietro Picco, Mobile Computer Group at Politecnico di Milano • The MUSE Project (T.S. Cinotti -University of Bologna) • Xerox PARC (Allison Woodruff) • THE SF MOMA (Peter Samis) • The IST project HIPS at University of Siena (Patricia Marti) Ubiquitous Web Applications A design perspective Franca Garzotto Q&A HOC- Hypermedia Open Center Politecnico di Milano, Italy garzotto@elet.polimi.it hoc.elet.polimi.it