<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2005/Atom">
  <title>Viele Köche: AJAX und die Realitäten mobilen Arbeitens</title>
  <subtitle type="html">verfärben das Ei</subtitle>
  <id>tag:www.viele-koeche.org,2005:Typo</id>
  <generator version="4.0" uri="http://typo.leetsoft.com">Typo</generator>
  <link href="http://www.viele-koeche.org/xml/atom10/article/43/feed.xml" rel="self" type="application/xml+atom"/>
  <link href="http://www.viele-koeche.org/articles/2006/03/07/ajax-und-die-realit%C3%A4ten-mobilen-arbeitens" rel="alternate" type="text/html"/>
  <updated>2007-01-28T22:32:10+00:00</updated>
  <entry>
    <author>
      <name>cabo</name>
    </author>
    <id>urn:uuid:5bdca3eb-e154-4ced-a8c3-77615dd76a69</id>
    <published>2006-03-07T18:51:00+00:00</published>
    <updated>2007-01-28T22:32:10+00:00</updated>
    <title>AJAX und die Realitäten mobilen Arbeitens</title>
    <link href="http://www.viele-koeche.org/articles/2006/03/07/ajax-und-die-realit%C3%A4ten-mobilen-arbeitens" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Erinnert sich noch jemand an &lt;em&gt;Timesharing&lt;/em&gt;?
Ein Zentralrechner dient vielen Terminals als gemeinsame Ressource.
Eine Vorbedingung für Timesharing war eine Datenleitung zwischen Terminal und Zentralrechner — lokal oder entfernt (die gute alte „Datenfernübertragung“, die in Microsofts „DFÜ-Verbindungen“ weiterlebt).&lt;/p&gt;

