A Web-Based Collaborative Multimedia Presentation Document System

Total Page:16

File Type:pdf, Size:1020Kb

A Web-Based Collaborative Multimedia Presentation Document System ABSTRACT With the distributed and rapidly increasing volume of data and expeditious de- velopment of modern web browsers, web browsers have become a possible legitimate vehicle for remote interactive multimedia presentation and collaboration, especially for geographically dispersed teams. To our knowledge, although there are a large num- ber of applications developed for these purposes, there are some drawbacks in prior work including the lack of interactive controls of presentation flows, general-purpose collaboration support on multimedia, and efficient and precise replay of presentations. To fill the research gaps in prior work, in this dissertation, we propose a web-based multimedia collaborative presentation document system, which models a presentation as media resources together with a stream of media events, attached to associated media objects. It represents presentation flows and collaboration actions in events, implements temporal and spatial scheduling on multimedia objects, and supports real-time interactive control of the predefined schedules. As all events are repre- sented by simple messages with an object-prioritized approach, our platform can also support fine-grained precise replay of presentations. Hundreds of kilobytes could be enough to store the events in a collaborative presentation session for accurate replays, compared with hundreds of megabytes in screen recording tools with a pixel-based replay mechanism. A WEB-BASED COLLABORATIVE MULTIMEDIA PRESENTATION DOCUMENT SYSTEM by Chunxu Tang B.S., Xiamen University, 2013 M.S., Syracuse University, 2015 Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical and Computer Engineering. Syracuse University June 2019 Copyright c Chunxu Tang 2019 All Rights Reserved To my parents. iv ACKNOWLEDGMENTS Owning our story and loving ourselves through that process is the bravest thing that we will ever do. | Bren´eBrown, The Gifts of Imperfection The work presented in this thesis could not have been created without the encour- agement and guidance provided by many others. I would like to acknowledge those who have helped me throughout this effort. First and foremost, I would like to thank my advisor, Dr. C.Y. Roger Chen, who has been my mentor in my Ph.D. life. I am really grateful that he decided to accept a random master student to his group, who just walked into his office to ask to work with him on a sunny day. He has not only taught me how to accomplish excellent research work, but also the perseverance and courage in overcoming difficulties. Without his help, I could not even start my research, nonetheless struggling through the doctoral program. There are many other faculty members helped me a lot in the past few years. Dr. Fawcett introduced me to the world of programming through his hard coursework and showed me his passion for cultivating young minds. Dr. Yu, who I have worked with in several courses, provided lots of advice on teaching and research. I would like v to thank the rest of my dissertation committee: Dr. Sponsler, Dr. Qiu, and Dr. Du for their insightful advice on my research work. My labmates and many other friends also helped me a lot to make the long Ph.D. life more enjoyable. In particular, Beinan, Maria, Elie, and Eyoel made the cold and snowy Syracuse winters easier to bear. Ao, Yiou, Zhiruo, Qinyun, Zhi, Zilong, and Zhiyuan encouraged me in the most difficult and depressing part of the journey. Last but not least, I would like to acknowledge my mother Fengyun Liu and my father Jun Tang for all of their support and encouragement in the past four years through my doctoral life. They told me the meanings of human lives and the essential courage to purse for the meanings. Without their patience and help, I could not make it through. This is dedicated to them. vi TABLE OF CONTENTS Page ABSTRACT ::::::::::::::::::::::::::::::::::: i LIST OF TABLES :::::::::::::::::::::::::::::::: xi LIST OF FIGURES ::::::::::::::::::::::::::::::: xii 1 Introduction :::::::::::::::::::::::::::::::::: 1 1.1 Multimedia Systems :::::::::::::::::::::::::: 1 1.2 Real-Time Collaboration :::::::::::::::::::::::: 3 1.3 Design Features and Contributions :::::::::::::::::: 5 1.4 Organization of the Dissertation :::::::::::::::::::: 8 2 Survey of Technologies :::::::::::::::::::::::::::: 11 2.1 Rendering of Web Pages :::::::::::::::::::::::: 11 2.2 Event Loop in JavaScript :::::::::::::::::::::::: 13 2.3 Chrome Extensions ::::::::::::::::::::::::::: 15 3 Interactive Multimedia Presentation Document System :::::::::: 17 3.1 Model Structure ::::::::::::::::::::::::::::: 17 3.2 Object-Oriented Design ::::::::::::::::::::::::: 18 3.2.1 Introduction ::::::::::::::::::::::::::: 18 3.2.2 Document Object :::::::::::::::::::::::: 18 3.2.3 Document Event :::::::::::::::::::::::: 21 3.2.4 Document Panel :::::::::::::::::::::::: 21 3.2.5 Document Annotation ::::::::::::::::::::: 22 3.2.6 Document Presentation ::::::::::::::::::::: 25 3.3 Temporal Modeling ::::::::::::::::::::::::::: 27 3.3.1 Introduction ::::::::::::::::::::::::::: 27 3.3.2 Timeline ::::::::::::::::::::::::::::: 29 vii Page 3.3.3 Sequence Diagram ::::::::::::::::::::::: 30 3.3.4 Activity Diagram :::::::::::::::::::::::: 31 3.3.5 Petri Net :::::::::::::::::::::::::::: 33 3.3.6 Timed Petri Net :::::::::::::::::::::::: 37 3.3.7 Document Net :::::::::::::::::::::::::: 39 3.3.8 DocEvent Structure ::::::::::::::::::::::: 47 3.3.9 Temporal Constraints :::::::::::::::::::::: 50 3.4 Spatial Modeling :::::::::::::::::::::::::::: 51 3.4.1 Introduction ::::::::::::::::::::::::::: 51 3.4.2 Slicing Tree ::::::::::::::::::::::::::: 52 3.4.3 Modeling Updates ::::::::::::::::::::::: 54 3.5 Implementation ::::::::::::::::::::::::::::: 55 3.5.1 Overview :::::::::::::::::::::::::::: 55 3.5.2 Presentation Preparation :::::::::::::::::::: 55 3.5.3 Presentation Control :::::::::::::::::::::: 56 3.5.4 Presentation Replay :::::::::::::::::::::: 58 3.6 Related Work :::::::::::::::::::::::::::::: 59 3.7 Conclusion :::::::::::::::::::::::::::::::: 61 4 Continuous Updates of External Web Resources :::::::::::::: 63 4.1 Introduction ::::::::::::::::::::::::::::::: 63 4.2 Challenges :::::::::::::::::::::::::::::::: 65 4.3 Continuous Updates with a Server ::::::::::::::::::: 65 4.3.1 Implementation ::::::::::::::::::::::::: 65 4.3.2 Change Monitoring ::::::::::::::::::::::: 67 4.3.3 Communication ::::::::::::::::::::::::: 68 4.3.4 Summary :::::::::::::::::::::::::::: 69 4.4 Continuous Updates without a Server ::::::::::::::::: 70 4.4.1 Implementation ::::::::::::::::::::::::: 70 4.4.2 Change Monitoring ::::::::::::::::::::::: 71 viii Page 4.4.3 Communication ::::::::::::::::::::::::: 73 4.4.4 Summary :::::::::::::::::::::::::::: 73 4.5 External Web Resources Loading ::::::::::::::::::: 73 4.5.1 Introduction ::::::::::::::::::::::::::: 73 4.5.2 Web Elements with Styles ::::::::::::::::::: 74 4.5.3 Screenshot :::::::::::::::::::::::::::: 74 4.5.4 Summary :::::::::::::::::::::::::::: 76 4.6 Related Work :::::::::::::::::::::::::::::: 76 4.7 Conclusion :::::::::::::::::::::::::::::::: 78 5 Distributed Context-Aware Collaboration Framework ::::::::::: 79 5.1 Challenges :::::::::::::::::::::::::::::::: 79 5.2 Framework Methodology :::::::::::::::::::::::: 82 5.2.1 Communication Models :::::::::::::::::::: 82 5.2.2 Stateless Events ::::::::::::::::::::::::: 87 5.2.3 Scalable Cloud Service ::::::::::::::::::::: 88 5.2.4 Uniform Interfaces ::::::::::::::::::::::: 90 5.2.5 Object-Prioritized Collaboration :::::::::::::::: 91 5.2.6 Non-Intrusive Collaboration :::::::::::::::::: 93 5.2.7 Access Control ::::::::::::::::::::::::: 94 5.3 Architecture Components ::::::::::::::::::::::: 99 5.3.1 Collaboration Subject ::::::::::::::::::::: 99 5.3.2 Media Event Capturer ::::::::::::::::::::: 100 5.3.3 Media State Recorder :::::::::::::::::::::: 104 5.3.4 Media Event Replayer ::::::::::::::::::::: 104 5.3.5 Event Messages ::::::::::::::::::::::::: 107 5.3.6 Message Serializer/Deserializer ::::::::::::::::: 112 5.4 Evaluations ::::::::::::::::::::::::::::::: 114 5.4.1 Web Application :::::::::::::::::::::::: 114 5.4.2 Comparison with Screen Sharing Tools :::::::::::: 117 ix Page 5.5 Related Work :::::::::::::::::::::::::::::: 122 5.6 Conclusion :::::::::::::::::::::::::::::::: 125 6 Collaborative Web Browsing ::::::::::::::::::::::::: 127 6.1 Introduction ::::::::::::::::::::::::::::::: 127 6.2 Challenges :::::::::::::::::::::::::::::::: 128 6.3 Synchronization of Web Browsing Actions :::::::::::::: 131 6.4 Related Work :::::::::::::::::::::::::::::: 135 6.5 Conclusion :::::::::::::::::::::::::::::::: 137 7 Conclusion and Future Work ::::::::::::::::::::::::: 138 LIST OF REFERENCES :::::::::::::::::::::::::::: 140 VITA ::::::::::::::::::::::::::::::::::::::: 152 x LIST OF TABLES Table Page 5.1 Comparison of supports for multimedia collaboration of four studies with our work. :::::::::::::::::::::::::::::::::: 82 5.2 Compatibilities of XMLHttpRequest, Server-sent events, and WebSocket on major web browsers. 1 ::::::::::::::::::::::::: 86 5.3 Access control matrix. ::::::::::::::::::::::::::: 95 5.4 Access control matrix representation of our web-based collaborative document system. :::::::::::::::::::::::::::::: 97 5.5 Summary of media events and related represented DOM events. :::: 103 5.6 Summary of elements in a media event message. ::::::::::::: 109 5.7 Summary of elements in a control event message. :::::::::::: 112 5.8 Total bytes transmitted in one minute of four types of media, under the four situations. :::::::::::::::::::::::::::::::
Recommended publications
  • Village Lanad To
    Hospi tu 1’s ’ .OIL obstetrics h Village lanad to section to stay open close in October Cass City is “going out of Although village officials ternational Surplus Lines, for extending Ale Street Thanks to a last minute the landfill business” fol- expect eventually to see a will not be renewed by the south through the property. replacement, Ken Jensen, lowing approval by the Vil- savings by closing the land- company. The council indicated it administrator of Hills and lage Council Monday night fill, there will be ongoing The policy, which costs will send a letter of appreci- Dales General Hospital, not to reapply for a license costs (about $3,600 per about $1,200 per year, is set ation to Matt Prieskorn for Cass City, has announced to operate the village’s 40- year) to monitor the site for to expire Aug. 4, LaPonsie his organization of a project the facility’s obstetrical acre Type I11 landfill. the next 5 years. said. in which new lights were unit will remain open. Also approved during the Councilmen approved a recently purchased and in- 65-minute monthly meeting ZONING VIOLATION resolution to seek a quote stalled at the basketball According to Jensen, an was authorization fpr the for the policy from the court. Prieskorn raised announcement about the village attorney to file a suit Turning to the zoning vio- Michigan , Municipal some $800 through clubs unit’s closing had been an- seeking an end to a zoning lation, Trustee Joanne Hop- League. and private donations, ticipated when Dr. Sang ordinance violation by 2 per, who chairs the coun- Also Monday, the council which covered the entire Park, obstetrics and area businessmen.
    [Show full text]
  • Dynamic Web Pages with the Embedded Web Server
    Dynamic Web Pages With The Embedded Web Server The Digi-Geek’s AJAX Workbook (NET+OS, XML, & JavaScript) Version 1.0 5/4/2011 Page 1 Copyright Digi International, 2011 Table of Contents Chapter 1 - How to Use this Guide ............................................................................................................... 5 Prerequisites – If You Can Ping, You Can Use This Thing! ..................................................................... 5 Getting Help with TCP/IP and Wi-Fi Setup ............................................................................................ 5 The Study Guide or the Short Cut? ....................................................................................................... 5 C Code ................................................................................................................................................... 6 HTML Code ............................................................................................................................................ 6 XML File ................................................................................................................................................. 6 Provide us with Your Feedback ............................................................................................................. 6 Chapter 2 - The Server-Client Relationship ................................................................................................... 7 Example – An Analogy for a Normal HTML page .................................................................................
    [Show full text]
  • X3DOM – Declarative (X)3D in HTML5
    X3DOM – Declarative (X)3D in HTML5 Introduction and Tutorial Yvonne Jung Fraunhofer IGD Darmstadt, Germany [email protected] www.igd.fraunhofer.de/vcst © Fraunhofer IGD 3D Information inside the Web n Websites (have) become Web applications n Increasing interest in 3D for n Product presentation n Visualization of abstract information (e.g. time lines) n Enriching experience of Cultural Heritage data n Enhancing user experience with more Example Coform3D: line-up of sophisticated visualizations scanned historic 3D objects n Today: Adobe Flash-based site with videos n Tomorrow: Immersive 3D inside browsers © Fraunhofer IGD OpenGL and GLSL in the Web: WebGL n JavaScript Binding for OpenGL ES 2.0 in Web Browser n à Firefox, Chrome, Safari, Opera n Only GLSL shader based, no fixed function pipeline mehr n No variables from GL state n No Matrix stack, etc. n HTML5 <canvas> element provides 3D rendering context n gl = canvas.getContext(’webgl’); n API calls via GL object n X3D via X3DOM framework n http://www.x3dom.org © Fraunhofer IGD X3DOM – Declarative (X)3D in HTML5 n Allows utilizing well-known JavaScript and DOM infrastructure for 3D n Brings together both n declarative content design as known from web design n “old-school” imperative approaches known from game engine development <html> <body> <h1>Hello X3DOM World</h1> <x3d> <scene> <shape> <box></box> </shape> </scene> </x3d> </body> </html> © Fraunhofer IGD X3DOM – Declarative (X)3D in HTML5 • X3DOM := X3D + DOM • DOM-based integration framework for declarative 3D graphics
    [Show full text]
  • Effects and Opportunities of Native Code Extensions For
    Effects and Opportunities of Native Code Extensions for Computationally Demanding Web Applications DISSERTATION zur Erlangung des akademischen Grades Dr. Phil. im Fach Bibliotheks- und Informationswissenschaft eingereicht an der Philosophischen Fakultät I Humboldt-Universität zu Berlin von Dipl. Inform. Dennis Jarosch Präsident der Humboldt-Universität zu Berlin: Prof. Dr. Jan-Hendrik Olbertz Dekan der Philosophischen Fakultät I: Prof. Michael Seadle, Ph.D. Gutachter: 1. Prof. Dr. Robert Funk 2. Prof. Michael Seadle, Ph.D. eingereicht am: 28.10.2011 Tag der mündlichen Prüfung: 16.12.2011 Abstract The World Wide Web is amidst a transition from interactive websites to web applications. An increasing number of users perform their daily computing tasks entirely within the web browser — turning the Web into an important platform for application development. The Web as a platform, however, lacks the computational performance of native applications. This problem has motivated the inception of Microsoft Xax and Google Native Client (NaCl), two independent projects that fa- cilitate the development of native web applications. Native web applications allow the extension of conventional web applications with compiled native code, while maintaining operating system portability. This dissertation determines the bene- fits and drawbacks of native web applications. It also addresses the question how the performance of JavaScript web applications compares to that of native appli- cations and native web applications. Four application benchmarks are introduced that focus on different performance aspects: number crunching (serial and parallel), 3D graphics performance, and data processing. A performance analysis is under- taken in order to determine and compare the performance characteristics of native C applications, JavaScript web applications, and NaCl native web applications.
    [Show full text]
  • Understanding Javascript Event-Based Interactions
    Understanding JavaScript Event-Based Interactions Saba Alimadadi Sheldon Sequeira Ali Mesbah Karthik Pattabiraman Motivation • JavaScript – Event driven, dynamic, asynchronous • Difficult to understand the dynamic behavior and the control flow – Lower level events – Their interactions 1 Challenge 1: Event Propagation html Handler head body Triggered P div a div Handler p Triggered h1 table p Handler Triggered caption tr Handler User td Triggered Click label input table textarea button Handler 2 Triggered Challenge 2: Asynchronous Events Timeout for page expiry Server request for login Server response for login User logs in 3 Challenge 2: Asynchronous Events Timeout for page expiry Server request for login View Server response for login gallery Server request Server request Server response Server response 3 Challenge 2: Asynchronous Events Timeout for page expiry Server request for login Server response for login View Server request slideshow Server request Server response Server response Timeout for next image 3 Challenge 2: Asynchronous Events Timeout for page expiry Server request for login Server response for login Server request Server request Server response Server response Timeout for next image Server request image Server response Timeout callback Timeout callback page expiry 3 Challenge 3: DOM State function submissionHandler(e) { $('#regMsg').html("Submitted!"); var email = $('#email').val(); html if (isEmailValid(email)) { informServer(email); head Body $('#submitBtn').attr("disabled", true); } } P div a srvrMsg . function informServer(email)
    [Show full text]
  • Practical Initialization Race Detection for Javascript Web Applications
    Practical Initialization Race Detection for JavaScript Web Applications CHRISTOFFER QUIST ADAMSEN, Aarhus University, Denmark 66 ANDERS MØLLER, Aarhus University, Denmark FRANK TIP, Northeastern University, USA Event races are a common source of subtle errors in JavaScript web applications. Several automated tools for detecting event races have been developed, but experiments show that their accuracy is generally quite low. We present a new approach that focuses on three categories of event race errors that often appear during the initialization phase of web applications: form-input-overwritten errors, late-event-handler-registration errors, and access-before-definition errors. The approach is based on a dynamic analysis that uses a combination of adverse and approximate execution. Among the strengths of the approach are that it does not require browser modifications, expensive model checking, or static analysis. In an evaluation on 100 widely used websites, our tool InitRacer reports 1 085 initialization races, while providing informative explanations of their causes and effects. A manual study of 218 of these reports shows that 111 of them lead to uncaught exceptions and at least 47 indicate errors that affect the functionality of the websites. CCS Concepts: • Software and its engineering → Software testing and debugging; Additional Key Words and Phrases: event race detection, JavaScript, dynamic analysis ACM Reference Format: Christoffer Quist Adamsen, Anders Møller, and Frank Tip. 2017. Practical Initialization Race Detection for JavaScript Web Applications. Proc. ACM Program. Lang. 1, OOPSLA, Article 66 (October 2017), 22 pages. https://doi.org/10.1145/3133890 1 INTRODUCTION It is well known that event races are the cause of many errors in JavaScript web applications [Steen 2009].
    [Show full text]
  • AJAX and Jquery L Raw AJAX Handling in JS Is Very Tedious L Jquery Provides Flexible and Strong Support to Handle AJAX Interactions Through a Set of Jquery Functions
    AJAX Asynchronous Design in Web Apps IT 4403 Advanced Web and Mobile Applications Jack G. Zheng Fall 2019 Topics l AJAX concepts and technical elements l AJAX implications and impacts l jQuery AJAX l Basic and shorthand methods l Error handling 2 AJAX l AJAX (Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create interactive web applications. l Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous. 3 First Impression l https://www.google.com Use Chrome’s developer tools to view network communications while typing the search terms. A set of requests have been made to get JSON data from the server as I type in the search term box. Observe the “q” parameter in all URLs. 4 AJAX Model Difference With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. http://www.adaptivepath.com /ideas/ajax-new-approach- web-applications/ 5 Traditional Model The client does not generate views/presentations (HTML/CSS). Synchronous communications feature sequential request/response cycles, one after another The server prepares the whole page. http://www.websiteoptimization.com/secrets/ajax/8-1-ajax-pattern.html 6 Ajax Model l With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. The client generates views/presentations and update content (partial page) by manipulating DOM. Asynchronous communications feature independent request/response cycles The server prepares partial pages (partial HTML) or just data (XML or JSON).
    [Show full text]
  • Web Components in Action MEAP
    MEAP Edition Manning Early Access Program Web Components in Action Version 2 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/web-components-in-action welcome Thank you very much for purchasing the MEAP for Web Components in Action. I’ve been speaking and blogging for over a decade now, and the common thread throughout has been that there hasn’t really been a common thread. I get excited about new technologies and techniques, but ultimately move to the next new thing. Web Components have been a bit different for me. I spoke at a few conferences and wrote some blog posts about them, and I did move on to other new and exciting things, but the difference here is that I never stopped building with Web Components. They’ve been a staple of my web development workflow for four years now. Like many web developers, I too have cycled through many frameworks and libraries that help with application development. Most we really good! It’s easy to laugh at a three or four year old framework years later, but it’s been very interesting to see how we as web developers progress as we try to make better and better applications with better and better tools. I’ve also been fortunate enough to use many other programming languages and platforms as well.
    [Show full text]
  • EMERGING TECHNOLOGIES Dymamic Web Page Creation
    Language Learning & Technology January 1998, Volume 1, Number 2 http://llt.msu.edu/vol1num2/emerging/ pp. 9-15 (page numbers in PDF differ and should not be used for reference) EMERGING TECHNOLOGIES Dymamic Web Page Creation Robert Godwin-Jones Virginia Comonwealth University Contents: • Plug-ins and Applets • JavaScript • Dynamic HTML and Style Sheets • Instructional Uses • Resource List While remaining a powerful repository of information, the Web is being transformed into a medium for creating truly interactive learning environments, leading toward a convergence of Internet connectivity with the functionality of traditional multimedia authoring tools like HyperCard, Toolbook, and Authorware. Certainly it is not fully interactive yet, but that is undeniably the trend as manifested in the latest (version 4) Web browsers. "Dynamic HTML," incorporated into the new browsers, joins plug-ins, Web forms, Java applets, and JavaScript as options for Web interactivity. Plug-ins and Applets While Web pages are beginning to behave more like interactive applications, traditional authoring tools are themselves becoming Internet-savvy, primarily through the use of "plug-in" versions of players which integrate with Web browsers. The most commonly used plug-in today is Macromedia's "Shockwave," used to Web-enable such applications as Director, Authorware, and Flash. "Shocked" Web pages can be very interactive and provide a visually appealing means of interacting with users (as in some sample ESL exercises from Jim Duber). Plug-ins are easy to use -- they just need to be downloaded and installed. Some come bundled with Netscape and Microsoft's browsers, which simplifies considerably the installation process (and gives developers the confidence that most users will actually have the plug-in installed).
    [Show full text]
  • Chapter 10 Document Object Model and Dynamic HTML
    Chapter 10 Document Object Model and Dynamic HTML The term Dynamic HTML, often abbreviated as DHTML, refers to the technique of making Web pages dynamic by client-side scripting to manipulate the document content and presen- tation. Web pages can be made more lively, dynamic, or interactive by DHTML techniques. With DHTML you can prescribe actions triggered by browser events to make the page more lively and responsive. Such actions may alter the content and appearance of any parts of the page. The changes are fast and e±cient because they are made by the browser without having to network with any servers. Typically the client-side scripting is written in Javascript which is being standardized. Chapter 9 already introduced Javascript and basic techniques for making Web pages dynamic. Contrary to what the name may suggest, DHTML is not a markup language or a software tool. It is a technique to make dynamic Web pages via client-side programming. In the past, DHTML relies on browser/vendor speci¯c features to work. Making such pages work for all browsers requires much e®ort, testing, and unnecessarily long programs. Standardization e®orts at W3C and elsewhere are making it possible to write standard- based DHTML that work for all compliant browsers. Standard-based DHTML involves three aspects: 447 448 CHAPTER 10. DOCUMENT OBJECT MODEL AND DYNAMIC HTML Figure 10.1: DOM Compliant Browser Browser Javascript DOM API XHTML Document 1. Javascript|for cross-browser scripting (Chapter 9) 2. Cascading Style Sheets (CSS)|for style and presentation control (Chapter 6) 3. Document Object Model (DOM)|for a uniform programming interface to access and manipulate the Web page as a document When these three aspects are combined, you get the ability to program changes in Web pages in reaction to user or browser generated events, and therefore to make HTML pages more dynamic.
    [Show full text]
  • How We Build Web Applications
    Whitepaper How We Build Web Applications Whitepaper 1 BuildableWorks.com Table of Contents About Buildable ............................................................................................ 3 Web Application Architecture ................................................................. 4 Our Process .................................................................................................. 6 Application Architecture Guidelines ............................................... 8 Management ......................................................................................... 8 Anatomy of a Web App .............................................................................. 10 User Experience Design ...................................................................... 10 Application Build and Deployment .................................................... 14 Frontend Tools ...................................................................................... 15 Backend Tools ........................................................................................ 20 Authentication and Security ............................................................. 22 Whitepaper 2 BuildableWorks.com About Buildable Our nimble, versatile team of full-stack engineers, creatives, and developers come to work every day with the knowledge we’re making the stuff that will change our clients’ work lives for the better. It’s why we attract and keep some of the best technical talent in the industry, and it’s how we deliver the highest quality
    [Show full text]
  • Designing Design Tools Genel Bakış
    Designing Design Tools Genel Bakış İyi ve güzel bir oyun, gelişmiş ve kullanışlı oyun tasarlama araçları ile oluşturulabilr. Bunlardan en önemlisi Geliştirme ya da seviye ortamı adını verebileceğimiz LEVEL EDITOR dür. Level editörler, 3d , 2d modelcilerin, ve programcıların kullandığı bir ara yüzdür. Geçmişte ilk jenerasyon oyunlarda genelde tek level dan oluşan oyunlar karşımıza çıkmış iken günümüzde yüzlerce level a ulaşan oyunlar bulunmaktadır. 1. UNREAL EDITOR / UDK Game Engine: Unreal Engine 3, (UDK) Games: Unreal Tournament 3, Bioshock 1/2, Bioshock Infinite, Gears of War Series, Borderlands 1/2, Dishonored Fonksiyonellik Level editörlerinden beklenen en önemli özellik kullanışlı olmalarıdır. Hızlı çalışılabilmesi için kısa yollar, tuşlar içermelidir. Bir çok özellik ayarlanabilir, açılıp kapanabilmelidir. Stabil çalışmalıdır. 2. HAMMER SOURCE Game Engine: Source Engine Games: L4D2/L4D1, CS: GO, CS:S, Day of Defeat: Source, Half-Life 2 and its Episodes, Portal 1 and 2, Team Fortress 2. Görselleştirme - Yapılan değişikliklerin aynı anda hem oyuncu gözünden hem de dışarıdan görülebilmesi gerekir. Bunu yazar “What you see is what you get” Ne goruyorsan onu alirsin diyerek anlatmıştır. - Kamera hareketleri kolayca değiştirilebilmelidir, Level içinde bir yerden başka bir yere hızla gitmeyi sağlayan ve diğer oyun objeleri ile çarpışmayan, hatta icinden gecebilen “Flight Mode” uçuş durumu adı verilen bir fonksiyon olmalıdır. - Editörün gördüğü ile oyuncunun grdugu uyumlu olmalidir, tersi durumunda oynanabilirlik azalacak, oyun iyi gozukmeyecektirç - Editor coklu goruntu seceneklerine ihtiyac duyulubilir. Bazi durumlarda hem ustten hem onden hemde kamera acisi ayni anda gorulmelidir. 3. SANDBOX EDITOR / CRYENGINE 3 SDK Game Engine: CryEngine 3 Games: Crysis 1, 2 and 3, Warface, Homefront 2 Oyunun Butunu Level editorler, tasarimciya her turlu kolayligi saglayabilecek fazladan bilgileri de vermek durumundadir.
    [Show full text]