Empowering
Collaborative Art
with Technology
Rami Sayar (@ramisayar)
Technical Evangelist
Microsoft Canada
Rami Sayar – FI...
Social NetworksPhoto Credit: Andy Lamb
Rami Sayar – FITC Toronto 2014
Wisdom of the CrowdPhoto Credit: Sir Francis Galton
Rami Sayar – FITC Toronto 2014
Wisdom of the Crowd –
Mathy• Classic wisdom-of-the-crowd; assumes independent individual
observations, assumes enough data...
Wisdom of the Crowd –
Conditions• Diversity of observations
• Independence of observations
• Aggregation toward a single r...
Rami Sayar – FITC Toronto 2014
Rami Sayar – FITC Toronto 2014
Design
Tech
Art
Medi
a
ME
Crowdsourcing.
Rami Sayar – FITC Toronto 2014
Crowdsourcing –
Powered by the Web.
Rami Sayar – FITC Toronto 2014
Crowdsourcing Art?Photo Credit: Bhavna Sayana
Rami Sayar – FITC Toronto 2014
GraffitiPhoto Credit: Ariel Charney
Rami Sayar – FITC Toronto 2014
Nuit Blanche Toronto
2013 The [RE] GENERATOR Project
interactively explores the
concept of “RE” (REcycling,
REmixing etc) ...
HoliPhoto Credit: Steven Gerner
Rami Sayar – FITC Toronto 2014
Photo Credit: Boegh
Rami Sayar – FITC Toronto 2014
Shared Knowledge.
Rami Sayar – FITC Toronto 2014
Idea: Using Social
Networks to Create Art
Open Collaboration. Crowdsourced. Wisdom of the Crowds.
Shared Knowledge.
Rami S...
Let’s Experiment!
Rami Sayar – FITC Toronto 2014
Once upon a time….
Rami Sayar – FITC Toronto 2014
TEDxHEC Example.
Rami Sayar – FITC Toronto 2014
Fail.
Rami Sayar – FITC Toronto 2014
Collaboration doesn’t guarantee
a useful outcome.
Neither does crowdsourcing, nor is there always a wisdom in the
crowd.
R...
"When you have trouble with
things it's not your fault. Don't
blame yourself: blame the
designer.“
Donald Norman, Design o...
Constraints + Creativity:
Michael JohanssonPhoto Credit: Michael Johansson
Rami Sayar – FITC Toronto 2014
Hmmm… Randomness
Wisdom of the crowd ignored.
Rami Sayar – FITC Toronto 2014
What else can we do?
Rami Sayar – FITC Toronto 2014
LET THE WORLD
DECIDE.
Trees.
Rami Sayar – FITC Toronto 2014
Other examples…
Rami Sayar – FITC Toronto 2014
Strategies for Scaling
Creative Collaboration
Rami Sayar – FITC Toronto 2014
Simple.
Rami Sayar – FITC Toronto 2014
Randomness.
Rami Sayar – FITC Toronto 2014
Trees.
Rami Sayar – FITC Toronto 2014
Rami Sayar – FITC Toronto 2014
Voting.
Rami Sayar – FITC Toronto 2014
Combine Them Together.
Rami Sayar – FITC Toronto 2014
How to Build?
Rami Sayar – FITC Toronto 2014
Technical Considerations
• Performance
• Accuracy
• Storage
• Aggregation
• Scale
Rami Sayar – FITC Toronto 2014
FITC Experiment -
System Architecture
Rami Sayar – FITC Toronto 2014
FITC Experiment - Input
Rami Sayar – FITC Toronto 2014
FITC Experiment -
Output
Rami Sayar – FITC Toronto 2014
FITC – Message Queue
• Scalable Topic-Based Publish Subscribe Message Queue
Rami Sayar – FITC Toronto 2014
FITC – Database...
FITC – Detailed
Architecture
Rami Sayar – FITC Toronto 2014
Using Microsoft Azure
Azure Websites
• Node Express & Socket.IO apps fully supported.
• Enable WebSockets in Azure Websites configuration.
• Con...
Rami Sayar – FITC Toronto 2014
RESERVED INSTANCE
Azure Websites
WebJobs• Run background jobs (continuously, on demand or on
schedule).
• Node scripts are supported with lo...
Rami Sayar – FITC Toronto 2014
FITC – Detailed
Architecture
Rami Sayar – FITC Toronto 2014
FITC – Detailed
Architecture
Rami Sayar – FITC Toronto 2014
Azure Storage
Storage in the Cloud
Scalable, durable, and available
Anywhere at anytime access
Only pay for what the servi...
Table Storage Concepts
Table Details
Querying
FITC – Detailed
Architecture
Rami Sayar – FITC Toronto 2014
FITC – Frontend
• IE11 + WebSockets: Receive All Data including a Database
Flush OnLoad.
• D3js: Render data into story.
R...
Azure application
building blocks
Conclusion
• Strategies for Scaling Creative Collaboration
• Simple
• Randomness
• Voting
• Trees
• Azure Websites + Messa...
Get Creative!
Rami Sayar – FITC Toronto 2014
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Empowering Collaborative Art with Technology
Upcoming SlideShare
Loading in...5
×

Empowering Collaborative Art with Technology

