Für ein spezielle Projekt habe ich mich in das Thema IoT Edge mit dem Raspberry PI versucht einzuarbeiten. Wenn es nach mir ginge, wü...




Für ein spezielle Projekt habe ich mich in das Thema IoT Edge mit dem Raspberry PI versucht einzuarbeiten. Wenn es nach mir ginge, würde ich sagen mehr schlecht als recht, aber es kommt immer auf die Betrachtungsweise an. Durch mein Experimentieren habe ich viel gelernt, welches in den nächsten Monaten sicher noch öfter an unterschiedlichen Stellen erwähnt werden wird. Hier möchte ich im Grunde nur eine kurze Zusammenfassung bringen.

Am Rande der Technologie

Aus besagtem Grunde wollte ich mich intensiver mit dem Thema IoT beschäftigen. Im Besonderen sollte es der IoT Edge sein (sagt man das so, der Edge? Keine Ahnung) Was ist daran so besonders? Die Tatsache, dass dies der Begin der nächsten kleinen technologischen Revolution ist. IoT Edge verkörpert in seiner Art das Fog Computing. Das bedeutet, dass die Cloud erweitert wird. Nicht eine große Anzahl von verteilten Rechenzentren allein werden die Massen an Daten verarbeiten können. Die Cloud wird im Laufe der nächsten Jahre ausgelagert auch auf die Endanwendergeräte.
Wie bitte? Mein Computer wird Teil der Cloud? Ja, das wird er und nicht nur der, sondern auch die vielen kleinen IoT Devices. Waschmaschinen, Kühlschränke - ja der IoT Kühlschrank kommt wieder - und all die anderen Geräte, die eine CPU haben, werden Teil des großen Ganzen. SkyNet lässt grüßen? Naja, wir werden sehen, wie klug wir die Geräte machen. Schließlich sind wir diejenigen, die diese Geräte a) programmieren und b) ihnen das "Leben" einhauchen.

Gut, zurück zum Thema IoT Edge.

Himbeerkuchen

Mein Versuch begann damit einem Raspberry PI so viel Leben einzuhauchen, dass er in regelmäßigen Abständen die aktuellen Licht und Temperaturdaten meiner Wohnung übermittelt. Mit der richtigen Anleitung ging das sehr schnell.

Das Setup I :

Raspberry PI (RPI) mit Windows IoT Core und dem klassischen Raspberry PI Sensor Pack. Als Applikation lief eine Exe File mit einem Timer, der alle 5 Minuten die Daten übermittelte.

Das war alles fast kein Problem, abgesehen von ein paar kleineren Netzwerkfehlern bei mir zu Hause. Das ganze war innerhalb von 6 Stunden erledigt.

Das wahre Problem hier ist jedoch die Machbarkeit. Ein solches Setup entspricht nicht dem, was in der Realität zur Zeit vorherrscht. Auch wenn Microsoft gerne möchte, dass IoT Core mehr zum Einsatz kommt, Linux ist doch noch etwas verbreiteter. Also musste ich den nächsten Schritt gehen, RPI mit Linux.

Das Setup II:

Der RPI fühlt sich mit Linux einfach beeindruckend gut an. Ein Problem, das .Net Framework ist hierfür nicht geschaffen. Also muss .Net Core ran. Für mich tatsächlich das erste Mal, weil ich einfach abwarte wollte.
Also, ran an den RPI, auf dem nun Raspian installiert wurde. Dann noch schnell die Edge Umgebung drauf und NICHTS GEHT MEHR. Moment, was habe ich falsch gemacht?

Schlick und Modder

Als ich die erste Installation durchführte, ließ ich mich mächtig in die Irre führen, was mir mehrere Stunden Lernen einbrockte. Ich ging davon aus dass die Anleitung [1] geschrieben wurde, mit dem Wissen, dass es funktioniert. Weit gefehlt, der Autor hat nur vermutet, dass es klappt. 
Ich hatte schlichtweg vor, die Azure Functions Runtime auf einem RPI zum Laufen zu bringen, was laut der Beschreibung klappen sollte (Konjunktiv).
Die ersten Versuche endeten damit, dass ich erst einmal lernte, wo man die Logs von docker findet. Dazu kam, dass ich feststellten durfte, dass die Dockerversion 17.11 CE für IoT Edge nicht brauchbar ist. Ach was sage ich, sie ist für niemanden zu gebrauchen, was ja auch dazu führte, dass sie sehr schnell gegen eine höhere Version ausgetauscht wurde. Aber bitte meine Lieben, warum erwische ich denn immer wieder diese Versionen, die nicht funktionieren. (Augenverdreh)

A man with his hands covered with mudNach dem Update von Docker auf allen Geräten konnte es endlich losgehen. Sollte man meinen. Dem macOS beizubringen, dass pip installiert werden soll ist auch nicht ganz logisch, wenn man die ganze Zeit mit sudo apt-get install arbeitet. Mit pip sollten irgendwelche Tools nachinstalliert werden, die dann dummerweise auf dem Mac nicht funktionierten. Eine Woche später schon sieht das ganz anders aus, da hat wohl jemand mächtig am Bug-Killer gebastelt.
Nach sehr vielen erfolglosen Versuchen richtete ich mir einen Linuxrechner ein, bei dem fast alles auf Anhieb funktionierte nur leider die Azure Functions Environment auf dem RPI nicht. Was ist da bloß los? Im Log vom edgeAgent (docker logs edgeAgent) stand nur der Hinweis, dass die Function nicht gestartet werden konnte. 

