After extremely busy August and September, we finally are reaching the level of finishing the core of information management platform alongside standard CMS (as in Content Management System) functionality on top of it.
During the final implementation on top of Windows Azure stack (basically dancing on top of the core fundamentals of store/retrieve information and queue processing) I feel so alive again. During the last two years of developing ADM I’ve purposely driven myself to explore the technology stack also outside the Microsoft’s (.NET) offering to bring the development ADM-automation in-line for also the other mainstream mobile stacks (for Android and iOS/iPhone). Now coming “back home” for the recent two months push to stretch all my .NET architect’s skills and built completely distributed solution on top of Azure’s core tech stack (blob storage, queues, background web rendering) – has revealed something truly beautiful :-)!
During the 2012 we’ve concept level built a full information/digital service ecosystem core based on Git; introduced in the ecosystem overview few months back. However all of those steps were still something that required software development professionals to work on. Only during the development of “Open Innovation/Collaboration Platform” that we’ve worked with Aalto Global Impact, we’ve finally reached way simplified information management. The Ball model, that was publicly introduced in our early August seminar material got it’s final shape through the practical collaboration model design during August.
While the actual “deploy-yourself-to-Azure-or-on-premises-Microsoft-stack” demonstration is soon to follow (git repo already available), I won’t go into lengthy detail describing the models, but to give brief summary of the core design aspects.
1. Authentication and Authorization – separated
Authentication is OpenID/OAuth supported with trusted providers; authorization is based on “ownership” and validation of real-world email address.
The fact that you would trust in real world met person by his/her emails for business agreements (not arguing whether legally bound or not), gives basis for “The Ball” also use regularly validated email address as a token of authorization. We don’t trust your Google/Yahoo/Facebook/Live profile information at all; but for the tecnical authentication they do more than fine.
2. Data Authorization Scopes – defined
We have designed a model where the information has three logical places to exist; public, group owned (membership authorization controlled) and account owned (private, personal). Public does not require any authentication (for humans or digital applications) to access; group requires collaborator role to modify, viewer role to read (same for OAuth token granted applications) and account is bound to individual’s private storage.
Every group or account can also choose to publish any information they want to. In the first demonstration this will be implicitly as CMS functionality; blog posts and web-pages, but of course also machine-processable form of pure semantically defined information.
3. Digital sanboxed “App” platform – implicit
As basis for the information ecosystem defined in the “citizens as digital innovators” whitepaper is built for separating the user-controlled confidential content from the information models, the platform implicitly allows building “Apps” with existing information models – without the user/group ever having to trust and share his/her confidential data for the app developers (which is more or less the case with the current “siloed” cloud offerings). In “The Ball” the “Apps” are to be sandboxed to only access the information within the account/group containers.
The “Apps” don’t have to deal with any complex distributed software architectures, as there are none in the context of Apps themselves. They simply process information from one model to another (be they critical medical/patient records or as innocent as family photo albums). The platform’s core will take care of queuing the processing and (if user chooses to) also update the published content.
When user is in control of his/her own information; the information valuation (described in the whitepaper mentioned before) becomes real – way beyond today’s Facebook/Google+ “textual” information valuation.
For those parties with critical requirement that cannot run their instance of “The Ball” in the Windows Azure (or Amazon, or any other) cloud provider – the option to run it on-premises is as valid and comes with exactly same benefits as the cloud-based deployment. The Ball can still be cross-integrated with other instances; whether cloud-based, local based, or even mobile-device-based “micro” instances.
Where’s it at?
For developers familiar with Azure stack, the current development is happening on wide-open (note; some issues with git submodule config in the current repo – but they shouldn’t cause real issues):
Edit: Was accidentially referring only to “CMS-UI” part. The core platform (unpolished for now) repository (that also uses the “CMS-UI” part as a submodule) is available at:
However the current development is not UI-design neutralized for “clone-at-will”, but in need of such a version before we prepare one “clone-from-here”, please don’t hesitate to contact us.
We will relatively soon update with the neutral “clonable” version; including the mobile-client stacks for Android, Windows Phone and hopefully iPhone and MeeGo as well (not necessarily in that particular order).
I will also then write in detail how completely distributed the model is (as it might not become apparent by just mentioning that account/group/public processing are independently managed). At this stage suffice to say, that “The Ball” can scale to fill the whole Azure datacenter (processing) capacity, then reach to Amazon’s offerings… without any of the “Apps” or end-users seeing any difference in behavior. (Of course also safeguarding our business and solution not to be Microsoft, Amazon or any other clould provider bound).
Wishing chilly Autumn (with rains included – where applicable) from “The Ball” core team,