Drei Userstories zum Thema Webapp und WordPress 5.x

Zufällig las ich in MeWe diesen Beitrag zu react Komponenten und Gutenberg:

Sharing React Components With Gutenberg

Der Schreiber verheiratet modernste Webtechnologie mit dem guten, alten WordPress. Für mich war das ein Grund einmal nachzuforschen, wie es mit meinem Lieblingsthema, den progressiven web Apps, und der Beziehung zu WordPress, meiner neuen Blogging Plattform, steht. Ich hatte dort schon push notifications eingebaut. Andere Entwickler beschäftigen sich selbstverständlich auch mit solchen Ideen.

Nach einer Mitteilung in WordPress core Forum ist revolutionäres geplant. WordPress Blogs sollen zu richtigen web Apps werden können. Damit unterschiedliche Plugins und Themes sich ihr service worker Javascript nicht überschreiben, entwickeln sie einen Standard. Das soll dann ähnlich wie bei den Widgets mit einem Registriermechanismus funktionieren.

Diese Entwicklungen werden von Google angetrieben.  Weil mit diesen Techniken die Webseiten schneller laden, bekommen diese eine höhere Sichtbarkeit. Das ist immer gut!

Was bringt das einem Blogger noch?

Ich habe mir drei Userstories überlegt:

  1. Freizeitblogger und seine Leser
  2. Produktblogger, die bloggen um zu verkaufen
  3. Patientenblogger, die nur für ihre Ärzte bloggen

„Drei Userstories zum Thema Webapp und WordPress 5.x“ weiterlesen

Agile Softwareentwicklung für Startups – Scheitern ist alles

Startups scheitern im Normalfall. Die Idee, die eben noch reiche Ernte versprach, funktioniert aus irgendwelchen Gründen nicht. Mein allererstes Projekt scheiterte bei der Hannovermesse 1984, weil IBM die Schnittstelle zur mittleren Datentechnik (lu 2.16) erst ab 1985 ausliefern wollte. Die Arbeit wurde dann vom Bundesministerium für Forschung und Technologie weiter gefördert.

Ein Startup ohne große Eltern kann auf solch einen Ausweg nicht bauen. Deswegen sollte man die Ursachen des nahezu unausweichlichen Scheiterns so früh wie möglich finden. Ich sage hier wirklich Scheitern, weil es weh tun muss, damit etwas gelernt wird. Damit es weh tut, müssen alle Beteiligten zunächst an den Erfolg bei der Entwicklung des nächsten Iterationsschritts glauben und, soweit als möglich, investieren.

Leider schreib sich das Besser als es mit Gründern und ihren Ideen läuft. Diese träumen lieber und stellen sich vor, ihr Vorhaben wäre fertig. Je exakter die Vorstellung ist, umso schwieriger wird das Scheitern. Deswegen werden dann zunächst risikolose Aktivitäten durchgeführt, damit ja nicht gescheitert wird.

Mittlerweile habe ich drei Anfragen von Startups in diesem Jahr bekommen. Die erste scheiterte nach drei Monaten. „Agile Softwareentwicklung für Startups – Scheitern ist alles“ weiterlesen

Poor Man Push III – Python fügt alles zusammen

Die push Nachrichten verschickt der arme Mann mit einem kleinen Programm auf seinem Rechner. Als Betreiber eines kleinen Blogs freut er sich über eine dreistellige Zahl von Lesern, die mit einer push Nachricht auf neue Blogbeiträge hingewiesen werden wollen. Mit einem kleinen Pythonskript kann er push Nachrichten verschicken, die seine Leser informieren, dass ein neuer Bericht erschienen ist. Er kann sicher sein, dass keine weiteren Daten seiner Leser abgegriffen werden, wie ich das schon beschrieben habe.

An dieser Stelle beschreibe ich dieses Python Skript und wie aus dem letzten Teil sich das Ganze wieder zusammenfügt. Bisher hatte ich nur Front- und Backend getrennt betrachtet. Wenn alles zusammenkommt, hakt es an manchen Stellen noch ein wenig. Das war bisher bei jedem Projekt so.

„Poor Man Push III – Python fügt alles zusammen“ weiterlesen

push client als Trojaner

Obwohl der Client bei der Registrierung angab, alle Push Nachrichten dem Anwender anzuzeigen, braucht er das gar nicht zu machen! Es gibt, zumindest beim Chrome Browser, keine Instanz, die die Einhaltung dieses Versprechens prüft. Das liest sich harmlos. Was soll passieren, wenn der service worker eine Nachricht unterschlägt?

