Client-Side Rendering Mechanism: A Double-Edged Sword for Browser-Based Web Applications Hao Han∗ , Yinxing Xue† and Keizo Oyama∗‡ ∗ National

Institute of Informatics, Japan {han,oyama}@nii.ac.jp † National University of Singapore, Singapore [email protected] ‡ The Graduate University for Advanced Studies (SOKENDAI), Japan

Abstract—Rendering mechanism plays an indispensable role in browser-based Web application. It generates active webpages dynamically and provides human-readable layout of information. Client-side rendering system brings various flexibilities but also new problems. In this paper, we give a comprehensive analysis of possible advantages and disadvantages brought by client-side rendering mechanism in viewpoints of both developers and users based on practice and experience. Index Terms—Rendering Mechanism, Template Engine, Web Application, Web UI, Practice and Experience

I. I NTRODUCTION Browser-based Web application is one of often used computer software applications designed for information interactivity on the Web. It is reliant on a common Web browser to render the application executable, and usually coded in browser-rendered/supported languages such as HTML (HyperText Markup Language) and JavaScript. At server side, rendering mechanism is indispensable for human-readable presentation and generates webpages based on template engine. Figure 1 describes the basic architecture of a typical serverside rendering system. In general, rendering system processes templates and content to generate the output Web documents. A template engine specifies a template and fills in the template with the assigned values to obtain the output page. Templates are frequently used to separate the webpage presentation from the underlying business logic and data computations in the context of Web application development. In the case of Web application development, this means that “no logic computation in HTML and no HTML in logic computation” roughly. Server responses may be determined by requests sent from client side such as data in a posted HTML form, parameters in the URL, or the type of Web browser being used. Server-side scripting (program running on the server) is used to change the web content on various webpages. Such webpages are often created with the help of server-side languages such as ASP, Perl, and PHP. Web applications become more and more complicated with the advancement of diverse Web technologies in order to realize the demands of new techniques for the different kinds of users. The users prefer the Web applications containing the user-friendly interfaces and easy operations. For example, Ajax (Asynchronous JavaScript and XML) dynamically inter-

Fig. 1.

Server-side rendering system

changes content which sends a request to the server for data. The server returns the requested data subsequently formatted by a client side script, which reduces server load time because the client does not request the entire webpage regenerated by the server-side rendering. This trend accelerates the development of interactive and animated websites. Many websites use the DHTML (Dynamic HTML) or DOM scripting technology to create the interactive Web pages. It contains HTML, clientside scripts (such as JavaScript), DOM (Document Object Model), etc. The scripts change variables programmatically in an HTML document, and affect the look and function of static content. Client-side rendering mechanism is one of proposed approaches responding to this trend. Instead of a fully rendered HTML page, client-side rendering system produces skeletal segments, which are combined and transformed into an HTML page at client-side Web browser. XML (Extensible Markup Language), XSLT (XML Stylesheet Language Transformations [26]), JSON (JavaScript Object Notation) and JavaScript are usually used to generate or update the dynamic content (interactive and animated parts) at client side. Each segment

124

in order to reduce the connection time before it is sent to client side. The container file also contains the mapping information, which reflects the one-to-one mapping between the XML data and XSLT file. 2) The dynamic segment is generated at client-side browser. The XSLT processor transforms the corresponding XML data into HTML or XHTML document based on the one-to-one mapping. The static segments and generated dynamic segments comprise the main source of an entire client-side webpage. 3) When the end-users trigger the mouse/keyboard events defined in XSLT processors of dynamic segments, the variables in corresponding XML data are changed by JavaScript functions, and the XSLT processors retransform the updated XML data into the new HTML segments.

