9.05.10

Das Web verstehen: Eine etwas späte Nachbetrachtung

Schon etwas länger existiert dieser exzellente Essay von Ben Ward. Ob seiner mittlerweile schon einwöchigen Existenz und ob der besagten Exzellenz des Artikels, werden ihn wohl schon alle gelesen haben. Trotzdem greife ich die Punkte auch so spät noch einmal auf, denn beim Lesen kamen mir einige Gedanken, die ich kurz anmerken möchte.


Die Kernaussage des Essays ist: Software darf sich nur dann „Webapplikation“ nennen, wenn sie die Kernfunktion des Webs (sprich: Verlinkungen) nicht missachtet. Software, die zwar in HTML, CSS und JavaScript geschrieben ist, deren Inhalte sich aber nicht direkt verlinken lassen, baut zwar auf Webstandards auf, ist aber keine Webanwendung.

Want to know if your ‘HTML application’ is part of the web? Link me into it. Not just link me to it; link me into it. Not just to the black-box frontpage. Link me to a piece of content. Show me that it can be crawled, show me that we can draw strands of silk between the resources presented in your app. That is the web: The beautiful interconnection of navigable content. If your website locks content away in a container, outside the reach of hyperlinks, you’re not building any kind of ‘web’ app. You’re doing something else.

Ich frage mich schon lange, wie genau die Strategie hinter dem Android OS von Google aussieht. Denn eigentlich sind doch Webanwendungen – oder hier besser noch: Anwendungen in HTML, CSS & JS – die Richtung, in die sich Google seit Jahren fortbewegt, siehe Chrome OS. Android hat aber wie das iPhone einen eigenen Appstore für native Applikationen. No Web here.

Auf die Frage nach Googles Strategie hinter Android antwortete mir einmal jemand: „Android ist nur das Testgelände“. Ich war danach eher enttäuscht als zufrieden gestellt, was wahrscheinlich daran lag, dass ich die Antwort schlicht nicht verstanden habe. Nachdem ich die oben zitierten Zeilen des Essays las, wurde mir die Antwort verständlicher. Das, was Ben Ward dort beschreibt, sind nicht nur Webapplikationen, wie sie sein sollten, es ist das Activity Chaining des Android OS.

An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View).

Diese Activities sind in Android wie in einer Kette miteinander verknüpft. Ich kann von einer App in eine bestimmte Activity einer völlig anderen App springen, mich von dort aus die Kette hinauf hangeln, zurück gehen, wieder auf eine andere Kette hüpfen. Innerhalb einer Activity kann man zwar durchaus mehrere verschiedene Parameter angeben, insgesamt bildet jedoch jede Activity eine in sich geschlossene Kapsel, die genau eine Aufgabe erfüllt. Android bildet als Umgebung für native Apps den Prototypen des Zusammenspiels zukünftiger Webapplikationen. Deshalb also „Testgelände“, denn im tatsächlichen Web sieht man ein derartiges Zusammenspiel nur sehr selten.

Das beste Beispiel wäre noch Twitter. Jede beliebige Website kann per OAauth bei Twitter anfragen, ob auf bestimmte Funktionen zugegriffen werden darf. Der Benutzer befindet sich also zum Beispiel gerade inmitten eines Wizards irgend einer Webanwendung, diese möchte auf Twitter zugreifen und leitet deshalb auf die entsprechende Seite bei Twitter weiter. Auf dieser genehmige ich kurz den Zugriff und werde zurück in den Wizard geleitet. Et voilà, das Activity Chaining des Android OS im Web.

Kommentare [2]

Tim Baumann am 10.05.2010 um 16:48

Die „Links“ in Android sind sogar mächtiger als die Links im Web. Anstatt den User zu einer bestimmten Karten-Applikation zu verweisen, kann der Android-Entwickler einen sogenannten Intent formulieren. Der Benutzer kann sodann ein Karten-Programm auswählen und auch sein Standard-Programm auswählen. Ich fände es schön, wenn es diese Art von Links auch im Web gäbe.

Markus am 10.05.2010 um 20:35

Ich vermute mal: Google’s working on that ;)

Kommentar verfassen

Textile-Hilfe

  • *stark*
  • _betont_
  • "Link":http://url.com/
  • bq. Zitatkasten
  • bc. Code-Block
Der Kommentar kann erst abgeschickt werden, wenn man mindestens einmal die Vorschaufunktion aktiviert hat.

Flattr

Blogrolle

Podroll

Soziale Netzwerke

Twitroll

PromoteJS

JS String .toUpperCase