Building Highly-Interactive, Data-Intensive, REST Applications: the Invenio Experience

Total Page:16

File Type:pdf, Size:1020Kb

Building Highly-Interactive, Data-Intensive, REST Applications: the Invenio Experience Building Highly-Interactive, Data-Intensive, REST Applications: The Invenio Experience Michelle Annett, Eleni Stroulia {mkannett,stroulia}@cs.ualberta.ca Department of Computing Science University of Alberta these changes in Internet user’s usage preferences Abstract and practices, it should come as no surprise that the number of applications utilizing Web 2.0 With the explosion of Web 2.0 ideas and technol- technologies and ideas such as REST, “mashups” ogies such as XML, REST, and RIAs (Rich Inter- and Rich Internet Application (RIA) frameworks net Applications), developers are now creating has dramatically increased. “mashup” applications that aggregate numerous Of these ideas, mashups and RIAs are proba- sources of information and promote rich user inte- bly foremost in the minds of users. Mashups are raction. Although many innovative mashups are web applications that aggregate multiple data being created, there has been little research sys- sources into one application. Although different in tematically examining which technologies to use many ways, most mashup applications contain the and how to design and implement such applica- following three elements: (a) one or more data tions. We describe the features and complexity sources, (b) a website to display an interpretation inherent within a data-intensive, REST-based, of the data sources, and (c) a client web browser, RIA entitled, Invenio . Invenio combines a variety which acts as the user interface for the website. of different technologies (Yahoo! Maps, Amazon On the other hand, RIAs are web services that use Associates Web Service, REST, and the Flex the web client to process a user interface and use framework) to geographically visualize aggre- an application server to store program states and gated music chart information. We report on our user data that is generated. The proliferation of experiences in designing and authoring Invenio, accessible REST APIs and rich user-interface use Invenio’s requirements as a case study to ex- frameworks that can run with zero installation amine relevant technologies and recommend a set requirements on browser sandbox environments of possible “best practices” for developing other greatly supports the development of highly inter- RIAs. active, web-based, data-exploration tools. Given the fact that every web service or ap- 1 Introduction plications stores, retrieves and modifies data to some capacity, it is surprising to find that there As the size of the Internet dramatically increases are few recommendations or instructions in exis- each year, so do its user’s demands. An Internet tence that explain which frameworks or APIs user is no longer content interacting with static work best. Without such information, deciding HTML web pages or simple searching portals; upon the types of data visualizations to use, the instead, users want applications and services that data sources (and their organizational structures) promote collaboration and provide them with rich and the affordances (or constraints) of user inte- content that can easily be manipulated. Given raction can lead to mass confusion and frustration for developers and users alike. Many developers end up utilizing a bricolage approach to design Copyright 2008 Michelle Annett and Eleni Stroulia. and implementation, which ultimately wastes val- Permission to copy is hereby granted provided the orig- uable time and resources. Not only does the inal copyright notice is reproduced in copies made. amount of time spent on a project increase, but the 1 number of “workarounds” or “hacks” that are iTunes, and cross-continental success. With re- needed also increases (thereby making the spect to retail and media sharing, the ever- project’s code unnecessarily complex). growing popularity of online digital media me- Sharing one’s experiences, either by provid- chanisms, such as peer-to-peer networks, torrents, ing documentation, recommendations, guidelines and online music stores have shifted the impor- or instructions, can potentially save everyone time tance of the Internet in music consumer’s pur- and effort. Providing detailed examples and justi- chasing habits and the borderless selling of fications for one’s work – as we do in this paper – products. From 2005 to 2007, there was a steady can not only help novel developers, but it can also decline in physical CD sales (-7.8%, -4.9%, and - increase the quality of an expert’s work and in- 9.5%), and an astronomical increase in digital spire other developers to increase creativity within album and single sales (+150%, +20.8%, and their own applications. As well, we can use these +45%) [2,3,4]. Given these sales figures and the guidelines and recommendations to help push the compelling evidence for the impact of on-line evolutionarily pace and optimality of technologies word-of-mouth, it should come as no surprise that forward, by constantly demanding more im- consumers are now, more than ever, looking at the provements and innovations in Web 2.0 technolo- Internet as an influential source of music informa- gies and illustrating the importance of cohesion tion and recommendations. and interoperability between resources, frame- Coupling the importance of the Internet for works and APIs. consumers within the music domain with the pop- The remainder of this paper discusses the de- ularity of RIAs and mashups, the authors have sign rationales of a REST-based RIA service, In- chosen to create Invenio, a highly interactive, venio, and the experiences encountered during its data-intensive mashup service that uses geovisua- development. We discuss our motivation in lization techniques to facilitate the discovery of choosing the application domain and review re- new music by its users. lated visualization and mashup research (Section In looking at the geovisualization and ma- 2), we then discuss the Invenio software architec- shup work occurring in academia and industry, ture (Section 3) and workflows (Section 4). Sec- there are a number of innovative projects that tion 5 concludes with our reflection on the lessons have been pursued. Wood et al. have utilized a we learned from the experience and our advice on geographic map with data dial overlays to demon- “good practices” for building REST-based RIA strate the power of geovisualization mashups [5]. applications using complex compositions of exist- They have taken cell phone text message queries ing resources. sent to a popular cell phone provider and com- bined them with Google Earth to assess trends in 2 Motivation text message queries. A data dial displays all of the times of day that a query was made from a Under the Web 2.0 umbrella, we now recognize a specific location (Figure 1A). The angle of a line collection of technologies that flexibly and crea- leaving a specific point indicates the time that a tively support information sharing on the web. query was made and the length of the line indi- On-line wikis, blogs, and RSS feeds have had an cates the number of queries made at that time. In immeasurable influence in various domains, as contrast to Wood et al. ’s “typical” geovisualiza- they provide an easily accessible platform for tions, Kwan and Lee used two non-traditional word-of-mouth advertising, online retail, product visualization techniques (linear and topography research, and media sharing. inspired) to visualize a geo-coded (geographical On the marketing/advertising front, it is inter- coordinates) data set that was composed of esting to consider the celebrity gossip blog Pe- 129,000 human activities [6]. Using horizontal rezHilton.com [1] whose founder, Mario and vertical lines (Figure 1B), as well as peaks Lavandeira, started posting audio and video links and valleys (Figure 1C), Kwan and Lee have ex- of his favorite unsigned or overseas artists such as tended the boundaries of geovisualization re- Leona Lewis, Amy Winehouse, and Mika on his search in a very creative direction. Although both blog. Before his postings, each of these artists had sets of researchers use different ways to express local “cult” followings, but after they were temporal data (one in 3D and the other using 2D blogged about, they obtained number one hits, top dials), neither contain capabilities which might album and singles downloads on Amazon and allow one to discover trend patterns that occurred 2 Service Purpose Visualization Interactive Zooming / Types Visualizations Filtering Deploys and tracks user created videos across Line chart, bar chart, TubeMogul [7] multiple websites (AOL, Google, MySpace, Ya- pie chart, Google None N/A hoo!,YouTube, Viddler) Map Line chart, bar chart, QLikView Musiq Visualizes online and radio station airplay from Charts – yes; On some visualiza- pie chart, geographic Tracker [8] Mediaguide service Geographic map – no tions, yes map Users click on map Visualizes disease outbreak bulletins (Google Filter by disease markers to view HealthMap [9] News, curated personal accounts, World Health Google Map type , resource additional informa- Organization official alerts) geographically provider tion Table 1 - Commercial Mashup Services. over long periods of time, such as days or weeks. A) B) This temporal dimension is something that we have included within Invenio. As illustrated in Table 1, there are a variety of successful, online mashups that have been created to visualize aggregate data. TubeMogul [7] pro- vides users with a Google Map on which their demographics are shown. Unfortunately, Tube- Mogul does not utilize the full power and capabil- ities that the map can provide: instead of enabling C) interactivity with this map, the TubeMogul de- signers have chosen to leave it static and to not provide any way to determine the regional popu- larity of one’s videos over time. The QLikView Musiq Tracker [8] service does provide useful information, but most often there is too much in- formation presented in awkward or confusing ways. The data is largely static and the interactive functionality is very slow, leading to a very inef- Figure 1 - Geo-Spatial Visualizations from [5,6].
Recommended publications
  • Flex and Object-Oriented Programming
    06_287644-ch01.qxp 6/23/08 11:28 PM Page 3 About Flex 3 lex 3 is the most recent version of a platform for developing and deploying software applications that run on top of the Adobe Flash IN THIS CHAPTER FPlayer. While such tools have existed for many years, the most recent Understanding the fundamentals toolkit from Adobe Systems allows programmers with object-oriented back- of Flex grounds to become productive very quickly using the skills they already have learned in other programming languages and platforms. Getting to know Flex applications Since the release of Flex 2, the Flex development environment has encour- aged a development workflow similar to that used in other desktop develop- Developing in Flex versus Flash ment environments such as Visual Studio, Delphi, and JBuilder. The Using Flex with object-oriented developer writes source code and compiles an application locally and then programming uploads the finished application to a Web server for access by the user. That isn’t how Flex started, however. Understanding the Flash Player Flex was originally released by Macromedia as a server-based application Learning the history of the Flash deployment and hosting platform. In the early versions of the Flex product Player line, an MXML/ActionScript compiler was included in a Java-based Web Making the most of Flex 3 application hosted on a Java 2 Enterprise Edition (J2EE) server. Application development tools source code was stored on the server. When a user made a request to the server, the application was compiled “on request” and delivered to the user’s Getting help browser, and hosted by the FlashCOPYRIGHTED Player.
    [Show full text]
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • Peer-Assisted Video Streaming with RTMFP Flash Player: a Measurement Study on PPTV Shan Zou, Student Member, IEEE, Qiang Wang, Junqiang Ge, and Ye Tian, Member, IEEE
    1 Peer-assisted Video Streaming with RTMFP Flash Player: A Measurement Study on PPTV Shan Zou, Student Member, IEEE, Qiang Wang, Junqiang Ge, and Ye Tian, Member, IEEE Abstract—RTMFP is a protocol developed by Adobe for TABLE I multimedia delivery under both client-server and peer-to-peer ARCHITECTURES AND STREAMING PROTOCOLS OF POPULAR VIDEO paradigms. Currently, major Internet video service providers SERVICE PROVIDERS IN CHINA such as PPTV and iQIYI have already built their web-based video streaming systems with RTMFP. In such a system, user Service provider Architecture Streaming protocol Youku CDN HTTP only needs to install a Flash Player plug-in on his web browser, CNTV P2P UDP based proprietary protocol and can stream videos in a peer-assisted way. Tudou CDN HTTP Despite its wide usage, RTMFP has received little attention PPTV CDN + P2P HTTP + RTMFP from the measurement community. In this paper, we select iQIYI CDN + P2P HTTP + RTMFP PPTV as an example, and study the RTMFP video stream- Sohu TV CDN + P2P HTTP + RTMFP ing technology with a measurement approach. We reveal the architecture of PPTV’s RTMFP streaming system, and show that comparing with proprietary P2P networks, the RTMFP network has a different content distribution policy, and exhibits CNTV and Xunlei Kankan [6]. A problem of this approach different features on peers’ streaming behaviors, potential system is that users may not be willing to install many different bottleneck, and network dynamics. We also study RTMFP’s video proprietary plug-ins from different providers.
    [Show full text]
  • Adobe® Media Server 5 Standard High Quality Video Playback Consistent Across Devices
    Adobe Media Server 5 Standard Datasheet Adobe® Media Server 5 Standard High quality video playback consistent across devices Step up from progressive download video delivery and deliver adaptive streams to the widest audience. Stream to iOS and Adobe Flash® Player with a single media source. Adobe Media Server 5 Standard is an economical solution that enables you to start streaming live and on demand content quickly and easily to a wide variety of platforms and devices. It provides all the features you need to stream and encrypt video and audio, providing a consistent playback across Apple iOS, Android, connected TVs, and the desktop—with a simplified workflow and better performance. New features in Adobe Media Server 5 Standard Adobe Media Server 5 Standard provides numerous video streaming innovations—over standard HTTP connections as well as RTMP delivery. • Simplified publishing workflows for HTTP streaming—Use the same source media and live streams to deliver full adaptive bitrate experiences to Adobe Flash, Android, and Apple devices. • Integration with Adobe Access 4—Enjoy protected RTMP support via a content license technology embedded in the server (Adobe Access 4 licensing server is a separate purchase). • 608/708 Closed Caption compliance—Support all avenues to increase your audience size with full support for closed caption transmission to Adobe Flash and Apple iOS devices such as the New iPad. EIA-608 (line 21) closed caption support meets FCC requirements • Reduced storage and infrastructure costs—A single MPEG-4 asset is required for each bitrate, and optional real time packaging eliminates the need to prepare content in advance.
    [Show full text]
  • Product Descriptions and Metrics
    PRODUCT DESCRIPTIONS AND METRICS Adobe PDM - Adobe Media Server (2015v1) The Products and Services described in this PDM are On-premise Software (as outlined below) and are governed by the terms of this PDM, the applicable Sales Order, the General Terms, and the Exhibit for On-premise Software. As used in this PDM, On-premise Software means Adobe Media Server, which is server software that helps content publishers deliver video to viewers. PRODUCT SPECIFIC LICENSING TERMS 1. Definitions 1.1 "Adobe Runtime" means Adobe AIR, Adobe Flash Player and any other future runtimes utilizing Adobe’s Flash technology distributed by Adobe or its licensees. 1.2 “Authorized Users” means employees and individual contractors (i.e., temporary employees) of Customer that (A) develop and/or build applications using the On-premise Software; and/or (B) use the On-premise Software to deliver Content to end users. 1.3 “Connections” means the number of connections over which the client can receive and deliver Content from a single Computer where the On-premise Software is installed. 1.4 “Concurrent Connections” means the total number of simultaneous Connections from software clients to a specific Computer. 1.5 “Content” means video, audio and/or data files in file formats supported by the On-premise Software and may be protected according to the Documentation. 1.6 “Content Encryption Key” means a cryptographic value for use in encrypting Content for secure distribution and to decrypt encrypted Content for access and use in accordance with the accompanying metadata. 1.7 “Starter Server” means Adobe Media Server Starter, a particular configuration and license of the On-premise Software with a limited number of Concurrent Connections.
    [Show full text]
  • Flash®, Flex®, and Air® Development for Mobile Devices
    ffirs.indd ii 12/09/11 7:52 PM BEGINNING FLASH®, FLEX®, AND AIR® DEVELOPMENT FOR MOBILE DEVICES INTRODUCTION . xxi CHAPTER 1 An Introduction to Flash, Flex, and AIR . .1 CHAPTER 2 Getting Started . 35 CHAPTER 3 Building AIR Applications for Android, BlackBerry, and iOS Devices . 67 CHAPTER 4 Touch, Multitouch, and Gestures . .101 CHAPTER 5 Developing for Multiple Screen Sizes . 131 CHAPTER 6 Debugging Applications . .177 CHAPTER 7 Working with the Filesystem . 199 CHAPTER 8 Working with Data . 239 CHAPTER 9 Working with Audio and Video . 289 CHAPTER 10 Utilizing Device Features . 315 INDEX . 359 ffirs.indd i 12/09/11 7:52 PM ffirs.indd ii 12/09/11 7:52 PM BEGINNING Flash®, Flex®, and AIR® Development for Mobile Devices ffirs.indd iii 12/09/11 7:52 PM ffirs.indd iv 12/09/11 7:52 PM BEGINNING Flash®, Flex®, and AIR® Development for Mobile Devices Jermaine G. Anderson John Wiley & Sons, Inc. ffirs.indd v 12/09/11 7:52 PM Beginning Flash®, Flex®, and AIR® Development for Mobile Devices Published by John Wiley & Sons, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2012 by John Wiley & Sons, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-94815-6 ISBN: 978-1-118-19334-1 (ebk) ISBN: 978-1-118-19335-8 (ebk) ISBN: 978-1-118-19336-5 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
    [Show full text]
  • Flex Resources*
    OpenStax-CNX module: m34542 1 Flex Resources* R.G. (Dick) Baldwin This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract The purpose of this document is to provide a list of links to online Flex and ActionScript resources to supplement the other lessons in the series. 1 Table of Contents • Preface (p. 1) • Resources (p. 1) • Miscellaneous (p. 3) 2 Preface This tutorial lesson is part of a series of lessons dedicated to programming using Adobe Flex. The purpose of this document is to provide a list of links to online Flex and ActionScript resources to supplement the other lessons in the series. note: The material in these lessons is based on Flex version 3 and Flex version 4. 3 Resources • Baldwin's Flex programming website 1 • Baldwin's ActionScript programming website 2 • Adobe Flex Home 3 • Download free open-source Adobe Flex 3.5 SDK 4 · Adobe Flex SDK Installation and Release Notes 5 · Application Deployment 6 • Download free open-source Adobe Flex 4 SDK 7 *Version 1.2: Jun 8, 2010 3:07 pm -0500 http://creativecommons.org/licenses/by/3.0/ 1http://www.dickbaldwin.com/tocFlex.htm 2http://www.dickbaldwin.com/tocActionScript.htm 3http://www.adobe.com/products/ex/?promoid=BPDEQ 4http://www.adobe.com/cfusion/entitlement/index.cfm?e=ex3sdk 5http://www.adobe.com/support/documentation/en/ex/3/releasenotes_ex3_sdk.html#installation 6http://livedocs.adobe.com/ex/3/html/help.html?content=Part3_deploy_1.html 7http://opensource.adobe.com/wiki/display/exsdk/Download+Flex+4 http://cnx.org/content/m34542/1.2/
    [Show full text]
  • Adobe Trademark Database for General Distribution
    Adobe Trademark List for General Distribution As of May 17, 2021 Please refer to the Permissions and trademark guidelines on our company web site and to the publication Adobe Trademark Guidelines for third parties who license, use or refer to Adobe trademarks for specific information on proper trademark usage. Along with this database (and future updates), they are available from our company web site at: https://www.adobe.com/legal/permissions/trademarks.html Unless you are licensed by Adobe under a specific licensing program agreement or equivalent authorization, use of Adobe logos, such as the Adobe corporate logo or an Adobe product logo, is not allowed. You may qualify for use of certain logos under the programs offered through Partnering with Adobe. Please contact your Adobe representative for applicable guidelines, or learn more about logo usage on our website: https://www.adobe.com/legal/permissions.html Referring to Adobe products Use the full name of the product at its first and most prominent mention (for example, “Adobe Photoshop” in first reference, not “Photoshop”). See the “Preferred use” column below to see how each product should be referenced. Unless specifically noted, abbreviations and acronyms should not be used to refer to Adobe products or trademarks. Attribution statements Marking trademarks with ® or TM symbols is not required, but please include an attribution statement, which may appear in small, but still legible, print, when using any Adobe trademarks in any published materials—typically with other legal lines such as a copyright notice at the end of a document, on the copyright page of a book or manual, or on the legal information page of a website.
    [Show full text]
  • Introduction to Flex and Air
    Introduction to Flex and Air CS174 Chris Pollett Nov. 24, 2008. Outline • Flash, Flex, and Adobe Air • Installation • Simple Program • Components Flash • Flash was originally a product to make it easy to produce vector based animations on the web created around 1996 based on technology purchased by Macromedia (now Adobe) from Futurewave. • Flash programs are typically executed by the Flash player plug-in which is (Sep 2008) available in some browser on 99% of desktops (Flash >7, for Flash 9 is 98%). • It is used to create Rich Internet Applications (RIA) and competes against AJAX, Silverlight (Windows), Applets (Java), etc. • It can also be used to do tracking (PIE -- Persistent Identification Elements -- not turned off as often as cookies) • It has the advantage over AJAX that as the plug-in is produced by one source, it runs the same in any browser. It also supports richer kinds of media like Video. (YouTube). Flex • The main authoring tool for Flash is Flash Professional, which is GUI IDE designed to make it easy to create Flash. • Flex is an Adobe product which gives a more programmatic way to create Flash files. • There is a Flex IDE, Flex Builder, which can also be used, however, the basic SDK is open sourced under the Mozilla License (can mix proprietary and open source code). • We will only look at the basic SDK which we will access mainly from the command line. • There are other open-source tool chains which can be used to create .swf files, notably, OpenLaszlo. Adobe Air • Air is a product released by Adobe in Feb, 2008 to make it easy to convert Flash programs into stand- alone applications.
    [Show full text]
  • Sample Chapter
    Sample Chapter Hello Flex 4 Peter Armstrong MANNING Hello! Flex 4 by Peter Armstrong Chapter 3 Copyright 2010 Manning Publications Brief contents 1GETTING STARTED 1 2ACTIONSCRIPT 3, XML, AND E4X 25 3HELLO SPARK: PRIMITIVES, COMPONENTS, FXG AND MXML GRAPHICS, AND EVEN VIDEO 50 4SPARK CONTAINERS, VIEW STATES, EFFECTS, AND STYLING 89 5HALO FLEX 4: USING DATAGRID, NAVIGATOR CONTAINERS, AND POPUPS 121 6BUILDING USER-FRIENDLY FORMS USING FLEX FORMATTERS AND VALIDATORS 136 7CAIRNGORM IN ACTION: SOCIALSTALKR (TWITTER + YAHOO! MAPS)157 3 Hello Spark: primitives, components, FXG and MXML graphics, and even video n this chapter, you’ll start learning Spark, which is the new set of components, containers, and I graphics primitives in Flex 4. This will be a “how- to” chapter: we’ll save diving into the Spark component model until the next chapter (which discusses view states, containers, CSS styling, and skinning). This chapter provides enough examples of using Spark that when it comes time to tackle the theory you’ll have plenty of examples in your head. In four of the five workshop sessions in this chap- ter, we’ll build a fairly small, self-contained Tes- ter.mxml app that has all the code in the example. In session 14, however, I’ll mix things up a little: we’ll build an “Only Connect” game (that bears strong resemblance to a certain trademarked game). We’ll start with a game board that I drew in Adobe Illustrator and saved as FXG. (I’m pro- viding the FXG file I created, so you don’t need to have Adobe Illustra- tor.) We’ll then build a fully functioning game based on this FXG, before 50 SESSION 11 Spark primitives 51 refactoring it and then adding logic for detecting victory.
    [Show full text]
  • Building Glancer
    Building RIAs with Flex & OL My Experiences Nirav Mehta RIA? What's RIA? Why RIA? Why Flash? Why not AJAX? What's OpenLaszlo? Flex? XML based languages / platforms for RIA development Flex – from Adobe / Macromedia OpenLaszlo – from Laszlo Inc – open source / GPL Glancer Friend Finder & Scheduler app Used in foss.in/2005 PF Admin Pressfile – award winning RIA PFAdmin – experiment with Flex 2 Tech Choices Cutting edge technology Flash vs Flex vs OpenLaszlo PHP vs Mono vs ColdFusion OpenLaszlo & Flex <canvas> <mx:application> XML Based, SWF output Eclipse connection Attributes, Events, Fundamentals Speed! Workflow LaszloIDE / FlexBuilder LZX / MXML SWF Solo / Server / FDS Glancer - WSDL Blues Mono / PHP Webservices WSDL Generation Security Glancer - Map Plotting Logic Trigonometry? x = r cos θ, y = r sin θ Shift of origin, shift of quadrants PFA - DataGrid Editing in place Synchronizing the data with backend Focus issues – SelectedIndex etc Version mismatches null is undefined Flex 2 – beta 1 vs beta 2 vs beta 3 OpenLaszlo – 3.1 vs 3.2 vs 3.3 Debugging Laszlo's Debug window Flex - ? You will hit bugs! I am not talking about bugs in your app! It may bleed if you are on the cutting edge Difficulties will come You may not be able to solve them Glancer Response Cool, Amazing Talk of the town You should take this to more people What I am not happy with Speed Uncertainty What I am happy about Ease / Power Coolness / UI Coders can do RIA now! Ecosystem / Community is building Thank you Nirav Mehta [email protected] www.magnet-i.com www.mehtanirav.com www.glancer.net.
    [Show full text]
  • Graphs in Flash Using the Graph Template Language Himesh Patel, SAS Institute Inc., Cary, NC David Kelley, SAS Institute Inc
    Graphs in Flash Using the Graph Template Language Himesh Patel, SAS Institute Inc., Cary, NC David Kelley, SAS Institute Inc., Cary, NC Dan Heath, SAS Institute Inc., Cary, NC ABSTRACT The Graph Template Language (GTL) offers many opportunities for application developers to package simple or complex custom-designed graphs into stand-alone template libraries. In SAS ® 9.2, users can generate static output only through Java rendering. Let’s take a peek into future rendering through the use of Adobe ® Flash. You will be able to use your current GTL code to generate interactive graphs using Flash technology. Once data is visually analyzed, you will be able to publish the graphs in presentations or reports. INTRODUCTION This video poster assumes that users are familiar with the SAS ® Output Delivery System (ODS) and SAS/GRAPH ® software. Because most of the work involves Adobe Flash and Adobe ® Flex ®, it is critical to understand the technology on the surface. Adobe Flash Player is a run-time application that is written in ActionScript, or in the Flex markup language MXML, using Flex SDK. Flex is a collection of technologies that allow developers to develop cross- platform, rich Internet content. Running a Flash application requires a one-time Flash Player download. The Player can be downloaded for free from the Adobe Web site at www.adobe.com . You can define the required content as MXML, which is similar to XML, by creating a new ODS destination using a tagset. One caveat for using this method is that MXML must be compiled into an SWF file before it can be executed by Flash Player.
    [Show full text]