Archiv für die Kategorie „Technologie“

Mac OS X – Tipps & Tricks für Entwickler: Hidden Files

Dienstag, 15. Mai 2012

Die Benutzerfreundlichkeit eines Mac ist unumstritten. Begibt man sich jedoch als Software-Entwickler auf OS X, kommt einem diese Benutzerfreundlichkeit u.U. zunächst ein wenig hinderlich vor, da man einige kleine Details vermisst, die man  z.B. von Windows her kennt (oder dort leicht einstellen kann). So zum Beispiel, dass im Finder per Default keine versteckten Dateien angezeigt werden oder dass man einen Ordner nicht direkt im Terminal öffnen kann. Diese und andere Kleinigkeiten lassen sich aber auch unter OS X recht leicht einrichten oder konfigurieren. Beginnen möchte ich diese Serie von Blog-Beiträgen zu rudimentären Tipps & Tricks für den Entwicklungsalltag heute mit dem Thema versteckte Dateien: “Mac OS X – Tipps & Tricks für Entwickler: Hidden Files” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Drittes Hamburg Web Performance Meetup

Dienstag, 8. Mai 2012

Web Performance HH

Das dritte Hamburg Web Performance Meetup fand am 25. April in den Räumlichkeiten von Telefónica in der City Nord statt. Den fast vierzig Teilnehmern, die sich trotz eines zeitgleich laufenden, hochkarätigen Champions-League-Spiels nicht vor den Fernseher gesetzt hatten, wurden zwei interessante Vorträge geboten.

Den Anfang machten Jan Vogel (DI UNTERNEHMER) und Uwe Beßle (Iteratec) mit dem Thema “Optimierung der gefühlten Performance – Web Performance Management für Fortgeschrittene”. Die beiden präsentierten ihre Erfahrungen, die sie im Umfeld einer der weltweit größten eCommerce-Sites gemacht haben. Vorgestellt wurden u.a. eigene Metriken für Performance und Kundenzufriedenheit.

Im Rahmen des Projekts wurden End-User-Tests mit etwa 1.500 Probanden sowie automatisierte Tests mit dem Tool WebPagetest (WPT) durchgeführt. Mit Best-Practise-Beispielen zu WPT und einem regen und ausführlichen Frage-und-Antwort-Teil endete dieser Vortrag.

Der zweite Teil des Abends bestritten Oliver Ochs und meine Wenigkeit mit unserer Präsentation “Building Performance, ein Frontend-Build-Prozess”.

Wir haben einen auf Maven basierenden Build-Prozess vorgestellt, mit dem die Frontent-Komponente des DSL-Portals von Telefónica O2 erstellt wird. In mehreren Schritten sorgt dieser Build-Prozess automatisiert dafür, dass HTML, CSS, JavaScript und Bildelemente hinsichtlich der Web Performance optimiert werden. Dabei kommen unter anderem Werkzeuge wie OptiPng, Web Ressource Optimizer, JSLint, CSSLint und der Google Closure Optimizer zum Einsatz, die als Maven-Plugins ohne großen Aufwand in den Prozess integriert werden.

Der Abend endete mit einer Verlosung von Fachbüchern des Sponsors unseres Web Performance Meetups in Hamburg, dem O’Reilly Verlag.

Unser Vortrag zum Frontend-Build-Prozess ist bei SlideShare verfügbar:

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Drittes Hamburg Web Performance Meetup

Montag, 23. April 2012

Das Hamburg Web Performance Meetup geht in die dritte Runde. Wir treffen uns am kommenden Mittwoch um 19:00 Uhr bei Telefonica (Überseering 33a, Hamburg).

Hamburg Web Performance Group

Geplant sind wieder zwei Talks:

Jan Vogel (DI UNTERNEHMER) und Uwe Beßle (Iteratec) – Optimierung der “gefühlten” Performance – Web Performance Management für Fortgeschrittene

Anhand konkreter Erfahrungen im Umfeld einer der größten eCommerce Sites wird vorgestellt, wie es gelingt, das subjektive Kundenempfinden zum Maßstab für das kontinuierliche Web-Performance-Management der komplexen Anwendungslandschaft einer großen eCommerce-Site zu machen. Dabei wird die Entwicklung und Definition von Ladezeit-Indikatoren und deren Messung mit dem Open Source-Tool WebPagetest beleuchtet. Es wird vorgestellt, wie die Auswirkung von Ladezeiten auf die Kundenzufriedenheit mittels einer Remote-Studie abgeleitet werden kann. Abgerundet wird der Vortrag mit einer Darstellung von Best-Practise-Beispielen bei der Arbeit mit WPT und WPT-Monitor.

