Freitag, 18. April 2014

Adieu Wordpress

Nach Jahren der treuen Nutzung von Wordpress für Blogs und kleinere Webseiten für eigene Projekte oder die von Freunden verabschiede ich mich von Wordpress.

Die ständige Updaterei ist nervtötend. Ich will nicht all zwei Wochen ein System pflegen in das ich maximal in der gleichen Frequenz etwas poste - das ist lame!

Von daher nun eine logische Konsequenz: Mein privates Blog und mein Spieleblog wird ab sofort bei Google gehostet und meine Firmenpräsenz der Screenion GmbH wurde ein One-Pager ohne CMS.

Das erhebt einen zwar nicht von der Pflicht nicht völlig die Augen zu zumachen, was seine Inhalte im Web tun, aber es ist deutlich bequemer.

Montag, 16. September 2013

Minutenmorde.de - Kurze Krimis für Zwischendurch

Hinter dieser - auf den ersten Blick etwas eigentümlichen Domain - verbirgt sich mein neuestes Projekt, mit dem ich gemeinsam mit dem Dryas Verlag, meiner Gründerlust nachgehe.

Minutenmorde.de ist ein Shop für Krimi-Kurzgeschichten, aber gleichzeitig auch ein virtueller Verlag. Autoren schreiben auf der Plattform, eine Jury wählt dort die Einreichungen aus, Korrektoren korrigieren auf der Plattform und die Editoren veröffentlichen letztlich die Geschichten - ohne je die Plattform zu verlassen, und: alle Beteiligten erhalten selbstverständlich ein Honorar.

Und der Leser?

Der erhält drei Kurzgeschichten nach der Registrierung kostenlos und kann sich dann in dem stetig größer werdenden Fundus an Kurzkrimis bedienen und seine Einkäufe einfach per PayPal bezahlen. Gelesen wird am PC, am Tablet oder Smartphone. Im nächsten Release Ende Oktober wird dann auch das Senden an den Kindle möglich sein, um dort seine Krimis auch offline lesen zu können. Je nach Feedback kommen auch native Apps - momentan sind es angepasste Webseiten, die den Lesespaß auf den mobilen Geräten ermöglichen.

Ich habe die vergangenen eineinhalb Jahre einige Projekte in der Buchbranche gemacht, meistens beratend oder schulend und Minutenmorde.de ist ein Versuch, in einer sich extrem wandelnden Branche, etwas auszuprobieren.

Ich wünsche mir, dass das Experiment gelingt und lade meine Blogleser ein, sich die Minutenmorde.de einmal anzusehen.

Sonntag, 2. Juni 2013

Stiftungsdozentur Forum Zukunft

Ich habe dieses Jahr die Ehre, die Stiftungsdozentur des Forum Zukunft im Börsenverein des Deutschen Buchhandels e.V. in Mainz zu halten. Aus dem offiziellen Text:

"Im Rahmen einer von protoTYPE finanzierten Stiftungsdozentur bieten ausgewählte Experten aus der Branche unter dem Motto „protoTYPE goes Campus“ Seminare an sechs Hochschulen an. Dadurch sollen Studierende von Medien-Studiengängen befähigt und ermutigt werden, selbst innovative Geschäftskonzepte zu entwickeln. Die Initiative spricht künftige Fach- und Führungskräfte in Buchverlagen an, die im Bereich digitaler Anwendungen eine hohe Medienkompetenz mitbringen. Die unternehmerisch geprägte Herangehensweise eröffnet den Studierenden zusätzliche Perspektiven, von denen auch ihre späteren Arbeitgeber profitieren.

Für die Hochschulen und Universitäten ergänzen die protoTYPE-Seminare das Lehrangebot. „Die Unternehmerpersönlichkeiten aus der Verlagsbranche transportieren das Thema Innovation sehr glaubwürdig. Unsere Studierenden können ihre Kenntnisse aus den Bereichen strategisches Marketing, Medienkonzeption und Geschäftsmodelle in den protoTYPE-Seminaren ideal in konkreten Szenarien anwenden“, berichtet Prof. Dr. Okke Schlüter vom Studiengang Mediapublishing an der Hochschule der Medien (HdM) in Stuttgart. Schlüter hatte bereits in 2012 ein protoTYPE-Seminar an die HdM geholt und das Seminar begleitet. „Wir sind dem Forum Zukunft im Börsenverein dankbar für diese Unterstützung und freuen uns, damit umgekehrt auch der Branche etwas zurückgeben zu können – nämlich innovative Geschäftsideen“.
Dr. Harald Henzler (smart digits), Martin Fröhlich (PaperC), Reto Kiefer (Screenion GmbH) und Michael Dreusicke (Paux) sind Experten, die protoTYPE von Anfang an begleitet haben. Die Seminare finden auch dieses Jahr wieder im Sommersemester statt, die Ergebnisse werden auf der Frankfurter Buchmesse 2013 präsentiert. Dabei soll das Fachpublikum die Möglichkeit erhalten, passende Ideen in ihrem Unternehmen umzusetzen und am Markt zu einer echten Innovation werden zu lassen. Der Börsenverein fördert damit einen Know-how-Transfer von Hochschulen in Unternehmen, der in den USA Keimzelle vieler erfolgreicher Innovationen ist."

Meine Veranstaltung, die ich zusammen mit Herrn Prof. Bläsi von der Universität Mainz halte, wird folgende Ausrichtung haben:

"Der Umbruch, den die Buchbranche gegenwärtig bewältigen muss, ist zu einem guten Teil technologiegetrieben. Die Digitalisierung der Bücher verbunden mit der großen und weiter zunehmenden Verbreitung von mobilen Endgeräten, dem unaufhaltsamen Trend zum "Mobile Computing" sind die neuen Herausforderungen, die zu denen hinzu kommen, die das Web in all seinen Erscheinungsformen schon seit über 15 Jahren an die Buchbranche stellt.

Wir wollen in der Blockveranstaltung daran arbeiten, diese Entwicklung nicht nur als Bedrohung des Status quo aufzufassen, sondern sie gleichermaßen als Chance zu sehen, neue Ideen zu entwickeln und deren Plausibilität und Erfolgsaussichten zu bewerten.
Nutzen wir die Möglichkeiten, die sich aus der Kombination von Branchenaffinität und -wissen auf der einen und Erfahrung im Bereich E-Commerce und Mobile Markets auf der anderen Seite ergeben für ein praxisorientiertes Brainstorming über das, was der Branche helfen könnte, die mobile Herausforderung besser zu bestehen."

Freitag, 24. August 2012

rheinmain.js - JavaScript UserGroup reloaded

Auf dem 2. Karlsruher BarCamp kam die Sprache unter anderem mit Mattsches und Ali Pasha darauf, dass es im Rhein-Main Gebiet schon seit langem kein Community Treffen  mit Themen rund um JavaScript existiert.

Man kann zu JavaScript stehen wie man will, man kommt im Frontend kaum daran vorbei und auch serverseitig gewinnt es an Momentum. Ich persönlich mag JavaScript überhaupt nicht, so lange ich es schreiben muss, ich lasse es lieber von GWT oder Vaadin generieren. Aber auch ich komme um den einen oder anderen Schnipsel (meistens dann doch mehr) jQuery nicht herum.

Die JavaScript UserGroup Wiesbaden - mit Anspruch, das gesamte Rhein-Main Gebiet zu erobern - tritt an mit einem ersten Event / Treffen am 3.9. um 19 Uhr im Konferenzraum unseres Location Sponsors: Die Firma.

Alle Interessierten sind herzlich eingeladen, an der Veranstaltung teilzunehmen. Wir haben jedoch nur 13 freie Plätze, die Reihenfolge der Anmeldung auf der Eventseite entscheidet über den Einlass. Es hat sich bewährt, dass wir nach einem Warm-up zwei Fachvorträge plus Fragen und Antworten hören werden und anschließend noch in ein Lokal gehen, um uns zwanglos zu unterhalten und zu vernetzen.

Alle weiteren Informationen auf der Eventseite oder auf der Google+ Seite von rheinmain.js.

Mittwoch, 25. Juli 2012

Status Quo: Rich Internet Applications (RIA)

Kann sich noch jemand an RIAs erinnern?