presents an individual topic or functional region of webpage and only the segment that subject to changes is transmitted. These interactive webpages bring the users various visual effects and consume fewer resources on the server. As a developing technology always has its faults, client-side rendering mechanism also has both merits and drawbacks. In this paper, we propose a developing framework as a simple implementation of client-side rendering mechanism, and give a comprehensive analysis of possible advantages and disadvantages in different viewpoints such as accessibility, caching, personalization and speed. Our analysis emphasizes on issues like performance, practice and experience at client side rather than the business/processing logic at server side, and the specific Web browser plug-ins are not discussed. Some experimental evaluations about rendering cost and development time are also discussed. The organization of the rest of this paper is as follows. In Section II, we present a developing client-side rendering framework and introduce some related approaches/systems. From Section III we give analysis of performance/functionality at client-side and application development based on various viewpoints. Finally, the conclusion and the future work are given in Section IX. II. A N E XAMPLE OF C LIENT-S IDE R ENDERING S YSTEM There is no uniform and mature structure of client-side rendering system widely accepted by general Web applications. In order to provide an intuitive and visible image of client-side rendering for the further analysis and explanation, we present an example based on XML and XSLT technology, which is generally employed as a stylesheet processor used to transform XML data into HTML or XHTML documents. We are developing an XML-based framework for generating flexible and extensible Web applications based on clientside rendering mechanism as shown in Figure 2. Here, each webpage is divided as a set of static segments and dynamic segments. Static segment always comprises and displays the same information in response to all requests from all users and in all contexts. (e.g. navigation bar and site information placed in page footer). Dynamic segment presents dynamically generated content that can change in response to different contexts or conditions. There are two ways to create this kind of effect/change. Generally, server-side program is used to change the page source determined by requests from client side. At the client, client-side scripting is used to change interface behaviors within a specific webpage in response to mouse or keyboard actions or specified timing events. In this case the dynamic behavior occurs within the page presentation. Figure 2 describes the workflow and data flow of framework as follows. 1) The server responds to the request of client with the segment container file. A container is a layout page that surrounds or references static segments, XML data, XSLT files, or external files like JavaScript and CSS (Cascading Style Sheets) files in its page body. The XML data is encapsulated into a single XML document

Fig. 2.

An example of client-side rendering system

A more detailed description of this system can be found in [9]. As a widely used technology, the open source community has created a huge number of client-side templating solutions. Logic-less templating technologies follow the strict modelview separation rule that there should be little or no logic in templates. They usually provide a clean separation between presentation and logic without sacrificing ease of use, and are particularly well-suited for asynchronous and streaming applications. Twitter 1 uses Mustache [16] and JSON to move significant pieces of functionality to the browser, and Google plus 2 employs Java-friendly Closure [1]. Linkedln 3 moves from server-side templates to client-side JavaScript templates powered by dust.js [3]. Besides these logic-less templates, there are embedded templating options, which allow developers to embed regular

125

1 https://twitter.com/ 2 https://plus.google.com/ 3 http://www.linkedin.com/

JavaScript code directly within the template. Underscore.js [24] is based on microtemplating and provides a lot of the functional programming support usually expected in Prototype.js [20]. jQuery [13] simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid Web development. Jade [11] is influenced by Haml [8] syntax and implemented with JavaScript for node.js [17]. Many related studies have given the discussion about “rendering mechanism and rich application” with “componentbased” (Fiz [6]), “data-centric” (Hilda [27]), “strict modelview separation” ([19]), “flexible model-view separation” ([7]), “skeletal script” (FlyingTemplate [22]), “interactive behaviors learning” ([18]), “accessibility evaluation” ([5]) and others described in following sections.

Nakata
Yokohama, Japan
[email protected] [email protected] 81-3-1234-5678 ... ...
... ...

III. ACCESSIBILITY RIAs (Rich Internet Applications or we call them rich client applications) and supporting technology reflect an implementation of rendering mechanism in the user agent or in the browser at the client side. They provide more dynamic Web content and more attractive and interactive websites. However, not all end-users benefit from this interactivity. For example, users with weak or disabled eyesight access the Web using assistive technologies, such as a screen reader (e.g. IBM Home Page Reader 4 ) that delivers audio content. If a client-side rendering/programming technique is used by a webpage, the screen reader cannot read the page-based operation (page modification), which is particularly problematic for the keyboard navigation essential to accessibility. With the meta data or HTML5 [10], interface developers should be able to adapt interfaces to meet specific needs partially. However, meta data is recommended but not necessary in HTML page, and until now most of developers do not use HTML5 tags widely. Rich defined XML is better for screen reader, not only in reading but also page-based operation [15]. Figure 3 shows an example of XML document employed in Figure 2. It adds semantics to webpage components and content so that assistive technologies can interpret their operation. Regional landmark roles provide a navigable structure within a webpage, and node names and attributes present a guarantee of accessibility of controls. For example, “writable” represents the dynamic content-update notifications: update, remove, and add (0: cannot, 1: can).

... ...


Fig. 3. Names and attributes (embedded in XML) add semantics to webpage

generate the pages on the fly for each request. Despite the popularization of broadband networks, page or page segment is still a most basic and often used data transfer unit for Web applications. So, it would lease the load of server if we reduce the data transfer of page. Page segment and client-side rendering mechanism bring more efficient caching functionality at server side and clientside Web browser. Compared with the traditional page-based caching system, static segments would be widely cached and independent of changeable dynamic segments. Moreover, the XSLT templates of dynamic segments could be reused or cached at client Web browsers and the layout at client side does not affect the cache. This reuse/caching could reduce the data transfer between the server and client. As a experimental example, we reconstructed the response Web page (search result page) of Google Search into XML and XSLT data. The experimental results show that the transferred data size is much reduced as shown in Table I if page is rendered at client side.

IV. DATA C ACHING A Web data caching is a mechanism for the temporary storage of Web documents, such as HTML pages, to reduce bandwidth usage, server load, and perceived lag. For Web applications distributed by HTTP (Hypertext Transfer Protocol), freshness, validation, and invalidation mechanisms are used for controlling caches. Dynamic webpages are often cached when there are few or no changes expected and the page is anticipated to receive considerable amount of Web traffic that would create slow load time for the server if it had to 4 http://www-03.ibm.com/able/

TABLE I R ESPONSE DATA SIZE COMPARISON Structure Server-side rendering Client XSLT caching

Data Format HTML XML

Size (bytes) 20,916 6,794

For the Web browsing at mobile devices, the page segments can be simplified for better presentation at mobile Web browsers. Android developers also recommend upgrading the Web UI to an XML layout [25]. Moreover, mobile devices could partially share the XML data in server side caching

126

system with the general desktop Web browsing like XMLbased message exchange between different platforms. V. L AYOUT C USTOMIZATION A configurable page is a webpage designed with built-in layout personalization and content selection capabilities. Each piece of content, also referred to as a resource displayed within a cell of a layout region, can be rearranged, hidden or shown. Client-side XSLT customization is more flexible and powerful than CSS personalization, which is often used in blog pages. For example, it is easy to rearrange the layout or control the visibility by changing the attribute values of nodes. • Layout arrangement (Figure 4): End-users can move segments by dragging and dropping operations to adjust the locations (e.g. object.style.left = event.clientX - event.offsetX + document.body.scrollLeft; object.style.top = event.clientY - event.offsetY + document.body.scrollTop;), which is more compact or suitable for user browsing habits than the default layout arrangement of segments.

Fig. 4. •

Layout rearrangement

Visibility control (Figure 5): End-users can hide/undisplay the undesired segments by setting the property “display” of attribute “style” to “none” (object.style.display = “none”;). If the hidden segments are deleted, the original execution environment of JavaScript would be broken and the JavaScript could not run normally if the hidden segments (XML data) are used/updated in JavaScript programmatically. VI. S PEED AND D ELAY

If server-side load is reduced and rendering tasks are moved to client-side, tasks of client-side are unavoidably increased. Client-side rendering and rich client applications usually bring users a “image” that they are executed heavily and high

Fig. 5.

Hide segment(s)

CPU/memory-consuming, which leads to delay of page loading or refreshing at client Web browser. Actually, this delay is caused by large data streaming and plug-in such as JSON text stream in map applications, Flash player and Silverlight, or JavaScript loading. Client-side rendering itself is not a high CPU-consuming process. We (OS: Windows 7, Browser: Internet Explorer 9, CPU: Intel Core i7 2.93GHz, RAM: 4.00 GB) captured performance data of examples given in Section IV by Windows Performance Analyzer Tools 5 . As shown in Figure 6 and 7, there are not many differences in CPU usage percentage (e.g. maximum and average value) between presenting different types of webpages. A similar statistical result of main memory usage is also learned. As clients become increasingly sophisticated, there is more for a browser to do. For websites that rely heavily on clientside rendering, it is essential to include this delay. Too much JavaScript on the client side makes the browser slow unless the user has a powerful computer. Many large websites use one common set of JavaScript files and one common set of CSS files in every template and webpage. Those files change over time and often contain elements that are no longer used on the webpage or anywhere on the website. We need to keep track of what elements are being loaded on each webpage. client side uses JavaScript libraries that often contain massive amounts of functions, but only a handful of those functions are used actually. If we want to speed up presenting webpage, we should remove any JavaScript or CSS that are not being used on the webpage. Moving JavaScript to the bottom of webpage also enables all other requests to be processed quickly, which would make webpage appear to load more quickly. The browser can begin rendering faster and do not wait for all of JavaScript to load at the top of webpage. However, not all JavaScript can be moved to the bottom of a webpage. If the JavaScript is a

