Building Consensus: the implementation of CONFER

By on 18 Sep 2014

Categories: Tech matters Policy Community

Tags: ,

Blog home

The CONFER consensus tool being piloted at APNIC 38 is also the pilot for several new software development technologies and techniques by the APNIC Secretariat.

The tool was initially prototyped in around 15 hours, using rapid development methods and with a focus on producing an interactive demo.  This demo was then used to converge on desired features and behaviours for the pilot system, and parts of the demo were able to be re-used with little or no modification in the pilot system.

Behind the scenes, CONFER is also the vanguard of a number of technical changes in software development by the APNIC Secretariat.

The server is written in Java, a language with a large pool of developers and open source libraries to facilitate development activities.  The client is written in HTML, CSS, and JavaScript, calling on APIs exposed by the server, allowing a more flexible division of responsibility for interface and business logic in the Secretariat’s organization structure, and opening the door for more APIs exposed directly to the APNIC membership.

The consensus chart is a D3js chart library, which enables flexible charting options and smooth animation of changes. D3 will also be appearing on the APNIC website as the charting library behind APNIC statistics, and on the Labs website as part of the Labs suite of visualizations. For developers, the doughnut chart is available as a re-usable component in almost the same form it appears in CONFER.

To enable real-time communication between all participants in CONFER, each active client connects to the server using WebSockets technology, via the socket.io library and a Java implementation of the socket.io protocol.  Using a push technology allows all participants to be kept up to date on consensus choices at the speed of light.

In the technical group, we are eager to hear from the community about their experiences with CONFER.  What works well?  What needs improving?  What is still unclear?  Leave a comment and let us know!

Rate this article

The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.

Leave a Reply

Your email address will not be published. Required fields are marked *

Top