Home
Main Menu
First Quarter Assignments






Technical Paper (Draft)


Student: Kelly Geoghegan
Techlab: Computer Systems
Teacher: Mr. Latimer
Title: Creating a Drawing Program with an Advanced GUI Interface



Abstract:


This project creates a drawing program that is simple to use but not limited in its capabilities. The final product will be a user-friendly drawing tool kit for the computer animator in which the user can, for example, create and manipulate circles, squares, and triangles on a blank canvas.

Background:


The first Python book was first written in 1995, when the newborn language had almost no recognition and no support. By 2001, dozens of books had been written with more on the way. Python has expanded at lightning speed, and conservative estimates site as many as 300,000 current Python users worldwide. This versatile language has been used for everything from Yahoo's on-line maps to the animation in the latest Star Wars movie. The unique features of Python are its interface capabilities and utilities, along with its portability. Such qualities make Python a logical choice for computer graphics programming and anything involving the Graphical User Interface (GUI).

Theory:


The goals of my GUI include:
  • Precision
  • Compactness
  • Ease in writing and reading
  • Speed in learning
  • Simplicity (for error reduction)
  • Ease of retention over time

    Higher level GUI goals include:
  • Close correspondence between reality and the notation
  • Convenience in carrying out manipulations relevant to the users' tasks
  • Compatibility with existing notations
  • Flexibility to accommodate novice and expert users
  • Expressiveness to encourage creativity
  • Visual Appeal

    Python is flexible enough to accommodate all of these needs for the computer programmer.

    Workplan:


    My project is currently a canvas with a toolbar on the side. Eventually the buttons on the toolbar will control various activities on the canvas, but the project has not yet progressed that far. I am using a Python tutorial book to build my inventory of usable Python widgets. In the end I expect a program that will let the user draw, manipulate, and animate pictures. I will test my program for intuitiveness by measuring the amount of time it takes the average user to complete a given task.

    Discussion:


    The task of making technology intuitive, sometimes called Human Factors studies, is vital in our more and more technologically based culture. As computers evolve and take on a more prevalent role in day-to-day life, they must be ever more understandable to the average user but without compromising their capabilities. My project is a step in that direction.

    Results/Conclusions:


    There are no results as of yet.

    References:


    Lutz, Mark. Programming Python. 2nd Ed. O'Reilly & Associates, Inc. Sebastopol, CA: March 2001.
    http://java.sun.com/docs/books/tutorial - Java Tutorial
    http://www.gtk.org/tutorial - Gtk+ Tutorial
    http://www.dci.clrc.ac.uk/Publications/Cookbook - Tcl/Tk Cookbook Tutorial
    http://www.pythonware.com/library/tkinter/introduction - Python/ Tkinter Tutorial