WebBee: An Architecture For Web Accessibility For Mobile .

3y ago
20 Views
3 Downloads
320.92 KB
9 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Sasha Niles
Transcription

1WebBee: An Architecture for Web Accessibility for Mobile DevicesKrian UpatkoonWenjie WangSugih JaminDepartment of Electrical Engineering and Computer Science,The University of Michigan, Ann Arbor, MI 48109-2122, USA{kupapatt, wenjiew, jamin}@eecs.umich.eduAbstract— In this paper, we introduce WebBee, a clientproxy architecture that combines a web scraping proxywith a Java client to make a platform-independent gatewaybetween small mobile devices, such as mobile phones, andthe vast information available on the World Wide Web.The key technology behind WebBee is a web scrapingengine that executes “scraping scripts,” a domain-specificscripting language we designed for the purpose of fetchingweb pages and selectively extracting information fromthem. By transmitting to and displaying only this extractedinformation on the client device, WebBee gives mobiledevices with small displays and low network bandwidthclean and quick access to web content customarily designedfor desktop browsers. With WebBee, providers do not needto tailor their contents specifically for mobile devices.I. I NTRODUCTIONBuilding bridges between the world of small mobile devicesand the Internet remains an open area of research. Whilesupport for some applications such as e-mail have matured,the ability to serve world-wide-web content on mobile deviceshave been limited by screen size and network bandwidth.Evidence of small displays can be seen even in the latestdevices. High-end phones such as the Nokia 3660 or NokiaN-Gage series [1], with a screen size of 176 x 208 pixels (35 x41.5 mm), are considered larger than average. NTT Docomo’sFOMA SH900i [2] (one of the newer phones on the Japanesemarket at the time of writing), hand-held PCs such as HP iPAQpocket PC [3], and Dell Axim [4], all have screen sizes notexceeding 240 x 320 pixels. Given this small space, it maybe considered unacceptable to retain all the information thatwould be shown on a desktop-sized display (generally 1024 x768 pixels or larger).Although the adoption of 3G [5] alleviates the networktraffic problem in the case of mobile phones, the majorityof mobile phone users in the world today use GSM [6],which is rated at 171.2 Kbps [7], but typically has a muchslower download speed. For example, in Table I, we averagedthe latency and bandwidth measured by wapSpeed.com [8]for three major wireless carriers in the United States, fromwapSpeed’s latter 25 tests. We found the average latency tobe about 3 seconds, and the network bandwidth to be limited toaround 20 to 30 Kbps, far less than the theoretical limit. Busseet al. reported an average latency of about 1 second for GPRSand about 275 ms for 3G (UMTS) on an European network[9]. In contrast, a computer user on a broadband connectionmay experience 3 Mbps downloads at a latency of less than70 milliseconds.TABLE IL ATENCY AND BANDWIDTH MEASUREMENT OF GPRS[8] ON 05/29/2004CONNECTIONS FROM WAPSPEED . COMCarrierSprint PCST-MobileAT&T WirelessDeviceSCP-8100Nokia N-GageMOT-V600Latency3.49 sec3.07 sec2.85 secBandwidth29.7 Kbps19.9 Kbps28.5 KbpsMaking the vast content and services of the world-wideweb accessible to small mobile devices has traditionally hadtwo solutions: web browsers designed to render desktopsized pages on small displays, and the use of mobile-friendlymarkup languages to create sites specifically targeted to themobile audience.Mobile web browser renders each web page to fit the limiteddisplay size of the target device, even if the web pages werenot designed with small displays in mind. A good exampleof this technology is Opera [10], a web browser available formultiple platforms such as Symbian OS [11] and Palm OS[12]. Another product, ePAGE by Picsel [13], enables users toview HTML (and several other file formats) on various mobiledevices. ePAGE features a “zoom” control system, where userspick a spot of interest on the screen to focus on and zoom into.One big drawback to the generic browser solution is thatthe device must still download, at the very least, each webpage’s HTML file in its entirety. This burdens the limitedwireless bandwidth of the device. Moreover, because manymobile phone plans charge consumers by total network traffic,users are unlikely to risk surfing bloated web sites. Anotherdisadvantage of these technologies is that they require largeamounts of computational power, and consequently, batterylife, two of the most limited resources on mobile devices. Forexample, we tried viewing the amazon.com web page overGPRS using Opera on a Nokia N-Gage [1], considered tobe a computationally high-end phone with a 104 MHz ARMprocessor. After the page was fully loaded, scrolling was stillpainfully slow, as the browser had to pause for almost onesecond after each click of the directional key.One way to reduce the network demands and alleviatepower-consuming processing on the mobile device is to perform the rendering and image shrinking in a proxy [14, 15].Because many web sites tend to display links, images, andother information intended for desktop displays, the renderingalgorithm (regardless of whether it is implemented on thephone or on a proxy) must be extremely sophisticated if it isto automatically eliminate extraneous information in order toshrink the page’s rendering size. No matter how sophisticated

2the renderer, however, there is a limit to how much informationa generic browser can remove without having any knowledgeof what the user is interested in. For example, a weatherweb site made for desktop browsing may not only containthe current temperature and daily forecast, but also drivingconditions, next week’s forecasts, statistics, Doppler radarimages, advertisements and so on. Without knowing exactlywhat the user is interested in, a generic browser would beforced to squeeze all this information into the portable device’sdisplay. This tight packing of information makes it hard forthe user to find what she really wants to see on the page.In contrast to the mobile web browser approach, mobilespecific solution requires providers to create content specifically made for mobile devices. Examples are web sites writtenin mobile markup languages such as WML [16] or NTTDocomo’s cHTML for i-mode [17]. While this is a cleansolution, it relies completely on the content provider to createthese sites; the additional set up and maintenance cost of thesesites is multiplied if the provider is to cover the various markuplanguage platforms available.In short, current mobile browsing solutions face the following issues: Screen space is too small for a generic HTML browserGeneric browser solutions consume much powerNetwork bandwidth is slow and costlyMobile-specific solutions require effort on the contentprovider’s part, for each platform to be supportedIn this paper, we introduce WebBee, a client-proxy architecture that combines a web scraping proxy with a Javaclient to make a platform-independent gateway between smallmobile devices and the vast information available on the WorldWide Web. The key technology behind WebBee is a webscraping engine that executes “scraping scripts,” a domainspecific scripting language we designed for the purpose offetching web pages and selectively extracting information fromthem. Because scripts can be customized for each web site,the client will display only information of interest to the enduser. In this way, WebBee gives mobile devices with smalldisplays and low network bandwidth clean access to webcontent originally designed for desktop browsers.Our prototype implementation of WebBee1 includescommonly-used services such as directory services andweather forecasts. Trial users have found web access to theseservices on their mobile phones to take far less time usingWebBee than it would using a generic browser like Opera.In addition to the convenience, network traffic is significantlyreduced, resulting in cost savings for users with a pay-perkilobyte Internet access plan. For example, a generic webbrowser needs to download a total of about 419KB for thefull amazon.com web page and to retrieve the price of abook searched by its ISBN. With our WebBee prototype,the mobile client only needs to retrieve about 150 bytes ofdata. The WebBee mobile client program is compact and1Sample WebBee applications are available for publicdownload at http://webbee.eecs.umich.edu/index.wml (WML)or http://webbee.eecs.umich.edu/ (HTML)computationally inexpensive, expanding Internet accessibilityto a large range of mobile devices.We do not intend for WebBee to be a magic solution thatautomatically makes all of the World Wide Web’s sites fit ontodevices with small screens and bandwidth; in fact, we haveargued that the general solution is not feasible. Some amountof human effort is required for making each site accessiblethrough the WebBee system (namely, the creation of scrapingscripts and client user interfaces). We will show later in thispaper, however, that the effort needed per site is very little.As a result, we argue that WebBee can be adopted widely tocover almost all the useful web services that one might thinkto use while on-the-go with a mobile device.In our design of WebBee we follow the following threedesign principles. We illustrate their use on the design of aWebBee-based weather lookup application.1) The mobile device is the portal: instead of forcingusers to go through a network portal to access eachseparate web site, we push the applications to the mobile device itself. With WebBee, users have a Weatherapplication on their mobile device that they can start toimmediately begin receiving weather information; therole of the network is transparent to the users.2) Minimize network use, maximize local interactions:instead of requiring each user to browse a series of webpages just to submit a query for the weather of a city,the weather application residing on the mobile deviceinteracts locally with the user to obtain the necessaryinformation and makes a single query over the networkon behalf of the user.3) Keep applications simple: each WebBee applicationperforms only a single purpose. This way, we minimizeboth user interaction and screen usage.A faster network such as promised by 3G technologies willnot obviate these design principles because screen real-estateon the mobile phone will continue to be limited, and networklatency at 250 ms will continue to be an issue.The rest of this paper is organized as follows. We first give adescription of the WebBee architecture in Section II. In SectionIII, we present the specifics of our prototype implementation.We then discuss some challenges that we face in the designof WebBee in Section IV, and conclude in Section V.II. W EB B EE A RCHITECTUREA. OverviewAt the core of WebBee is a web scraping engine thatexecutes mini-scripts, referred to as “scraping scripts.” Webscraping is the process of extracting information from a webpage; the scraping scripting language we designed allows forpattern matching to locate the desired information on each webpage. Scraping is typically useful for extracting informationfrom sites that have changing content, such as weather reportsand news. Combined with user input, scraping can also beused for querying applications such as online dictionary oronline auctions.The scraping functionality of the WebBee architecture isclosely related to that of data-miners. A data-miner is a