127

5 http://msdn.microsoft.com/en-us/performance

Fig. 6.

CPU usage percentage of presenting a webpage rendered at server side

Fig. 7.

CPU usage percentage of presenting a webpage rendered at client side

library required for other components on the page to render, it must be loaded early in the page lifecycle. More discussions about bridging the gap between the browser view of a UI and its JavaScript implementation are given in [14]. VII. D EVELOPMENT AND R EUSE We have to consider development efficiency and programming skill requirements if we employ client-side rendering mechanism. It is based on the separation of topic and functionality region of webpage. We implement not only the model-view separation in template but also the static-dynamic separation in segment. In the model-view separation, XSLT serves as client-side template and offers a great expressiveness, allowing a translator to produce complex HTML documents from XML data. This separation leads to the division of labor. The webpage designer can adjust the presentation or layout without having to change the program logic, which is always much riskier. However, XSLT files development requires mastering a quite different language compared with JSP/ASP/PHP and high proficiency with JavaScript frameworks/libraries (e.g. jQuery [13] and Prototype.js [20]). Therefore, this XSLT-XML separation methodology and client-side rendering mechanism are not suitable for small personal webpages. It would waste the time by analyzing and has no big effect. Here, we give two experiments to prove the abovementioned opinions and compare development time cost. 1) Experiment 1: Developers are not proficient in XSLT and write original JavaScript functions for rendering. We developed a CIM (Customer Information Management) system, which provides the add, search, show, update, and delete functions mainly. By the traditional method, it needs five basic functionality pages (and other pages

128

such as listing page): add a new customer (input the customer information), search for a customer (input the search keyword), show the customer information (detailed information such as name, address, telephone, and statistic of purchase history), update a customer information (e.g. change the address, add a new contact), and delete a customer. By using dynamic page, the show page and update page are merged into a show+update page. The users can update the information in show page by clicking the corresponding value area (trigger Onclick event) without the page jumping/transition. The updated information includes changed user information and calculated new purchase statistic (e.g. sum, average price, and graphic statistic). Compared with the two standalone pages show and update, the show+update page needed much more time in programming and test as shown in Table II (same developing engineers and quality/test engineers). The developing engineers had to write large quantities of JavaScript to deal with the DOM and hidden values programmatically, and face up to the fact that XML syntax is far more restrictive than HTML. Moreover, browsers’ debugging support is still very poor compared with server-side debugging support. Therefore, although the sum of pages is reduced, the cost of programming and test becomes higher. TABLE II D EVELOPMENT TIME COST COMPARISON Page (Function) show update show+update

Programming (hours) 6 12 40

Testing (hours) 8 16 64

2) Experiment 2: Developers are proficient in XSLT and

JavaScript library. We upgrade a Web UI (User Interface) system, which is an online information processing system and has two versions. The UI generator of old one is developed by JSP (JavaServer Pages) and the new one is developed by XSLT. In a version upgrade, a new functionality needs to be added for personalizing webpage layout based on user access authorization. A developing engineer did the code update for two versions. Table III shows that the XMLXSLT architecture is more efficient. The programming job could be analyzed and divided according to the abilities or proficiencies of developing engineers. One engineer does not need to write an entire template file of a webpage, and the webpage development can be subdivided into functionality-oriented development. For the dynamic segment, the JavaScript library is used to access or update client XML data. Compared with the traditional dynamically updating client HTML source, the XML data access/update/transformation process is independent of the layout of webpage, and avoids using the HTML tags and HTML-oriented functions such as innerHTML or innerText, which are lack of the possibility of code reuse. XML-oriented JavaScript functions are customized more easily than HTML parsing functions. TABLE III U PGRADE TIME COST COMPARISON Version Old New

Language JSP XSLT

Time (hours) 184 80

VIII. D ISCUSSION The design philosophy behind our approach/opinion aims at achieving the following goals. 1) To extricate the server side from the overloaded rendering work requested simultaneously by multiple client ends. 2) To further separate the concerns of the Web application and distinguish the handling of various types of data. 3) To facilitate the personalization and customization of the displayed output webpages for the different users and types of client ends. For the goal 1, in the client-server model, there is one common controversy about the choice of the thin-client architecture or the thin-server (full-client [12]) architecture. Yang et al. [28] found that thin-client systems can perform well on Web and multimedia applications in LAN (Local Area Network) environments. This shows that the rendering mechanism of the traditional Web application worked fine when it was usually at the server side. However, nowadays with the better and better graphical quality displayed by Web applications and more various requirements from users, the rendering tasks become more and more computationally costly. Thus, keeping the rendering mechanism still at server side becomes an obsolete design. Now there is a trend that TSA (Thin Server

Architecture) is advocated recently [4][23]. Note that in our approach, we are not at the extreme to have most functions of Web applications exclusively limited at the server side or at the client side. The idea of our approach is not to use server-side templates to create and transmit the webpage, but to separate concerns using protocol between client and server and to get a much more efficient and less costly development model. Using TSA leads to following three potential advantages. • The server side can only focus on the business logics. • The client side can focus on the presentations. • The communications between server and clients just exchange the raw data such as XML. As shown in Table I, the exchanged data between server and client is reduced in our approach, which improves the usage of data caching. Besides, moving the rendering from server to client also facilitates the concurrency of presentation. The XSLT used in our approach, as a functional programming language, can easily enable concurrency, since the order of execution of side-effect free functions in functional programming is not important. Thus, the client can run the multiple same XSLT threads simultaneously to speed up the data presentation. For the goal 2, after separation of presentation and content, for the ease of reusability, maintainability and extensibility, it is desired to further separate the concerns of the Web application on multiple dimensions [21]. The accessibility is one of the dimensions we try to separate concerns on. By adopting the RIAs or rich defined XML, the client side can provide navigable structure and guarantee of accessibility of controls (see Section III). Another dimension of concern important to the performance is the different types of content. For example, the static and dynamic content in the different segments in the output webpages should be differentiated. In the original server-side rendering mechanism, the data exchanged between server and client is usually webpages. In our approach, with the skeletal segments generated by XML, XSLT, JSON and JavaScript, the exchanged data between server and client can be narrowed down to the segment level. And distinguishing the static and dynamic segments also improves the efficiency of data caching (see Section IV). Except the different handling for static and dynamic content, the similar idea can be applied to yet some other types of content. For the goal 3, as the user-adaptive and context-aware characteristic is the trend for the future Web applications [2], Web application should have the different rendering strategies for the different types of client ends and the various user requirements. Layout arrangement and visibility control (see Section V) is just one type of user customization and personalization. In some more sophisticated client ends like smart-phone, the gesture control in response to the users’ operations on the screen is better to be handled by the client end, otherwise waiting for the rendering results from serverside will cause the extra delay. Certainly, the above merits of client-side rendering do not come without any compromise. As shown in Table II and Table III, using our approach together with the involved techniques

129

may introduce the extra learning curve and initial investment for the early separations than the commonly used server-side rendering mechanism (taking almost more than double time, see Table II). However, in the long term, the developers will benefit from this in the evolution and extension of the Web applications. IX. C ONCLUSION We gave a comprehensive analysis of advantages and disadvantages of client-side rendering mechanism in different viewpoints of practice and experience. The experimental evaluations proved a proposed example framework supports the demands of users well and could bring the diverse new opportunities about the extensible reuse of Web applications. There is still a lot of work to be done before it becomes a more mature technology since it currently cannot arrive at a solution satisfactory to both users and developers. The dynamic visual effects are realized by client script functions, which bring the flexible operation but increase the development cost for some developers or development scenarios. Therefore, as shown in Figure 8, the developers need to make a proper balance between the opinions and options of users and themselves usually.

Fig. 8.

Balance between Web application users and developers

As future work, we will explore further the problems of system security, scalability, and server-side database update of client-side rendering mechanism. Additionally, besides the currently developing JavaScript libraries and frameworks, we will develop more various supporting technologies for efficient client rendering in future. X. ACKNOWLEDGEMENT We gratefully acknowledge the advice and experiment support from Bo Liu (Fuji Xerox, Japan). This work was supported by a Grant-in-Aid for Scientific Research A (No.22240007) from the Japan Society for the Promotion of Science (JSPS).

