ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Slides:



Advertisements
Similar presentations
Behzad Samin 0 An End-to-End Overview of a RESTful Web Service.
Advertisements

© by Pearson Education, Inc. All Rights Reserved.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Building New SOA and AJAX- Based Business Applications Mark Barnard R&D Manager – Natural Business Services Software AG (Canada) Inc.
An Interactive Visualization of Super-peer P2P Networks Peiqun (Anthony) Yu.
Prefuse: A Toolkit for Interactive Information Visualization Jeffrey Heer Stuart K. Card James A. Landay CHI2005.
MSc. Publishing on WWW JavaScript. What is JavaScript? A scripting language devised by Netscape Adds functionality to web pages by: Embedding code into.
Quicktime Howell Istance School of Computing De Montfort University.
ACTIVE X By Ethan Huang. OUTLINE What is ActiveX? Component of ActiveX Why ActiveX? ActiveX and Java Security Issue.
USING FLASH IN HTML Topics Include: What is Flash? Why use Flash? Flash VS Other Methods What are some things I can do with flash? How can I start using.
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
UNIT-V The MVC architecture and Struts Framework.
CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
GUI Programming in Java
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Joshi R.G. Dept. of Computer Sci. YMA.
Chapter 11-Multimedia Authoring Tools. Overview Introduction to multimedia authoring tools. Types of authoring tools. Cross-platform authoring notes.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
Dynamic Web Pages (Flash, JavaScript)
GIS technologies and Web Mapping Services
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Introduction to ArcGIS API for JavaScript
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
Windows Presentation Foundation. Goal The goal of Windows Presentation Foundation (WPF) is to provide these advances for Windows. Included in version.
Fundamentals of Database Chapter 7 Database Technologies.
Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and check boxes using HTML Add a pull-down.
JavaBeans Components. To understand JavaBeans…  Proficient experience with the Java language required  Knowledge of classes and interfaces  Object-Oriented.
WordFreak A Language Independent, Extensible Annotation Tool.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
© 2006 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Jason Weathersby BIRT Evangelist, Actuate Corp. Leveraging.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
Quick overview of ASP.NET Ajax Ajax deep-dive Cover some key real-world problems Discuss solutions, patterns, opportunities Lots of demos And more of.
Design and Implementation of Geometric and Texture-Based Flow Visualization Techniques Robert S. Laramee Markus Hadwiger Helwig Hauser.
Resilient Distributed Datasets: A Fault- Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Visualization Four groups Design pattern for information visualization
1 Galatea: Open-Source Software for Developing Anthropomorphic Spoken Dialog Agents S. Kawamoto, et al. October 27, 2004.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Threads. Readings r Silberschatz et al : Chapter 4.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
Ajax! Ajax Programming Ajax! Ajax Programming. Ajax! Ajax Programming Take a look at a typical desktop application (Spreadsheet app, etc.) The program.
Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2, Masaki.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing.
September 24th 2006, aKademy The Design and Implementation of KJSEmbed Richard Moore,
Dive Into® Visual Basic 2010 Express
Avraham Leff James T. Rayfield IBM T.J. Watson Research Center
An Introduction to the IVC Software Framework
Section 17.1 Section 17.2 Add an audio file using HTML
Asynchronous Java script And XML Technology
Silverlight Technology
11.1 Applets & graphics.
Continuous Integration
Presentation transcript:

ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology

Peter Sikachev 1 Overview Introduction Language Design Integration into VolumeShop Plugin Discussion

Peter Sikachev 2 Overview Introduction Language Design Integration into VolumeShop Plugin Discussion

Peter Sikachev 3 Tool Selection Criterias expressiveness (“Can I build it?”) efficiency (“How long will it take?”) accessibility (“Do I know how?”)

Peter Sikachev 4 High-level vs Low-level API’s OpenGL, Java2D, Processing Higher-level tools Flash, Piccolo Visualization Toolkits InfoVis Toolkit, Improvis, Prefuse, Flare Consumer software Excel, Google Spreadsheets

Peter Sikachev 5 High-level vs Low-level API’s Only imperative methods for primitives Higher-level tools Visualization Toolkits Consumer software

Peter Sikachev 6 High-level vs Low-level API’s Only imperative methods for primitives Higher-level tools Still no visualization abstractions Visualization Toolkits Consumer software

Peter Sikachev 7 High-level vs Low-level API’s Only imperative methods for primitives Higher-level tools Still no visualization abstractions Visualization Toolkits Customized vis → software engineering Even simple tasks might be hard to implement Consumer software

Peter Sikachev 8 High-level vs Low-level API’s Only imperative methods for primitives Higher-level tools Still no visualization abstractions Visualization Toolkits Customized vis → software engineering Even simple tasks might be hard to implement Consumer software Limited to what is in GUI

Peter Sikachev 9 Overview Introduction Language Design Integration into VolumeShop Plugin Discussion

Peter Sikachev 10 Marks Basic grammar primitive Generated once per associated datum Mapping visual properties (position, color etc)

Peter Sikachev 11 Panels Mark containers Marks replication

Peter Sikachev 12 Other Stuff Event handlers: special properties for adding interactivity Anchors: related marks, positioned Inside/nearby (e. g., labels)

Peter Sikachev 13 Example

Peter Sikachev 14 Example

Peter Sikachev 15 Example

Peter Sikachev 16 Example

Peter Sikachev 17 Example

Peter Sikachev 18 Example

Peter Sikachev 19 Example

Peter Sikachev 20 More Examples

Peter Sikachev 21 Overview Introduction Language Design Integration into VolumeShop Plugin Discussion

Peter Sikachev 22 Motivation Rich InfoVis sample gallery Independency from data generation Cheap interactivity via JavaScript

Peter Sikachev 23 Challenges Integration with Qt and VolumeShop Dual way data and event transfer GUI exporting (not discussed)

Peter Sikachev 24 Challenges Integration with Qt and VolumeShop Dual way data and event transfer GUI exporting (not discussed)

Peter Sikachev 25 Porting No stable C++ port Using QWebView Rendering an html page with JavaScript, running on it

Peter Sikachev 26 Challenges Integration with Qt and VolumeShop Dual way data and event transfer GUI exporting (not discussed)

Peter Sikachev 27 Data Transfers Update data visualized by ProtoVis Get feedback from ProtoVis event handlers

Peter Sikachev 28 Data Transfers Update data visualized by ProtoVis Get feedback from ProtoVis event handlers

Peter Sikachev 29 Data Transfers

Peter Sikachev 30 Data Transfers Update data visualized by ProtoVis Get feedback from ProtoVis event handlers

Peter Sikachev 31 Data Transfers

Peter Sikachev 32 Data Transfers Calling ProtoVis functions Using QWebFrame::addToJavaScriptWindowObject and QWebFrame::evaluateJavaScript Calling C++ functions from ProtoVis event handlers Introduce class, inheriting QObject with functions, defined as slots

Peter Sikachev 33 Event Handling Other plugins might need to know about the events, fired by ProtoVis Special events are fired for the shared resource (shader)

Peter Sikachev 34 Overview Introduction Language Design Integration into VolumeShop Plugin Discussion

Peter Sikachev 35 ProtoVis vs Others a) ProtoVis b) Processing c) Flare

Peter Sikachev 36 Personal Experience Suited for static data and static windows Can’t use convenient in-built conversions Data is transferred as a function Not for large datasets Prefilter data Might be not an issue in Java port Very convenient interaction Tricky in debugging Can use browser Data, coming from application

Peter Sikachev 37 Questions?