Also erstmal wieder auf Anfang. Blanke SD-Card mit frischem Raspian, saubere Linuxumgebung und mit mächtig Blutdruck ein Feedback an die Leute geschrieben, die die Dokumentation fabriziert hatten. Nach ca. 5 Stunden kam eine Antwort "Kannste ma 'n Log zeigen" Leute, welches Log? Von Docker gibt es drei und wer weiß, wo noch Zeug hingeschrieben wird.
Die Logs, die ich gefunden habe musste ich aus technischen Gründen als Gist ablegen. Dort schaute sich tatsächlich jemand den Quatsch an und siehe da: "Ja du, die Function startet nicht". Ach nee, Blitzmerker, das habe ich nach einer Woche fummeln auch festgestellt. Was ist denn das Problem? Any Idea? "Na nimm doch mal ein anderes Image für dein IoT Edge Module(microsoft/dotnet:2.0.0-runtime-stretch-arm32v7)". Gesagt getan. Das eine Image im Dockerfile gegen das andere ausgetauscht. Aber warte mal, was steht da? IoT Edge Module? Das ist keine Function. Die darauf folgende Nacht habe ich sehr unruhig geschlafen. Da bekommt man Hilfe und dann ist das total nutzlos, denn ich hatte ja nicht vor, ein Modul zu starten, sondern eine Function App. Oh Gott lass es vernunftbegabte Softwareentwickler regnen.

Reinigender R(S)egen

Nach einer sehr unruhigen Nacht machte es plötzlich Pling. Ja klar, der Kollege wollte wirklich nur helfen und schickt mir quasi durch zehn Blumen gesprochen den Hinweis, dass Functions evtl noch nicht funktionieren. Ja Moment, das ließe sich doch sehr schnell herausfinden, ich hatte ja inzwischen schon gelernt, wie man mit Registries für Docker Container umgeht, wie man in VSCode die richtigen Extensions installiert und vieles mehr. 


Heute dann brachte mir eine Anfrage bei StackOverflow die ersehnte Antwort, auch wenn sie für mich im Grunde niederschmetternd war, so hatte meine Suche endlich ein Ende. Meine Anfrage dort wurde prompt von meinen Community Kollegen beantwortet. Functions werden bei IoT Edge noch nicht unterstützt. Okay. Eine weitere Antwort brachte aber so viel Licht ins Dunkel, dass es mich für viele Tage erleuchten wird. (Nu bleib mal auf dem Teppich) 

"So, I went to check the status of Azure Functions Runtime and the good news is that they have now a version of their runtime for ARM."

Ich werde in absehbarer Zeit meine geliebten Functions auf eines der coolsten Devices nageln können. Herrlich. Vielen Dank an das Azure Functions Team.

Wenn ich Erfolg in diesem Projekt vermelden kann, dann werde ich einen weiteren Post schreiben.

~janekf

Links zu den Anleitungen:
[1] Hervorragende Anleitung, um IoT Edge auf den RPI zu bekommen: https://blog.jongallant.com/2017/11/azure-iot-edge-raspberrypi/

[2] Microsofts Dokumentation, die zu Beginn sehr viel zu wünschen übrig ließ:

Wie der Hybrid Connection Manager den Datenbank Admin nervt UPDATE [02.01.2018]: siehe Abschnitt 'Andere Sprache' und 'Res...

thunder

Wie der Hybrid Connection Manager den Datenbank Admin nervt

UPDATE [02.01.2018]: siehe Abschnitt 'Andere Sprache' und 'Resümee'

Seit ich mich mit den Azure Functions auseinandersetze höre ich von verschiedenen Leuten witzige aber auch unangenehme Bugs. Die meisten lassen sich auf die dahinterliegende Architektur rückschließen. Andere Fehler sind nicht wirklich nachvollziehbar oder haben ihre Ursache an völlig anderen Stellen. Nicht immer, wenn etwas nicht funktioniert, liegt der Grund in der Cloud. Einen speziellen Fall möchte ich euch hier vorstellen. Dazu muss ich aber einen kleinen Umweg gehen, denn wer sich bisher nicht all zu viel mit den Function Apps auseinandergesetzt hat könnte sonst den Faden verlieren.

Datenintegration mit Azure Functions

Azure Functions sind, als sie das erste mal publiziert wurden, unter anderem als Werkzeug für Data Pipelines beschrieben worden. Das ist im Grunde auch in Ordnung, wenn man kein Echtzeitverhalten erwartet.

Für diese Pipeline richtet man eine Function App ein, die mindestens einen Endpunkt hat, der entweder getriggert wird, um Daten aus einer Datenbank zu lesen oder direkt Daten empfängt. Das geschieht in jedem Fall mittels eines HTTP Triggers.

Daten aus einer Datenbank zu lesen ist eigentlich ziemlich einfach, wenn diese ebenfalls in der Azure Cloud eingerichtet ist. Dann kann man eine API Connection dahin aufbauen und mittels IN-Binding aus einer Tabelle/View die Daten lesen. Alles hübsch soweit, wäre da nicht die hässliche Realität. In dieser Realität sind die Datenbanken OnPrem im eigenen Data Center. Hierfür gibt es eine tolle Lösung, den Hybrid Connection Manager, quasi ein Reverse Proxy. Die Realität erlaubt sich einen weiteren Knüppel in das sauber geschmierte Rad der Azure Functions zu werfen, die Daten an sich. Wenn man ein IN-Binding auf eine Tabelle/View einrichtet, werden bei jedem Aufruf der Funktion alle Zeilen gelesen. Das mag bei kleinen Datenmenge okay sein, aber schon ab 500.000 Datensätzen fängt es an sehr langsam zu werden. Der Grund hierfür: das virtuelle Dateisystem hinter den Function Apps, das eine ziemlich schlechte IO Verwaltung hat. Noch ist das so, es wird aber sicher besser.

Wenn man also viele Daten laden möchte, muss man sich des Paging oder den Continuations bemächtigen. Sprich seitenweises Laden der Daten. Dann steht man mit dem IN-Binding auf verlorenem Posten. Was nun?

Ein bisschen Old School

Man kann also das beeindruckend praktische IN-Binding nicht nutzen und auch eine direkte Connection zu den Daten existiert nicht. Warum dann die Functions dafür nutzen? Weil es ein supereinfaches System ist, bei dem man nur ein bisschen Code schreibt, um ans Ziel zu gelangen. Wollte man zum gleichen Ergebnis kommen ohne einer Function App, muss man sich um den Host und die ganze Infrastruktur kümmern. Das möchte man nicht, zumindest ich möchte das nicht mehr. Also bleibe ich bei der Lösung mit der Functions App aber mit ein bisschen Old School.

