Dojo Offline

Das Dojo Framework schickt sich an, einen weiten Schritt nach vorne zu machen: Brad Neuberg arbeitet an einem neuen Projekt, dass sich das »Dojo Offline Toolkit« nennt und die Lücke zwischen On- und Offline-Applikation schließen soll, vielmehr Online-Applikationen auch offline verfügbar machen soll.

Die Entwicklungszeit ist auf drei Monate angesetzt und wird komplett von SitePen gesponsert. Am Ende soll eine Toolkit aus JS-Framework, Proxy und Installer (zunächst mal für Windows und OS X) herauskommen, mit dem sich Webapplikationen offline fähig machen lassen.

Entwickler Brad Neuberg erklärt das so:

Imagine you are a sales woman, out on the road with your laptop, visiting suppliers and potential customers. Your company has set up a corporate portal that lists potential sales leads, contacts, opportunities, new products, important documents, and more; the information on this portal means the difference between making a big sale that pays the rent this month with its sales commision or working every weekend to make ends meet. What if your corporate portal could download important information into your Dojo Offline cache before hitting the road, so that when that potential customer asks about Widget X you can quickly pull it up in your browser without a network, making the sale?

SitePen Blog

Klingt hervorragend, muss aber natürlich erstmal auch wirklich programmiert werden (das Toolkit und die Anwendungen natürlich auch). Laut Neuberg laufen die Kernkomponenten aber schon als Prototypen, konzeptionell scheint alles ausgearbeitet sein. Das Offline-Toolkit geht jedenfalls über die reine Javascript-Programmierung für den Browser weit hinaus. Um die offline-Zugriffe zu realisieren bspw. wird ein Webproxy benutzt, der auf dem jeweiligen Rechner installiert und konfiguriert werden muss. Insgesamt ein recht ambitioniertes Projekt:

The important pieces of Dojo Offline have already been prototyped and found to work; all that remains is engineering work. An off-the-shelf, open source (GPL), C-based web-proxy will be used, named Polipo, saving months of development time creating a custom HTTP/1.1 proxy. Polipo compiles to only 150K and is portable to Windows, Linux, and Mac OS X; it is the smallest, most-full featured web proxy available. There are a few bugs in Polipo that will be cleaned up for Dojo Offline. The open source NullSoft Install System (NSIS) will be used for the Windows installer, while Linux installation will be through Firefox’s Cross-Platform Installer (XPI) technology; the Mac OS X installer technology has not been determined yet.

SitePen Blog

Schauen wir mal in drei Monaten..

Jetzt geht’s lohos…

Als ich eben meinen Windows-Referenzrechner (ihhh, pfui, bäh) hochfahre meldet der: »Neue Updates verfügbar« und installiert gerade fröhlich IE7 (1.0 für Windows XP). Bin gespannt, wie sich die Zugriffe mit IE7 erhöhen in nächster Zeit…

Get The Answer

Ausrede Nummer 2055, warum es hier immer wieder, trotz aller Anstrengungen, viel ruhiger ist, als ich mir das eigentlich vorstelle: Dojo. Im Auftrag des Herrn („Es sind 15 Meilen bis Chicago, es ist Nacht und wir tragen Sonnenbrillen!“) setze ich mich in den letzten Tagen massiv mit dem JS-Toolkit für Web 5.0 auseinander… und die Lernkurve ist gelinde gesagt: flach.

Das Toolkit ist gewiss der Hammer und je länger man damit rumfummelt, umso leichter fällt es auch (logisch), aber falls man eine Doku sucht, ist man doch recht allein gelassen. D.h. natürlich gibt es eine Doku, naja, ein Wiki, es gibt sogar ein Manual und Ansätze zu einem Buch, und es gibt eine Mailingliste. Aber dieser Wust an Informationen müsste wirklich mal kanalisiert werden. Zumal die Funktionalitäten von Dojo schneller wachsen als man „Pokipsy“ sagen kann:

Revision: 4514
Node Kind: directory
Schedule: normal
Last Changed Author: bill
Last Changed Rev: 4514
Last Changed Date: 2006-06-26 08:27:37 +0200 (Mon, 26 Jun 2006)
Properties Last Updated: 2006-06-23 09:40:53 +0200 (Fri, 23 Jun 2006)

Auf der Suche nach Info und Quellen, stiess ich unlängst auf das Get The Answer-Forum: „Answers for AJAX Programmers and Software Engineerers“. Der Titel ist ja durchaus vielversprechend, zu meinem Erstaunen musste ich jedoch ein komplett leeres Forum vorfinden. Ich mich also direkt angemeldet: endlich mal der Erste sein. *ggg

Also, auch wenn wir Foren als total 90er empfinden (zumindest exklusive, Seitenblick kurz mal hier), dort ist noch massig Platz, Fragen zu stellen, Diskussionen anzuregen und wozu sonst ein Forum gut ist, immer mit dem Blick auf AJAX und den (inzwischen) dazugehörigen Tools, Frameworks und Engines. Ein sehr exklusives Forum zur Zeit, bei sowenigen Mitgliedern…

