Senior Project – I.D. Math & Computer Science - 2008 jsMath Equation Editor Dana Cartwright Advisors – Prof. Cervone & Prof. Striegnitz Editor Design -

Slides:



Advertisements
Similar presentations
Variables and Expressions
Advertisements

PHP I.
KompoZer. This is what KompoZer will look like with a blank document open. As you can see, there are a lot of icons for beginning users. But don't be.
Strategies For Creating Accessible University Webpages Scot Close and Neil Torrefiel Web Services Unit San Jose State University.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Newsletter Plugin The newsletter plugin allows you to create and send newsletters to a managed list or multiple lists of users. Your users can subscribe.
Understand Web Page Development Software Development Fundamentals LESSON 4.1.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic JavaScript: Introduction to Scripting.
1 Chapter 12 Working With Access 2000 on the Internet.
The Progress and Work Plan of MathEdit Wei Su 24 September 2007.
1 A Web-Based Integral Evaluator: A Demonstration of the Successful Integration of WebEQ, Maple, and Java Wanda M. Kunkle Department of Mathematics & Computer.
Macromedia Dreamweaver 4 Advanced Level Course. Add Rollovers Rollovers or mouseovers are possibly the most popular effects used in designing Web pages.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Developing a Basic Web Page with HTML
THE BASICS OF THE WEB Davison Web Design. Introduction to the Web Main Ideas The Internet is a worldwide network of hardware. The World Wide Web is part.
PowerPoint Add formulae. Course contents Overview: Typing math formulae Lesson1: Type a simple formula Lesson2: Type a complex formula.
WEB DESIGNING Prof. Jesse A. Role Ph. D TM UEAB 2010.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Introduction to WebCT Sheridan College Architectural Technology.
Adobe Forms THE FORM ELEMENT PANEL. Creating a form using the Adobe FormsCentral is a quick and easy way to distribute a variety of forms including surveys.
Web Design Basic Concepts.
Creating a Web Page HTML, FrontPage, Word, Composer.
® IBM Software Group © 2006 IBM Corporation JSF Tab Controls This Learning Module shows how to develop server-side EGL applications with dynamic content.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
1 Events Lect 8. 2 Event-driven Pages one popular feature of the Web is its interactive nature e.g., you click on buttons to make windows appear e.g.,
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Session Objectives Object Types – Query, HTML Table Purpose of the Query and Explanation How to add a Query to a PTF Test Case 2 Session 5 - Query.
© Cheltenham Computer Training 2001 Macromedia Dreamweaver 4 - Slide No 1 Macromedia Dreamweaver 4 Advanced Level Course.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
Web Technologies Website Development Trade & Industrial Education
Excel Tutorial Enfield High School 2007.
1 Web Basics Section 1.1 Compare the Internet and the Web Compare Web sites and Web pages Identify Web browser components Describe types of Web sites Section.
Chapter 2 Developing a Web Page. A web page is composed of two distinct sections: –The head content –The body Creating Head Content and Setting Page Properties.
Advanced Level Course. Site Extras Site Extras consist of four categories: Stationeries Site Trash Designs Components.
Objectives Understand what MATLAB is and why it is widely used in engineering and science Start the MATLAB program and solve simple problems in the command.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
JSP Java Server Pages Softsmith Infotech.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
XP Dreamweaver 8.0 Tutorial 3 1 Adding Text and Formatting Text with CSS Styles.
How to use the internet The internet is a wide ranging network that thousands of people use everyday. It is a useful tool in modern society that once one.
1.Getting Started 2.Modifying Design 3.Page 4.News 5.Events 6.Photo Gallery 7.Newsletter Index Training 15 th Mar., 2011.
Instructors begin using McGraw-Hill’s Homework Manager by creating a unique class Web site in the system. The Class Homepage becomes the entry point for.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
University of Sunderland CDM105 Session 6 Dreamweaver and Multimedia Fireworks MX 2004 Creating Menus and Button images.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Editors And Debugging Systems Other System Software Text Editors Interactive Debugging Systems UNIT 5 S.Sharmili Priyadarsini.
HTML Form Widgets. Review: HTML Forms HTML forms are used to create web pages that accept user input Forms allow the user to communicate information back.
Introducing the World Wide Web Internet- a structure made up of millions of interconnected computers whose users communicate with each other and share.
1 A Balanced Introduction to Computer Science David Reed, Creighton University ©2005 Pearson Prentice Hall ISBN X Chapter 4 JavaScript and.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2 Revised by Dr. T. Tran for CSI3140.
Tutorial 3 Adding and Formatting Text with CSS Styles.
Living Online Lesson 3 Using the Internet IC3 Basics Internet and Computing Core Certification Ambrose, Bergerud, Buscge, Morrison, Wells-Pusins.
Dana Cartwright Senior Project – 2008 jsMath Interactive Equation Editor.
FOCUS II Demonstration Simply click the mouse to advance through the presentation. Or; Tap the right arrow key on the keyboard to advance through the slides.
Adding Text and Navigation to the Home Page – Lesson 51 Adding Text and Navigation to the Home Page Lesson 5.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Web Programming Overview. Introduction HTML is limited - it cannot manipulate data How Web pages are extended (include): –Java: an object-oriented programming.
11 Getting Started with ASP.NET Beginning ASP.NET in C# and VB Chapters 1 and 2.
Access to Webcasting Contents You may have access to the entire BRF TV contents through the Web and may view the programming through Live broadcasting.
The idea of adding markup instructions to documents is not new. Before computers, authors would make annotations by hand in their written or typed documents.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Web Programming Java Script-Introduction. What is Javascript? JavaScript is a scripting language using for the Web. JavaScript is a programming language.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
DHTML.
Tutorial 6 Creating Dynamic Pages
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Tutorial 7 – Integrating Access With the Web and With Other Programs
Presentation transcript:

Senior Project – I.D. Math & Computer Science jsMath Equation Editor Dana Cartwright Advisors – Prof. Cervone & Prof. Striegnitz Editor Design - Features Edit-In-Place Arrow Navigation The editor has support for moving the cursor using all four arrow keys, allowing advanced users to rapidly edit equations using only the keyboard. Mouse Placement Sometimes users may want to use the mouse to position the cursor, especially when things get complicated: In the editor, the user’s cursor is right in the equation, and typing is translated directly into mathematics in-place. Mouse Selection Users can drag the mouse in the editor window to create selections of a group of text, as well as creating selections using the keyboard. Then, for instance, hitting the [/] key would turn this selection into the numerator of a fraction. Architecture & Technology The editor is written entirely in JavaScript, which allows the bulk of the work to be done client-side. The only server communication that is needed is for the jsMath display package to dynamically load images from the server if the TeX fonts are not installed on the user’s computer. Because of the JavaScript architecture, this editor is uniquely suited to be embedded into AJAX applications like WYSIWYG (What You See Is What You Get) online HTML editors, increasingly popular for easy-to-use CMS (Content Management System) editing. This would allow non-tech-savvy users to easily create web sites which included mathematics or other typeset equations, particularly useful for mathematicians and scientists who wish to effectively communicate their ideas online. The jsMath display package takes TeX code and displays it as typeset mathematics in the browser. So, the editor outputs a modified form of TeX (we had to add things like cursors and other special formatting for use in the editor) to jsMath, which is then rendered on the browser page. JavaScript event “hooks” are embedded in this display code so that user interaction will be sent back to the editor. So when the user types with the keyboard or clicks the mouse, the editor determines what, if any, changes should be made to the equation, and then outputs the new TeX to jsMath. A diagram of this process is below: Implementation Examples Mouse Positioning In the above diagram, the colored boxes shown are bounding boxes for each element of the equation. Internally, these are linked via JavaScript events to nodes in a tree. So, for example, the right-hand purple box is around a minus symbol, which has a [z] node for a left child and a [5] node for a right child. A mouse click from the user is returned as an (x,y) position in relation to the node’s own coordinate system. So, if the user clicked between the minus symbol and the 5 symbol, the minus node would get the click in terms of the purple bounding box. Each node then knows about the bounding boxes of its children, and can determine the best cursor position (to the left or right of each of its children, in the minus’s case) based upon these. Up & Down Arrows Internally, up and down arrows are somewhat complicated to implement. Our solution involves “bubbling up” the arrow from the node that currently has the cursor to each of its parents in turn, trying to find one which “knows what to do” with the given arrow press. So, for example, a variable or number will pass on an up arrow, while a fraction will move the cursor into its numerator. Sometimes though, this can be ambiguous. In the example below, if the user were to press the up arrow should we go into the superscript of the [x^y] term, or into the numerator of the fraction? We solve this by keeping track of the last left/right arrow key pressed, and continuing to move in that direction. User Testing Motivations Most current editors use text entry with a parallel display. This results in a language that requires lots of parentheses and/or bracing in order to indicate grouping. The example below demonstrates an ambiguous case where such an editor would require bracing. So, one goal for the editor will be to have an edit-in-place paradigm that does not require excessive nested bracing or similar measures. Vs. Although almost all of the features we wish to implement our featured in current editors, no one editor combines them in a sensible way. We would like to put these features together into one editor which is easy to use for beginning users, as well as efficient for advanced users. In addition, most of the good editors out there are proprietary and expensive. This means not only that they are not accessible to all users, but also that it is impossible to embed them in other projects or extend them to export to other editors, for example. By creating an effective open source editor, we solve these issues. In order to test our design, we conducted preliminary HCI testing on our proof-of-concept editor. Our main goal in this testing was to test features, and not to determine overall suitability of the editor. In particular, our testing was not aimed at making any claims about the efficiency or ease-of-use of the editor in relation to other editors, or even in general. Below are some of the features we set out to test, and some example exercises the users were given in order to test them. Mouse vs. Keyboard Selection One goal of our test was to determine if users preferred to use the keyboard or the mouse to create range selections. Below is an example trial designed to be much easier if the user uses a range selection (they can simply select the entire equation end then hit the [/] key to create the division). We evaluate this exercise based upon whether the user selects via the keyboard, the mouse, or the long way around by deleting the whole thing, creating the division first, and then re-typing it. Given:Goal: Preferred Cursor Movement Method During the training exercises, the user is given the choice of whether or not to use the Fast Cursoring feature, which causes left/right arrow key movement to skip over things like fractions, requiring the user to use the up and down arrows to enter into fractions. The following exercise was designed to determine if this feature was beneficial or harmful to users’ efficiency (or whether they just liked the mouse better, and placed the cursor directly). The key here for the user is to move the cursor into the denominator of the denominator of the second fraction, as they must add a [+ x] term to it. Given: Goal: