september 2009

We presented three papers at VL/HCC'2009!

june 2009

Our press release about Apatite and Jadeite was reproduced in at least 34 places, and translated into Chinese, Danish and Italian!

may 2009

Apatite won first place in the "Yahoo! Undergraduate Research Awards" competition at Carnegie Mellon University, May 6, 2009! Here is a picture of Dan Eisenberg with his winning poster:

more news...

The Natural Programming Project is working on making programming languages and environments easier to learn, more effective, and less error prone. We are taking a human-centered approach, first studying how people perform their tasks and then designing languages and environments around people's natural tendencies. We focus on all kinds of programming, including professional programmers, novice programmers who are trying to learn to be experts, and end users, who program to support other jobs or hobbies, such as multimedia authoring, simulations, teaching, prototyping, and other activities supported by computing.

We're affiliated with the EUSES consortium, which is a group of universities working on end-user software engineering.

Ongoing Projects

FireCrystal
Firefox extension to show the html and Javascript code responsible for behaviors on web pages
Calcite
Construction And Language Completion Integrated Throughout Eclipse
Fact-finding
Helping developers discover properties of software architectures
Update Paths
Helping developers discover when code is executed
API Usability
Informing API design choices through empirical studies. Includes sub-project on eSOA API Usability.
Jadeite
Java Documentation with Extra Information Tacked-on for Emphasis.
Apatite
Associative Perusing of APIs That Identifies Targets Easily.
Euclase
End User Centered Language, APIs, System, and Environment. Understanding how interaction designers think about interaction
Studies of software development
By novices, end users, professionals and everyone between

Recent Projects

Whyline for Java
a Workspace that Helps You Link Instructions, Numbers and Events
Topes
A data model to help end-user programmers validate and manipulate data
Jasper
A Java Aid with Sets of Pertinent Elements for Recognition
Barista
Basic Abstractions for Rapidly Implementing Structured Text-editing Applications
Crystal
Clarifications Regarding Your Software using a Toolkit, Architecture, and Language
Mica
Makes Interfaces Clear and Accessible
Citrus
a language for Creating Interactive Tools that Reshape and Utilize Structure
Slate
a Spreadsheet Language that Accentuates Type Errors
Whyline for Alice
a Workspace that Helps You Link Instructions, Numbers and Events

Past Projects

Hands
Human-centered Advances for Novice Development of Software
Silver
Scripting an Intelligent Video Editor
Lapis
Lightweight Structured Text Processing

Copyright © 1996-2009 - Carnegie Mellon University - All Rights Reserved.