Canadian development firm says it is now able to build and customize more cross-platform applications for its clients within a shorter time frame, thanks to Mono, a Novell Inc.-sponsored open source version of the Microsoft .Net platform.
Toronto-based CustomerDNA develops permission-based relationship marketing software, which combines content and contact management capabilities into one system that can create a behavioural profile of a customer.
According to Geoff Norton, CustomerDNA’s director of technology, a common thread runs through most customer requests: freedom of choice. “We don’t want to mandate a Microsoft-only, Linux-only or Sun-only shop (with the software we write for them),” he said.
CustomerDNA started seriously looking into Mono about 12 months ago after following the four-year-old project’s progress. The firm had written an earlier iteration of its software in Java and was looking for a new architecture on which to base future versions.
Having investigated .Net, Norton said his company had found some features it liked. “ASP.Net has got some wonderful things about it, like the ability to write custom controls,” he explained. “We can run an offsite ASP (application service provider) model data warehouse and provide rich clients down to the desktop.” Java’s Remote Method Invocation is capable of doing the same, but “it’s not quite as elegant,” he said.
However, CustomerDNA figured going with Mono made the most sense from a flexibility standpoint, since it enables developers to build and deploy cross-platform .Net applications. After running an internal case study to determine the platform’s usability, CustomerDNA switched to Mono.
According to Miguel de Icaza, Novell’s vice-president of development and founder of the Mono project, today Mono is a “fairly large open source effort.” Novell, which is using Mono internally to develop products such as iFolder and Zenworks, has 20 to 24 employees working on it; approximately 300 developers contribute to it worldwide, he said.
Mono includes a C# compiler, a .Net-compatible runtime and two stacks of application programming interfaces (APIs): a Mono stack for Linux servers and desktops, as well as a set of APIs compatible with the Microsoft .Net Framework 1.1 that provides support for ASP.Net, ADO .Net and other components.
For CustomerDNA, the advantages of Mono are obvious. Norton said that because of the way enterprises typically deploy Java — some will use the Websphere Java servlet environment while others will go with Tomcat Java, for example — CustomerDNA previously had to certify its applications against several different Java environments, which complicated testing and extended the application development cycle.
Switching to Mono means the firm now only has to deal with two testing scenarios, Mono or Microsoft .Net, which is “a lot easier than having three or four,” Norton said. He said CustomerDNA uses Mono to develop applications for a wide range of customers. The big financial institutions are often “heavily into Microsoft” and want applications they can “put on any old Microsoft box,” but also want flexibility in case that environment changes. And while some of CustomerDNA’s small and medium-sized clients are purely Microsoft shops, others want nothing to do with Microsoft. This is where Mono’s cross-platform flexibility comes in handy, he said.
According to Gary Kawaguchi, managing partner at Customer-DNA, it takes anywhere from 60 to 75 per cent less time to develop applications using Mono because developers are using C# rather than Java. “Reduced development cycle time cannot be underestimated in terms of its value to us,” Kawaguchi said. “We have the ability to…solve new problems that not a lot of our competitors are actually solving. Speed-to-market is really a competitive edge for us.”
Having shorter development cycles means CustomerDNA can serve more customers in the same amount of time. Faster customization is also possible, Norton said. “We do a fair amount of customization (for clients)…and anytime we can lower that time frame and get a faster response back to the customer, that is good for us.”