Jan Weinschenker und Oliver Ochs (Holisticon AG) – Building Performance, ein Frontend-Build-Prozess

In diesem Vortrag geht es um eine konkrete Website. Im ersten Teil des Vortrags stellen wir die wichtigsten Optimierungsmaßnahmen vor, die außerhalb eines Builds durchgeführt wurden. Für eine dauerhafte, nachhaltige Performance-Optimierung müssen die Maßnahmen automatisiert bzw. in den Build-Prozess integriert werden. Im zweiten Teil des Vortrags zeigen wir einen beispielhaften Build-Prozess für Java-Webanwendungen, der Teile der Optimierungsmaßnahmen durchführt. Andere Teile müssen durch eine geeignete Architektur sichergestellt werden, wofür wir ebenfalls Ideen liefern.

Das Event ist leider sowohl bei Meetup.com als auch in der XING-Gruppe bereits ausgebucht.

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Mobile Apps erstellen mit PhoneGap, Titanium & Co.

Dienstag, 17. April 2012

Die Zeiten, in denen man Anwendungen ausschließlich mit Oberflächen ausstattet, die über einen Monitor betrachtet und über Tastatur und Maus bedient werden, sind vorbei. Mittlerweile ist es keine Besonderheit mehr, als Endgerät auch Smartphones und Tablets berücksichtigen zu müssen.

Diese Geräte sind heutzutage vollgepackt mit vielfältigen technischen Gimmicks: GPS-Modul, Beschleunigungssensor, Kontaktverwaltung, Kamera uws. gehören bei iPhone, Android & Co. zum Standard. Eine für mobile Geräte optimierte Webseite hat oft nur eingeschränkten Zugriff auf diese Funktionen.

Für den vollen Zugriff benötigt man eine App, die direkt auf dem mobilen Gerät installiert wird. Als Entwickler muss man sich dann vor seinen Rechner setzen und die App für das iPhone oder für Android entwickeln. Die entsprechenden Entwicklungswerkzeuge sind für sich genommen sehr komfortabel. Nur ist man zunächst einmal an eine der SmartPhone-Welten gebunden.

Das ist natürlich sehr unbefriedigend, wenn man einen großen Anwenderkreis ansprechen will.

Doch wie kommt man zu einer brauchbaren App, die auf vielen mobilen Geräten läuft, ohne sich allzu tief in die speziellen Niederungen der Android- oder iOS-Entwicklung hinab begeben zu müssen?

“Mobile Apps erstellen mit PhoneGap, Titanium & Co.” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Das reine Vergnügen – RIA mit Vaadin und Guice

Donnerstag, 12. April 2012

Vorweg: Vaadin ist cool. Das auf dem Google Web Toolkit basierende Framework erlaubt die komponenten-orientierte Entwicklung hochqualitativer Rich Internet Applications. Dabei wird weitestgehend vom HTML/Servlet Code abstrahiert – das Programmiermodell erinnert somit stark an die vom Desktop gewohnte Entwicklung mit Swing oder RCP. JSP-Taglibs, XML-Wüsten und Platzhalter-Replacements sucht man vergebens, und man vermisst sie auch nicht.

Eine typische Vaadin-Applikation (aus Book of Vaadin, Getting started):

public void init() {
   final Window mainWindow =
      new Window("Myproject Application");

   Label label = new Label("Hello Vaadin user");
   mainWindow.addComponent(label);

   mainWindow.addComponent(
      new Button("What is the time?",
         new Button.ClickListener() {
         public void buttonClick(ClickEvent event) {
            mainWindow.showNotification(
               "The time is " + new Date());
         }
      }));

 setMainWindow(mainWindow);
}

Sobald die Anwendung etwas größer wird, bekommt man jedoch zwangsläufig die klassischen Stand-Alone-Anwendungsprobleme: verschachtelte Komponenten, ausgelagerte Handler, implementierte Listener, gekapselte Service-Facaden … ein Haufen Instanzen will erzeugt und verwaltet werden. Nebenbei arbeitet man auf 3 Scopes (Application, Session, Request), bemüht sich um Separation of Concern und achtet auf maximale Testbarkeit.
Das wird “per Hand” schnell unübersichtlich. Naheliegend ist, sich bei der Verwaltung der Instanzen helfen zu lassen. Wenn man das Pech hat, nicht auf JEE6 und CDI zurückgreifen zu können (konkret arbeiten wir nach wie vor auf JBoss 5.1), ist die Frage:

Wie?
Oder anders formuliert: Spring oder Guice?

“Das reine Vergnügen – RIA mit Vaadin und Guice” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

MobileTech Conference 2012 – Tag 2

Donnerstag, 5. April 2012


Wie mein Kollege Oliver Ochs im Beitrag zum ersten Konferenz-Tag erwähnt hat, waren wir gemeinsam auf der MobileTech Conference 2012 in München und haben uns neuen Input rund um das Thema Mobile aus Sicht der Entwicklungs- und Marketingabteilungen abgeholt.

Den ganzen zweiten Tag lang besuchten wir den Business-Track. Darüber, ob das an dem beeindruckenden Vortrag von Herrn Konjovic über die Paid-mobile-Content-Strategie von Axel Springer am Vortag lag, lässt sich streiten. “MobileTech Conference 2012 – Tag 2” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

MobileTech Conference 2012 – Tag 1

Dienstag, 3. April 2012

Ich habe mit meinem Kollegen Norman Erck die MobileTech Conference 2012 in München besucht. Wir haben die Eindrücke, die wir auf der zweitägigen Messe gesammelt haben, in zwei Blog-Beiträgen zusammengetragen. Dies hier sind die Impressionen der verschiedenen Vorträges und Präsentationen des ersten Tages.

Die Eröffnung der MobileTechCon 2012

Die Eröffnung der MobileTechCon 2012

“MobileTech Conference 2012 – Tag 1” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Auch Prozesse haben ihre Last zu tragen

Montag, 26. März 2012

Wenn Sie sich mit der Automatisierung von Prozessen in einer Business Process Engine (BPE) beschäftigen, stehen oder standen Sie vielleicht auch schon vor der Frage, welche Daten Sie als Payload durch den Prozess schleusen.

Dass diese Frage alles andere als trivial und doch manchmal ganz leicht zu beantworten ist, haben wir kürzlich im Projekt erfahren.

“Auch Prozesse haben ihre Last zu tragen” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Parallele Mehrfachausführung von Sub-Prozessen mit Bonita Open Solution

Dienstag, 20. März 2012

In einem unserer Kundenprojekte setzen wir die BPM-Lösung Bonita Open Solution (Version 5.6.1) ein. Die Software-Suite stellt einen BPMN-Editor wie auch eine BPE zur Verfügung, um die Prozesse zu designen und auszuführen. Leider ist die Dokumentation etwas dürftig, wenn es darum geht, einen Sub-Prozess mehrfach parallel auszuführen. Während manche Aufgaben (Activities) mit der kompletten Liste von Elementen arbeiten, muss für andere Tätigkeiten jeweils eine Aufgaben-Instanz mit einem Element der Liste gestartet werden. Man spricht auch von einer (parallelen) Mehrfachausführung.

Beispiele für das Szenario gibt es viele. Es ist z.B. denkbar, dass eine Loop-Activity Bewerbungen für einen Zeitraum entgegennimmt und in einer Liste sammelt. Diese werden dann zusammen in der HRM-Abteilung bearbeitet und später einzeln auf die Fachbereiche verteilt. In unserem rein technischen Beispiel warten wir auf die Eingabe von fünf Namen, die wir in einer einfachen Parallel-Ausführung und dann in einem parallelen Sub-Prozess einzeln anzeigen.

Beispiel: Parallele Mehrachausführung von Sub-Prozessen in Bonita

“Parallele Mehrfachausführung von Sub-Prozessen mit Bonita Open Solution” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel

Sencha Touch: Lokale JSON-Datei in Store laden (Ext.data.JsonStore)

Dienstag, 13. März 2012

Für ein aktuelles Mobile-Projekt evaluierten wir Mobile-Entwicklungs-Tools und entsprechende Charting Libraries. Dabei sind wir auch auf Sencha Touch gestoßen. Für einen Prototyp wollten wir JSON-Daten in einem Chart darstellen und hatten einige Hürden zu überwinden, bis wir in der Lage waren, diese JSON-Daten mit Sencha zu lesen. Da ich kein direkt lauffähiges Beispiel dazu im Netz gefunden habe, soll der Blogbeitrag dieses jetzt allen anderen bieten, die auch mit den Ext.Data.JsonStore Daten lesen möchten. “Sencha Touch: Lokale JSON-Datei in Store laden (Ext.data.JsonStore)” weiter lesen »

news and informations automotive,business,crime,health,life,politics,science,technology,travelautomotive,business,crime,health,life,politics,science,technology,travel