Sexy Science User Interfaces June 17, 2011 GRITS III, Pasadena, CA John Good.

Slides:



Advertisements
Similar presentations
AfiFarm 4 – The New Generation Dealers Meeting, Dead Sea, Israel, 2008.
Advertisements

Technical BI Project Lifecycle
1 Chapter 12 Working With Access 2000 on the Internet.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Multiple Tiers in Action
ArcView Documents Francisco Olivera, Ph.D., P.E. Department of Civil Engineering Texas A&M University.
There is a certain way that an HTML file should be set up. The HTML section declares a beginning and an ending. Within the HTML, there should be a HEAD.
Copyright 2003 The McGraw-Hill Companies, Inc CHAPTER Application Software computing ESSENTIALS    
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Attribute databases. GIS Definition Diagram Output Query Results.
Website Generator for SoftLab By Yohann SABBAH & Mikael V.H Cohen -Under the supervision of Viktor Kulikov- Final Presentation 7/20/2015.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Computer Science & Engineering 2111 CSE 2111 Lecture Querying a Database 1CSE 2111 Lecture- Querying a Database.
Development of mobile applications using PhoneGap and HTML 5
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
CPSC 203 Introduction to Computers Lab 39, 40 By Jie (Jeff) Gao.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
11 Games and Content Session 4.1. Session Overview  Show how games are made up of program code and content  Find out about the content management system.
9-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Marc Ziss Z Consulting Code Name 'Oryx' Web application scaffolding Easy to dynamically display pages based on the data model of.
1 Direct Manipulation Proposal 17 Direct Manipulation is when physical actions are used instead of commands. E.g. In a word document when the user inputs.
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
Website Development with Dreamweaver
10/4/2015Tables1 Spring, 2008 Modified by Linda Kenney 4/2/08.
Content Management Systems Week 14 LBSC 671 Creating Information Infrastructures.
Class 1Intro to Databases Goals of this class Understand the architecture behind web database applications Gain a basic understanding of what relational.
Chapter 13. Applets and HTML HTML Applets Computer Programming with JAVA.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
PowerBuilder Online Courses - by Prasad Bodepudi
Object Oriented Software Development 9. Creating Graphical User Interfaces.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Using Xcode A Beginner’s Tutorial Erin Green. This tutorial will walk you through Xcode, a software development tool for Apple’s iOS applications – We.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Database Handling, Sessions, and AJAX. Post Back ASP.NET Functionality The IsPostBack method in ASP.NET is similar to the BlackBerry.refresh method –IsPostBack.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
6.1 © 2010 by Prentice Hall 6 Chapter Foundations of Business Intelligence: Databases and Information Management.
1 Data Manipulation (with SQL) HRP223 – 2010 October 13, 2010 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This.
Copyright 2007, Information Builders. Slide 1 Scaling Large HTML Reports With Active Cache Mark Nesson,Vashti Ragoonath June 2008.
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
Project Database Handler The Project Database Handler is a brokering application that mediates interactions between the project database and the external.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
GRITS 2011: Benny Chan. Browsers as Application GUI  Modern Browsers are basically an HTML and a power JavaScript rendering engine.  As the internet.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Scripting Languages Client Side and Server Side. Examples of client side/server side Examples of client-side side include: JavaScript Jquery (uses a JavaScript.
Class 1Intro to Databases Goals of this class Understand the architecture behind web database applications Gain a basic understanding of what relational.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
ADNET Systems, Inc. Jack Ireland & Helioviewer Team ADNET Systems, Inc. Helioviewer Discovery for Everyone Everywhere.
What is Firefly (1) A web UI framework for web applications
Introduction to the World Wide Web & Internet CIS 101.
Content Management Systems. Agenda Week overview Web-page basics The why and what of CMS Typo3.
1 CSC160 Chapter 1: Introduction to JavaScript Chapter 2: Placing JavaScript in an HTML File.
Connecting to External Data. Financial data can be obtained from a number of different data sources.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
CFUNITED – The premier ColdFusion conference Flex 2.0 and ColdFusion Integration – 101 Nahuel Foronda Laura Arguello.
Basics Components of Web Design & Development Basics, Components, Design and Development.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
Introduction to Node.js® Jitendra Kumar Patel Saturday, January 31, 2015.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Agenda for Today  DATABASE Definition What is DBMS? Types Of Database Most Popular Primary Database  SQL Definition What is SQL Server? Versions Of SQL.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Human Computer Interaction
Leveraging BI in SharePoint with PowerPivot and Power View
.NET and .NET Core 7. XAML Pan Wuming 2017.
Teaching slides Chapter 6.
Presentation transcript:

Sexy Science User Interfaces June 17, 2011 GRITS III, Pasadena, CA John Good

Javascript GUIs Love it or hate it – Javascript is the world’s most popular language – Javascript is the world’s most unpopular language Javascript is the language of the web – Browsers have become essentially Javascript engines – There are dozens of (free) libraries and frameworks that provide arguably the most extensive set of GUI capabilities in the world 2

Example: DHTMLX Layout 3

Example: DHTMLX Layout (2) 4

But We are Science Nerds Computer guys may get off on GUIs but we love data – Images – Plots – Tables … Lots of it – Billion record tables – Multi-Gigabyte images … And poking things – Which object is that? – Sort this, subset that 5

Web Plotting Tools Cute and OK for managers But totally inadequate for real data 6

Working at Scale Data is better left on the back end – Tabular data in a database (e.g. SQLite file) which allows fast, full SQL, manipulation – Images processed through a toolkit that provides science grade resampling, cutouts, and rendering (e.g. Montage) And served in bits and pieces – You may want to “explore” a 10-million record table but in fact will only actually interactively look at a few thousand records total – Screens have a million or so pixels, so why transfer 100 million? 7

Plots and Tables Basic interactive plotting requires nothing more than adding positional event handling to existing JPEG plot generation 8

Plots and Tables (2) Which can be augmented with control panels to make use of all the underlying plotting capabilities 9

Plots and Tables (3) Including overplotting Basic region selection is all you need to support zooming 10

Plots and Tables (4) And point selection (across multiple input tables) 11

Table Manipulation Tables are linked to a server-side SQLite database – This allows data transfer to be minimized (intelligent paging is built into the DHTMLX table tool) – Sorting, filtering, etc. can use full SQL syntax (e.g. you can say that the “flux1” column needs to be “> flux2”) Table cell content can have complex rendering and adornment All sorts of functions and links can be attached to the data, header, etc. 12

Table Manipulation (2) 13

Table Manipulation (3) 14

Table Manipulation (4) 15

Images The same interaction functionality can be applied to images – Region zooming – Point selection from overlay tables The following set of slides shows some of the underlying capabilities 16

Images (2) 17

Images (3) 18

Images (4) 19

Images (5) 20

Images (6) 21

Images (7) 22

Images (8) 23

Closing Notes ICE components (our name for the tools described in this talk) fit into a page or pages in the same way as DHTMLX (or other) Javascript display objects. They can be intermixed. The server-side tools (SQLite-based dbLoad and dbSelect, jPlot, Montage manipulation and image rendering) can all be used in multiple modes: – From the command-line – From within pipelines and run by any scripting language – As the underpinnings for the tools shown here Server-side (and even remote computing such as on a cloud) is much higher performance than trying to shoehorn it into the client and allows the most effective/efficient languages to be used. Other backend components could just as easily be factored in – Instead of jPlot (an application built with the PlPlot library) on could instead use JPEGs generated by, for instance, a statistical analysis package – Very little of the client Javascript logic would have to change 24