Empowering Collaborative Art with Technology
with Rami Sayar
Can the literary arts be more than the creative output of a single individual?
Most people believe literature arises from the self-expression of individual artists, however there is potential for more innovative models of creative production. This talk will formulate new ways to conceive artistic production, based on principles of collaboration and shared knowledge. It will demonstrate how creative expression can happen between strangers. This opportunity for collective art is something technology can truly empower.
The technology developed in preparation for this talk allows us to conduct a live experiment with the attendees on collaboration with creative constraints. The results of the experiment will be viewed in real-time. The talk will also briefly delve into the technical details of the technology, although participants are not expected to have deep technical knowledge of real-time systems and cloud computing.
Let’s create art collaboratively!
Presented at FITC Toronto 2014 on April 27-29, 2014
More info at www.FITC.ca
3. Wisdom of the CrowdPhoto Credit: Sir Francis Galton
Rami Sayar – FITC Toronto 2014
4. Wisdom of the Crowd –
Mathy• Classic wisdom-of-the-crowd; assumes independent individual
observations, assumes enough data points
• Insight: crowd’s individual observations can be modelled as
probability distribution with the mean (average) is assumed to
be close to the true mean.
Rami Sayar – FITC Toronto 2014
5. Wisdom of the Crowd –
Conditions• Diversity of observations
• Independence of observations
• Aggregation toward a single result
• E.g. there is an assumption that everyone’s observations are
equal and bring us closer to truth, therefore the more the
merrier.
Rami Sayar – FITC Toronto 2014
12. Nuit Blanche Toronto
2013 The [RE] GENERATOR Project
interactively explores the
concept of “RE” (REcycling,
REmixing etc) using fashion,
visual art, social media and
projection. The audience can
contribute to the live
installation using social media.
Share your examples of “RE”
with #regenerator2013 on
Tumblr.
Rami Sayar – FITC Toronto 2014
21. Collaboration doesn’t guarantee
a useful outcome.
Neither does crowdsourcing, nor is there always a wisdom in the
crowd.
Rami Sayar – FITC Toronto 2014
22. "When you have trouble with
things it's not your fault. Don't
blame yourself: blame the
designer.“
Donald Norman, Design of Everyday Things
Rami Sayar – FITC Toronto 2014
50. Azure Websites
WebJobs• Run background jobs (continuously, on demand or on
schedule).
• Node scripts are supported with local node_modules
• Configuration values are passed as environment variables.
• Logging supported.
Rami Sayar – FITC Toronto 2014
58. Azure Storage
Storage in the Cloud
Scalable, durable, and available
Anywhere at anytime access
Only pay for what the service uses
Exposed via RESTful Web Services
Use fromAzure Compute or Websites
Use from anywhere on the internet
63. FITC – Frontend
• IE11 + WebSockets: Receive All Data including a Database
Flush OnLoad.
• D3js: Render data into story.
Rami Sayar – FITC Toronto 2014
Social Networks are the essence of who we are as people. Online social networks are ever becoming more important. We are frequently told that we are more connected than at any other time in human history. This may be true but it misses the big point. It is much more important to build useful networks than massive networks.
The classic wisdom-of-the-crowds finding involves point estimation of a continuous quantity. At a 1906 country fair in Plymouth, eight hundred people participated in a contest to estimate the weight of a slaughtered and dressed ox. Statistician Francis Galton observed that the median guess, 1207 pounds, was accurate within 1% of the true weight of 1198 pounds.Sir Francis Galton was an English Victorian polymath, and statistician. Galton produced over 340 papers and books. He also created the statistical concept of correlation and widely promoted regression toward the mean.
Jeff Howe, WIRED: Crowdsourcing is the process of taking into account the collective opinion of a group of individuals rather than a single expert to answer a question.
Crowdsourcing Innovation: Ideation. Open Innovation.
http://en.wikipedia.org/wiki/Knowledge_sharing
* Story Telling * Build network with 300 people in this room using twitter * Can stories be built together using twitter? * Can we collectively get creative by using technology? * Let's give it a shot!
* Current Problems: Randomness is a strict and unpredictable constraint, get's us to work better together but fails to truly take the power of the network
Chaos. Let the results be determined by the observer and just act as an aggregator for crowdsourcing and provide no wisdom to the crowd.
Produces better results if combined with the concept of shared knowledge and letting each observer see what’s going on but it does not fully take advantage of the wisdom of the crowd as it completely eliminates the ability to find the best story by squashing alternatives into one.
Slide Objectives:Provide a high level summary of Windows Azure and what it enables at a high levelSpeaking Points:Transition:Several of you are probably asking, just what is Windows Azure? Definition:From a high level, Windows Azure is Microsoft’s Cloud Computing platform.It’s designed to enable you to build, deploy, and scale your applications in the cloud. Over the last year, we’ve been focused on three core tenants with Windows Azure – which you will see reflected throughout this keynote.FlexibleThe first is to make it Windows Azure really flexible and able to handle pretty much any workload on top of it.When we introduced Windows Azure a few years ago, we pioneered the concept of Platform as a Service, by providing a set of scalable, managed services that you can advantage of as a developer [to compose applications]We continue to push that forward with a bunch of great features that you will see in a few minutesThis past year we have also enabled a concept called infrastructure as a service, which is the ability to host and scale durable virtual machines in the cloud as well.With Windows Azure’s support for infrastructure as a service, you can install Windows or Linux and more easily migrate existing applications and workloads.This combination of the ability to run both platform as a service and infrastructure as a service together ends up being a really powerful combination and makes Windows Azure super flexible. OpenWe also focused a lot this year on making Windows Azure even more open.With Windows Azure you can use your choice of operating systems, your choice of frameworks, and your choice of tools.This really opens up the most possibilities in terms of building on the platformAnother aspect of this openness is to use open protocols whenever possible. For example, we use the memcachD protocol for our Caching service, we now support the AMQP protocol for our Service Bus messaging service, and all of the managed services are exposed through simple REST-based APIs that can be called from any framework or language. This enables you to interoperate very easily with our services and integrate with what you already haveWe’ve also taken all of our SDKs for Windows Azure and released them under an Apache 2 open source license and hosted them on GitHub.SolidLastly, we’ve focused a lot during the last year on making Windows Azure a really solid platform. One that you can bet your business on and that you know will be reliable. Built in across the platform is support for redundancy and across our managed services we provide guaranteed SLAs that you can bet on and know that your applications will scale and scale reliably. SummaryWe believe the end result is truly a unique modelYou can now use both platform as a service and infrastructure as a service *together*You can now use the best of the Microsoft ecosystem and the best of the open source ecosystem *together*Enabling you to build better and more scalable solutions. Notes:Comprehensive set of services that enable you to build, host and scale applications in Microsoft datacenters Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.
Speaking Points:TransitionVirtual machines provide a very flexible compute model. Another compute service available in Windows Azure is called Windows Azure Web Sites. Definition:Windows Azure Web Sites there is a managed service that you can use to run web sites and web APIs. Enable you to quickly stand up web applications and web sites on the internetAuto-managed environmentJust say that you want a web, here’s the DNS, copy the content, and we do the rest You don’t have to worry or think about VMs, servers, or infrastructure. You can simply focus on building and deploying HTTP based applications.Enables you to build web sites using ASP.NET, Node.js, PHP, and now with an update a few weeks ago – PythonAllows you to use any tool and any operating system to build these sites including Windows, OS X, and Linux. Enables a very fast deployment model. You can literally deploy in seconds. You can easily deploy these sites using the tools and infrastructure you know. We support several flexible deployment options including FTP, GIT, and Team Foundation ServicesWhat is nice about this offering is that not only does it enable to very quickly get going, but it also allows you to start with a free offer in a shared environment. Pricing starts at free.. Perpetually free and then you can scale up as you need more capabilityYou can then scale up these sites using reserved instances for higher performance and isolation and scale out these sites as your web site becomes successful and you have increased load.
Speaking Points:Just to recap When I’m running shared, multiple web sites from multiple customers are use the same virtual machine instances
Speaking Points:In shared mode the web sites can be scaled out to run on multiple shared instances,In this case Windows Azure provides load balancing of incoming requests resulting in better response time and performance for your application and higher availability
Speaking Points:If we really need to scale our application or we want to isolate our application, perhaps to use more memory, we can switch our app to reserved modeIn this case Windows Azure will use an instance out of the pool of available instances, deploy your site, and continue to serve up requests
Speaking Points:Just like with shared mode, we can also scale out with reserved mode, in which case the machine instances are registered with the load balancer for your web application.This can result in better response time, performance, and availability for your web application.
Speaking Points:We also have a bunch of new service bus capabilitiesThe Service Bus is a managed service that provides secure messaging and relay capabilities.It’s great for integrating cloud based solutions with on-premise environments in a very secure way and it enables a very loosely coupled architectureWith the new Windows Azure SDK and Tools for Visual Studio, you can now view information about the service bus directly from within Visual Studio. We are also now introducing cross platform libraries so you can use service bus from any OS whether it’s a VM, web site, or Cloud Service and with any of the languages we support.
Slide Objectives:Overview of Service Bus capabilitiesSpeaking Points:Think Service Bus as a federation infrastructure for building loosely-coupled hybrid applications.Infrastructure for connectivity, for messaging, for integration.
Slide Objectives:This slide introduces some integration patterns enabled by topics and subscriptions
Speaking Points:We have a great storage system.We talked about this earlier as part of virtual machines for mounting drives. You can think of blob storage as a highly available, scalable, and secure file system in the cloud. You can store any type of data you want in it. You can optionally expose storage through some HTTP URLs and make it public or you can make it private. Similar to databases, you can stand up a new storage account in a few minutes. Continuous geo-replication is enabled by default for storage accounts.
Slide Objectives:Define the Windows Azure storage and the great benefits this service providesSpeaking Points:The Windows Azure storage services provide storage for binary and text data, messages, and structured data in Windows AzureScalable DurableAvailableCostRESTGeo-redundant storage provides the highest level of storage durability by seamlessly replicating your data to a secondary location within the same regionLocally redundant storage provides highly durable and available storage within a single location. Microsoft monitors the service, provides patches, handles scaling, and does the other work needed to keep the service available.Notes:
Slide ObjectivesUnderstand TablesSpeaker NotesThe Table service provides structured storage in the form of tables. The Table service supports a REST API that is compliant with the ADO.NET Data Services REST API. Developers may also use the .NET Client Library for ADO.NET Data Services to access the Table service.Noteshttp://msdn.microsoft.com/en-us/library/dd573356.aspx
Slide ObjectivesUnderstand TablesSpeaker NotesWithin a storage account, a developer may create named tables. Tables store data as entities. An entity is a collection of named properties and their values, similar to a row. Tables are partitioned to support load balancing across storage nodes. Each table has as its first property a partition key that specifies the partition an entity belongs to. The second property is a row key that identifies an entity within a given partition. The combination of the partition key and the row key forms a primary key that identifies each entity uniquely within the table.The Table service does not enforce any schema. A developer may choose to implement and enforce a schema on the client sideNoteshttp://msdn.microsoft.com/en-us/library/dd573356.aspx
Slide ObjectivesUnderstand The Basic Query SyntaxSpeaker NotesTables store data as entities. Querying is per the ADO.NET Data Services spechttp://msdn.microsoft.com/en-us/library/cc668784.aspxShould endeavour to always include the Partition key to limit scope of query- partitions always served by a single storage nodeNoteshttp://msdn.microsoft.com/en-us/library/dd573356.aspx
Speaking Points:In addition to the compute services for running your deploying and running your code, Windows Azure also provides a number of application building blocks. These are managed services that we run that provide a lot of value so you can avoid standing up the infrastructure for common capabilitiesYou always can stand up VMs and put anything you want in itBut in a lot of cases you will find that we have built in services that we deliver or that are delivered by our partnersWhat’s cool is that you can use any of these services with a VM, with a Web Site, or with a Cloud Service – so you have flexibility in how you will consume them.
Speaking Points:All of the libraries are hosted on GitHub under an Apache 2 licenseSo you can both see the source and contribute back to the source