R EFERENCES [1] Closure. http://code.google.com/closure/. [2] Peter Dolog. Designing adaptive Web applications. In The Proceedings of the 34th Conference on Current Trends in Theory and Practice of Computer Science, pages 23–33, 2008. [3] Dust. http://akdubya.github.com/dustjs/. [4] Extreme Scale: Thin Server Achitecture. http://www.slideshare.net/spacemonkeylabs/thin-server-architecture. [5] Nadia Fernandes, Daniel Costa, Sergio Neves, Carlos Duarte, and Luis Carrico. Evaluating the accessibility of rich internet applications. In The Proceedings of the 9th International Cross-Disciplinary Conference on Web Accessibility, number 13, 2012. [6] Fiz. http://fiz.stanford.edu/home/home. [7] Francisco J. Garcia, Raul Izquierdo Castanedo, and Aquilino A. Juan Fuente. A double-model approach to achieve effective model-view separation in template based Web applications. In The Proceedings of the 7th International Conference on Web Engineering, pages 442–456, 2007. [8] Haml. http://haml-lang.com/. [9] Hao Han and Bo Liu. Problems, solutions and new opportunities: Using pagelet-based templates in development of flexible and extensible Web applications. In The Proceedings of 12th International Conference on Information Integration and Web-based Applications and Services, pages 677–680, 2010. [10] HTML5. http://www.w3.org/TR/html5/. [11] Jade. http://jade-lang.com/. [12] Jin Jing, Abdelsalam Sumi Helal, and Ahmed Elmagarmid. Clientserver computing in mobile environments. ACM Computing Surveys, 31(2):117–157, 1999. [13] jQuery. http://jquery.com/. [14] Peng Li and Eric Wohlstadter. Script InSight: Using models to explore JavaScript code from the browser view. In The Proceedings of the 9th International Conference on Web Engineering, pages 260–274, 2009. [15] Lourdes Moreno, Paloma Martinez, Belen Ruiz, and Ana Iglesias. Toward an equal opportunity web: Applications, standards, and tools that increase accessibility. Computer, 44(5):18–26, 2011. [16] Mustache. http://mustache.github.com. [17] node.js. http://nodejs.org/. [18] Stephen Oney and Brad Myers. Firecrystal: Understanding interactive behaviors in dynamic Web pages. In The Proceedings of the 2009 IEEE Symposium on Visual Languages and Human-Centric Computing, pages 105–108, 2009. [19] Terence John Parr. Enforcing strict model-view separation in template engines. In The Proceedings of the 13th International Conference on World Wide Web, pages 224–233, 2004. [20] Prototype. http://www.prototypejs.org/. [21] Peri Tarr, Harold Ossher, William Harrison, and Jr. Stanley M. Sutton. N degrees of separation: multi-dimensional separation of concerns. In The Proceedings of the 21st International Conference on Software Engineering, pages 107–119, 1999. [22] Michiaki Tatsubori and Toyotaro Suzumura. HTML templates that fly: a template engine approach to automated offloading from server to client. In The Proceedings of the 18th International Conference on World Wide Web, pages 951–960, 2009. [23] Thin Server Achitecture. http://www.thinserverarchitecture.com/. [24] underscore.js. http://documentcloud.github.com/underscore/. [25] Upgrade the UI to an XML Layout. http://developer.android.com/guide/tutorials/hello-world.html. [26] XSL Transformations. http://www.w3.org/TR/xslt20/. [27] Fan Yang, Nitin Gupta, Nicholas Gerner, Xin Qi, Alan Demers, Johannes Gehrke, and Jayavel Shanmugasundaram. A unified platform for data driven Web applications with automatic client-server partitioning. In The Proceedings of the 16th International Conference on World Wide Web, pages 341–350, 2007. [28] S. Jae Yang, Jason Nieh, Matt Selsky, and Nikhil Tiwari. The performance of remote display mechanisms for thin-client computing. In The Proceedings of the General Track of the Annual Conference on USENIX Annual Technical Conference, pages 131–146, 2002.

130

Client-Side Rendering Mechanism: A Double-Edged ...

Android developers also recommend upgrading the. Web UI to an ..... smart-phone, the gesture control in response to the users' operations on ... 677–680, 2010.

168KB Sizes 2 Downloads 147 Views

Recommend Documents