Wenn man Daten aus einer Datenbank holt und dafür C# verwendet, dann ist das okay, aber nervend, weil damit alles typisiert sein muss. In der Azure Welt wird zum Glück sehr viel mit JSON gearbeitet. Darum ist es sehr praktisch, dass man Funktionen in einer Functions App in JavaScript schreiben kann. Für ein hübsches Schriftbild verendet man üblicherweise das npm package mssql, um Daten aus einem SQL Server zu lesen.

Well connected

Alles ist vorbereitet. Wir haben eine Function App mit einer Funktion, geschrieben in JavaScript, die super einfach Daten aus einer Datenbank liest und irgendwie weiterverarbeitet. Blöd nur wenn plötzlich ein Datenbank Admin neben einem steht und fragt:

"Samma, wat hastn da jebaut? Ick hab hier hundate offne Connections. Dein User baut zwar uff, abber nich mehr ab."

Wie jetzt? Ich habe doch überall das notwendige pool.close() oder sql.close() eingebaut.

Nach einiger Analyse stellt sich tatsächlich heraus, dass die Connection zwar geöffnet wird, aber nicht wieder abgebaut. Wie kann das sein? Eine Analyse muss her.

Anderes Package

Wenn es am mssql Package liegt, dann wechselt man eben auf tedious, welches zwar im Hintergrund von mssql läuft, aber man kann ja nicht wissen.
Ohne Erfolg, die Connections bleiben auch hier bestehen und werden nicht geschlossen.

Datenbank in der Cloud

Nanu, damit geht es plötzlich? Wenn die Datenbank in der Cloud läuft, dann baut sich die Connection ab. Okay, hier wird keine Hybrid Connection Manager gebraucht.
Blöd nur, dass die Datenbank meistens aus rechtlichen Gründen nicht in der Cloud laufen darf. Das ist also keine Option als Lösung.

Andere Sprache

Bei genauerer Betrachtung der anderen Projekte, die ich mit Functions umgesetzt habe sieht man offensichtlich, dass ich mit C# und JavaScript arbeite. Ausgerechnet die Funktionen in C# und mit Datenzugriff scheinen die Connection sauber zu schließen, bzw. den Connection Pool korrekt zu nutzen. Sprich wenn ich alle Funktionen, die Datenbankzugriffe haben, auf C# umstelle, dann könnte ich auf der sicheren Seite sein.
UPDATE: Falsch gedacht. Nach eingehender Betrachtung habe ich feststellen müssen, dass der Connection Pool mit C# zwar eine Weile lang weiter verwendet wird, sprich keine weiteren Connections aufgebaut werden, aber nach einer Weile - Zeitraum unbekannt - werden weitere Pools angelegt. Die bereits vorhandenen werden dann nicht abgebaut, sondern bleiben bestehen. Mist aber auch. :(

Resümee

Nach einigen Tests ergab, dass JavaScript zwar die coolere Sprache für die Cloud ist, weil alles sofort in JSON zur Verfügung steht. Wenn aber in der Kombination JavaScript + Hybrid Connection Manager + SQL Server die Connections nicht wieder abgebaut werden, muss man in den sauren Apfel beißen und JavaScript durch C# + Newtonsoft.Json austauschen. In diesem Fall hat alles bestens funktioniert. Warum die Connections nicht abgebaut werden ist nicht wirklich klar. Dass in diesem Fall die Function Apps nichts damit zu tun haben würde ich daraus schließen, dass bei der Verwendung von C# alles okay ist und wenn man mit JavaScript eine Datenbank in der Cloud abfragt ist auch alles okay.
UPDATE: Leider falsch, siehe 'Andere Sprache'. Auch unter C# werden die Connections nicht korrekt abgebaut. Was man nun versuchen kann, ist das External Table Bindig zu verwenden. Dieses ist jedoch immer noch (seit fast zwei Jahren) im experimental Stadium.







Was als Spass begann endet nun in vollem Ernst. Mike Bild , den ich (leider erst) Anfang 2010 kennenlernte, offerierte mir vor sechs Jah...



Was als Spass begann endet nun in vollem Ernst.

Mike Bild, den ich (leider erst) Anfang 2010 kennenlernte, offerierte mir vor sechs Jahren, dass es eine Konferenz für die Community gibt, die man unbedingt besuchen sollte, wenn man die wirklich spannenden Themen kennen lernen möchte. Bis dato flog ich am Rande mit und interessierte mich für alles, was nach Zukunft aussah. Ja ehrlich, sogar die WCF habe ich anfänglich dazu gezählt. Und dann kam mein erster Developer Open Space, damals noch vorrangig auf die .Net Technologien ausgerichet. Diese Konferenz stellte alles bisherige in den Schatten. Jede BASTA oder sonstige kommerzielle Konferenz verkümmerte nur noch zu einem Haufen Elend. Hier in Leipzig traf man Hinz und Kunz der Softwareentwicklung, ging auf Tuchfühlung mit den wirklich spannenden Leuten und konnte ungezwungen mit ihnen ins Gespräch kommen. Ich kann mich noch gut an die ersten Begegnungen mit Ilker Cetinkaya, Daniel Fisher oder Stefan Lieser erinnern. Das waren echte Highlights auf dem Weg in die Community.

Das erste Mal war beeindruckend. Im zweiten Jahr war die Sorge der Agendagestaltung genommen und ich reichte selbst etwas ein. Keine Ahnung was es war, aber Blut war geleckt. Ich wollte mehr davon, was dazu führte, dass Mike und ich zusammen in 2012 die längste Session aller Zeiten hielten. Sechs Stunden CQRS und der Raum war permanent gut gefüllt. Die Teilnehmer der Konferenz wurden einfach nicht satt, so dass wir auch nicht aufhörten. Das macht den Open Space aus. Keine Agenda, keine zeitliche Beschränkung und jeder ist zur richtigen Zeit im richtigen Raum. Wissen und Inspiration pur, keine Ablenkung oder Einschränkungen.

Das änderte sich jedoch im Laufe der Zeit. Mehr Teilnehmer, mehr "Neulinge" (wie ich es auch einmal war), mehr Konsumenten, mehr Frontalvorträge und Ablenkung. Der klassische Open Space scheint verschwunden zu sein. Ja klar, die Meinungen der Teilnehmer sind trotzdem positiv, so auch meine. Man trifft sich mit den Kollegen, diskutiert manchmal innerhalb manchmal außerhalb der Sessions über das neue "Shiny Toy" und hat eine gute Zeit. Unbestritten. Und dennoch kündige ich hiermit meinen Abschied von all dem an.

Auf ein Wiedersehen im nächsten offenen Raum.



Kommerz verschafft sich Platz. Nicht nur in Form der stetig steigenden Preise, sondern auch in der Ausführung. "Eine Werbeflut gibt es nicht" heißt es sinngemäß auf der Webseite, um dann am Empfang mit einem Tisch und einer Tüte voller Werbung begrüßt zu werden. Das schmeckt irgendwie bitter. Bin ich empfindlich hierbei? Kann gut sein. Ich nehme halt die Texte auf den Webseiten entsprechend wahr und lege sie für mich aus - mein subjektives Empfinden kann man mir nun mal nicht nehmen.

"Der größte ... aller Zeiten mit 400 Teilnehmern!" wow, denkt man da zurecht. Da hat die Orga ordentlich einen ausgetütet, sich ins Zeug gelegt und Leute erreicht. Ich war etwas skeptisch, ob ich das gut finden soll, von 250 Teilnehmern im letzten Jahr auf nunmehr fast doppelt so viel. Da geht doch das familiäre verloren. Und dann das. Keine 400 Leute standen da beim Finden der Agenda. Die mühevoll vorbereitetes Garage des Hotels war zwar übersichtlich gefüllt, aber nicht mit 400 Leuten. Ich würde sagen, es waren 400 Anmeldungen, aber aktive Teilnehmer pro Tag waren vielleicht 200 bis 250 unterwegs, also die gleiche Menge wie schon die Jahre zuvor. Was für ein Glück, dass es nicht so viel war. Und dennoch, ein komischer Geschmack bleibt in der Formulierung "400 Teilnehmer".  Muss man so an den Knöppen drehen - wie man in Berlin sagt? Sicher nicht, es sei denn, man möchte noch mehr Teilnehmer im nächsten Jahr erreichen.

Glaubt mir, ich weiß was es bedeutet eine solche Veranstaltung zu organisieren. Die Berliner Spartakiade begleitete ich für 5 Jahre, bis 2016. Auch dies ist nun vorbei für mich. Der Aufwand, der Stress und die permanente passive Aggressivität, alles falsch zu machen, hat mich zu diesem Entschluss bewogen. Zudem kommt der Aspekt, bis heute nicht genau zu wissen was mit den Teilnehmer- und Sponsorengeldern passiert ist. Nur in groben Zügen kann ich den Fluss nachvollziehen, aber eine genaue Antwort auf meine Anfrage erhielt bisher nicht. Schade, dass wieder mal Freundschaften am Geld zerbrechen.
Nun gut, die nächste Spartakiade ist sicher wieder die größte und beste aller Zeiten, nur halt ohne mich. Und der nächste Developer Open Space wird sicher auch der größte und beste aller Zeiten, ebenfalls ohne meine Teilnahme.

Ich ziehe mit Freunden weiter. Menschen, die mir gut tun und mit denen ich gemeinsam etwas Neues entstehen lassen kann. Community Kollegen, die gerne miteinander ehrlich und respektvoll umgehen.

~janekf

Auf Wiedersehen Ulrike, Esther, Krisztina, Karen, Irina, Kate, Thomas, Mike, Maik, Alex, Alexander, Christian, Steffen, Stefan, Staphan, Hans-Peter, Steve, Sia, Sebastian, Anton, Rocco, Richard, Daniel, Martin, Kai, Gregor, Torsten, Thorsten, Jens, Robert, Benjamin, Frank, Marco, Marko, Andreas, Robin, Marius, Holger, Michael, David, Jürgen, Phillip, Marcel, Marcell, Sascha, Oliver, Björn, Timur, Peter, Jan, Udo, Dariusz, Lars, Johannes, Fabian, Hendrik, Philip, Uli, Dennis, Max, Sven, Kostja, Dirk... und alle, die ich vergessen haben sollte.

Dieser Teil der Blog Post Serie handelt von den Kleinigkeiten, die mir bei der Benutzung des Surface Book aufgefallen sind. Bisher habe i...


Dieser Teil der Blog Post Serie handelt von den Kleinigkeiten, die mir bei der Benutzung des Surface Book aufgefallen sind. Bisher habe ich versucht diese Kleinigkeiten nicht mit in die vorherigen Teile mit auf zu nehmen, obwohl es mächtig in den Fingern juckte.

Powerfull

Dann fang ich mal beim Offensichtlichsten an, der Batterie. Voller Vorfreude lud ich das Gerät am ersten Tag mit Hilfe des mitgelieferten Netzteils auf. Soweit so gut. Da ist mir das Folgende noch nicht aufgefallen. Beim zweiten Mal passierte etwas ziemlich Unerwartetes. Das Netzteil zum Book hat ein wirklich cooles Feature. Es ist eine USB Buchse verbaut, über die man ein entsprechendes Gerät, Handy oder ähnliches, mit aufladen kann. Super Idee, weiter so. Aber oh Schreck, wenn man über USB aufläd, wird das Book nicht aufgeladen. So zumindest die Ladeanzeige im Sperrbildschirm. Du meine Güte, wer denkt sich denn so etwas aus?


Aber Halt, da stimmt doch was nicht. Nach außen sieht es vielleicht so aus, aber tatsächlich ist das Book aufgeladen, nur sieht man das erst, wenn man sich anmeldet und das Icon zur Ladeanzeige in der Taskbar überprüft. Hässlicher kleiner Glitch du.

