By Shandana Mufti
Virtual reality is cool. And an opportunity to delve into the code behind Second Life, a popular virtual reality world, caught Crista Lopes’ (PhD CS ’98) attention.
The resulting project, called OpenSimulator, won her the prestigious Antonio Pizzigati Prize for Software in the Public Interest in March 2016, making her the first woman ever to receive the award. The $10,000 prize honors “software developers who create, for free public distribution, open source applications and tools that nonprofit and advocacy groups can put to good use.”
Crista completed her PhD at CCIS under Karl Lieberherr. Her research then delved into aspect-oriented programming, of which she is a pioneer. Aspect-oriented programming is a way of organizing and dividing code that groups similar aspects of a program together, instead of scattering those aspects throughout the code.
Crista explains it in terms of a book and its chapters – rather than distributing details about what characters eat or wear throughout the story, an aspect-oriented approach would devote an entire chapter to outfits and another to meals. “You have the functions and then you have the aspects of the functions on their own separate modules,” she says. “That’s aspect-oriented programming in a nutshell.”
During the last two years of her PhD program, Crista also worked remotely for Xerox Palo Alto Research Center (PARC), where aspect-oriented programming was developed. After graduating, she spent another five years working in the research lab, continuing the work she’d begun at CCIS.
“The life of professors is very hectic,” she says. “We work like 300 percent, and it’s just sometimes a little hectic.”
She left Xerox PARC to return to academic research and teaching at UC-Irvine. There, she teaches upper level undergraduate classes, and graduate classes. Her research projects include one with the Defense Advanced Research Projects Agency (DARPA) that digs into large collections of software projects, like GitHub, and analyzes how people write code, what kinds of code they write, and more.
Then there’s OpenSimulator. After Second Life made its client open source, a group of computer scientists, including Crista, reverse engineered the protocol and built a new server to work with Second Life’s clients. OpenSimulator is an open source version of Second Life, and allows users to run their own virtual environments “on their own computers, their own servers and their own institutions,” Crista explains.
And its applications are varied. It’s used in urban planning, medical training and advanced military simulations. In Crista’s biography for the Pizzigati Prize, one use stands out: youth in the juvenile justice system are OpenSimulator to tell their stories, “hoping to raise public awareness of the plight of kids getting caught up and lost in an unresponsive system.”
Crista’s time at CCIS and the years since she left have been defined by her willingness to take on new challenges and keep learning. The challenge of developing a new way to organize code and make it more comprehensible compelled Crista to work on aspect-oriented programming. Years later, curiosity about how complex software systems are built led to her involvement with OpenSimulator.
“It was a really good opportunity to figure out how this is actually done, because it’s so interesting and so complex from an engineering perspective,” she says. “In academia, we learn a lot about the theory and we kind of have the principles in place, but there’s a big difference between theory and practice. It was really a learning opportunity for me to get in the trenches and see how these systems are actually put together.”