FreePipe: a Programmable Parallel Rendering ...
Institute of Software, Chinese Academy of Sciences‡. University of Macau§ .... The list will be sorted according to depth values in post- processing. ..... accounting for absorption and ignoring reflection [NVIDIA 2005;. Akenine-M ¨oller et al.

FreePipe: a Programmable Parallel Rendering ...
However, for large scenes with high complexity, multiple vertex .... Satishetal.2009], their data sets are always pre-determined and free to ..... Project (Grant No.

volume rendering pdf
Page 1 of 1. File: Volume rendering pdf. Download now. Click here if your download doesn't start automatically. Page 1 of 1. volume rendering pdf. volume ...

Sheet reversing mechanism
Nov 25, 1974 - With the de?ector 32 in the intercept position, the sheets are fed into the nip of a ?rst roll pair formed by a drive roll 34 and an idler roll 36.

Perceiving and rendering users in a 3D interaction - CiteSeerX
wireless pen system [5]. The virtual rendering can be close ..... Information Processing Systems, MIT Press, Cambridge, MA, pp. 329–336 (2004). 18. Urtasun, R.

Read Ebook The Mahabharata: A Modern Rendering ...
epic known to man.The. Mahabharata is the very. Book of Life: ... The epic describes a great war of some 5000 years ... Inc. 2006-07-18 q. Language : English q.

RENDERING GERRYMANDERING IMPOTENT
Specifically, the Democrats. (3.6) min dn. [Fd (dn)(dn − (−1)) + (1 − Fd (dn)) (rn − (−1))] ,. 8I'll discuss alternative obejective functions when examining the reform. 9Perhaps such candidates have trouble amassing the support needed to ma

Dynamic Mechanism Design:
May 8, 2009 - Incentive Compatibility, Profit Maximization and Information Disclosure". Alessandro .... a solution to the profit%maximizing Relaxed Program.

Perceiving and rendering users in a 3D interaction - CiteSeerX
Abstract. In a computer supported distant collaboration, communication .... number of degrees of freedom, variations in the proportions of the human body and.

pdf rendering engine
... was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pdf rendering engine.

A Mechanism-based Disease Progression Model for ...
313. 1567-567X/06/0600-0313/0 © 2006 Springer Science+Business Media, Inc. ... decades and therefore leaves only a relatively small trajectory of change within the limited time ..... point of active drug administration, keq the rate constant of equi

Wolbachia-Induced Mortality as a Mechanism to ...
Department of Entomology, University of California, Davis, CA 95616. J. Med. Entomol. ..... Institutes of Health (grant GM-20092 to J.L.R.) and the Uni- versity of ...

Excitation mechanism in the photoisomerization of a ...
Received 23 July 2008; accepted 16 September 2008; published online 22 October 2008 ... compared to the corresponding process for the free molecule. ... 56234. FAX: 49-30-838-56059. Electronic mail: [email protected].

A Simple Mechanism to Adapt Leakage-Control ...
Caches primary target: They account for a large fraction of the ... High T (high leakage) →. — aggressive ... leakage savings smaller compared to decay. • but: no ...

A Mechanism Design for Fair Division - Research at Google
shift into cloud computing, more and more services that used to be run on ... One distinguishing property of resource allocation protocols in computing is that,.

Market Mechanism Refinement on a Continuous Limit ...
a continuous limit order book with price-time priority matching. ... participants race for prices on it [Melton 2017]. ... The specific goal of the refinement to TRM can be stated more precisely than .... What is arguably the main innovation of the d

A Truthful Mechanism for Offline Ad Slot ... - Research at Google
Jan 18, 2008 - 1 Google, Inc. Email: {jonfeld,muthu,mpal}@google.com ... interpretation in this application: if an overall advertising campaign allocates a fixed portion of its budget ... truthful mechanism (see Example 1 in Section 2). However ...

A Generalized Mechanism for Perception of Pitch ... - Semantic Scholar
Jan 14, 2009 - Subjects had no prior exposure to the musical system used in the present study. All research was approved by the Committee for the Pro- tection of Human Subjects at UC Berkeley. Procedure. Participants were seated in a sound-attenuated

A New Authentication Mechanism and Key Agreement ...
Australian based ISP signed up 10,000 customers within 3 months of their ... The UMTS standard [11] uses a modified version ...... Task Force, March 2004.

Wolbachia-Induced Mortality as a Mechanism to ...
system. Average adult life span of infected flies is approximately one-half that of uninfected flies (Min and Benzer 1997). ... based on Cx. pipiens development and maintenance at. 25–27C in our ..... Wolbachia as a vehicle to modify insect ...

injury Evidence for a humoral mechanism for enhanced ...
Permissions] link. and click on the [Reprints and ... and Public. Health. Service. Grant CA37126 from the National. Cancer. Institute. t Read in part at the Annual.