Powerless

Da ich schon bei der Batterie bin… Wer zum Henker kommt auf die glorreiche Idee ein mobiles Gerät aus zu liefern, das im vermeintlich ausgeschalteten Zustand mächtig Strom verbraucht, 3% in 30 Minuten? Das ist nicht geil, das ist peinlich.
Nach einiger Zeit stellte sich heraus, dass das Energiemanagement nicht vernünftig eingestellt ist. Man muss den Akkumodus so hingehend ändern, dass man beim Zuklappen des Gerätes in den "Ruhezustand" wechselt. Werksseitig ist "Energie sparen" eingestellt, das noch eine Menge Hintergrundaktivität verursacht. Das sollte unbedingt für den Auslieferungszustand geändert werden.



*Plock*

Was auch unbedingt geändert werden muss ist einer meiner Lieblingsfauxpas. Das Touchpad hatte ich in einer der vorherigen Blog Posts schon kurz erwähnt. Es ist für die klassische Bedienung durchaus geeignet - in der Schule würde man sagen "es hat sich stets bemüht". Aber dafür, dass es als das tolle Ding am tollen Ding angepriesen wird, muss ich sagen, ist es ziemlich ernüchternd. Das Stick-Slip-Verhalten kam schon zu Wort, nun weise ich auf den unsäglich hässlichen Klicksound hin. Ich weiß nicht, woran er mich erinnert, etwas gutes ist es auf keinen Fall. Zu hochfrequent und laut. Er macht einen sehr billigen Eindruck und sollte, wie bei Apples neuem Touchpad, abschaltbar sein.

Licht am Ende des Tunnels

"Mein Gott, ich bin blind. Ich sehe nichts mehr. Alles Schwarz… oder? Nein Moment, ganz da hinten sehe ich noch was. Herrje, hier muss doch…". Ich tappe im Dunkeln. Nichts zu sehen auf dem Display. Dabei habe ich doch nur die Helligkeit einstellen wollen. Im Infocenter auf den kleinen Button durch die Helligkeitsstufen klicken ist keine gute Lösung, wenn eine der Einstellungen fast komplett "Aus" bedeutet. Zum Glück konnte ich das Zimmer soweit abdunkeln, dass man den Button ganz vorsichtig schimmern sehen und in die Normaleinstellung zurück schalten konnte.
Für alles mögliche gibt es Funktionstasten, aber nicht für die Displayhelligkeit. Das ist nicht gut. Inzwischen habe ich eine Lösung im Internet gefunden. Für Win10 gibt es die Short Cuts fn+Entf für "10% heller" und fn+Backspace für "10% dunkler". Sehr nützlich der Tip, denn die automatische Einstellung auf die Umgebungshelligkeit funktioniert nur mittelprächtig.

Kunststoffspaghetti

Was mich auch ziemlich stört sind Kabel. Im Besonderen die, die dich auf jeden Knick hinweisen, den du mal gemacht hast, die Knäul bilden und an Äste einer Korkenzieherweide erinnern. Bisher haben es nur zwei Hersteller von elektrischen Geräten geschafft ihre Kabel in das Gesamtbild hinein zu designen. Ich rede von OnePlus und Apple. Deren Kabel fassen sich angenehm an und bilden bei normaler Benutzung keine Knicke. Supi, das erwarte ich in 2016 auch von Microsoft. "So ein Quatsch… Kabel sind doch nur Nebensache und gehören, wie der Klick Sound vom Touchpad in die unterste Schublade des Produktdesigners."
Keines der Kabel zum Book ist irgendwie schön oder lässt sich hübsch zusammenlegen. Ein gebrauchtes nasses Handtuch über die Wäscheleine gelegt, sieht charmanter und lasziver aus, als diese Kunststoffspaghetti. Schade, wirklich schade, da sollte unbedingt dran gearbeitet werden. Kabel und Zubehör sollten ein angenehmes Gesamtbild zum eigentlichen Produkt erzeugen. Kann doch nicht so schwer sein.
Und wenn ihr gerade dabei seid, die Designabteilung zu entlassen, schickt auch den Typen nach Hause, der sich die Dockingstation auf die Fahne schreibt. Wieso ist das (Peinlich)Kabel auf der linken Seite vom Dock, wo man instinktiv dieses Dock hinter das Book stellen möchte und somit das Kabel von links zurück auf die rechte Seite des Books führen muss? Im Internet findet man kaum Bilder von diesem Konstruktionsfehler. Könnte Absicht sein…



Vom Winde verweht

Gerade eben tauchte wieder etwas auf. Die schon einmal erwähnte Lüftung, wollte nun doch in den Blog Post rein. Erst sollte das ja nicht passieren, aber wer so sehr nach Aufmerksamkeit brüllt, wird mit ein paar Zeilen belohnt.
Es ist etwas wärmer gerade, gute 25°C. Ich lege das Book kurz weg, da plötzlich ertönt ein bekanntes Geräusch. Bwwwwwwwwwwwwww… Ah, die Lüftung geht an. Na kann man ja mal machen, ich denke mir nichts dabei. Doch dann. irgendwer muss sich einen Scherz erlaubt haben und in mein Book einen kleinen Brummbär eingebaut haben. Haha, lustig. Nein im Ernst, wenn die Lüftung an ist und man hebt das Book kurz hoch, um es dann wieder ab zu legen, dann hört man ein klares Bwwww Bruuuhh. Nochmal Bwwww Bruuuhhh. Oh wie süß. Microsoft hat auch an die Kleinsten von uns gedacht und ein Brummbär Soundeffekt eingebaut. Wäre noch interessant, wie lange der Lüfter das Bruuuhh mitmacht. Irgendwann sind die kleinen Flügelchen abgerieben. Ist das in der Garantie enthalten oder darf man das Book bei eingeschalteter Lüftung nicht bewegen?



Falls ihr bei Microsoft noch jemanden braucht, der bereit ist euch echtes Feedback und Hinweise zu geben, ich mache das gerne, damit ihr besser werdet. ;)

So, nun soll Schluss sein, mit dem Schimpfen. Ihr stellt euch sicherlich schon die Frage, warum ich das hier überhaupt noch mache und warum ich die Kiste nicht schon längst wieder zurück geschickt habe. Ich sags mal so - Strockholmsyndrom oder wie ein paar Kinderaugen alles wieder gut machen können.

Bis zum nächsten und finalen Teil
Tschö mit Ö

~janekf

Was man versprochen hat, soll man bekanntlich auch halten. Die Serie zum Surface Book Review geht weiter. Ging es beim ersten Teil noch ...


Was man versprochen hat, soll man bekanntlich auch halten. Die Serie zum Surface Book Review geht weiter. Ging es beim ersten Teil noch um den Bestellprozess, hat der zweite Teil mehr das verfehlte optische Design und das versöhnende Display im Fokus.
Als ich mit der Serie anfing, dachte ich noch, dass es nicht mehr als zwei Blog Posts werden. Falsch gedacht, es gibt mehr zu berichten als  angenommen. Täglich kommen neue Dinge zum Vorschein, die wie der "kleine Hunger" um die Ecke schauen und freundlich winken.

"Huhu, da ist noch was, schreib auch über mich."

Gerade eben erst habe ich bemerkt, dass die Lüfter auch mal arbeiten möchten. Ganz ungeniert geht das Gebläse an und fiept frisch fromm fröhlich frei sein Liedchen. "DumdiehhiehhDumDiieehhDei" Was soll das denn? Da war keinerlei Last auf dem Gerät. Bist du sauer, dass ich schon lange keinen Lüfter mehr gehört habe, weil ich Windows nicht gestartet habe? Vollpfosten...

Zur Sache...

Wie im vorherigen Blog Post versprochen, geht es heute um den Grund, warum ich nicht(!) auf dem Surface Book geschrieben habe.
Der ein oder andere kennt mich und kennt auch meine Aversion gegen Tastaturen, die einfach nur billg wirken. Vor vielen Jahren fing das an, als ich nach einer endlos langen Serie von ziemlich menschen unwürdigen Tastaturen die erste Laptoptatstatur vom Sony Vaio in den Händen hielt. Boah, was für eine Schmeichelei an den Fingern. Ja und seither habe ich so meine Probleme, wenn die Tasten, die das Leben bedeuten, einem das Gefühl geben, man würde auf Kronkorken herumtrommeln. Da lob ich mir die hochwertigen Tastaturen, die einem das Schreiben angenehmer machen. Ja klar, das ist alles sehr subjektiv, aber wer möchte mir verbieten zu sagen, dass ich die Lenovo Tatstaturen  als einen Graus wahr nehme - keiner - Hehe.



Und wie ist das jetzt mit dem Surface Book. Naja, wie man's nimmt. Wer auf einfach steht, der ist gut beraten. Die Tasten fassen sich zwar genau so nett (die kleine Schwester von Sch....) wie das Gehäuse an, sie tippen sich ziemlich gut und auch das Geräusch ist halbwegs in Ordnung. In Summe könnte man meinen, es ist eine Tschibo Tastatur, nicht ganz billig aber auch nicht die Oberklasse. Eben was für den typischen Manager, der sie nicht oft benutzt, aber damit schmücken möchte.

Ihr hört schon, irgendwas kommt doch noch. Richtig, das super coole Feature, was einigen Herstellern noch fehlt und was andere Hersteller einfach um Längen besser machen. Die Beleuchtung der eizelnen Tasten. Wow, was für ein Reinfall - sorry Leute, da hat offenbar der Kollege aus der Designabteilung gedacht: "Hey noch ein bisschen mehr Grau könnte dem Gerät wirklich gut tun."
Ihr glaubt es mir nicht? Hier ein Bild, welches unter völlg normalen Bedingungen aufgenommen wurde, nichts geschönt, nichts retuschiert.



Einige Kollegen können ja blind schreiben, ich nicht und ich kann vor allem dann nicht schreiben, wenn die Tasten quasi ausgeblendet sind. Das ist mein Problem, aber mit Sicherheit auch das anderer User.

Was höre ich da... "Dann schau doch anders rauf, in einem anderen Winkel." Ja geile Idee, dann sollte man das Display aber etwas weiter nach hinten klappen können, was aus Gründen der Stabilität und des Schwerpunktes nicht geht - wogegen ich übrigens nichts habe.

Um der Sache ein bisschen entgegen zu kommen möchte ich positiv erwähnen, dass in einer angemessenen Dunkelheit die Tasten mit Beleuchtung recht gut erkennbar sind, leider halt nur dann. Tagsüber verschwindet die Beschriftung und das ist nicht lustig. Gönnt dem Gerät ein Tageslichtsensor, oder nutzt den schon eingebauten, um die Helligkeit der Beleuchtung am Tage zu regeln, just a hint.

Ach und noch ein kleiner Hinweis... Auch wenn es am Akku lutschten mag, lasst die Beleuchtung an, wenn sie eingeschaltet ist. Dieses An und Aus nervt schlichtweg.

Noch etwas Positives heute? Ja, etwas wirklich Kleines. Das Trackpad tut seine Arbeit recht angenehm. Es spricht schnell an und es fehlen lauter hübsche Gesten. Das Scrollen ist von Applikation zu Applikation anders, meistens flüssig ab und zu viel zu ungenau. (*"Du wolltest doch was Positives schreiben" - "Hab ich doch, das Trackpad funktioniert besser als erwartet"*). Auch die Oberfläche des Trackpads ist suboptimal. Es fehlt ihr an Glätte. Wenn man etwas anklickt, gedrückt hält und dann verschieben möchte schlägt der Stick-Slip-Effekt voll zu. Und dann klingt das Verschieben, als hätte man die Flatulenz.
Hihi... ich stell mir das gerade im Meeting vor. Lauter seriöse Herren, jeder hat ein hübsches Device vor sich zu stehen und der Kollege mit dem Surface Book möchte etwas präsentieren. Puups... peinliche Blicke... weiter im Text... Kicher.

