Jadeite logo

Jadeite

Java Documentation with Extra Information Tacked-on for Emphasis

Overview
Font sizes
Construction examples
Placeholders
Research paper
Funding
People

 Overview

 
Jadeite is a new form of documentation for Java APIs. Take a look at:

Jadeite is being developed as part of the Natural Programming Project in the School of Computer Science at Carnegie Mellon University. We’re affiliated with the EUSES consortium, which is a group of universities working on end-user software engineering.

(If you like Jadeite, please check out our other documentation tool, called Apatite!)

Natural Programming Logo
     

 Font sizes

 

Font sizes in Jadeite are based on the number of Google hits. For example, in the java.io package, the File class has more Google hits than the Console class, so it is shown larger.

screenshot of Jadeite font sizes
   

 Construction examples

 

Jadeite includes construction examples for some classes, based on examples found on the internet. For example, SSLSocket instances are normally constructed as shown below:

screenshot of Jadeite construction example

 
     

 Placeholders

 

Can’t find what you want? Add a placeholder for the method or class you wish was there, and it will be displayed alongside the real API. Eventually find what you want? Annotate the placeholder with links to the actual API that you need to use instead.

For example, you might wish that the Message class had a send() method. Don’t see it? Add it! Later, you or someone else can annotate the placeholder send() method with a link to the Transport.send() method. Here is a placeholder example:

screenshot of Jadeite placeholder example

 
     

 Research paper

 

Jeffrey Stylos, Andrew Faulring, Zizhuang Yang, Brad A. Myers. “Improving API Documentation Using API Usage Information.” 2009 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC'09. Sept. 20–24, 2009. Corvallis, Oregon. pp. 119–126.

Abstract:

Jadeite is a new Javadoc-like API documentation system that takes advantage of multiple users’ aggregate experience to reduce difficulties that programmers have learning new APIs. Previous studies have shown that programmers often guessed that certain classes or methods should exist, and looked for these in the API. Jadeite’s “placeholders” let users add new “pretend” classes or methods that are displayed in the actual API documentation, and can be annotated with the appropriate APIs to use instead. Since studies showed that programmers had difficulty finding the right classes from long lists in documentation, Jadeite takes advantage of usage statistics to display commonly used classes more prominently. Programmers had difficulty discovering how to instantiate objects, so Jadeite uses a large corpus of sample code to automatically the most common ways to construct an instance of any given class. An evaluation showed that programmers were about three times faster at performing common tasks with Jadeite than with standard Javadoc.

Download:

Download pdf file (pdf)
 
     

 Funding

 
This work was funded in part by a grant from SAP, in part by the National Science Foundation, under NSF grant CCF-0811610, and as part of the EUSES consortium (End Users Shaping Effective Software) under NSF grant ITR CCR-0324770. Any opinions, findings and conclusions or recommendations expressed in this paper are those of the authors and do not necessarily reflect those of the National Science Foundation.
 
     

 People

 

People:

 
     

 Questions or Feedback

 
Please send any questions or feedback to bam@cs.cmu.edu.
 
     

Copyright © 2009–2011 Carnegie Mellon University