SMITH
SRU student creates code for Google
SLIPPERY ROCK, Pa. - Kelly Smith, a Slippery Rock University computer science major from Grove City, writes in code - computer code. His skills earned him a $5,000 summer job with Google, and there's a good chance that one day, cell phones and other handheld electronic devices could include the code he worked on.
At the suggestion of David Valentine, then professor of computer science and now interim dean of SRU's College of Business, Information and Social Sciences, Smith applied for the "Google Summer of Code" experience. Of the 2,000 applicants, Smith was among the 1,000 students selected.
He is the first SRU student selected for the program.
"It was a tremendous experience. I got paid $5,000, which is more than I would have made in a regular summer job, and it was a great academic learning experience. From Google's standpoint, it is a way to engage students, encourage them to adopt good practices in writing code and is a philanthropic undertaking."
"They jokingly call it 'Flip Bits not Burgers," Smith said, pointing out the program is academic and helps students learn to write Java code for what is known as "open source" software projects. Consideration for the program was demanding. "I was given eight hours to develop a Web site to show them what I could do, before they selected me to participate," Smith said.
Smith was teamed with a mentor - Tobias Klipstein, a computer expert in Germany. The two spent hours e-mailing ideas and comments. Other students in the program were teamed with mentors in Brazil, India, China and other nations around the world. All the mentors work for the Dojo Tooklit, an open source modular JavaScript library designed to ease the rapid development of cross-platform computer applications and Web sites.
The Google Summer of Code was created in 2005 and now involves mentors from 98 countries. The program gives participants exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits.
Smith said a big part of the program is helping students learn the necessity of writing code that meets industry standards, part so the new programs can run on a variety of platforms, such as Google's browsers Chrome and Andriod or those of competitors such as Apple's Safari and IPhone, Microsoft's Internet Explorer and others such as Opera.
Part of the work in the Google project involved writing computer programs that will go into the "tool kit" that other software developers can turn to for portions of their overall program. Thousands of "mini-programs" called "routines," "subroutines," "subprograms," tasks" or "modules" are added annually to the tool kit. Many are re-configured or tweaked to aid a particular program's final outcome.
"There is nothing software developers like better than being able to select a small software program off the shelf that is already written, then incorporate it into their overall program," Smiths said. "Software programmers do not want to write every single piece of the program from scratch. If the program needs a time clock, or a link to the weather, they just pull in the appropriate open source code available," Smith said.
"A cell phone that has a calendar function or a Celsius to Fahrenheit conversion function, simply used an open source coded program from the tool kit as part of their operation," he said.
Smith's specific project involved three major objectives, including one facet of writing code that will allow those with camera functions in their cell phone to instantly load photos to the Internet.
"Right now, you have to load photos from a computer. The new program I worked on, if included in an upcoming cell phone or other handheld device connected to the Internet, will allow the use to take a photo, then instantly load it to say their Facebook account," Smith said.
A second portion of Smith's work involved using mobile devices, such as cell phones, with Internet capability, to allow users to permit businesses to track their location, and to directly target ads to their device.
"The program I worked on allows those walking or driving in a certain portion of town near a store, coffee shop, bakery, or even a computer store, that have signed up for the advertising service to send a targeted ad to your cell phone when you were in the neighborhood. The software makes use of geo-positioning in the cell phone to know where the potential customer is located." Smith was quick to point out that use of the software would be optional to the cell phone user.
A third project involved "shaking."
The new software allows a cell phone user to simply shake the phone to change the screen advertisement. "Right now, some cell phones can tell if you are looking at the screen vertically or horizontally. When you change the device's orientation, the view automatically changes. Using the new program, not only would the photo change, it could change how the actual picture - or advertisement - is presented," Smith said.
"Take for example, in the vertical mode the screen might show a girl holding a bouquet of balloons, when the device is turned to the horizontal view, the same girl would be seen, but the balloons might float around her to form a halo rather than the bouquet. With a quick shake, the entire screen would change to different photo," he said.
A major advantage of the summer program, Smith said, is that it forced him to concentrate on applying industry standards in writing code. "Making sure the program is properly documented and written so others will be able to track and use its functions is really, really important," Smith said.
"I had to do a lot of research for these projects, and I spent about 20 to 30 hours a week seriously working. I had to find out what was already out there that I might be able to make use of, or what was available that I could adapt or upgrade. I had to find out what the final outcome of the program was to be - kind of, what the end user would really want. When it was time to actually time to write the code, it went fairly quickly," Smith said.
As part of the Google-sponsored program, programmers turn over all claims to their programs, so Smith won't receive royalties, a copyright or patent on his work. He said the experience was worth the effort.