Jene, primär von Adobe beschworene Gattung von Software, die es erlaubt reichhaltige Erfahrungen mit dem Komfort einer Desktop-Anwendung im Browser zu machen. Der Protagonist hiess seinerzeit Adobe Flex. Adobe Flex ist zusammen mit dem Flash Player Mobile beerdigt worden. Im Unterschied zum Flashplayer Mobile hat Flex aber bei der Apache Foundation immerhin ein Begräbnis erster Klasse bekommen. Mit Chancen auf Wiederauferstehung als Apache Flex - aber das hängt von zu vielem ab. Vor allem davon wie viele Entwickler sich finden, für eine halbtote Technologie zu programmieren, sobald Adobe erstmal seine bezahlten Entwickler vom Projekt in zwei oder drei Jahren abzieht. Jedenfalls sehe ich die Zukunft von Flex so ungünstig, dass ich meiner einstigen Vorzugstechnologie keine Chancen mehr geben werde - nicht zuletzt auch weil das Wohl und der Verderb der Technologie am Flash Player hängt, der meine Erachtens auch schon am Anfang vom Ende seines Lebenszyklus steht.

Aber was ist  aus diesem vielversprechenden Ansatz  RIA geworden?

Er wird weiterverfolgt, zumeist in Gestalt irgendwelcher Java-Script und HTML5 Frameworks, wie etwa ExtJs oder Dojo, die eine ähnliche Funktionalität wie Flex aber eben mit den Krücken der Webstandards anbieten. Ein ausführlicher Vergleich zwischen diesen Frameworks und ihren zumeist nicht gehaltenen Versprechungen wird aus gegebenem Anlass hier demnächst noch folgen.

Auch das SPA-Paradigma (Single Page Application), wie es aktuell im Mobile Sektor vorherrscht ist auch nur die Wiederkehr des ursprünglichen RIA Ansatzes. Alles, was es heute gibt hätte man auch mit Flex haben können - nur eben nicht frei und "open". Natürlich gibt es noch eine Unmenge weiterer Ansätze, aber wer hat sich aus der Webentwickler-Ecke (und da dürften die meisten meiner Leser herstammen) schon mal mit Canoos ULC, Googles Webtoolkit oder dem darauf basierenden Vaadin beschäftigt? (Vaadin erscheint hier demnächst auch nochmals als gesonderter Post, weil es eine angenehm sympathische Hybrid-Stellung innehat: JavaScript - JavaScript + Java).

Wieder nennen will ich hier aber explizit - vor allem auch weil es eine Technologie ist, die hervorragend auch außerhalb des Browsers läuft - JavaFX 2. Sollte Oracle es hinbekommen, JavaFX auch auf iOS und Android lauffähig zu bekommen, wäre er wieder da, der Cross-Plattform Ansatz. (Ja klar, es gibt PhoneGap und Appcelerator, aber ich habe es schon mehrfach gesagt: Ich will kein JavaScript programmieren, wenn ich Anwendungsoberflächen erstelle.) Die Vorzüge von JavaFX ggb. anderen Technologien liegen schon im Namen offen zutage: Sprache, Libraries, Tooling, Konsistenz und Performance, etc. Und JavaFX 2 läuft via Webstart natürlich auch im Browser - zwar mit Java Plug-in aber immerhin.

Es könnte sein, dass mit JavaFX 2 noch einmal ein Bewerber antritt, der das RIA-Konzept durchhält und ihm in Nischen zum Erfolg verhilft. Der Rest der Welt wird sich dann vermutlich mit hakeligen JavaScript Anwendungen die Zeit vertreiben. Man muss kein Freund von Flash sein, um zu verstehen, dass Flex eine coole Software war - es wäre schön, wenn nun ein würdiger Nachfolger die Bühne betritt.

Mittwoch, 18. Juli 2012

JavaFX 2 - eine Bestandsaufnahme

Lange Zeit galt Java Desktop als quasi tot. Nur Eclipse mit seiner RCP war noch auszumachen, Swing fast in die Bedeutungslosigkeit gedrängt. Nicht zuletzt RIA-Technologien (Rich Internet Application) wie Adobe Flex und jüngst der HTML5 Hype haben dazu beigetragen. Nun da Flex an die Apache Foundation gegangen ist und die weitere Zukunft unklar ist, und in der HTML5-Euphorie dann doch die Ernüchterung über die Grenzen dieses Technologie-Sets einkehrt, hat sich Oracle schon 2011 darauf besonnen, das was mit JavaFX begann, nun mit JavaFX 2 fortzusetzen.

JavaFx 2 wird autommatisch mit Java 7 Update 4 auf Windows und Mac ausgerollt - Linux soll folgen. Oracle pusht die Technologie ordentlich, denn es gibt mittlerweile eine rasante Entwicklung, erstaunliche Tools und jede Menge Buzz auf den einschlägigen Social Media Kanälen.

Und in der Tat, mit JavaFX 2 lässt sich ordentlich programmieren und die Ergebnisse sind zum Teil regelrecht erstaunlich. Programmiert wird JavaFX 2 nun dirket in Java und nicht mittels JavaFX Script, wie in Version 1 noch. Ein Riesenfortschritt, zumal Oracle auch eine richtig gute API aufgelegt hat. Mit wenigen Zeilen Code bekommt man einige erste Anwendungsbeispiele hin, die Lust auf mehr machen. Neben Java Code kann das UI mittels FXML beschrieben werden, eine XML Anwendung, ein Prinzip wie wir es schon seit MXML (Flex) und XAML (Windows) kennen.

Wer einen visuellen Zugang zur GUI Entwicklung hat wird sich über den JavaFX Scene Builder freuen, der es erlaubt, auch komplexe Anwendungsoberflächen mittels Drag & Drop zusammen zu klicken und im Hintergrund den passenden FXML Code generieren zu lassen.

Der IDE Support ist noch nicht auf ganzer Breite gewährleistet. Für Eclipse gibt es das sehr schöne Toolset EFXclipse, das einen bei der Programmierung unterstützt, aber noch in einer frühen Entwicklungsphase ist. Netbeans ist was das Tooling angeht vorne (kommt ja aus dem gleichen Haus), der JavaFX Scene Builder lässt sich in Teilen sogar schon in Netbeans integrieren. IntelliJ Idea ist ein wenig hinten dran, auch wenn man mit den vorhandenen Boardmitteln auskommen kann. Eine Abstimmung über die Entwicklung des JavaFX 2 Supports läuft noch.

Es bleibt spannend, ob Oracle mit JavaFX 2 der große Wurf gelingt, der sich dann auch durchsetzt. Positioniert wird JavaFX 2 bereits als neuer Standard zur GUI Entwicklung, also damit als Nachfolger von Swing. Es bleibt jedoch das Problem, ob Java Desktop an sich noch eine Chance hat, angesichts der Möglichkeiten von HTML 5. Ich will nicht für jeden Client ein anderes GUI programmieren müssen. Oracle will das Problem lösen und erreichen, dass Java FX auch auf iOS und Android läuft, aber von Demos bei Konferenzen abgesehen ist noch nichts davon zu merken.

Es bleibt spannend. Aber wer sich einmal mit Desktop-Entwicklung beschäftigen will oder muss und dabei den plattformübergreifenden Ansatz bevorzugt, der sollte sich das SDK runterladen und einfach loslegen. Die Komponenten sind hervorragend, das Skinning ist mittels CSS erfreulich einfach und das Programmiermodell überzeugt. Und wer es lieber dynamisch hat, mit GroovyFX liegt eine Erweiterung vor, mit der man JavaFX mittels Groovy programmieren kann.

Montag, 16. Juli 2012

Groovy & Grails im Einsatz

Nach vielen Jahren Webprogrammierung, unzähligen Versuchen und Projekten mit PHP samt verschiedener Frameworks, Python und Zope, sogar ein bisschen Perl und letztlich Java in verschiedenen Geschmacksrichtungen bin ich zu dem Punkt gekommen, seit etwa zwei Jahren für mich die beste Lösung  gefunden zu haben. Eine Lösung, die nicht für jedes kleine Web-Projekt passt, aber für die mittleren und großen, ganz gleich ob im fortgeschrittenen Agentureinsatz oder im Unternehmensumfeld.

Groovy & Grails


Grails ist ein Web-Framework, das auf der Sprache Groovy basiert. Groovy wiederum ist eine Weiterentwicklung oder Ergänzung von Java, die das dynamische Programmieren mit der Verlässlichkeit und der Skalierbarkeit der Java Plattform verbindet. Das Gespann Groovy & Grails erlaubt es, Funktionalitäten mit bislang kaum möglich geglaubten wenigen Lines of Code zu implementieren.

Grails integriert verschiedene, etablierte Enterprise Frameworks aus dem Java Umfeld, wie Hibernate (objektrelationales Mapping), Spring MVC (Model View Controller Framework) und Spring Security, Sitemesh (Templating System) und einiges mehr. Jeder Bestandteil ist im Unternehmensbereich etabliert und bietet die Zuverlässigkeit und Sicherheit, die man von etablierten Java-Lösungen erwartet. Grails integriert diese Frameworks und macht sie sehr leicht konfigurierbar und zugänglich. Durch Groovy werden diese Frameworks zudem auch mit weniger und leichter lesbarem Quellcode nutzbar. Und all das läuft selbstverständlich auf der Java Virtual Machine und einem Application Container.

Abgrenzung zu anderen Technologien


Um Grails gegen andere Technologien abzugrenzen, werde ich den Vergleich mit PHP kurz antreten. PHP gilt als die meist verbreitete Technologie für Webanwendungen. Vorteile von PHP sind die Verfügbarkeit der Entwickler und die vergleichsweise niedrigen Sätze, was beides an den zum Teil niederschwelligen Eingangsvoraussetzungen liegt. Auf der Negativseite ist die Performance von PHP zu nennen. Auch in Sachen Sicherheit ist PHP in der Vergangenheit immer wieder negativ auffällig geworden – es vergeht kaum ein Vortrag über die Sicherheit von Webanwendungen, bei dem nicht PHP als Sicherheitsrisiko dargestellt wird, wenn man es nicht richtig nutzt und konfiguriert.

Letztlich sieht man am Einsatz der Sprache ihre Schwerpunkte: Im Bankenumfeld beispielsweise sind viele Webseiten mit Hilfe von PHP erstellt, aber es gibt meines Wissens keine transaktionsorientiere Bankingsoftware, die auf PHP basiert — die sind in der Regel in Java geschrieben. Außerdem wird Java im Unternehmensumfeld in der Regel als Implementierungstechnologie akzeptiert — PHP ist davon noch weit entfernt (es sei denn als Frontend-Technologie).  Das ist wichtig, wenn es um die Anschlussfähigkeit an andere Systeme geht.

Referenzimplementierungen und Investitionssicherheit bei Grails


Grails wird in einer ganzen Reihe von hochfrequentierten Sites zum Einsatz gebracht. Neben den britischen Steuerwesen sind vor allem die Sites von Sky.com und Wired.com zu benennen. Auch die Backendlogik von NetFlix basiert in großen Teilen auf Groovy und Grails. Tendenziell wird Grails aber vorwiegend im Unternehmensbereich für interne Anwendungen eingesetzt, die selten das Licht einer breiten Öffentlichkeit erblicken. Die Gründe für den Einsatz sind die schnellen Entwicklungszeiten und vor allem die nahtlose Integration in die zumeist vorhandenen Java-Infrastruktur.

Grails ist wie Groovy OpenSource und zwar in einer businessfreundlichen Apache 2 Lizenz, die es erlaubt den Quellcode zu verändern, ohne die Veränderungen wiederum publizieren zu müssen, wie es etwa die GPL (GNU Public License) fordert. Groovy und Grails werden von einer aktiven Entwicklercommunity weiterentwickelt.

Hinter beiden Technologien steckt die Firma SpringSource als Förderer, einer der maßgeblichen Technologiefirmen im Java Enterprise Bereich. SpringSource wurde durch das gleichnamige Spring Framework bekannt. Ziel des Unternehmens ist es, die Java Enterprise Entwicklung zu vereinfachen ohne die Vorteile von Java aufzugeben (etwa Sicherheit, Transaktionssicherheit oder Skalierbarkeit). Dieses Ziel setzen Groovy & Grails hervorragend um. Durch die Einbettung in ein großes Unternehmen, stehen auch professionelle Support- und Schulungsleistungen zur Verfügung, eines der Ausschlusskriterien für Unternehmenseinsätze.

