Click here to Skip to main content
13,252,183 members (56,267 online)
Click here to Skip to main content
Add your own
alternative version


1 bookmarked
Posted 2 May 2013

Sygnol: A Platform for Gamified Crowdsourcing

, 2 May 2013
Rate this:
Please Sign up or sign in to vote.
Sygnol your choices in surveys, straw polls, and interactive contests.

Editorial Note

This article is an entry in our Windows Azure Developer Challenge. Articles in this sub-section are not required to be full articles so care should be taken when voting. Create your free Azure Trial Account to Enter the Challenge.


Sygnol is designed to be a social media platform optimized for rich, interactive, multi-candidate contests.

First generation Sygnol-affiliated websites and apps will generally offer straightforward ranked-choice surveys and straw polls. Later on, more advanced kinds of Sygnol venues will become available. These will function as novel audience response systems for activities such as reality show voting, online talent competitions, and political debates.

Sygnol technology will be especially valuable to communities seeking to generate high quality topical content while simultaneously gathering insightful feedback that can be used to refine that content. Anyone seeking state-of-the-art tools to recruit and evaluate contestants from a broad and diverse participant base could benefit from this... perhaps even the judges of the Windows Azure Developer Challenge.

Over time, Sygnol will be positioned to evolve as a global platform for gamified crowdsourcing.

Sygnol's creator, Craig Simon, Ph.D., is a distinguished innovator in the area of ranked-choice voting technology. Sygnol is the latest chapter in a continuing effort aimed at building a massively scalable system for effective public discourse. The driving goal is to bring about a major leap forward in the social practices of collaborative preference ordering and decisionmaking.

Participation in Sygnol-enhanced venues will benefit goal-oriented communities that seek to:

  1. Evaluate depth of support for competitors across a wide field of entrants;
  2. "Bubble up" and showcase the worthiest competitors, and;
  3. Ultimately coalesce around a fairly-chosen winner.

Sygnol is part of the Indaba Application Network (IAN), where the mission is "Building better tools for better democracies." Until now, Indaba Application Network sites have been built using MySQL and PHP. will serve as the vanguard website for a fundamental revision of the project, migrating everything from the LAMP stack to the Microsoft stack. The following tasks are central to this overhaul:

  1. Move the legacy dataset from MySQL into a SQL Azure-hosted database, refactoring appropriately along the way;
  2. Create an Azure-hosted ASP.Net MVC site supporting routes to a queryable WebAPI service;
  3. Integrate that service with OAuth via with Microsoft's SimpleMembership authentication tools;
  4. Deliver a RESTful API that will enable future application development across a broad spectrum of devices;
  5. Demonstrate that Azure's cloud services will support robust scaling and volatile bursts of demand as Sygnol grows;
  6. Publish an initial set of Sygnol applications targeting the Windows 8 Store and Windows-based mobile devices.

Various project milestones will be established to progress in phase with the formal stages of the Windows Azure Developer Challenge.

Why Windows Azure?

Microsoft's Visual Studio provides an elegantly integrated developer environment, greatly easing the task of deploying modern HTML5/Javascript projects to the cloud via Windows Azure. Microsoft's approach to cloud architecture has anticipated the broad spectrum of services that ambitious endeavors such as Sygnol are likely to require; these include Infrastructure as a Service (IaaS) with robust fault tolerance and rapid capacity scaling, as well as sophisticated load balancing, a Content Delivery Network (CDN), and thorough interoperability.


Sygnol is distinguished from other online surveying and polling systems by its reliance on ranked choice voting techniques, rather than rating techniques, range voting, or plurality voting. For more background on the history and mathematics of the ranked-choice approach, see these Wikipedia articles:

The following links provide further information relevant to this project:

  • Craig Simon's blog at includes articles about Ranked Choice Voting.
  • Here is more about the Indaba Application Network.

For demonstrations of ranked-choice voting in action, there are currently a handful of LAMP-based sites operating under the aegis of the Indaba Application Network. They include:

Development Journal and Author's Notes

Stage 1: Taking the Plunge

Visitors to and can get a sense of how an interactive ranked-choice ballot should work, but even that interface is only a piece of a larger vision. It's fairly evident that the jQuery-based ranked-choice ballot at AmericanQuorum behaves much like the movie queueing mechanism at Netflix and the ranking tool at SurveyMonkey. Netflix is the better analogy, since the list elements associated with each candidate or nominee on a ballot are intended allow the user to invoke rich content corresponding to that candidate, such as pictures and videos.

The most important innovations at the currently-operating LAMP-based sites are the mechanisms available for visualizing the results of highly competitive votes. It would be unrealistic to expect that all of the existing ranked-choice data collection and analysis functionality could be replicated by the end of the Windows Azure challenge. Simply migrating the dataset and refactoring the project within an Azure-hosted ASP.Net MVC framework would be a truly significant achievement by itself. Beyond that, building a RESTful API to provide for future scalability would be time very well spent. But that's all about the back end. Being from the "demo or die" school of programming, I want to have something to show. So I've decided to also shoot for creating a Windows 8 app that can play the videos associated with the nominee list from one of the ballots within the existing dataset.

I'm already familiar with Windows Azure, having played with the free 90 day trial late last year. Rather than spin up another free trial (and juggle more email addresses to do it), I converted my initial one into a paid version. This approach will give me a clearer sense of both features and costs within a fully-provisioned Azure environment.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Database Developer RKEY Toolmakers
United States United States
Craig Simon is a self-employed Database Application Specialist. He's also an independent scholar with a BA in History from the University of California at Santa Cruz, and advanced degrees in International Studies from the University of Miami. His Master’s thesis focused on US Soviet technology transfer. His Ph.D. dissertation concerned Internet standards-making and the rise of Internet Governance. Craig experimented with programming during graduate school, writing WordPerfect macros to help add footnotes to his papers. He got hooked after learning to hack batch files in DOS. Now he's deeply addicted to SQL, and sampling harder stuff, like ASP.Net MVC. Craig currently lives in Dania Beach, Florida.

Craig occasionally goes by the handle "Flywheel" because he used to be a professional Frisbee player. He currently lives in Dania Beach, Florida.

You may also be interested in...


Comments and Discussions

GeneralMy vote of 5 Pin
roscler5-May-13 1:14
professionalroscler5-May-13 1:14 
GeneralRe: My vote of 5 Pin
flywheel5-May-13 5:13
professionalflywheel5-May-13 5:13 
GeneralRe: My vote of 5 Pin
roscler5-May-13 5:54
professionalroscler5-May-13 5:54 
GeneralMy vote of 5 Pin
flywheel4-May-13 11:35
professionalflywheel4-May-13 11:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.171114.1 | Last Updated 2 May 2013
Article Copyright 2013 by flywheel
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid