In his battle with red tape, Arthur Anhalt brandishes an automatic weapon: self-evolving software.
"It happens all the time -- insurance companies and banks are constantly changing their rules," said Mr. Anhalt, senior vice-president in charge of information technology for Winnipeg-based equipment financing specialist National Leasing Group Inc. "And we have no choice but to adjust."
Complex changes to business software often mean big headaches for IT groups, and in some cases can require that whole programs be replaced. But when updates are needed, Mr. Anhalt just places a call to his software provider, Vancouver-based Robocoder Corp.
Robocoder doesn't act by replacing the software, though: The company simply tells the program what the new parameters are, and the software automatically evolves to handle them.
The applications provided by Robocoder can do this because the company has developed its own code-generation software. The program literally writes new code for itself when necessary.
"Code generation has been around for a while, but it just hasn't been very sophisticated or very useful," said Nelson Lin, president of Robocoder. "We just managed to make it work."
Mr. Lin has been writing software for years, and he got the idea for self-generating applications when he was building a house. At one point, he asked if it was too late to put in a skylight. The builder told him that it would cost $5,000 -- but added that it would have been $500 before he'd put the roof in.
The episode reminded Mr. Lin of the software business, where buyers are asked to list everything they will ever possibly need from their application before it is hand-coded to their specifications. Adjustments after the fact are usually very difficult and very expensive.
That's when it hit him -- applications didn't have to be hand-built like a house, they could be manufactured by robots the way cars are. And taking the analogy further, instead of rebuilding when an application becomes obsolete, you simply bring the car into the shop and tune it up or add higher-performance parts.
"A great and talented human programmer can write close to 1,000 lines of code per day, which may or may not be perfect," Mr. Lin said.
"Robocoder's software robot has the capacity to write more than 20,000 lines of code a day and does not need meal breaks, nor does it have to deal with exhaustion, emotion and other such human issues."
The big saving using this model of software development is cost. The price of Robocoder's software is generally "more than other applications that do the same things initially, but there are savings in update and maintenance," Mr. Lin said.
"Companies usually charge 15 per cent for maintenance, and none of them make money on it because they fix one bug and make 10 more. We charge less than 5 per cent for maintenance and we're actually making money on it."
Although it's not really artificial intelligence, Robocoder's code-generation system is pretty smart. Mr. Lin describes it as "a robot that can write new code with very little instruction . . . it's like how cells divide. We start with a bit of code, it generates more code and more code. As they are generated, [the pieces of code] take on different functionalities."
He adds that Robocoder is designed to automatically do its own quality control as it "writes" the new code.
"It tests its own applications by using existing data, and corrects itself as it goes along. Our applications usually go through 1,000 iterations before they are ready to be used. The robot figures out what works and what doesn't, and evolves the application from there. It is constantly correcting itself."
The process works, according to customer Brian Rodd, president of Toronto-based Securcor Inc.
"Nelson and his team built us a database called Spartan through which we have seen our business grow 500 to 600 per cent in three years," Mr. Rodd said. "Now, we have the ability to produce documents and reports at the touch of the button.
"Everything is 100 per cent accurate -- they have taken away the margin of error, and tasks that would normally have needed many hours to complete can now be accurately done in a matter of a few minutes."
So now when Mr. Lin gets a call from someone like Mr. Rodd or Mr. Anhalt requesting a program update, he tells the application how to improve itself.
"It's all Web-based, because our customers wanted it that way," Mr. Lin said. "So we can be accessed at any time from any place and can make our improvements without getting on a plane."
Mr. Anhalt said he is grateful for how easily Robocoder adjusts his software, because he has to do it so often. "All we have to do is call and we get what we need," he said. "I really think it helped us to be named one of Canada's 50 Best Managed Companies."
But it's not perfect: Although Mr. Lin maintains that Robocoder can write any kind of code, it may not be ready to apply to every application.
"They were so great with our securitization and general ledger applications, we tried them on our accounting software, but it didn't work out," Mr. Anhalt said.
"Our accounting people weren't very IT-advanced and Mr. Lin only had about seven people on his staff. They really couldn't find a common language," he added -- proving that no matter how automated the process of software generation becomes, companies still have to make allowances for the human element.
Special to the Globe and Mail







