Xojo Spans Profession and Hobby

Learn how police detective and computer hobbyist uses Xojo to aid law enforcement.

Not many people are able to combine their careers and hobbies. William Wiltse is one of those lucky few whose job and favorite pastime coincide. The police detective by day, computer hobbyist by night is using Xojo to bridge the divide between his love of the law and his appreciation of the power of computers.

Wiltse has built a program using Xojo, Inc.'s flagship product, Xojo, that is helping investigators across the country track down and capture individuals involved in the exploitation of children.

Wiltse, a Salem, Oregon detective, learned about Xojo when he took a police training class on an application written in Xojo. "I had never seen Xojo before," Wiltse says. "I didn't know how powerful it is."

What struck him most during the class was Xojo's cross-platform capability; in fact, the law enforcement agency that had written the application had chosen Xojo primarily for that reason. But as a lifelong computer hobbyist Wiltse wanted to learn more about Xojo. He downloaded an evaluation copy of the Windows version and began to experiment with it.

It wasn't long before he realized Xojo could solve many of his programming needs. "It truly is the best balance between an intuitive interface and a powerful back end that I've seen," Wiltse says. "There are a lot of languages that have visual objects along with a powerful back end, but the learning curve is very steep because once you've created the window the process of plugging in the code to make it run is not that easy."

Wiltse particularly likes the fact that when he references a control Xojo lists all the methods belonging to it. "It recognizes the controls you are using and gives you access to a list of methods associated with that control. This is especially useful if you add a control you haven't used before."

Wiltse's first project using Xojo was to add improvements to the law-enforcement application he had been trained on. "I saw a need during the training that wasn't addressed in the original software." At first he developed the fill-in piece just for himself because, "I wanted to make more efficient use of my time." His application paid off immediately, "helping me catch bad guys in my neighborhood."

Once he saw how powerful his application was, he released it nationwide in January 2008 to other investigators who are tracking down the same types of criminals. Throughout the country 48 police officers have downloaded Wiltse's program. "I've been told it's working very well," he says.

Xojo's cross-platform capability is important to Wiltse's success, because it can be used by law-enforcement departments using Mac or Linux operating systems as well Windows. When a program written with Xojo is compiled, it builds an executable for that platform. Since he uses a Windows machine, Wiltse's code is compiled for Windows. "But I can take the same code and give it someone with a Mac and he can also get a Mac build. The same with Linux."

He is now working on a second application, which "essentially multiplies the effectiveness of the first software exponentially," Wiltse says. "The first is dependent on human effort, and the new program all but eliminates human intervention and does the same thing." And he has more software projects waiting in the wings. "Follow-on applications are going to extract data collected by the first product," he says.

Because of its ease of use, Wiltse sees Xojo as a good learning tool. In fact, he introduced his 11-year-old son to programming via Xojo. The boy is "real big into computer games," Wiltse says, "and I wanted to start him exploring programming to see if it's something he would be interested in." Wiltse showed him Xojo, "because he could drag a control to a window, write in one or two lines of code, and he had a working program."

Law enforcement is Wiltse's profession, but programming remains his favorite hobby, and Xojo is his favorite language. "I think it's a great language because being able to design visually -- dropping controls onto a window -- you don't need a ton of programming effort to be able to create something very functional."