3WebBee ServerWeb ServerCell Phone /PDAScrapingModuleComm. TowerScrapingScriptWeb ServerScrapingScriptScrapingScriptWeb ServerUser-DefinedScriptWeb ServerFig. 1.WebBee Architectureprogram that automatically extracts specified information ofinterest (e.g., text) from one or more web sites. A basicdata-miner can be thought of as having two tasks: first,to comprehensively explore a web site by following links;second, for each page it comes across, the data-miner willscrape the desired information and add it to its database. Thedifference with WebBee is mainly in the first task; rather thanautomatically crawling through a web site, WebBee downloadsa specific page to scrape in response to a user’s request.The structure of the WebBee architecture is illustrated inFig. 1. The target client device can be any small mobile devicewith some form of Internet access, such as a mobile phonewith an Internet plan. Another common client may be a PDAwith wireless access like GPRS or WiFi (802.11b, etc.).The WebBee server runs on a machine with a high-speedInternet connection. This server contains a web server aswell as the scraping engine itself. The web server allows theWebBee server to act as a proxy between the mobile deviceand the web sites the user wants to view. The scraping engineis a web server module that is executed to process incomingrequests from clients.When a client on the mobile device communicates withthe WebBee server via an HTTP POST request, the scrapingengine module is invoked to service the request. The clientindicates which script the user wants to run (or supplies itsown script, if necessary), and the scraping engine begins toexecute the script. The script instructs the WebBee server todownload and scrape the appropriate web page(s). The scrapedinformation is then returned to the mobile device via an HTTPreply.The advantage of the proxy approach is that all the unnecessary information is eliminated before any data is transferred tothe mobile device, reducing transfer time and network trafficcosts. Also, because the work of scraping is done off thedevice, the client program can be kept small and simple, savingmemory and processing power (which can have a significantimpact on battery life) on the device.We illustrate how our system works with a simple example.When a mobile phone user wants to look up the price of abook on amazon.com, she starts a Java client on her phoneand enters the ISBN of the book (Fig. 2). The client contactsa WebBee server, which fetches the appropriate script fromFig. 3.zon.com.Screenshots for searching book price from ama-its cache and begins to execute it. According to the script, theWebBee server then posts a search request to amazon.com forthat particular book by ISBN, and downloads the page withdetailed information regarding the book. The title and priceare scraped from the page, formatted, and sent back to thephone to display. On the surface, the user sees only the endresult: a screen showing the price of the book (Fig. 3).Using HTTP as the method of client-server communicationbrings several advantages. First, in the case of mobile phones,some service providers block access to all remote ports exceptport 80 (HTTP). Additionally, HTTP connection classes areprovided with Java MIDP [18], which handles most communication error handling, simplifying the Java client and keepingits footprint small. Another important consequence of usingHTTP is that the WebBee server appears as if it were justanother web server to the clients; the fact that external websites are being downloaded for scraping is hidden from theperspective of the client.B. Scraping ScriptsIn our prototype implementation, WebBee scraping scriptsare manually written for each web site to scrape. The scriptinglanguage is simple enough that a user with some HTMLexperience can pick it up in an hour. Creating a simple script toscrape a page may typically take around fifteen minutes or less.The scripting language includes functionality such as fetching

