Technology Tradeoffs John H. Krantz Hanover College Workshop on Web Research Centre for Affective Sciences, May 2008.

Slides:



Advertisements
Similar presentations
1 CGICGI Common Gateway Interface Server-side Programming Lecture.
Advertisements

DT228/3 Web Development WWW and Client server model.
Server-Side vs. Client-Side Scripting Languages
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Introduction to Web Database Processing
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
DT211/3 Internet Development Application Internet Development Application.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Introduction to Web Interface Technology (CSE2030)
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Introduction to Web Interface Technology (CSE2030)
Website Development with PHP and MySQL Introduction.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Computer Security and Penetration Testing
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
E-Commerce The technical side. LAMP Linux Linux Apache Apache MySQL MySQL PHP PHP All Open Source and free packages. Can be installed and run on most.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Chapter 10 Publishing and Maintaining Your Web Site.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Computer Concepts 2014 Chapter 7 The Web and .
CS 299 – Web Programming and Design CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang.
Web Design Scripting and the Web. Books on Scripting.
Internet Applications Notes for Chapter 19 Digital Domain, 2 ed.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
CNIT 132 Intermediate HTML and CSS Course Overview.
A Back-Stage Pass: What Every Hacker Wants Presented by: Art Jones.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
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.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
GIS technologies and Web Mapping Services
Chapter 1: Introduction to Web
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Introduction to Internet Programming (Web Based Application)
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Chapter 4 Networking and the Internet. © 2005 Pearson Addison-Wesley. All rights reserved 4-2 Chapter 4: Networking and the Internet 4.1 Network Fundamentals.
Website Design Lecture 1. Outline Introduction to the module Outline of the Assessment Schedule Lecture Static XHTML, client side and server side Why.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
WEB SCIENCE. What is the difference between the Internet and the World Wide Web? Internet is the entire network of connected computers and routers used.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 Welcome to CSC 301 Web Programming Charles Frank.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Creating Web Documents: How the Web works Client / Server Protocols Access methods Homework: Complete experiment & report on Discussion Forum.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Java for networking Module Introduction Data Communications Communication architecture Application.
Scripting Languages Client Side and Server Side. Examples of client side/server side Examples of client-side side include: JavaScript Jquery (uses a JavaScript.
Introduction and Principles Web Server Scripting.
 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.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Internet Infrastructure Min Ding Smeal College of Business Administration Pennsylvania State University.
Introduction to the World Wide Web & Internet CIS 101.
Web Page Designing With Dreamweaver MX\Session 1\1 of 9 Session 1 Introduction to PHP Hypertext Preprocessor - PHP.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web Programming Language
Distributed Control and Measurement via the Internet
WWW and HTTP King Fahd University of Petroleum & Minerals
Developing Web-Based Applications
Presentation transcript:

Technology Tradeoffs John H. Krantz Hanover College Workshop on Web Research Centre for Affective Sciences, May 2008

Outline Terms General Perspective Main Comparison Server-Side Solutions Client-Side Solutions

Some General Terms Server vs. Client Server is machine/software the study resides Client is the machine/software in use by the participant

Some General Terms Push vs. Pull Client-Pull: information is drawn from server at request of client browser – More polite Server-Push: information is driven by the server – What is presented is now no longer under the control of the participant

Some General Terms IP address – Machine Address on the network IVp4: xxx.xxx.xxx.xxx IVp6 –coming down the pike In many cases dynamically assigned For an server, try to get fixed IP address Domain Name – We don’t like numbers – Names to make machine location more memorable – Tiny URL

Some General Terms Protocols and URL’s – A protocol is the means of communicating – Sort of like a language – E.g. hypertext transfer protocol (http) vs. file transfer protocol (ftp) vs. hypertext transfer protocol secured (https) Uniform Resource Located – Common format for getting formation: – Protocol://server.domain/(path/filename) –

Some General Terms Internet Connectivity – People connect in different ways – Modem – Cable modem – Wireless – LAN These difference impact time to download and, thus, willingness to continue

Some General Terms Technical Variance – Data variation resulting from the use of technology Denial of Participation: – Prevention or reduced likelihood of participation based upon the technical requirements of study – e.g., visually impaired

General Perspective Web is a constantly changing environment Commercial issues are not the same as ours Lowest Common Denominator (Possible) – The more complex the technology the more participants you lose – Loss is not random – Complexity also often, but not always adds delay, and people are impatient on the web Know the reach of your technology

General Issues Continued Population is changing – Early studies: mostly male (Krantz & Dalal, 2000) – More Recent studies: mostly female (e.g., Draper & Elmer, 2008) – Feminization of Psychology – Still topic and probably technology dependent (e.g., Braun & Drew, 2008) – May well interact with technology

Server-Side vs. Client-Side Server-Side The experiment is run on the server Complexity is on the server The client needs only a browser with minimal capabilities – Forms, Dynamically Created Web pages All actions require return to the server Client-Side The experiment is run on the client’s machine Complexity is on the client? Often requires plugin – JavaScript, Flash Player, Java interpreter, etc. – Some will not be pre-installed No need to worry about network traffic once experiment begins

Division is extreme Every experiment uses both server-side and client-side operations At the minimum: – on the server-side, experiment must send page(s) and collect data – One the client-side, participant must have browser to display html and forms

Server-Side Solutions Minimal requirements on the client side – HTML The basic language of web pages – Forms Goes back to the early versions of Mosaic (the first media capable browser)

CGI Common Gateway Interface – Interface between server and other program or script – Perl and PHP – Often used to handle the data in experiments – Can do anything any program can do

Dynamic Webpage Generation Use some CGI Mechanism to generate web pages on fly Often from some database as well as from information from client PHP – a common open source solution can run on many server platforms ASP – Microsoft’s version and requires their server platform Requires browser that can handle these pages, most can these days

Server-Side Summary Advantages Low requirements for Client Single known platform for most program execution – Excepting HTML and Form interpretation Great flexibility is possible Disadvantages Limited control of display – Only what is possible in HTML, XML, PHP … Timing is limited – Can get some timing differences (see Ulf’s Method) – But will have a large constant error Network traffic during study

Server-Side Software Perl: PHP: – Generic PHP Form Processor: – MySQL:

Client-Side Solutions Program runs on participant’s computer Allows direct control of participant’s computer Usually requires some plugin or interpreter to be present on the participant’s computer

JavaScript A scripting language interpreted in client browser – Requires a scripting interpreter in the browser – Is an object-orienting scripting language – Viewers of the page can get the program – Is not related to Java though some similarity in commands – Installed on most browsers but some people turn off or limit

JavaScript Editors JavaScript Editor Lite: JSEclipse (plugin for Eclipse): pse/JSEclipse/Overview/ pse/JSEclipse/Overview/

Java Object-Oriented Program Language – Partially compiled/Partially interpreted – Allows for more platform independence – Runtime engines are written for each environment But it does change – Comes with most browsers now and lot of other software But several versions exist – Microsoft’s version is disappearing (YEAH!)

Some Java Limitations Java is limited, partly to make web safe Cannot sync drawing to beginning of frame – An example An example Timing is problematic (low priority and difficult to steal priority from other machine operations) – Eichstadt (2001) gives way to handle timing issues

An Example of Java Timing

Writing in Java Eclipse: – An open source Integrated Development Environment Java not used much due to complexity Need an experiment library

Adobe Plugins (formerly Macromedia) Flash/Authorware ( – These are really high level languages with specially designed IDE’s – They require special plugins/players to run – Flash usually preinstalled on most browsers – Others less likely – Support for Shockwave/Authorware on wane – Flash is being pushed by publishers

Adobe Software Flash: Authorware: – Authorware used at the PsychExps site – Largely basis of experiments at Online Psychology Laboratory (OPL) by American Psychological Association (

Client-Side Summary Advantages Greater control over participant’s computer Can increase interactive aspects of experiment Less need to communicate with server during experiment Disadvantages Requires plugin which participant may not have Greater impact of participant’s setup Participants may turnoff ability to run plugin May require large download to run Not all timing issues have been solved

Learning Curve vs. Power Learning Curve ShallowMediumSteep PowerLowHTML Forms MediumPerl PHP JavaScript HighFlash Authorware Java

Some Additional Issues to Consider Who can and will use the media? Who cannot or will not use the media? – Issues of external vs. internal validity Will this impact my results? – Will usage depend upon condition? – If download time or complexity varies depending upon condition you have a confound

Conclusion Test! Test! Test! Browser bugs! Consider is the web the best choice: not the easiest choice