Dienstag, 1. Dezember 2009
Neue Technologien für bessere Websites
http://memonic.com/user/dorian
Remix the Web
Einfach zugängliche Daten:
- Karten
- Fotos
- Events
- News
- Produkte
- Suche
… jedwelche Daten
Beispiel Swisstrains.ch mit Live-Visualisierung von aktuellen Zugsinformationen gemäss Fahrplandaten.
"Fluid Information": Mash-Ups, z.B. für einen Schweinegrippe-Tracker mit graphischer Visualisierung.
Zu einem erfolgreichen Remix gehören:
- Zugang zu Daten
- SOA (Service-oriented Architecture) hilft
- Offene und dokumentierte API
- Gescheites Modell für den Gebrauch der API
Nur Daten hinauszustellen reicht nicht.
- Was darf die Drittpartei mit den Daten machen
- Beispiel SBB: Freigeben des Fahrplans macht Sinn, die restriktive Datenpolitik der SBB ist kontraproduktiv: das eigentliche Geschäft ist der Ticketverkauf.
- Beispiel Google: Offene API; aber ab bestimmtem Erfolg kann Werbung eingeblendet werden.
Wie sind eigene Applikationen auszurichten?
- Service encapsulation: Die Services müssen für sich stehen können.
- Service loose coupling -- Kaum (besser: keine) gegenseitigen Abhängigkeiten
- Service contract -- Gemeinsamer Kommunikationsstandard
- Service abstraction -- Logik wird gegenüber “aussen” versteckt
- Service reusability -- Einzelne kleine Dienste die wiederverwendet werden können
- Service composability -- Dienste können automatisch gebaut werden
- Service autonomy -- Jeder Dienst tut genau Etwas gut
- Service discoverability -- Die Dienste werden zugänglich gemacht
Links
http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)
http://www.programmableweb.com/mashups
http://en.wikipedia.org/wiki/Service-oriented_architecture
Social Graphs
Dorian verfügt über zahlreiche Online-Identitäten bei Twitter, Facebook, etc.
Online-Identität entspricht Online-Reputation: Die neue Kommunikation verschiebt sich von interpersonal zu Massenkommunikation one-to-many.
Soziale Netzwerke: Definition (eines Hypes über etwas nichts Neues)
Erstellen eines öffentlichen oder semi-öffentlichen Profils.
Benennen von und verbinden mit andern Nutzern mit denen mich etwas verbindet.
Einsehen können der Verbindungen von andern Nutzern.
Die Studie 6th-Degree belegte bereits 1997, dass alle Menschen einen beliebigen andern über 6 Verbindungen kennen. Die heutigen Social Media Plattformen basieren auf diesem Konzept: Xing, LinkedIn, Twitter, etc. Zusätzlich lassen sich Botschaften im Nu über diese Kanäle publizieren.
Die neue Site von memonic wurde bewusst nur über Twitter publiziert. Am gleichen Morgen gab es bereits 200 Tweets über die Site, eine Woche später gab es weltweit Einträge in Blogs, u.a. in Korea. Der Inhalt der Blogs ist nicht mehr kontrollierbar, die Publikationen von Mitarbeitern von grösseren Firmen ist auch nicht kontrollierbar. Eine mögliche Gegenstrategie ist eigenes Engagement in denselben Medien. So können Gegenmeinungen zu bereits publizierten Inhalten kommuniziert werden (Beispiel "Domino Pizza"). Buzzient ist ein entsprechendes Tool, um die eigene Online-Reputation zu monitoren. Apple hat beispielsweise eine viel höhere Repution (Share of Voice) als alle andern PC Hersteller.
Fazit Social Graph & Friend Feeding
Das soziale Web ist auch für Firmen relevant.
Es braucht ein Umdenken: Zentrale PR Abteilungen werden dezentralisiert, z.B. RailService über die SBB in Twitter oder Migros/IceTea in Facebook.
Unbedingt Beiträge über die eigene Firma überwachen, z.B. mit Buzzient.
Die Vorteile überwiegen die Nachteile\!
Links
Realtime Web
http://de.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
Observation
Rich Browsers
Die Zeit am Rechner wird im Browser und nicht mehr auf dem Desktop verbracht. "Boxed Software" verschwindet.
Definition eines modernen Browsers
- Consistant and transparent W3C Web Page rendering
- Intuitive and responsive user Interface
- Beginning support for advanced HTML 5 and CSS3
- Fast Javascript Performance
Jedem Browser seine eigene Layout-Engine
- Trident: Internet Explorer (Microsoft)
- Gecko: Firefox, et al. (Mozilla)
- Presto: Opera Browser (Opera)
- KHTML: Konqueror
- WebKit: Safari (Apple), Nokia & Google Chrome
Fazit: Rich Browsers
- Hin und Her zwischen Client und Server bei der Aufteilung der Logik
- Damals: VT400 (Logik auf Serverseite)
- Später: PC (Logik auf Clientseite)
- Web 1.0: Logik auf Serverseite
- Web 2.0: Logik geteilt zwischen Server und Client
- Web 3.0: ?
Wie weiter?
- Browser(IN-)kompatibilitäten verursachen Schwiergkeiten
- Ausrichtung der eigenen Applikationen auf Rich Browsers
Links
http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML) http://en.wikipedia.org/wiki/Rich_Internet_application
http://code.google.com/p/richbrowser/
http://code.google.com/intl/en/apis/o3d/
Skalierbare Infrastruktur
Bei Stromausfällen reichen die Notstromaggregate meist für ca. 30 Minuten. Meist wird in den Serverräumen die Klimaanlage ausgeschaltet. Dies kann zu Überhitzung der Server und massiven Ausfällen führen.
Bei Memonic wurde die Applikation in verschiedene Layer unterteilt. Die verschiedenen Komponenten erledigen "nur" eine Aufgabe gut, diese aber stabil und ausfallsicher.
Shared Nothing Architecture
- Mit der Hardware skalieren
- RESTful
- Vorteile von HTTP ausnützen
Automatisierung der Abläufe
- Kontinuierliches Building/testing von Software Projects
- Hudson provides an easy-to-use so-called 'continuous integration' system, making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build.
- Monitoring von Drittjobs (z.B. Cron Jobs)
- Hudson keeps those outputs and makes it easy for you to notice when something is wrong.
- Testing
Cloud Computing
Cloud Computing = Network-Mounted-Computer (hat's immer schon gegeben).
- Bezug von Storage, Database, Messaging, Processing aus der „Cloud“
- Amazon als Vorreiter
- Heute eine Vielzahl von Anbieteren
- De-facto Standardisierung je rund um Amazon (Sun, Rackspace, etc.) und Google
- Virtualisierung von fast allem
- Kaum eigene Infrastruktur, “Pay-As-You-Go”
- Content-Delivery-Networks (CDN) und Dynamic Loadbalancing ermöglichen genaue Steuerung auch von Nachfragespitzen
- Gebrauch von „Fertiglösungen“; Andere lösen unsere Probleme (Server Setup, Maintenance, etc.)
- Die eigenen Dienste nahe beim Kunden anbeiten
Bei Memonic wurde für Server kein Upfront-Investment mehr getätigt ausser einen kleinen Dell-Server für ein paar Tausend Franken. Die Pay-as-you-go Kosten sind signifikant tiefer für ein Start-Up. Im Erfolgsfall sourced man die Infrastruktur ein oder verhandelt über neue Gebühren im Pay-as-you-go-Modell.
Fazit skalierbare Infrastruktur
- Nächste Etappe im Bau von Web-Applikationen
- Klare (massive) Kostenvorteile
- Noch in einer frühen Phase: In Teilen noch nicht „industriereif“ aber jetzt ist der Einstiegszeitpunkt
- Wiederholung der Motorisierung der Wirtschaft:
- Damals: Jede Fabrik ihre eigene zentrale Dampfturbine
- Heute: Motoren direkt dort wo kinetische Energie gebraucht wird, gemeinsame Elektrizitätsversorgung
Links
Shared Nothing Architecture
http://en.wikipedia.org/wiki/Shared_nothing_architecture http://de.wikipedia.org/wiki/Representational_State_Transfer http://startwerk.ch/2009/08/11/bauanleitung-fuer-ein-startup-share-nothing-architecture/
Automation
http://reductivelabs.com/products/puppet
http://www.atlassian.com/software/bamboo
Virtualization / Cloud Computing
http://de.wikipedia.org/wiki/Cloud_Computing
http://de.wikipedia.org/wiki/Content_Distribution_Network
http://www.sun.com/solutions/cloudcomputing/index.jsp