223

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
223
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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.
  • http://2013.scotiabanknuitblanche.ca/project.html?project_id=1354
  • 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!
  • I love stories.
  • http://blogs.hbr.org/2013/01/how-intelligent-constraints-dr/http://www.fastcompany.com/3027379/work-smart/the-psychology-of-limitations-how-and-why-constraints-can-make-you-more-creative
  • * 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
  • Empowering Collaborative Art with Technology

    1. 1. Empowering Collaborative Art with Technology Rami Sayar (@ramisayar) Technical Evangelist Microsoft Canada Rami Sayar – FITC Toronto 2014
    2. 2. Social NetworksPhoto Credit: Andy Lamb Rami Sayar – FITC Toronto 2014
    3. 3. Wisdom of the CrowdPhoto Credit: Sir Francis Galton Rami Sayar – FITC Toronto 2014
    4. 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. 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
    6. 6. Rami Sayar – FITC Toronto 2014
    7. 7. Rami Sayar – FITC Toronto 2014 Design Tech Art Medi a ME
    8. 8. Crowdsourcing. Rami Sayar – FITC Toronto 2014
    9. 9. Crowdsourcing – Powered by the Web. Rami Sayar – FITC Toronto 2014
    10. 10. Crowdsourcing Art?Photo Credit: Bhavna Sayana Rami Sayar – FITC Toronto 2014
    11. 11. GraffitiPhoto Credit: Ariel Charney Rami Sayar – FITC Toronto 2014
    12. 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
    13. 13. HoliPhoto Credit: Steven Gerner Rami Sayar – FITC Toronto 2014
    14. 14. Photo Credit: Boegh Rami Sayar – FITC Toronto 2014
    15. 15. Shared Knowledge. Rami Sayar – FITC Toronto 2014
    16. 16. Idea: Using Social Networks to Create Art Open Collaboration. Crowdsourced. Wisdom of the Crowds. Shared Knowledge. Rami Sayar – FITC Toronto 2014
    17. 17. Let’s Experiment! Rami Sayar – FITC Toronto 2014
    18. 18. Once upon a time…. Rami Sayar – FITC Toronto 2014
    19. 19. TEDxHEC Example. Rami Sayar – FITC Toronto 2014
    20. 20. Fail. Rami Sayar – FITC Toronto 2014
    21. 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. 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
    23. 23. Constraints + Creativity: Michael JohanssonPhoto Credit: Michael Johansson Rami Sayar – FITC Toronto 2014
    24. 24. Hmmm… Randomness Wisdom of the crowd ignored. Rami Sayar – FITC Toronto 2014
    25. 25. What else can we do? Rami Sayar – FITC Toronto 2014
    26. 26. LET THE WORLD DECIDE. Trees. Rami Sayar – FITC Toronto 2014
    27. 27. Other examples… Rami Sayar – FITC Toronto 2014
    28. 28. Strategies for Scaling Creative Collaboration Rami Sayar – FITC Toronto 2014
    29. 29. Simple. Rami Sayar – FITC Toronto 2014
    30. 30. Randomness. Rami Sayar – FITC Toronto 2014
    31. 31. Trees. Rami Sayar – FITC Toronto 2014
    32. 32. Rami Sayar – FITC Toronto 2014
    33. 33. Voting. Rami Sayar – FITC Toronto 2014
    34. 34. Combine Them Together. Rami Sayar – FITC Toronto 2014
    35. 35. How to Build? Rami Sayar – FITC Toronto 2014
    36. 36. Technical Considerations • Performance • Accuracy • Storage • Aggregation • Scale Rami Sayar – FITC Toronto 2014
    37. 37. FITC Experiment - System Architecture Rami Sayar – FITC Toronto 2014
    38. 38. FITC Experiment - Input Rami Sayar – FITC Toronto 2014
    39. 39. FITC Experiment - Output Rami Sayar – FITC Toronto 2014
    40. 40. FITC – Message Queue • Scalable Topic-Based Publish Subscribe Message Queue Rami Sayar – FITC Toronto 2014 FITC – Database • Needed for Observation Persistence
    41. 41. FITC – Detailed Architecture Rami Sayar – FITC Toronto 2014
    42. 42. Using Microsoft Azure
    43. 43. Azure Websites • Node Express & Socket.IO apps fully supported. • Enable WebSockets in Azure Websites configuration. • Connect with GitHub repository. Redeploys app on every Git push to master. • Metrics and monitoring dashboard. • Web endpoint monitoring. • Configuration values passed as environment variables. Rami Sayar – FITC Toronto 2014
    44. 44. Rami Sayar – FITC Toronto 2014
    45. 45. RESERVED INSTANCE
    46. 46. 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
    47. 47. Rami Sayar – FITC Toronto 2014
    48. 48. FITC – Detailed Architecture Rami Sayar – FITC Toronto 2014
    49. 49. FITC – Detailed Architecture Rami Sayar – FITC Toronto 2014
    50. 50. 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
    51. 51. Table Storage Concepts
    52. 52. Table Details
    53. 53. Querying
    54. 54. FITC – Detailed Architecture Rami Sayar – FITC Toronto 2014
    55. 55. FITC – Frontend • IE11 + WebSockets: Receive All Data including a Database Flush OnLoad. • D3js: Render data into story. Rami Sayar – FITC Toronto 2014
    56. 56. Azure application building blocks
    57. 57. Conclusion • Strategies for Scaling Creative Collaboration • Simple • Randomness • Voting • Trees • Azure Websites + Message Bus + Table Storage <3 Node Rami Sayar – FITC Toronto 2014
    58. 58. Get Creative! Rami Sayar – FITC Toronto 2014
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×