Ich baute das einfache Beispiel unter https://www.gawehns.de/pwa aus. Nun kann ich per Push Nachrichten Befehle senden.

„push client als Trojaner“ weiterlesen

push Nachrichten und ihre Verschlüsselung

Die Service Worker können auch Nachrichten entgegennehmen, wenn die zugehörige Webseite gar nicht offen ist. Das wollte ich als Nächstes ausprobieren. Der Anfang deutete schon an, dass das nicht die ganz einfache Sache war.

Zunächst wollte ich die Notification Funktion einbauen. Damit kann eine Webseite Nachrichten außerhalb des Browsers anzeigen. Anstelle eines Alerts wird eine Nachricht angezeigt. Für den Anfang schien das ein allererster Schritt, der dann Mut macht weiter zu gehen.

Auf dem localhost tippte ich die Javascript Befehle in das index.html. Nach Speichern und Laden staunte ich nicht schlecht über die Weigerung des Browsers. Er ignorierte die Befehle. Ich sah keine „Die Webseite möchten Ihnen Nachrichten schicken“ Mitteilung.

Sollte hier https erforderlich sein? Das sollte wohl doch so schwer nicht sein. Die beim Stackexchange gefundene Anleitung las sich gut. Ich brauchte Zertifikate, damit eine sichere Verbindung aufgebaut werden kann. Das konnte ich alles mit copy&paste erzeugen lassen. Mein Apache ließ sich auch um die nötigen Plugins erweitern, aber Chrome, mein Browser, prüfte die Zertifikate und lehnte sie ab. Sie seien nicht sicher genug sagte er.

Das traf mich dann doch sehr. Vielleicht lag es gar nicht an das https? Geschwind probierte ich die Befehle direkt auf https://www.gawehns.de/pwa aus. Ich wurde gefragt, ob die gawehns.de mir Neuigkeiten schicken durfte. Ich war erleichtert.

Schnell baute ich eine Hallo Welt Anzeige ein und wunderte mich, dass diese nicht zu sehen war. Im Document Root war die richtige Version, den Browsercache hatte ich geleert, aber trotzdem war im Browser die alte Anzeige. Die http Variante zeigte die geänderte Version. Bei https war die alte. Was tun?

Ich chattete mit Julia vom one.com Support. Sie sah bei http und https die gleiche Version. Ihre Frage, ob ich den Browsercache geleert hätte, nervte. Dann aber wies sie mich auf den „Varnish Cache“ hin. Ich sollte diesen ausschalten. So lernte ich, dass der Server noch einen Cache hat, in dem auch statische Daten gecacht werden. Ob das so sinnvoll ist?

Ich las den Hinweis, setze ihn um und freute mich über wenigstens diesen Erfolg. Dann machte ich mit meinen Erkundungen bzgl. der Notifications weiter. Ich lernte so einiges über Kryptographie, Schlüssel und Libs, die man dann einbauen muss, wenn man das kann.

„push Nachrichten und ihre Verschlüsselung“ weiterlesen

Wann laufen die service worker in meinem Browser?

Ich wollte etwas über progressive web apps mit service workern schreiben. Diese service workern stellen Webseiten auch offline zur Verfügung. Seit April 2018 macht hier der MacOS Safari mit. Sie arbeiten im Verborgenen. Nur per Debugger können Sie sie sehen. Im Chrome Browser erreichen Sie den Debugger über das Menü „more Tools/developer tools“. Wenn Sie im Tab application den Eintrag „service worker from other domains“ aufklappen, Sie die Domains, die bei einem Besuch ihre service woker installiert haben. Ich staunte nicht schlecht. Es gab schon eine Menge an Webseiten, die so etwas gemacht haben.

Gefragt werden Sie nicht, ob Sie diese in Ihrem Browser haben wollen. Bei Cookies ist das anders. Obwohl Cookies nur Datenpakete sind und nur durch Software, die auf anderen System läuft, gefährlich werden können. Aber diese Javascript Sachen sind Programme und könnten durchaus auch schädlich sein. In jedem Fall sollte diese Software nur ausgeführt werden, wenn auch die zugehörige Webseite wird. Falls dann ein unbedarfter Softwerker Mist programmiert hat, leiden eben die Webseiten des zugehörigen Domains.

Ich wollte sicher gehen und ein einfaches Lehrbuchbeispiel um log Einträge erweitern, damit jeder den Javascript Code bei der Ausführung beobachten kann.

„Wann laufen die service worker in meinem Browser?“ weiterlesen