2015-01-04

Sankey Builder launch

We are happy to present to you our Sankey Builder - a free web application for building Sankey diagrams made by wikiBudgets.

Sankey Builder is especially designed for diagrams with very large size differences between flows - it zooms in and out like a map to reveal details or to show the big picture. This makes it ideal for visualising financial flows and budgets, you can track how billion dollar budgets transfer into individual assignments down to every dollar - the only limit is the quality of your data.

Here is an example: we used Sankey Builder to model the annual financial report of our favourite charity ActionAid (source: 2013 Annual Financial report and Accounts).


click to open in Sankey Builder


This is a very early release and Sankey Builder is not optimised for mobile yet. Among other things you will not be able to create or edit diagrams - only view them - because the desktop UI is not suitable for touch devices yet.

We welcome any an all feedback you have. Just click on the question mark in the lower left and let us know what you think. We have lots of improvements in development already, multi-node selection, a mobile UI editor and a data import/export feature for example. See what others are asking for over on our customer feedback page.



2012-10-05

Introduction to Kinvey-Flash integration

Kinvey is new next-level Backend as a Service (BaaS) platform of choice for the wikiBudgets project. Kinvey aims to support "any platform" and even though they do not list Flash/AS3 explicitly in their documentation when I contacted them about this option they were excited (same as me) and promised their full support. And they delivered it.

Kinvey offers pretty comprehensive REST API - a good start point for every AS3 app. The problem however lies on the side of Flash Player. For various (security?) reasons Flash limits the use of request submission methods as well as request headers. The problems can be divided into three categories:
  • Flash does not support request methods other than GET or POST. Forget PUT, POST, DELETE or others. (There are various workarounds but they always depend on the server)
  • On top of this there is a strange limitation on the POST request. It must contain non-empty payload (body) else it falls back to the GET method. 
  • The third limitation is on the side of HTTP headers (aka URLRequestHeader). The AS3 documentation humbly reveals that custom headers are only supported for POST request method, not GET.
Kinvey team came up with an elegant turnkey solution: In your Flash app always use the POST method for the request and submit the desired request method (as specified by the documentation) in the request payload object in a "_httpmethod" variable.

Please enjoy this complete example of the Handshake request: