Researchers develops Java programming tools employing human-centered design techniques

June 17, 2009

Researchers at Carnegie Mellon University's School of Computer Science have developed two new tools to help computer programmers select from among thousands of options within the application programming interfaces (APIs) that are used to write applications in Java, today's most popular programming language.

The tools — www.cs.cmu.edu/Jadeite and www.cs.cmu.edu/Apatite — take advantage of human-centered design techniques to significantly reduce the time and guesswork associated with finding the right classes and methods of APIs.

APIs are standardized methods that a Java program uses to ask the computer's operating system or another program to do something, such as opening a file or sending an email. Choosing APIs for accomplishing a given task is at the heart of Java programming, but is not intuitive, said Brad A. Myers, professor of human-computer interaction. With more than 35,000 methods listed in 4,100 classes in the current Javadoc library of APIs — and more being added in every new version — not even the savviest developer can hope to be familiar with them all.

"This is a fundamental problem for all programmers, whether they are novices, professionals or the growing number of end-users who just need to modify a Web page," Myers said. "It's possible to design APIs so that they are easier to use, but that still leaves thousands of existing APIs that are hard to use but essential for Java programming. Jadeite and Apatite help programmers find what they need among those existing APIs."

Jadeite (Java Documentation with Extra Information Tacked-on for Emphasis) improves usability by enhancing the existing Javadoc documentation. For instance, Jadeite displays the names of API classes in font sizes that correspond with how heavily used they are based on searches, helping programmers navigate past little-used classes. The commonly used "PrintWriter" is in large, prominent letters, while the lesser used "PrintEvent" is in smaller type.

Jadeite also uses crowd-sourcing to compensate for the fact that an API sometimes doesn't include methods that programmers expect. For instance, the Message and MimeMessage classes don't include a method for sending an email message. So Jadeite allows users to put so-called placeholders for these expected classes and methods within the alphabetical listing of APIs. Users can edit the placeholder to guide programmers to the actual location of the desired method, explain why a desired method is not part of the API, or note that a desired functionality is impossible.

Finding the way to create certain types of objects, such as SSL sockets that enable secure Internet communications, may not be obvious to programmers the first time they encounter these objects. In these cases, Jadeite includes examples of the most popular code used by programmers to create these objects, allowing the user to learn from the examples.

User studies showed that programmers could perform common tasks about three times faster with Jadeite than with the standard Javadoc documentation.

Apatite (Associative Perusal of APIs That Identifies Targets Easily) takes a different approach, allowing programmers to browse APIs by association, seeing which packages, classes and methods tend to go with each other. It also uses statistics about the popularity of each item to provide weighted views of the most relevant items, listing them in larger fonts.

Both Jadeite and Apatite remain research tools, Myers said, but are available for public use. Broader use of the tools will enhance the crowd-sourcing aspects of the tools, while giving the researchers important feedback about how the tools can be improved.

Research by Jeffrey Stylos, who was awarded a Ph.D. in this spring, underlies both Jadeite and Apatite. Besides Myers, research programmer Andrew Faulring and undergraduate computer science student Zizhuang Yang contributed to the development of Jadeite and computer science undergraduate Daniel S. Eisenberg led the implementation of Apatite. Eisenberg's work on Apatite earned first place in the Yahoo! Undergraduate Research Awards competition at Carnegie Mellon this spring.

Source: Carnegie Mellon University (news : web)

4.5 /5 (2 votes)  

Rank 4.5 /5 (2 votes)
Related Stories
Relevant PhysicsForums posts
  • Calling function with no input argument
    created19 hours ago
  • Force free body diagram problem on gym equipment
    created20 hours ago
  • Empirical data regarding shower heads and water
    createdFeb 10, 2012
  • feed hold button on CNC lathe
    createdFeb 09, 2012
  • RFAC in Fortran
    createdFeb 09, 2012
  • dynamics 2/32
    createdFeb 08, 2012
  • More from Physics Forums - General Engineering

More news stories

Anonymous knocks CIA website offline (Update)

The website of the Central Intelligence Agency was inaccessible on Friday after the hacker group Anonymous claimed to have knocked it offline.

Technology / Internet

created 14 hours ago | popularity 4.7 / 5 (13) | comments 21

New error-correcting codes guarantee the fastest possible rate of data transmission

Error-correcting codes are one of the triumphs of the digital age. They’re a way of encoding information so that it can be transmitted across a communication channel — such as an optical fiber o ...

Technology / Computer Sciences

created 22 hours ago | popularity 4.9 / 5 (8) | comments 6 | with audio podcast

Small modular reactor design could be a 'SUPERSTAR'

(PhysOrg.com) -- Though most of today's nuclear reactors are cooled by water, we've long known that there are alternatives; in fact, the world's first nuclear-powered electricity in 1951 came from a reactor ...

Technology / Energy & Green Tech

created 22 hours ago | popularity 4.4 / 5 (14) | comments 27 | with audio podcast

New power source discovered

(PhysOrg.com) -- Researchers at the Massachusetts Institute of Technology (MIT) and RMIT University have made a breakthrough in energy storage and power generation.

Technology / Energy & Green Tech

created 21 hours ago | popularity 4.7 / 5 (32) | comments 8 | with audio podcast

Advanced power-grid model finds low-cost, low-carbon future in West

(PhysOrg.com) -- The least expensive way for the Western U.S. to reduce greenhouse gas emissions enough to help prevent the worst consequences of global warming is to replace coal with renewable and other ...

Technology / Energy & Green Tech

created 22 hours ago | popularity 4.2 / 5 (5) | comments 11 | with audio podcast


The power of estrogen -- male snakes attract other males

A new study has shown that boosting the estrogen levels of male garter snakes causes them to secrete the same pheromones that females use to attract suitors, and turned the males into just about the sexiest ...

Fool's gold may prove an unlikely alternative to overexploited catalytic materials

Catalytic materials, which lower the energy barriers for chemical reactions, are used in everything from the commercial production of chemicals to catalytic converters in car engines. However, with current catalytic materials ...

Could Venus be shifting gear?

(PhysOrg.com) -- ESA’s Venus Express spacecraft has discovered that our cloud-covered neighbour spins a little slower than previously measured. Peering through the dense atmosphere in the infrared, the ...

Google users warned of threat to smartphone wallets

Users of Google smartphone wallets were being warned on Friday that there is a way to crack pass codes intended to thwart thieves from going on illicit shopping sprees.

A frank discussion of the power law and linking correlation to causation

(PhysOrg.com) -- Michael Stumpf a mathematics professor at Imperial College in London, and Mason Porter a lecturer at Oxford have teamed together to write and publish a perspective piece in Science regarding the in ...

Employers feel no love for unscrupulous practice of 'service sweethearting'

A new study led by two Florida State University marketing professors finds that some frontline service employees who are rewarded for hikes in customer loyalty and satisfaction also may engage in "service ...