Wieso nicht standalone?

Emil Stenström veröffentlichte einen offenen Brief an Microsoft und fordert darin, einen Standalone IE7 für Webdeveloper zur Verfügung zu stellen.

Wie das bei den M$ Produkten so ist, sie werden vornehmlich per Windows Update ausgeliefert, und die Browser im speziellen sind bekannt dafür, die Vorgängerversion gnadenlos zu ersetzen. Was den Anwender freut ist ein Kreuz für denjenigen, der darauf angwiesen ist, auf mehreren Browserversionen zu testen. Für ältere Browser als IE6 existieren dafür Lösungen, für IE7 ist das zumindest noch nicht in Sicht.

Stenström präsentiert die möglichen Lösungen und fragt gleich an, welche uns den Microsoft zu empfehlen gedenkt:

  • Get another computer. Für viele Entwickler sicherlich die beste Lösung, meist stehen ja genug Maschinen rum, Linuxserver, MacBook, Windowskiste. Mir selbst fehlt letztere aus religiösen Gründen, jetzt gleich zwei Maschinen einzurichten scheint mir… Blasphemie, ehrlich gesprochen.
  • Install a virtual machine on my current computer. Die Lösung mit der ich zur Zeit arbeite. Naja, so ungefähr. Ein auf Linux laufender IE6 (wine!) hält als Bugtester her, auf der Arbeit ist es eine virtuelle Maschine mit Windows 2000. Nichts destotrotz muss der gemeine Entwickler aber auch hier investieren, in zusätzliche Lizenzen beispielsweise.
  • Drop support for IE6. Schöne Idee… aber irgendwie scheint mir das nicht ganz praktikabel. Man wird sich wohl noch einige Zeit mit IE6 herumschlagen müssen. Roger Johansson schätzt, dass es noch sechs bis sieben Jahre dauern wird, eh die Zahlen des IE6 genug abgesunken sind.
  • Hack IE7 to work standalone. IMHO die beste Lösung, *ggg. Mal vom Geruch der Illegalität abgesehen. Und, mal ganz ehrlich, dann könnte doch auch gleich M$ ein Standalone-Produkt zur Verfügung stellen.

Aber das wird wohl nicht klappen. Nach wie vor behauptet Microsoft ja, der IE ließe sich nur schlecht bis gar nicht vom Betriebssystem trennen. Und umgekehrt. Und vielleicht hat man dorten vor lauter Bugfixing ja auch gar keine Zeit, an die blöden Webdeveloper zu denken, die meckern ja eh‘ immer nur rum, von wegen Standards und so. Man wird das Gefühl nicht los, dass man bei Microsoft immer noch nicht richtig begriffen hat, wie das Netz funktioniert.

Skalierbarkeit

Vor kurzem wurde ich sehr direkt von höherer Stelle gefragt, warum wir unsere aktuelle Applikationen in PHP5 programmieren würden, und ob eine Programmierung in Java nicht eine wesentlich skalierbarere Anwendung zum Ergebnis hätte.

Ich musste zunächst stutzen und mir – ganz ehrlich gesagt – mit ein paar Allgemeinplätzen hinsichtlich bereits geplanter Datenbankoptimierungen, möglicher Cachemechanismen und Hardwarekosten für gleichwertige Javaapplikationen (nebst Datenbankserver(n)) weiterhelfen. Das hat zwar zunächst funktioniert, hinterließ bei mir jedoch das schlechte Gefühl, uninformiert geurteilt zu haben, einfach beeinflusst durch meine persönliche Vorliebe für die freundliche Skriptsprache.

Ich habe mir also zu dem Thema über Ostern einiges angelesen, und komme letztendlich zu dem glücklichen Schluss, das meine Aussagen zwar sehr allgemein gehalten waren, im großen und ganzen jedoch, speziell für die von uns angestrebte Anwendung jedenfalls, den Nagel auf den Kopf getroffen hat. Neben vielen sinnlosen Flames habe ich doch einige gute Argumente für PHP sammeln können, sogar einige gegen Java. Geradezu erfrischend räumt bspw. Brian Fioca in Digg PHP’s Scalability and Performance mit den allgemeinen Vorurteilen gegenüber PHP auf und gibt zudem gute Hinweise wie man PHP-Applikationen skalierbar machen und halten kann. In meiner eigenen Bibliothek fanden sich dazu auch sehr gute Hinweise in Georg Schlossnagles Advanced PHP Programming.

Fassen wir einmal zusammen: mögliche Schwierigkeiten entstehen eher in Zusammenhang mit der Anspache und Nutzung der Datenbanken, sowie einer oft mangelhaften Konfiguration der Seitenauslieferung, nicht jedoch in der Spache PHP selber (also im Compiling und Includieren von Klassen bspw.). Für die allermeisten dieser Probleme gibt es eine Fülle von fertigen Lösungen, die, neben einer sauberen Programmierung, leicht einsetzbar sind. Apropos saubere Programmierung… in diesem Zusammenhang wird immer wieder als Möglichkeit zur Verbesserung der SQL-Queries angegeben, man müsse ja nicht SELECT *... schreiben, sondern es wäre gesünder einzelene Spalten zu matchen. Hallo? Wer fröhlich zehn Mal hintereinander auf * selektiert, der sollte sich vielleicht gar nicht an große Anwendungen herantrauen. 😉

Abschließend aber nocheinmal Brian Fioca dazu:

It turns out that it really is fast and cheap to develop applications in PHP. Most scaling and performance challenges are almost always related to the data layer, and are common across all language platforms. Even as a self-proclaimed PHP evangelist, I was very startled to find out that all of the theories I was subscribing to were true. There is simply no truth to the idea that Java is better than scripting languages at writing scalable web applications. I won’t go as far as to say that PHP is better than Java, because it is never that simple. However it just isn’t true to say that PHP doesn’t scale, and with the rise of Web 2.0, sites like Digg, Flickr, and even Jobby are proving that large scale applications can be rapidly built and maintained on-the-cheap, by one or two developers.

Hab ich ja immer gesagt. 😉

We’re hiring :)

Falls jemand gerade auf Jobsuche ist: Zeit online sucht eine(n) fähige(n) PHP-Programmierer(in).

Unser Entwicklungsteam sucht zur Verstärkung auf Zeit jemanden, der mit PHP5 und SQL umzugehen weiß. Wir arbeiten an einer größeren Anwendung, die PHP5 und Postgres nutzt, die Ausgabe läuft über XSLT und es wird mit einem XML/RDF-basierten Contentstorage und -managementsystem zusammengearbeitet. Im weiteren Umfeld lauern Zope, Python und manchmal auch Perl.

Die Technikabteilung von Zeit Online arbeitet eng mit allen Abteilungen im Hause zusammen, besonders natürlich mit den Kollegen von der Online-Redaktion, gut ausgeprägte social skills die einen befähigen auch mal einem Nicht-Techniker komplizierte Abläufe näher zu bringen und im Team zu arbeiten, sind also unbedingt mitzubringen.

Von uns aus kann’s eigentlich direkt losgehen, von daher schnell bewerben! Genauere Informationen gibt es bei Peter Buhr.

Versionen

Schon ein wenig nerdig, aber durchaus nicht uninteressant: Andy Roberts startet »the delta web«, ein Projekt, an dessen Ende ein XML-Dialekt herauskommen soll, der die Veränderungen von Dokumenten im Web beschreibt.

The motivation for delta is that there’s no simple way to describe how things change on the Web. I know that’s sort of a generalization. However, people create documents and publish them to URI’s, and then, when they change these documents, they usually just overwrite the originals, or create new versions with new URI’s. To see what’s changed, others have to compare versions to find “diffs”, or else look for time stamps within documents to get hints on when individual entities were added or removed.

Andy Roberts

Aus der del.icio.us-Inbox via Jon Udell’s Links

Gehe in Frieden… aber geh!

In accordance with published support lifecycle policies, Microsoft will end support for Internet Explorer for Mac on December 31st, 2005, and will provide no further security or performance updates.

Additionally, as of January 31st, 2006, Internet Explorer for the Mac will no longer be available for download from Mactopia. It is recommended that Macintosh users migrate to more recent web browsing technologies such as Apple’s Safari.

microsoft.com: Internet Explorer 5 for Mac

Firefoxing updates

OK, inzwischen haben wir nun alle mindestens auf Version 1.5 upgedatet, sicherlich auch trotzdem ich es zum ersten Male komplett verschlafen habe, ein Major-Release an dieser Stelle anzukündigen. Schnüff. Problematisch für viele frisch upgedatete Feuerfüchse sind allerdings die fehlenden, weil noch nicht für 1.5 zur Verfügung gestellten Extensions. Wer sich nicht scheut, auf Umwegen nicht versionskompatible Plugins zu installieren, der findet bei Scattered eine Anleitung, wie man Firefox 1.5 mit veralteten Extensions zum Laufen bekommt… oder eben umgekehrt.

Spreadfirefox ist ja nun auch wieder online und das ganz in weihnachtlichem Glanze. Dort findet man auch diesen Link zu weihnachtlichen Bannern und Desktopbildern, natürlich ganz im Zeichen des kleinen roten Pandas.

Für Firefox gibt es übrigens viele schöne Themes zum Download, die Nachricht ist: wer auf das (hüstel) Design von Opera steht, der kann nun auch den Firefox jetzt so aussehen lassen. Wer’s braucht.

Und zwei aktuelle bzw. aktualisierte Extensions hab ich noch schnell installiert: GooglePreview un CuteMenus – Crystal SVG. Erstere versieht Google-Suchseiten mit Screenshots der Webseiten, Artikelbildern von Amazon und Aktienprofilen, letztere verschönert alle Menüs des Firefox mit freundlichen Crystal SVG Icons.