Überblick über Social Software Development auf Facebook & Co. für Einsteiger. Was sind web-basierte Software-Plattformen, Social Application Design, Social Graph.
Entwicklung von Social-Web-Applikationen auf Facebook und anderen Plattformen - E-Day 2011/IT-Carinthia - Part 1/3
1. thanks for the ad(d).
“Entwicklung von Social-Web-Applikationen auf
Facebook und anderen Plattformen”
E-Day 2011 / IT Carinthia- Part 1
2. About:
Michael Kamleitner
Gründer & Geschäftsführer von “Die Socialisten”
"Die Socialisten" sind eine Wiener Software-Agentur, die sich seit 2007 auf
die Konzeption & Umsetzung von Marketing-Lösungen auf Facebook &
anderen Social Media Kanälen konzentriert, und seither weit über 100
Brand-Pages und -Applikationen erfolgreich umgesetzt hat.
Zu unseren Kunden zählen Axel Springer/Bild.de, Bertelsmann, Heute.at
Gruner+Jahr, Financial Times Deutschland, ATV und Hitradio Ö3.
http://die.socialisten.at - http://facebook.com/diesocialisten
die.socialisten.at
social network development
3. Content:
Einführung: Social Software Plattformen & Apps
- Web-basierte Software-Plattformen - Definition & Typologie
- Social Application Design - Identity, Community, Conversation
- Social Graph
Die Facebook-Plattform
- Facebook Platform Overview
- Facebook für Entwickler - Graph API, JavaScript SDK, Open Graph
- Beyond Facebook - andere soziale Software-Plattformen
Q&A:
- Was Sie schon immer über Social App-Entwicklung wissen wollten!
Zum Mit- oder Nachlesen:
http://die.socialisten.at/downloads/Die-Socialisten-eday-20111006.pdf
die.socialisten.at
social network development
4. Applikationen?
Apps?
Plattformen?
- Benutzen Sie persönlich Facebook?
- Haben Sie schon Facebook-Apps benutzt?
- Wenn ja, welche?
- Welche Applikations-Plattformen im Social Web kennen sie noch?
- Bietet ihr Unternehmen bereits Apps im Social Web an?
- Wenn ja, auf welchen Plattformen?
- Haben Sie Erfahrung in der Erstellung/Wartung/Modifikation von Web-Sites?
- Wenn ja, mit welchen Tools/Sprachen/CMS?
Unser Thema heute: Social Web-Apps!
die.socialisten.at
social network development
6. Hands-on:
1. Let’s connect!
Aufgabe:
Verbinden Sie ihren Laptop mit dem WLAN!
WLAN-Kennung: workshop-room-1
Verschlüsselung: WPA2/PSK
Kennwort: wlan@workshop-room-1
Bitte bilden Sie an den Laptops 2er Gruppen,
um eine Überlastung des WLANs zu vermeiden!
Treten Sie unserer Facebook Gruppe bei!
http://www.facebook.com/groups/123398354432088/
oder abgekürzt:
http://on.fb.me/e_day2011
die.socialisten.at
social network development
8. From: Social Network
to: Social Platform
Was unterscheidet Facebook eigentlich von herkömmlichen
Social Networks wie MySpace, Friendster etc.?
Facebook erlaubt seit 2007 in bis dahin unbekannter Konsequenz &
Offentheit, Dritten die Integration von eigenen Applikationen auf
Facebook.com.
Damit wurde Facebook von einem sozialen Netzwerk zu einer sozialen
Plattform, die weit über die Grenzen von facebook.com hinaus
Entwicklern die Möglichkeit gibt, das Milliarden-Publikum von Facebook zu
adressieren.
die.socialisten.at
social network development
9. Typologie:
Web-basierte Plattformen
Marc Andreessen:
“A Platform is a system that can be programmed and therefor
customized by outside developers or users and in that way adapted to
countless needs and niches that the platform’s original developers could
not have possibly contemplated, much less had time to accommodate”.
Oder:
“If you can program it, then it's a platform. If you can't, then it's not.”
http://pmarca-archive.posterous.com/the-three-kinds-of-platforms-you-meet-on-the-0
die.socialisten.at
social network development
10. Typologie:
Web-basierte Plattformen
Level 1 - Access-API*: Die Plattform bietet Zugriffsmöglichkeiten
(“Access”) nach aussen an, üblicherwiese in Form einer auf Web-
Services basierenden API. Der Code der auf der Plattform aufsetzt,
wird allerdings ausserhalb der Plattform ausgeführt (etwa unter einer
eigenen Domain, auf einem eigenem Server), und auch die User-
Experience findet losgelöst von der eigentlichen Plattform statt.
Beispiele: Flickr, Twitter... - die meisten heute verfügbaren Social
Web-APIs sind Access-APIs.
Nachteile: Der Plattform-Entwickler trägt die Bürde, selbst die
Laufzeitumgebung & Infrastruktur für seine App bereitstellen zu
müssen. Damit ist die technologische & finanzielle Hürde, eigene
Apps für die Plattform zu entwicklen, beträchtlich höher.
Level 1
Vorteile: für den Plattform-Anbieter einfach & schnell umsetzbar.
Access API
*API: Application Programming Interface
die.socialisten.at
social network development
11. Typologie:
Web-basierte Plattformen
Level 1 - Access-API: Beispiel Flickr
API
flickr.com/photos/austrianairlines www.red-blog.at
die.socialisten.at
social network development
14. Typologie:
Web-basierte Plattformen
Level 2 - Plugin-API: Die Plattform bietet Entwicklern die
Möglichkeit, ihre Anwendungen in die Kern-Plattform zu
integrieren und in deren Benutzer-Interface einzuklinken (“plugin”).
Anwendungen laufen so für den Benutzer transparent integriert in
die Plattform. Level 2 APIs beinhalten meist auch Level 1-
Funktionalitäten.
Beispiele: Facebook, Google Open Social
Level 2
Nachteile: Wie bei Level 1 APIs müssen auch hier Plattform-
Entwickler die Infrastruktur bereitstellen. Eine Level 2 API ist Plugin API
deutlich komplexer in der Bereitstellung durch den Plattform-
Betreiber.
Vorteile: Durch die angebotenen Integrationspunkte, hilft der Level 1
Plattform-Anbieter dem Entwickler bei der Vermarktung und
Verbreitung seiner App. Access API
die.socialisten.at
social network development
15. Typologie:
Web-basierte Plattformen
Level 2 - Plugin-API: Facebook
Plattform-”Rahmen”
facebook.com
App-”Canvas”
3rd Party Applikation auf
facebook.oe3.fm
die.socialisten.at
social network development
16. Typologie:
Web-basierte Plattformen
Level 3 - Runtime Environment: Die Plattform bietet
Entwicklern die Möglichkeit, den Code ihrer Anwendungen auf
die Infrastruktur des Plattform-Anbieters hochzuladen. Der Code
Level 3
wird innerhalb der Plattform ausgeführt. Dabei kann es ebenfalls Runtine
zur Bereitstellung von Funktionalitäten (L1) und Integration in das
Benutzer-Interface (L2) kommen.
Beispiele: Google App Engine, Salesforce
Level 2
Vorteile: Plattform-Entwickler müssen sich nicht mehr um die
Bereitstellung von Infrastruktur und deren Skalierung kümmern. Plugin API
Nachteile: Die Bereitstellung einer stabilen, skalierbaren
Runtime-Environment ist für den Plattform-Anbieter besonders
aufwendig. Level 1
Access API
die.socialisten.at
social network development
17. Typologie:
Web-basierte Plattformen
Level 3 - Runtime Environment: Salesforce
Plattform-”Rahmen” 3rd Party Applikation
salesforce.com salesforce.com (!)
die.socialisten.at
social network development
18. Typologie:
Web-basierte Plattformen
Level 1-3:
Google App Engine, Google+, Google APIs
Level 3 App Engine bietet ein
Hosting & RTE f. 3rd
Runtine Party Apps
Level 2 Google+, Orkut bieten
Möglichkeiten, 3rd Party
Plugin API Apps im Plattform-”Rahmen”
auszuführen
Level 1
Nahezu alle Google-
Access API Services stellen L1-APIs
zur Verfügung
die.socialisten.at
social network development
19. Zusammenfassung
Was sind Plattformen, Apps?
3rd Party-Developer Apps
(Zynga, Die Socialisten...) Farmville, BranchOut...
Platform-Vendor Platform
(Facebook Inc., Google Inc.) Facebook.com, Google+...
Plattform: jedes Software-Produkt, dass Dritten mittels
Programmierschnittstellen (APIs) erlaubt, Änderungen und Erweiterungen
an der Software vorzunehmen.
Web-Plattform: jede Plattform, deren Programmierschnittstellen über
Web-Technologien bereitgestellt werden. 3 Stufen: Access-API, Plugin-API,
Runtime-Environment.
Apps: Software-Produkte, die elementar auf einer Plattform aufsetzen oder
diese zumindestens integrieren. Apps gibt es im Web, in Social Networks,
Mobile...
die.socialisten.at
social network development
21. Hands-on:
2. Analyse von Social Web APIs
Aufgabe:
Wählen sie eines oder mehrere beliebige Web-Services / Web-Sites / Web-
Apps aus, die eine Programmierschnittstelle anbieten!
Versuchen Sie die angebotenen Schnittstellen in die Kategorien L1/L2/L3
einzuordnen!
Finden Sie einen API-Anbieter der mehrere API-Kategorien anbietet?
Bereits genannte Beispiele:
L1 Access API: Flickr, Twitter
L2 Plugin API: Facebook, Google+
L3 Runtime Environment: Sales Force, Google App Engine
Noch nichts gefunden?
http://www.programmableweb.com/apis
http://code.google.com/more
Zum Mit- oder Nachlesen:
http://die.socialisten.at/downloads/e-day-20111007.pdf
die.socialisten.at
social network development
23. Social Application Design
Wie wird eine Web-Applikation eigentlich “social”?
Beim “Social Application Design” beachtet man drei Aspekte:
Identity - Darunter verstehen wir die digitale Repräsentation einer Person
oder eines Benutzers, i.e. sein Profil
Conversation - Bezeichnet alle sozialen Interaktionen, die ein Mensch mit
den anderen Mitgliedern seiner Community bzw. Communities hat.
Community - jeder Mensch ist eingebunden in ein Netzwerk an Personen,
denen er mehr oder weniger stark vertraut, und deren Meinungen und
Aussagen er in der eigenen Entscheidungsfindung berücksichtigt.
die.socialisten.at
social network development
24. Social Application Design:
Identity
Die Gestaltung der eigenen, digitalen
Identität ist eine besonders starke
Motivation für Menschen, an sozialen
Netzwerken oder sozialen Apps aktiv
teilzunehmen - als Menschen streben
wir danach, die Wahrnehmung unserer
Person in den Communities die uns am
Herzen liegen, aktiv zu gestalten.
Das Benutzer-Profil war schon in den
“Ur-Social-Networks” der zentrale Ort Interessen, Hobbies,
zur Bestimmung der eigenen Identität.
Beruf, Ausbildung...
Darüberhinaus definiert sich unsere
digitale Identität heute vor allem durch
soziale Gesten (Shares, Likes,
Checkins, Kommentare etc.) - den
Interaktionen die wir in sozialen
Netzwerken setzen.
die.socialisten.at
social network development
28. Social Application Design:
Identity
Erfolgreiche soziale Apps erlauben es
Benutzern, ihre digitale Identität in der
jeweiligen “Anwendungs-
Domäne” (“Vertical”) detaillierter zu
gestalten, als dies das normale
Plattform-Profil erlaubt.
Dazu werden etwa zusätzliche,
kontext-relevante Attribute
bereitgestellt.
Beispiel: In der “Mein Klub” Bundes-
Liga-App identifizieren sich Fans mit
ihrer Lieblings-Mannschaft.
http://facebook.com/MeinKlub
die.socialisten.at
social network development
29. Social Application Design:
Identity
Ebenso wichtig ist es für erfolgreiche
soziale Apps, dem Benutzer spezielle,
domänen-relevante soziale Gesten
zur Verfügung zu stellen. Dies trägt
der Tatsache Rechnung, dass wir
unsere Identität nicht bloss über ein
mehr oder weniger statisches Profil,
sondern vor allem durch unsere
Aktivitäten in sozialen Netzwerken
definieren.
Beispiel: Die Bundesliga-App
motiviert Benutzer zum Posten von
“Schlachtrufen” vor, während und
nach einem Match
die.socialisten.at
social network development
30. Social Application Design:
Identity
Auch User-generated
Content, wie etwa
hochgeladene Photos oder
Videos, Kommentare, Foren-
Beiträge tragen können zur
Bildung der eigenen Identität
beitragen und sind damit
Bestandteil vieler sozialer Apps.
Beispiel: News-Beiträge mit
Benutzer-Kommentaren,
Meinungs-Forum.
die.socialisten.at
social network development
31. Social Application Design:
Conversation
Konversationen sind der Pulsschlag eines
sozialen Netzwerks und gestalten
darüberhinaus, wie die eigene, digitale,
Identität in der Community wahrgenommen
wird. Als App-Entwickler können wir
Konversationen in zwei Aspekten fördern und
ermöglichen:
“Zuhören”: in dem wir personalisierten, sozial
relevanten Content & Aktivitäten in den
Communities eines Benutzers zu Tage fördern.
“Sprechen”: in dem wir Engagement an
möglichst vielen Stellen, und möglichst nieder-
schwellig ermöglichen.
Im Idealfall ergibt Zuhören & Sprechen einen
sich selbst verstärkenden Kreislauf (“Feedback
Loop”).
die.socialisten.at
social network development
32. Social Application Design:
Conversation
“Zuhören”: um auf
Konversationen oder
Aktivitäten in unseren
Communities antworten zu
können, müssen wir davon
erst erfahren!
Mit dem News-Feed stellt
Facebook ein mächtiges
Interface zum “Zuhören” zur
Verfügung, welches wir als
Applikations-Entwickler nutzen
können!
die.socialisten.at
social network development
33. Social Application Design:
Conversation
Neu! Der Ticker, ergänzt den News-Feed und ist v.a. für soziale Gesten
(“like”, “checkin”, “listen to”, “watching”, “reading”...) geeignet.
Neu!
die.socialisten.at
social network development
34. Social Application Design:
Conversation
Facebook bietet mit einigen standardisierten
Modulen (Plugins) Beispiele dafür, wie
personalisierter Content einfach angezeigt
werden kann:
Activity Feed: zeigt an, welche soziale
Gesten innerhalb meiner Community in Bezug
auf eine App, Page oder Web-Site gemacht
wurden.
Recommendations: aggregiert
Empfehlungen/Likes innerhalb meiner
Community...
die.socialisten.at
social network development
35. Social Application Design:
Conversation
“Sprechen”: auf Konversationen die wir beim
“Zuhören” entdeckt haben, können wir
reagieren, antworten.
Ja nieder-schwelliger diese Antwort von
statten gehen kann, um so besser kommt die
Feedback-Loop in Gang! Facebook bietet
mittels “Like”-Mechanismen besonders nieder-
schwellige (1-Klick) Antwort-Möglichkeiten!
Tipp: erfolgreiche Social Apps bieten
Benutzern eigene, domänen-spezifische
Response-Möglichkeiten an!
die.socialisten.at
social network development
36. Social Application Design:
Conversation
“Sprechen”: auf Konversationen, auf
die wir beim “Zuhören” aufmerksam
wurden, können wir reagieren in dem
wir antworten und in die Konversation
einsteigen.
Andere Möglichkeiten mit unseren
Communities zu “Sprechen” sind
persönliche Nachrichten,
Kommentare, Umfragen, Live-Chats...
die.socialisten.at
social network development
38. Social Application Design:
Community
Die Communities in denen wir uns im
Rahmen von sozialen Netzwerken
bewegen, vermitteln ihren Mitgliedern
Relevanz, Vertrauen und
Vertrautheit.
Die ursprünglichste Community auf
Facebook sind unsere beidseitig
bestätigten Freunde & Kontakte.
Darüberhinaus nehmen wir an
zahlreichen, teilweise
überschneidenden Sub-Communites
Teil: auf Facebook etwa Groups, Pages
(bzw. deren Fans).
die.socialisten.at
social network development
39. Social Application Design:
Community
Erfolgreiche soziale Apps
berücksichtigen die vorhandenen Infos
über die Community eines speziellen
Benutzers, um ihm Inhalte
maßgeschneidert & personalisiert
anzubieten. Schlüssel zur
Personalisierung ist dabei der Social
Graph eines Benutzers.
Beispiele: Anzeigen, welche Freunde
eine App bereits benutzen, oder bereits
Fan einer Seite sind.
die.socialisten.at
social network development
40. Exkurs: Social Graph
“Social Graph”: ursprünglich das Netzwerk an
Beziehungen, die ein soziales Netzwerk ausmachen.
Knoten = Personen
Kanten = Beziehungen
2011 ist der Social Graph wesentlich komplexer:
Firmen, Organisationen, Interessen, Orte
die.socialisten.at
social network development
43. Zusammenfassung
Was macht Apps “social”?
Identity Conversation Community
Identität bildet sich Zuhören und Communities
durch Benutzer- Sprechen - verstärkt schaffen Relevanz,
Profile und ihre sich im Idealfall in Vertrauen und
Attribute, soziale einer Feedback- Vertrautheit.
Gesten und user- Schleife.
Die meisten Benutzer
generiertem
App-Entwickler von sozialen Netz-
Content.
machen das “Zu- werken sind Mit-
Diese Aspekte hören” einfacher, glieder meherer
können von App- indem sie relevanten Communities:
Entwicklern aufge- (persona-lisierten) Freunde, Pages,
griffen werden, etwa Content vor-filtern & Groups.
durch domänen- zugänglich machen.
App-Entwickler
spezifische Mit nieder-
nutzen den Social
Attribute & Gesten. schwelligen sozialen
Graph zur
Gesten wird die das
Personalisierung von
“Sprechen” gefördert.
Inhalten. die.socialisten.at
social network development