@article{robertson2013programming, abstract = {The aim of ‘programming the global computer’ was identified by Milner and others as one of the grand challenges of computing research. At the time this phrase was coined, it was natural to assume that this objective might be achieved primarily through extending programming and specification languages. The Internet, however, has brought with it a different style of computation that (although harnessing variants of traditional programming languages) operates in a style different to those with which we are familiar. The ‘computer’ on which we are running these computations is a social computer in the sense that many of the elementary functions of the computations it runs are performed by humans, and successful execution of a program often depends on properties of the human society over which the program operates. These sorts of programs are not programmed in a traditional way and may have to be understood in a way that is different from the traditional view of programming. This shift in perspective raises new challenges for the science of the Web and for computing in general.}, author = {Robertson, David and Giunchiglia, Fausto}, doi = {10.1098/rsta.2012.0379}, eprint = {http://rsta.royalsocietypublishing.org/content/371/1987/20120379.full.pdf+html}, interhash = {c671d953e4eb09fc3fe67f93ccd2024c}, intrahash = {a802922683b23455f903551ee2b24b42}, journal = {Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences}, month = mar, number = 1987, title = {Programming the social computer}, url = {http://rsta.royalsocietypublishing.org/content/371/1987/20120379.abstract}, volume = 371, year = 2013 } @techreport{parameswaran2011declarative, abstract = {Crowdsourcing enables programmers to incorporate ``human computation'' as a building block in algorithms that cannot be fully automated, such as text analysis and image recognition. Similarly, humans can be used as a building block in data-intensive applications --- providing, comparing, and verifying data used by applications. Building upon the decades-long success of declarative approaches to conventional data management, we use a similar approach for data-intensive applications that incorporate humans. Specifically, declarative queries are posed over stored relational data as well as data computed on-demand from the crowd, and the underlying system orchestrates the computation of query answers. We present Deco, a database system for declarative crowdsourcing. We describe Deco's data model, query language, and our initial prototype. Deco's data model was designed to be general (it can be instantiated to other proposed models), flexible (it allows methods for uncertainty resolution and external access to be plugged in), and principled (it has a precisely-defined semantics). Syntactically, Deco's query language is a simple extension to SQL. Based on Deco's data model, we define a precise semantics for arbitrary queries involving both stored data and data obtained from the crowd. We then describe the Deco query processor, which respects our semantics while coping with the unique combination of latency, monetary cost, and uncertainty introduced in the crowdsourcing environment. Finally, we describe our current system implementation, and we discuss the novel query optimization challenges that form the core of our ongoing work.}, author = {Parameswaran, Aditya and Park, Hyunjung and Garcia-Molina, Hector and Polyzotis, Neoklis and Widom, Jennifer}, institution = {Stanford University}, interhash = {af28066d0b21d87a9ef90f63d7e6095f}, intrahash = {4de5dd97e5466c9f1fc63c0d23b4d90a}, number = 1015, publisher = {Stanford InfoLab}, title = {Deco: Declarative Crowdsourcing}, url = {http://ilpubs.stanford.edu:8090/1015/}, year = 2011 } @inproceedings{ahmad2011jabberwocky, abstract = {We present Jabberwocky, a social computing stack that consists of three components: a human and machine resource management system called Dormouse, a parallel programming framework for human and machine computation called ManReduce, and a high-level programming language on top of ManReduce called Dog. Dormouse is designed to enable cross-platform programming languages for social computation, so, for example, programs written for Mechanical Turk can also run on other crowdsourcing platforms. Dormouse also enables a programmer to easily combine crowdsourcing platforms or create new ones. Further, machines and people are both first-class citizens in Dormouse, allowing for natural parallelization and control flows for a broad range of data-intensive applications. And finally and importantly, Dormouse includes notions of real identity, heterogeneity, and social structure. We show that the unique properties of Dormouse enable elegant programming models for complex and useful problems, and we propose two such frameworks. ManReduce is a framework for combining human and machine computation into an intuitive parallel data flow that goes beyond existing frameworks in several important ways, such as enabling functions on arbitrary communication graphs between human and machine clusters. And Dog is a high-level procedural language written on top of ManReduce that focuses on expressivity and reuse. We explore two applications written in Dog: bootstrapping product recommendations without purchase data, and expert labeling of medical images.}, acmid = {2047203}, address = {New York, NY, USA}, author = {Ahmad, Salman and Battle, Alexis and Malkani, Zahan and Kamvar, Sepander}, booktitle = {Proceedings of the 24th annual ACM symposium on User interface software and technology}, doi = {10.1145/2047196.2047203}, interhash = {7daf7982636a395ca634215cc95e6d92}, intrahash = {8ff9d4ddd5f39c6471c1ae39b794416d}, isbn = {978-1-4503-0716-1}, location = {Santa Barbara, California, USA}, numpages = {12}, pages = {53--64}, publisher = {ACM}, title = {The jabberwocky programming environment for structured social computing}, url = {http://doi.acm.org/10.1145/2047196.2047203}, year = 2011 } @article{bernstein2012programming, abstract = {Considering how we can improve our understanding and utilization of the emerging human-computer network constituting the global brain.}, acmid = {2160731}, address = {New York, NY, USA}, author = {Bernstein, Abraham and Klein, Mark and Malone, Thomas W.}, doi = {10.1145/2160718.2160731}, interhash = {fd329233801c38861f91e141fc76a53d}, intrahash = {d655259b16a34e6d13a1b54f8eb47968}, issn = {0001-0782}, issue_date = {May 2012}, journal = {Communications of the ACM}, month = may, number = 5, numpages = {3}, pages = {41--43}, publisher = {ACM}, title = {Programming the global brain}, url = {http://doi.acm.org/10.1145/2160718.2160731}, volume = 55, year = 2012 }