Spannende Wochen für RIM

Es sind spannende Wochen, die da auf RIM zukommen. In den nächsten Tagen wird RIM ihr neues Betriebssystem BlackBerry 10 und ihre neuen BlackBerry Geräte vorstellen. Die Neuvorstellung repräsentiert für RIM und die Marke BlackBerry quasi einen Neustart in vielerlei Hinsicht.

IMG_1815

Das neue Betriebssystem basiert auf QNX, wie bereits das System das auf dem Playbook gelaufen ist. RIM hat das Playbook OS allerdings sehr viel weiter entwickelt, und in BlackBerry 10 wieder die gesamten Funktionen eingebaut, für die BlackBerry bekannt wurde (Synchronisierung von Mail, Kalendar, Kontakten, Todo’s usw.) plus ein paar zusätzlicher Funktionen (z.B. Balance für Work/Private Trennung). Komplett neues Betriebssystem heisst, dass sich alles ziemlich “fluffig” anfühlt – ähnlich wie bei iOS und Windows Phone ist das UI fast verzögerungsfrei, ruckelt nicht und alles ist schön animiert. Komplett neu heisst aber auch, dass sämtliche Anwendungen, die es bisher für BlackBerry gab, neu für BlackBerry 10 geschrieben werden müssen bzw. portiert werden müssen.

Von den kommenden Geräten sind ja schon ein paar Information im Netz unterwegs (hier und hier kann man sich schon mal ein Bild machen). Es wird Touchscreen Geräte und Geräte mit Tastatur geben. Ich hatte die Gelegenheit unser Alpha Dev Gerät mit Touchscreen ein wenig zu Testen und das fühlt sich sehr gut an. Interessant ist auch die Touchscreen-Tastatur, mit der Funktion Wörter mittels Swipe Geste schnell zu vervollständigen. Das funktioniert ganz gut und beschleunigt das Schreiben merklich. Das Bedienkonzept mit Features wie dem neuen Hub und verschiedenen Swipe Gesten verändern das Feeling des BlackBerry sehr – man darf gespannt sein wie das bei Geräten mit QWERTZ Tastatur wird.

Dem Trend von BYOD kommt RIM mit dem letzte Woche erschienenen BlackBerry Enterprise Server 10 nach – er unterstützt nicht nur die Verwaltung mehrere BlackBerry Geräte je Mitarbeiter sondern kann auch Geräte andere Smartphone Platformen verwalten. Im Bereich des Enterprise Servers war RIM ja immer schon stark und früh weit vorne, jetzt will RIM mit diesen Funktionen den Markt des Device Managements wieder stärker besetzen.

Im Bereich der Anwendungsentwicklung für BlackBerry 10 hat sich im Vergleich zur alten Plattform auch einiges geändert. Wurden früher BlackBerry Anwendungen hauptsächlich in Java entwickelt so gibt es jetzt 4 (!!) verschieden Möglichkeiten Anwendungen für BlackBerry 10 zu entwickeln: C/C++ Native, HTML5 WebWorks, Adobe Air Action Script, Java Android  – die alten Java Bibliotheken gehören aber nicht dazu. Aus Sicht eines Software Entwicklers, der jahrelang BlackBerry Anwendungen unter Java entwickelt hat, schmerzt das natürlich sehr. Auf der anderen Seite kann ich verstehen warum man diesen Weg gewählt hat: um auf einem mobilen Geräte optimal performende Anwendungen zu bekommen führt eigentlich an C/C++ kein Weg vorbei (siehe iOS).

Kein Wunder dass RIM zu schrägen Mitteln greift um seinen Entwicklern mitzuteilen dass sie sie immer noch “lieben”:

Wenigstens sind die neuen Entwicklungstools für alle Betriebssysteme verfügbar (OS X, Windows, Linux) und die Dokumentation auf den BlackBerry Webseiten hat sich auch deutlich verbessert. Ein weiterer Pluspunkt ist, dass RIM stark auf Open Source setzt und dabei github einsetzt um Frameworks, API’s und Samples zur Verfügung zu stellen.

