Halogenics bets on Javascript, open source

Melbourne developer taps Node.js, Ext JS for biomedical research application

Melbourne-based software developer Halogenics is hoping within the next few months to have prototype versions of the next-generation of its Genotrack application.

Genotrack, which helps biomedical research institutions manage animal tracking, breeding and reporting, is currently based on a classic client-server architecture.

Genotrack 2 will be a Web application built with open source components including MongoDB for the database component and a Node.js-based application server with a Sencha Ext JS interface.

"At the moment we're working to get to feature parity and then we can look at cutting over," said the co-founder of the boutique development shop, Andy Fleming.

"We'll move off a proprietary platform to [a platform] where we'll have complete control over the full stack."

"Obviously because of the way the product is being used in live research, the customers will each want to do a fairly comprehensive review to make sure they're happy before we cut them across from the old version to the new version," Fleming said.

"Moving to a Web-based system with an API-friendly backend gives us a lot more flexibility to integrate our own other products such as our ethics module and some of the other things which we're working on, and also in terms of potentially tying in to third party systems."

Halogenics' direct customers tend to be support services within universities, hospitals or other research-heavy institutions and they often bill internal clients for cost recovery.

"So there's usually a request — can we tie into such and such a billing system or can we generate invoices and those sorts of things," Fleming said.

"We don't want to reinvent the wheel by spending our time creating invoicing systems — there are other people who do that really well. We want to focus on the animal and facility management aspect which is our area of expertise. Moving to a Web-based platform will give us a lot more flexibility in terms of integrating with those specialised third-party systems to provide that functionality."

Fleming says that although Halogenics is not a large development shop, its size and being based in Australia means it can be responsive to customer support and feature requests. He describes as the company's approach to development as "a 'loose agile'".

"We do work with sprints — our four-to-six weekly releases are effectively sprints; we just have a one-to-one relationship with our sprints and our releases most of the time," he said.

"As we move on to G2 and we get to the full Web-based application, we're looking at using more of the Atlassian stack and moving towards not quite continuous delivery, but something approximating it," he added.

"We'll be able to release individual features as they're tested and then push them out much more rapidly."

The company has been using Atlassian's developer tools pretty much from the start, Fleming said. Halogenics has employed JIRA, Confluence and Greenhopper "from the very early days".

"Even though we're not working with a Web-based application at the moment we've been tracking everything behind the scenes in JIRA."

The company recently swapped out Zendesk for JIRA Service Desk, which helped shave costs and prevented double handling of tickets through more straightforward integration with JIRA, he said.

Previously Atlassian's licensing model for JIRA Service Desk had been unappealing, but the company's decision to shift to a model where only agents, not customers, required a licence help convince Halogenics to make the shift.

"The most useful thing for us is that because sometimes it can be a relatively technical issue relating to the scientific process behind the ticket rather than just a 'I can't connect to something' type IT ticket, having the back and forth and being able to replicate all of that across to the JIRA side without losing any of the context can be really useful in terms of identifying what the issue is."

Node.js

The decision to switch from a proprietary platform to open source for Genotrack 2 "removes any black boxes," Fleming said.

"With the new version we've got full access to the entire stack including the database if we want to go back and look at the open source Mongo stuff. While we're hoping not to have to delve into the database layer, it's nice that there's nothing beyond our reach from that point of view."

When the company decided to go with Node.js for Genotrack 2 "there was a bit of buzz around it"

"We were looking at, firstly, the database language to pick, and then the application server. That just seemed to be a good direction to go in, given that we were jumping with both feet into the Javascript space in terms of the front end. It makes sense to go full stack Javascript."

In addition to using the same language for frontend and backend development, the ability to easily drop-in modules was also appealing.

"You get enormous flexibility with Node.js," Fleming said. "To an extent it's the same as the reason we picked Ext JS — there was a lot of community movement around it and a lot of documentation behind it...

"The Node.js community was very active, there was good transparency, the documentation was good and it just seemed to be heading in the right direction. We haven't seen anything recently to make us suspect we made a bad call on that."

Genotrack 2 has been in a development for a couple of years now. Halogenics' primary focus has been servicing customers of the current version, Fleming said, "but the last six months we're really switching focus and trying to put our heads down and get this done as quickly as we can"

"The big push is on at the moment," he added.

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags open sourcesoftware developersservice desksoftware developmentCase StudyjavascriptatlassianCase studiesNode.jsJIRAExt JSHalogenics

More about AtlassianZendesk

Show Comments
[]