Graduate student, Chris Chambers (left) and his advisor, Chris Scaffidi (right), meet with Andrew Dove of National Instruments (center) to discuss their collaboration to advance the usability of LabVIEW — "one of the most successful visual programming languages ever," according to Scaffidi.
What do iPods, smartphones and tablets have that everybody wants? Usability.
Ease of use has made computing accessible to an increasingly broad range of users. But Andrew Dove, chief software architect for LabVIEW at National Instruments, knew the concept could also be applied to his company’s graphical programming system for scientists and engineers.
Designed to collect data from virtually any kind of sensor, LabVIEW is used at the Large Hadron Collider, of Higgs Boson fame, and in the controller room of SpaceX, builder of the first commercial spacecraft.
The main issue for LabVIEW is that the users are not typically computer scientists who know the most efficient way to code the program. So, when he decided to tackle the problem of usability, the first improvement that came to mind was helping users increase the speed of their program.
"Performance is key because the real world doesn't wait. Whatever phenomenon you're measuring has its own rate of change, and either your program is fast enough to keep up with that or it isn't," Dove says.
Enter Chris Scaffidi, assistant professor in the School of Electrical Engineering and Computer Science, who has a research goal of enabling end-users to have more control over their computational environment. He organized a special interest group session on end-user programming at a conference of the Association for Computing Machinery that drew Dove.
“I realized immediately that there were a lot of ways that we could use that research in our own development efforts,” Dove says.
And so began their industry-academia collaboration that Scaffidi says is an unprecedented opportunity.
“LabVIEW is one of the most successful visual programming languages ever. To be able to use it as a tool for researching how to help people shape their computational environment is really a privilege. It makes our research more tightly connected to a real world enterprise,” Scaffidi says.
It was serendipitous for graduate student, Chris Chambers, who at the time was proposing a similar project to Scaffidi for his doctoral thesis.
“I was really drawn to the project because I like helping people, and LabVIEW has a large group of users who are potentially frustrated because they create programs that don’t work as well as they need them to,” Chambers says.
Over the last two years he has worked on the project, starting with interviewing LabVIEW experts on common performance problems that occur in scientists’ programs, and then developing an “agent” that can detect these common problems. Their research has shown that just finding inefficient code was enough to help users improve their programs.
The next step for Scaffidi and Chambers is to provide an agent that would make specific suggestions for how to improve the performance of programs — in effect, providing an automated “coach” that can walk scientists through the creation of high-performance code.
This year Scaffidi received a $50,000 grant from National Instruments to continue their work for another year. The funding supports Chamber’s research on the project which they hope will continue through his graduation.
“The coolest thing is working with industry on a project that could potentially go out in the program and affect a lot of people by making their jobs easier,” Chambers says.
–by Rachel Robertson