SpringSource gehört mittlerweile zum börsennotierten Virtualisierungs- und Cloudspezialisten VMWare, der die Größe hat, Groovy & Grails auch mittel- und langfristig mit Mitteln zu unterstützen, um weiterhin das Tempo und die Qualität der Entwicklung zu gewährleisten. Groovy & Grails verbinden somit die besten Elemente von freier und kommerzieller Software.

Laufzeitumgebung


Grails läuft auf allen denkbaren Betriebssystemen, so lange dafür eine Java Laufzeitumgebung existiert (was zumindest für Windows, Mac, Linux und Solaris zutrifft). Im weiteren wird ein Application Container wie Tomcat oder Jetty benötigt, im Unternehmensumfeld lassen sich aber auch Application Server wie WebSphere oder JBoss nutzen. Grails läuft Dank Hibernate mit den meisten Datenbanken von MySQL oder PostGreSQL bis Oracle oder DB 2 und auch mit den modernen auf Map-Reduce basierenden Massenspeichern wie Hadoop. Es ist möglich, hochkomplexe Grails Projekte zu realisieren, ohne dass Lizenzkosten anfallen.

Nachteile von Grails


Technologisch bietet Grails äußerst wenige Nachteile, weil es vor allem eine Assemblage von verschiedenen bewährten Technologien ist. Grails läuft kaum merkbar langsamer als „pures“ Java –- ein Sachverhalt, der aber durch die bis zu 60% kürzere Entwicklungszeit ausreichend kompensiert wird. Im Vergleich zu PHP ist Grails aber immer noch deutlich schneller.

Auf den ersten Blick ist nachteilig, dass es relativ wenige Entwickler mit Groovy- und Grails-Kenntnissen und -Erfahrung gibt. Es ist jedoch ohne weiteres möglich, Java Entwickler für das Framework zu gewinnen. Diese sollten binnen zwei oder drei Tagen, die nötigen Kenntnisse erwerben können, da Groovy auch in klassischer Java-Syntax programmiert werden kann – der Übergang also durch die Ähnlichkeit fließend erfolgen kann. Die Nutzung und Integration von vorhandenen Java-APIs, die den Entwicklern zum Teil bekannt sein dürften, wird empfohlen und durch die Technologie nahtlos unterstützt.

Grails und Java Entwickler sind in der Regel teurer als PHP-Entwickler, was durch die Vorteile, die die Umgebung mit sich bringt, aber kompensiert wird.

Einsatz-Szenarien


Theoretisch lässt sich Grails für jede dynamische Webanwendung einsetzen. Praktisch scheitert es aber vor allem daran, dass Java-Hosting noch nicht die Verbreitung und Preisspanne hat, wie etwa PHP. Für mittlere bis große Projekte lohnt sich der Aufwand, einen eigenen oder virtuellen Server zu verwenden, schnell. Zumal man auch problemlos einen Cloud-Hoster nutzen kann, sofern dieser Java unterstützt.

Zielgruppe von Groovy & Grails sehe ich in Internetagenturen, die an Projekte gelangen, die zu komplex für die Standardlösung Typo3 / PHP sind oder die besondere Ansprüche an Performance, Skalierbarkeit oder Sicherheit erfordern. Aber auch das Unternehmensumfeld hat das dynamische Gespann gerne aufgenommen. Sei es um schnell Prototypen zu entwickeln aber auch die Entwicklungszeiten für große Projekte zu reduzieren. Da Groovy und Grails zu Java-Bytecode kompiliert werden, lässt sich ziemlich jede Infrastruktur, die für Java gemacht ist, auch für Groovy und Grails nutzen.

Ökosystem


Neben Grails haben sich um die Programmiersprache Groovy herum mittlerweile eine ganze Reihe von Technologien entwickelt, die die dynamische Programmierung auf der Java-Plattform nutzen. Griffon – soeben in der Version 1.0 erschienen – ermöglicht es mit ähnlichen Techniken wie Grails, Desktop Anwendungen zu entwickeln. Gradle ist ein auf Groovy basierendes Build-System, das das Beste von Ant und Maven aufnimmt und die Funktionalität in einfach lesbaren Groovy-Klassen definiert.