&lt;p&gt;Der Personal Computer war dann die neue Idee, jedem Menschen einen persönlichen Computer zu geben, um die Abhängigkeit von schwerfälligen Zentralrechnern loszuwerden.
Der PC wurde in den 1980ern tragbar, so daß man seine persönliche Infrastruktur bald überall hin mitnehmen konnte (vom Koffer-Computer „Compaq“ bis hin zum modernen &lt;em&gt;Notebook Computer&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Recht schnell wurde dann jedoch klar, daß ein einzelner Rechner (genauer: ein einzelner Mensch an diesem Rechner) nicht viel ausrichten kann.  Netze mußten her, um die PCs auch noch mit nützlichen Funktionen zur Kommunikation und zum gemeinsamen Arbeiten auszustatten.&lt;/p&gt;

&lt;p&gt;Das Internet hat diese Rangordnung inzwischen nahezu umgekehrt: Der Computer ist heute in vielen Fällen vor allem Zugangswerkzeug zum Netz und zur Kommunikation mit anderen (Menschen und den von ihnen gemeinsam benutzten Systemen), erst in zweiter Linie persönlicher Rechner mit eigenen Funktionen.  AJAX ist ein Vehikel, um dieses Primat der Kommunikation und Kollaboration über die isolierte Eigenarbeit („personal productivity“) auch auf klassische PC-Anwendungen wie Textverarbeitung, Kalkulation und Präsentationsentwicklung auszudehnen — das &lt;a href="http://www.viele-koeche.org/articles/2005/12/19/web-2-0-findet-statt" title="Web 2.0 findet statt!"&gt;Web als Plattform&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Das Problem&lt;/h2&gt;

&lt;p&gt;Aber wie arbeiten wir heute?
In vielen Bereichen ist das Büro, dessen Desktop-Anwendungen AJAX ersetzen will, gar nicht mehr primärer Arbeitsort.  (Es mag nicht jedem so gehen, aber mein persönliches Büro ist praktisch identisch mit meinem Laptop.)&lt;/p&gt;

&lt;p&gt;Dieser Artikel ist in einem Flughafen entstanden, in dem Internet-Konnektivität zwar ausreichend besteht, aber durch bestimmte Marktentwicklungen künstlich um Größenordnungen verteuert ist.
Die Benutzung einer Web-Anwendung wäre in diesem Kontext prohibitiv teuer.  Will ich im Flugzeug weiterarbeiten, wird Konnektivität (außer in wenigen Flugzeugen z.B. der Lufthansa) ganz unmöglich.  Im Zug (ICE) kann man zwar über GPRS (2.5G/3G) Basis-Konnektivität erlangen, diese bricht beim heutigen Stand der Mobilnetze unterwegs aber immer wieder zusammen.
(Fertig getippt habe ich den Artikel auf &lt;a href="http://conferences.oreillynet.com/etech" title="O'Reilly Emerging Technology Conference - March 6-9, 2006 - San Diego, CA"&gt;einer Konferenz&lt;/a&gt; mit einem Konferenznetz, das unter der Last der vielen Teilnehmer immer wieder zusammenbricht.)&lt;/p&gt;

&lt;p&gt;Von der Vision „Always on, always connected“ sind wir aus vielerlei Gründen (nicht alle davon technisch) &lt;a href="http://www.drive-thru-internet.org/" title="Drive-thru Internet"&gt;weit entfernt&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Intel hat für ein paar Jahren versucht, einen Begriff für diese Arbeitsform zu prägen: &lt;a href="http://www.devx.com/Intel/Article/16081" title="Occasionally Connected Computing: The Developer's New Challenge"&gt;Occasionally Connected Computing&lt;/a&gt;, so als sei man nur gelegentlich am Netz.
Verständlich, wollen sie doch eine leistungsstarke Plattform verkaufen, die eben auch ohne Web viele Anwendungen möglich macht.&lt;/p&gt;

&lt;p&gt;Eine realistischere Beschreibung wäre &lt;strong&gt;„Frequently Connected Computing“&lt;/strong&gt; (die Abkürzungskollision mit der amerikanischen Kommunikationsbehörde FCC nehme ich hier bewußt — und auch etwas ironisch meinend — in Kauf).&lt;/p&gt;

&lt;h2&gt;Was ist zu tun?&lt;/h2&gt;

&lt;p&gt;Wie muß eine AJAX-Umgebung beschaffen sein, die auch unter FCC-Bedingungen funktioniert?&lt;/p&gt;

&lt;p&gt;Es ist klar, daß neue Seiten nur angefordert werden können, solange
Konnektivität zum Server besteht.  Eine FCC-kompatible Web-Anwendung
wird sich also eher länger auf einer Seite aufhalten (geht also in
Richtung &lt;a href="http://en.wikipedia.org/wiki/Single_Page_Application" title="Single Page Application - Wikipedia, the free encyclopedia"&gt;Single-Page Application&lt;/a&gt;, aber eben mit AJAX) — Kartenreiter und ähnliche
UI-Techniken können dazu beitragen, daß die Übersicht erhalten bleibt.&lt;/p&gt;

&lt;p&gt;Eine andere Frage ist, wie die Anwendung mit Eingaben des Benutzers umgeht.
Was ganz bestimmt nicht passieren sollte, sind Fehlermeldungen der Form:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; Es gab ein Problem mit dem Netz -- Ihre Eingaben sind jetzt weg
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(oder gar Datenverlust ohne jede Fehlermeldung!).&lt;/p&gt;

&lt;p&gt;Es geht also darum, Eingaben des Benutzers auch dann aufzubewahren, wenn der erste Versuch, sie über AJAX an den Server zu übertragen, fehlschlägt.&lt;/p&gt;

&lt;h2&gt;PANIC-Mode&lt;/h2&gt;

&lt;p&gt;Es gibt verschiedene Möglichkeiten, mit durch Netzprobleme fehlgeschlagenen Server-Updates umzugehen.
Mein Ansatz basiert darauf, Updates im Browser persistent zu speichern, bis der Server bestätigt, daß sie erfolgreich integriert worden sind.
Da im Web2.0-Umfeld Abkürzungen ganz wichtig zu sein scheinen, habe ich gleich mal ein Akronym defür definiert:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; P ersistency for
 A JAX in
 N etworks with
 I ntermittent
 C onnectivity.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://conferences.oreillynet.com/cs/et2006/view/e_sess/7767" title="Panic-mode: A Disconnection-tolerant AJAX Library"&gt;Mehr zu panic-mode&lt;/a&gt; am Donnerstag auf der &lt;a href="http://conferences.oreillynet.com/etech" title="O'Reilly Emerging Technology Conference - March 6-9, 2006 - San Diego, CA"&gt;Emerging Technology-Konferenz&lt;/a&gt; von O&amp;#8217;Reilly.&lt;/p&gt;</content>
  </entry>
</feed>