Für unser Produkt timr habe ich mal die Android Version für BlackBerry 10 portiert – das hat mittels des Web Tools sehr gut funktioniert. Wir werden dass jetzt mal testen, und dann entscheiden, ob wir diese Version für BlackBerry 10 in die App World einreichen – auf den ersten Blick sieht das schon ganz gut aus.

Die zusätzlichen Tarifkosten, die bisher anfielen wenn man einen BlackBerry verwenden wollte, sind bereits gefallen – ein weiterer wichtiger Schritt, um BlackBerry Geräte am Markt wieder interessant zu machen.

RIM war mit BlackBerry wirklich ganz früh ziemlich weit vorne – jetzt sind sie ziemlich spät dran und es wird sich in den nächsten Monaten zeigen ob sie sich wieder am Markt etablieren könnnen.

What to ignore

With the latest improvements we made at troii to our development workflow, we discussed what should be committed to a source code repository and what files should be ignored. We already had the rule in place, that nothing should be put into the repository, that is generated from other sources (typically .class files, .war, .jar, …) – this rule is very common and agreed by almost every developer.

How to handle another set of files usually leads to a lot of discussion: IDE settings, e.g. Eclipse .settings, .project, .classpath or IDEA IntelliJ .iml and .idea directory). Up until a year ago we mainly used Eclipse and I used to store the IDE configuration files in the repository. With switching to IntelliJ and working more with git branches, I startet to think about this again, because I had the feeling that those settings files changed more frequently.

I read some articles and posts online and I came to the conclusion that it is better to exclude those settings files too. After looking at the dedicated github repository for git ignore templates at https://github.com/github/gitignore it became even clearer. The template for IntelliJ https://github.com/github/gitignore/blob/master/Global/IntelliJ.gitignore looks like:

*.iml
*.ipr
*.iws
.idea/

The reasons I had, for putting those IDE settings into the repository, were, that I want a new developer in the team to be able to check out the code and start developing as fast as possible. A new project member should not have to configure his IDE in a very specific way to get the project running or even compiling. With using maven, gradle and Grails in nearly every project this has gotten a lot easier because most IDE’s have import features, that can interprete those build systems and configure the project.

After deciding to stick with those rules, I looked for an easy way to use those git ignore templates and found gitignore-boilerplates – or short gibo. This is a nice little shell script that allows you put the right templates for your project together into the .gitignore file, for example the line

gibo Eclipse IntelliJ Windows OSX Maven Java > .gitignore

creates a gitignore file for a Java project that uses Maven and is developed with IntelliJ or Eclipse under Windows or OS X. You could put the Eclipse, IntellIJ, Windows and OSX ignore rules into your global gitignore file on your machine but I like to put them into the project to make sure that all the other developers of the project use those rules too.

I made a fork of each of those projects because there are configuration files I want to add to the repository:

  • code style settings – so that every developer on the team formats the code in the same way
  • encoding settings – important when working on different operating systems

You can find those forks under https://github.com/troii/gitignore and https://github.com/troii/gitignore-boilerplates

Kundenservice – Media Markt vs. Amazon

Ich hatte beim Kauf unserer DVB Sat Receiver kein Glück. Fürs Wohnzimmer habe ich einen Kathrein UFS 922 bei Amazon gekauft (mit eingebauter 500 GB Festplatte für Timeshift und Aufnahmen) – Preis im November 2011 402,- EUR. Für das Schlafzimmer genügte ein einfacher Receiver ohne Aufnahmefunktion. Ich bin einfach in den Media Markt gegangen und habe den günstigsten Receiver mit Unterstützung für die ORF Smart Card gekauft – Marke Top Field, Preis 119,- EUR im Jänner 2012.