4Display SearchResultsUser InputISBN NumberHTTP Request foramazon.comCell PhoneScraped ResultWebServer (Apache):Execute the Scraping Module (Python)Callamazon.com.scriptScraped ResultScraping Module:Execute the Script for amazon.comHTTP Requestwith ISBNReturnedWebpageWebBeeServerAmazon.comFig. 2.Searching for a book’s price from amazon.com.a web page, forwarding form data, and pattern matching forlocating information.Similar to sites with mobile-friendly pages, there is a needfor creation (and possibly maintenance) of scripts for eachsite. However, we argue that the use of scraping scriptsrequires no more work than the creation of these specializedmobile content pages by the content author, and has additionaladvantages as well.The first is portability: any mobile device capable of runningJava MIDP applications will have access to all the contentscraped by any script, regardless of whether the device’s builtin browser understands HTML, WML or cHTML. The contentauthor need only produce a normal HTML site and a scrapingscript for it, rather than creating multiple versions of eachpage. If the content author includes “scrape-friendly” tags(described later in this paper) in their pages, no changes tothe scraping script will be necessary when the author updatesthe site’s layout; thus, maintenance of scripts will be kept toa minimum.The second advantage is ease of implementation. In the traditional solution of creating separate mobile-friendly versionsof a site, it is the content provider’s responsibility to authorthe mobile-friendly pages, and to tie in their functionalityto their server back-end. Using the scraping approach, anysavvy user (not just the content author) can create a mobilefriendly interface to an existing web site without requiringany additional access to the server back-end functionality. Byopening the development of such scripts to all users, we areconfident that WebBee will speed the expansion of mobileaccessible content.Simply scraping information for display with scripts, however, is just the most basic use of WebBee. Most forms ofinteraction that a desktop browser can perform with a site,can also be mirrored in WebBee using appropriate scriptsand clients. For example, specialized clients can be written tomake more sophisticated applications, such as a secure biddinginterface for an online auction. Other example interactive sitessuitable for WebBee include web loggers (or “blogs”), andphone and address directory services.C. Image TranscodingBesides the extraction of text, we have designed WebBee totranscode [19] images as well. Image transcoding is especiallyuseful for scraping web sites with content such as mapservices. A scraping script for getting driving directions offMapQuest [20], for example, extracts not only the text of thedirections, but also the associated images illustrating the routeto follow.For each image indicated by the script, the WebBee serverwill download the image, then resize and re-encode it asnecessary to make it fit on a small display. The allowed limitof resizing can be specified in the scraping script to ensurethat the image is not made so small as to be illegible. Otherpossible operations to reduce the image size include cropping(the removal of sides of the image) and color reduction (a256-color image may be reduced to 8 colors, or to greyscale,for example). The transcoded image binaries are tagged ontothe end of the HTTP replies that are sent back by the serverto the mobile devices.We chose PNG (Portable Network Graphics) [21] as the fileformat for the transcoded images, as PNG image decoding isnatively supported in all Java MIDP devices; support for otherformats such as GIF or JPEG, on the other hand, are not alwaysguaranteed. The use of PNG considerably simplifies the clientcode needed to load and display the received images. One issuewith the use of PNG, however, is that it is a lossless format;while it achieves a good compression ratio on line drawings(e.g., maps), it performs poorly compared to the lossy JPEGformat on images such as photographs.D. Location-Aware ServicesIn the United States, the Enhanced 911 mandate passed bythe U.S. Federal Communications Commission requires, bythe end of 2005, that all wireless carriers be able to locate any

5wireless phone calling 911 to an accuracy of 50 to 100 meters[22]. If this location information were available to clientsoftware running on the phones, the user’s current position canbe used with WebBee to provide location-dependent services.Given a user’s position from the client, for example, theWebBee server can look up the user’s current addre

with a Java client to make a platform-independent gateway between small mobile devices, such as mobile phones, and . High-end phones such as the Nokia 3660 or Nokia N-Gage series [1], with a screen size of 176 x 208 pixels (35 x . Mobile web browser renders each web page to t the limited display size of the target device, even if the web .

Related Documents:

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

10 tips och tricks för att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare känner säkert till Cobb’s paradox. Martin Cobb verkade som CIO för sekretariatet för Treasury Board of Canada 1995 då han ställde frågan

service i Norge och Finland drivs inom ramen för ett enskilt företag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett för tv (Sveriges Television , SVT ), ett för radio (Sveriges Radio , SR ) och ett för utbildnings program (Sveriges Utbildningsradio, UR, vilket till följd av sin begränsade storlek inte återfinns bland de 25 största

Hotell För hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C är acceptabel men att motiven för en högre standard är starka. Ljudklass C motsvarar de tidigare normkraven för hotell, ljudklass A/B motsvarar kraven för moderna hotell med hög standard och ljudklass D kan användas vid

LÄS NOGGRANT FÖLJANDE VILLKOR FÖR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill använda Apple-mjukvara (enligt definitionen nedan) för att utveckla en eller flera Applikationer (enligt definitionen nedan) för Apple-märkta produkter. . Applikationer som utvecklas för iOS-produkter, Apple .

och krav. Maskinerna skriver ut upp till fyra tum breda etiketter med direkt termoteknik och termotransferteknik och är lämpliga för en lång rad användningsområden på vertikala marknader. TD-seriens professionella etikettskrivare för . skrivbordet. Brothers nya avancerade 4-tums etikettskrivare för skrivbordet är effektiva och enkla att

Den kanadensiska språkvetaren Jim Cummins har visat i sin forskning från år 1979 att det kan ta 1 till 3 år för att lära sig ett vardagsspråk och mellan 5 till 7 år för att behärska ett akademiskt språk.4 Han införde två begrepp för att beskriva elevernas språkliga kompetens: BI

The publication of the ISO 14001 standard for environmental managements systems (EMS) in 1996 and then revised in 2004 has proved to be very successful, as it is now implemented in more than 159 countries and has provided organizations with a powerful management tool to improve their environmental performance. More than 223 149 organizations have been certified worldwide against ISO 14001 at .