Keine Angst, am MacBook passiert das auch manchmal.

Puups... grunz

~janekf



Nachdem ich im letzten Post  über das Abenteuer geschrieben habe, wie das Surface Book in meinen Besitz geraten ist, möchte ich nun damit be...

Nachdem ich im letzten Post über das Abenteuer geschrieben habe, wie das Surface Book in meinen Besitz geraten ist, möchte ich nun damit beginnen die ersten Eindrücke zu beschreiben. Ja und wie schon versprochen, es wird kein Blatt vor den Mund genommen... Das ist ernst gemeint.




Ok, wie es in einem Review, einer Rezension oder sonst was für ein Art von Beschreibung üblich scheint, sollte man mit einer Liste der Themen, die man besprechen möchte, beginnen.

 1. Erster Eindruck
 2. Zweiter Eindruck
 3. Dritter Eindruck
 4. alle anderen Eindrücke

So, das ist erledigt. Ich denke, die Agenda ist nüchtern genug, so nüchtern, wie mein erster Eindruck.
Gott... Liebe Leute von Microsoft, habt ihr euch im Vorfeld erkundigt, welches Grau das langweiligste ist, was man nehmen kann?
Aus Erfahrung kann ich sagen, dass es interessantere Grautöne gibt, als diesen. Auf den ersten Blick wirkt das Gehäuse wie reinster billiger Kunststoff, doch dann kommt die Überraschung schlechthin. Dann, wenn man die Hand irgendwo auf das Gehäuse legt, wird man kühl und berechnend begrüßt, das mag ich mehr, als das, was mir das Auge versprochen hat. Ein wenig wie 560er Sandpapier fühlt es sich an. Aus meiner Sicht hat man hier alles an Design rein getan, was die (räusper) Designabteilung leisten konnte.

Nun gut, eine zweite Chance - von noch vielen - gebe ich dir mein gutes Stück. Fangen wir damit an, es auf zu klappen. Bitte... nur ein mal... ganz vorsichtig. Ach ja klar, eine rutschfreie Unterlage wird gebraucht, damit sich das Display irgendwie von der Tastatur löst. Ja, sie haben sich aber auch wirklich sehr lieb und wollen für immer zu sammen bleiben. Was ich sagen möchte, das Display und die Tastatur lassen sich nicht wirklich leicht lösen, jedenfalls nicht, wenn der Tisch unter dem Gerät recht glatt ist, wie ein Holz- oder Bürotisch. Um an sein Ziel zu kommen braucht es also entweder einen anderen Griff, einen Gegenhalter oder eine rutschfeste Unterlage. Eines von dem hat man garantiert bei der Hand, sodass dem Glück nichts mehr im Wege steht.

BTW: ich habe mich für einen anderen Griff entschieden, nachdem ich feststellen durfte, dass an der Stelle, wo man instinktiv das Gerät öffen möchte, der Ein/Ausschalter bzw. der Lautstärkeregler ist. (leises Kopfschütteln begleitet diesen Absatz)

Wow... Meine Güte... Das ist mal ein Display. Dagegen - ok ich übertreibe jetzt ein bisschen - kommt einem das Retina Display vom MacBook Pro 15" wie das Bild einer VHS Kasette vor. Nein ehrlich, das ist das billianteste und klarste Bild, das ich seit Monaten gesehen habe. Der eingebaute Augenfehler, den ich seit Jahren mit mir herum schleppe kommt wieder vollstens (psst, ihr Gramatik Samurais) zur Geltung. Ich sehe wieder jeden Schatten hin und her flimmern, Wahnsinn.
Technische Details, bzgl. der Auflösung könnt ihr im Internet nachschlagen oder in den anderen Tests nachlesen, dafür ist diese Blog Post Reihe nicht gedacht.



Schon beim Hochladen des Bildes, musste ich Kichern. Die Kamera, mit der ich das Bild aufgenommen habe, hat nicht einmal ansatzweise eine so gute Qualität, um das Display ins rechte Licht setzten zu können. Und trotzdem, es musste einfach sein.
Ich bin so sehr beeindruckt, dass ich den Blick kaum abwenden möchte und dennoch schreibe ich diesen Post am anderen Rechner - aus Gründen. Gründen, die ich im nächten Blog Post darstellen werde.

Gut gut, ein Hinweis. Der Grund liegt dem Display gegenüber.

---
Mir fällt gerade ein. Falls jemand eine Unboxing Beschreibung haben möchte. Ich fasse mich kurz. Langweilig und umständlich. Der Karton ist hochwertig, alles passt zusammen aber das war's auch schon. Das Gerät lässt sich nicht smooth aus der Verpackung heben. Wenn man mit dem Fingernagel (!) an der dafür vorgesehenen Stelle pult, öffnet sich das Gerät mühelos, anstatt dass es aus dem Karton kommt. Halt mal, vielleicht sollte man den Karton immer dabei haben zum... Ach, lassen wir das.

~janekf



Ein Blog Post über den Weg hin zum und mit dem Surface Book von Microsoft . Ich hätte es im Prinzip erwarten können. Bei meinem bisherigen...

Ein Blog Post über den Weg hin zum und mit dem Surface Book von Microsoft.

Ich hätte es im Prinzip erwarten können. Bei meinem bisherigen Glück mit Onlinebestellungen ist der Weg, hin zu dem Moment, da ich die Ware in den Händen halten kann, ein sehr steinger. Genau wie sich die Deutsche Fußballmannschaft in 2014 nach vorn kämpfen musste, war es keine Selbstverständlichkeit das Gerät nun auf den Beinen liegen zu haben, um diesen Post zu schreiben. Aber fangen wir ganz vorn an.



Insiderprogramm

Eines Tages erreichte mich eine Mail, die mir versprach, dass die Teilnehmer des Microsoft Insiderprogramms eine Sonderkondition zum Kauf des Surface Book erhalten - nett. Und dazu das Dock, welches man für den Anschluss weiterer Geräte extrem gut gebrauchen kann, kostenfrei oben drauf. Coole Aktion, dachte ich. Ein kurzer Blick in die Twitter Timeline zeigte mir, dass auch andere diese Mail erhalten hatten und nun darüber diskutierten, ob man zuschlagen sollte oder eben nicht. Ich sags mal so... es gab mehr Leute dagagen, als dafür.

Hey, lass ich mich durch die Meinung anderer beeinflussen - ja klar. Also selber eine Meinung bilden und einen Blick in den Store riskieren.

Pfff.... Volle Ausbaustufe... hossa. Das ist definitv zu viel für ein Gerät, dass erst noch seine Berechtigung erkämpfen muss. Und da ich seit einiger Zeit mit einem MacBook Pro rum mache, wurde mir die Entscheidung noch schwerer gemacht.

Auf der anderen Seite, wie soll ein solcher Hybrid jemals eine Chance bekommen, wenn man immer nur abwartet. Also... eine Ausbausstufe weniger ausgewählt, Rabattcode eigegeben und die Bestellung ausgelöst.

Wenn ich einen Screenshot gemacht hätte, ihr könntet jetzt sehen, dass das ein Unheil seinen Lauf nehmen wird.

Statt einer Bestätigung, dass die Bestellung erfolgreich war, meldete sich die Webseite: "Ähm... keine Ahnung, was eben passiert ist, aber Bestellung pfutsch. Mach mal noch mal."

Ich so: "Ok, kein Problem, mach ich einfach nochmal."

Webseite so: "Ähm, nee du, irgendwas ist nicht so richtig gut mit deiner Kreditkarte. Mach mal nochmal"

Ich so: (rolleyes) "Na gut... jetzt mit Paypal."

Webseite so: "Super... alles hat geklappt. In 2-4 Tagen bist du Besitzer eines Surface Book, i7, 8GB RAM, 256 GB HDD"

Ich so: "Supi, und wenns nicht gefällt, kann ich's ja zurück schicken. :-)"

Nach besagten vier Tagen wurde ich sehr unruhig, denn weder eine Bestätigungsmail noch eine Versandbenachrichtigung oder sonst irgendetwas kam bei mir an. Also ran an den Microsoft Support, im Chat. (Später habe ich noch das halbe Team im Support per Telefon kennen gelernt.)
Man sagte mir, dass es ein Problem bei der Bestellung gab und alles noch im grünen Bereich ist. Ich brauche mir keine Sorgen machen, das Geld wird erst bei Versandbestätigung abgebucht. Ha, falsch gedacht. Noch im selben Augenblick schaue ich auf's Konto und siehe da, die Buchung ist erfolgt, nur halt kein Versand. Das teile ich dem Kollegen auf der anderen Seite mit. Mit dem Effekt... Chat beendet. Einfach so.

Na gut, ich möchte euch wirklich alles ersparen, was dann kam... etliche Minuten am Telefon und etliche Ausreden, warum es denn gerade jetzt nicht klappt. Hey Leute, dachte ich mir, ich wende mich mal direkt an die Kollegen in der Microsoft Community. Eine kurze Nachricht an Jan Schenk und die Eskalation nahm ihren Lauf. Er hat sich rührend für mich eingesetzt - ein dickes Dankeschön nochmal an dieser Stelle.

Es hat insgesamt gute drei Wochen gebraucht, bis die Finanzabteilung bei Microsoft die Buchung wieder frei gegeben hat. Da muss definitiv dran gearbeitet werden, denn meine Kohle lag schon lange auf eurem Konto.
Ich hatte inzwischen schon eine private Supportmitarbeiterin, die sich herzlichst um mich kümmerte, Statusberichte lieferte, zu jeder Tages- und Nachtzeit. Beeindruckend, auch ein Dank an Olivia :)

Da isses

Nach dieser Odyssee konnte ich das Gerät endlich in der Hand halten. Fast.
Ganz so einfach war es dann doch nicht. Der Lieferprozess wurde von meiner Olivia dankenswerter weise nach Nürnberg umgelenkt, weil ich dort zur DWX war. Eigentlich sollte das Gerät am Montag da sein, aber was soll ich sagen. Mittwoch ist auch irgendwie Ok, im Rahmen der Vergangenheit. Man konnte nicht früher - angeblich irgend ein Code; Zeitverschiebung; Sonnenflecken - ach was weiß ich.

Aus der Sicht des Surface spielte sich dann in etwa folgende Szene ab.

Im Hotel angekommen hat man mich an einen der Mitarbeiter übergeben. Leider hat offenbar Microsoft vergessen den Namen meines Käufers auf den Lieferschein zu drucken, was im Hotel zunächst für Verwirrung sorgte, aber ein beherzter Mitarbeiter - nennen wir ihn Hotelmanager - fand das Paket sehr interessant und packte schon mal aus. "Boah, was zur Hölle ist das denn?" schrie er "gleich mal ausprobieren." Das war so gegen 10 Uhr. Zu seinem Pech wurde er dann doch wieder vom Tagesgeschäft eingeholt, denn weiter als bis zum Einrichten des WLan kam er nicht. Nun stand ich hier so rum, ungenutzt und etwas deplatziert.
Nach gut einer Stunde tat sich was. Einer der Haustechniker kam rein und packte mich recht lieblos wieder zusammen. Irgend etwas war geschehen. Im Hintergrund hörte ich den Manager schnaufen und auch der Techniker war nicht sonderlich erbaut.
Zurück im dunklen Karton, wurde ich an jemand anderen übergeben. Offenbar handelte es sich hier um jemanden, der mich erwartet hatte, denn ich hörte aus dem Karton heraus: "da isses, cool".

Liebe Leser, ich kann euch sagen, dass so ein Gesicht eines Herren ziemlich bedeppert aussieht, wenn man ihm sein unerwartetes Spielzeug einfach so weg nimmt.



So viel dazu erst einmal. Im nächsten Blog Post gehe ich auf die ersten Eindrücke und Erfahrungen ein. Seid euch gewiss, es wird kein Blatt vor den Mund genommen.

~janekf