Im Sommer, nach ca. einem halben Jahr, hat der Top Field Receiver im Schlafzimmer plötzlich angefangen Probleme beim Lesen der Smart Card zu machen (keine Karte gefunden, kann Karte nicht lesen …). Also haben wir das Gerät zum Media Markt gebracht. Nach ein paar Tagen auf Reparatur konnten wir es wieder abholen. Soweit so gut, kann ja mal sein. Als das selbe Problem allerdings nach ein paar Wochen wieder auftrat, wurde die Stimmung schon deutlich schlechter.

Also haben wir das Gerät wieder zum Media Markt gebracht und die Situation geschildert. Das Gerät wurde wieder eingesendet und dieses Mal bekamen wir ein Ersatzgerät für die Zwischenzeit. Nach ein paar Tagen bekamen wir ein komplett neues Austauschgerät, und wir dachten, damit sollte es sich jetzt erledigt haben. Dachten wir … als das Problem auch beim Austauschgerät nach ein paar Wochen auftrat war für uns klar: wir wollen keine Reparatur oder Austauschgerät mehr, wir wollen unser Geld zurück.

Doch das gestaltete sich nicht so einfach. Beim Media Markt hat man uns erklärt, dass man dem Hersteller 3 Mal die Chance geben muss den Fehler zu beheben, bevor man das Geld zurück fordern kann. Also noch mal einsenden, eine Woche warten, wieder Austauschgerät bekommen – nach ein paar Wochen wieder das selbe Problem.

Beim vierten Mal erst haben wir unser Geld vom Media Markt zurückbekommen. Nach insgesamt mindestens 3 Stunden Zeit die wir an der “Information” bei Media Markt verbracht haben, unzähligen Problemschilderungen für verschiedenen Mitarbeitern und zwei Gesprächen mit dem Filialleiter.

Als kurz nach Weihnachten beim Receiver im Wohnzimmer zweimal ein Problem aufgetreten ist, bei dem ich alle Aufnahmen löschen musste bevor er wieder normal Starten konnte, habe ich Amazon eine Mail geschrieben – 2 Stunden später bekam ich eine Antwort, in der stand, ich solle das Gerät zurücksenden und der volle Kaufpreis würde mir erstattet.

Ich hab mir dann gleich bei Amazon das Nachfolgemodell bestellt, den alten Receiver in die Schachtel des neuen eingepackt und zurück gesendet – 3 Tage später kam von Amazon die Bestätigung via Email dass mir die 402,- EUR auf der Kreditkarte gutgeschrieben wurden (15 EUR mehr als der neue Receiver gekostet hat).

Fazit: Als Techniker verstehe ich, dass solche Geräte Probleme haben können – auch wenn ich über die Qualität von Sat Receivern allgemein nicht begeistert bin nach diesen Erfahrungen. Was ich aber nicht verstehen kann, ist wie man als Media Markt seinen Kunden so eine Erfahrung bei Reklamationen zumuten kann. Man bekommt das Gefühl man sei ein “schlechter Kunde” weil man ein Gerät haben will das funktioniert. Jeder “Servicemitarbeiter” vom Media Markt gibt einem zu spüren, dass man nach dem Kauf des Geräts eigentlich nichts mehr mit dem Kunden zutun haben will.

Ich habe den Filialleiter darauf angesprochen und er meinte, “man halte sich nur an die gesetzlichen Vorschriften für Reklamationen” – ich kann mir nicht vorstellen dass man gegen ein Gesetz verstösst wenn man dem Kunden sein Geld zurück gibt. Man geht nur das Risiko ein, das Geld nicht vom Hersteller zurück zu bekommen – dieses Risiko geht Amazon ein, um seinen Kunden ein gutes Service zu bieten.

Mir haben diese Dinge auf jeden Fall wieder gezeigt, wie wichtig gutes Kundenservice ist. Für mich als Kunde bleibt eine positive Erinnerung an das Kundenservice von Amazon, die mehr wiegt als das Problem mit dem Kathrein Receiver. Im anderen Fall bleiben nur negative Erinnerungen – an das Produkt und an den Händler.