Training - Beratung - Projektarbeiten

www.David-Tielke.de

Windows Phone 8–Ich falle echt vom Glauben ab Microsoft…

Ich bin seit einem Monat stolzer Besitzer eines Nokia 1520 und ich liebe es. Jeder der mich kennt weiß, dass ich ein großer Fan von diesem Betriebssystem bin auch wenn ich mir der vielen Schwächen bewusst bin– manche nennen es auch “MS Fanboy”… Zwinkerndes Smiley 

Aber neben dem Taschenrechner-Bug, den Microsoft seit der ersten Version im Oktober 2010 nicht gefixt bekommen hat, hat mich heute ein weiteres “Feature” einfach nur sprachlos gemacht.

Die Kalenderapp in WP8 funktioniert – mehr aber auch nicht. Es fehlt leider eine Wochenansicht, eine gescheite Übersicht der nächsten anstehenden Termine und die Monatsansicht war bisher auf den “alten” WP-Geräten mangels Größe und Auflösung einfach unlesbar.

Ich muss zugeben, ich suche bei Terminabsprachen meist aus diesem Grund direkt im Outlook aber heute wollte ich schauen, ob es auf dem 6” großen FullHD-Display besser lesbar ist. Als erstes wird die neue Auflösung nicht genutzt, heißt ich habe fast dieselbe Größe wie vorher:

wp_ss_20140207_0002

Aber endlich kann man, dank der großen Auflösung, den winzigen Text entziffern oder viel mehr erraten. Aber wirklich etwas bringen wird es nicht, denn (und das muss man sich mal vorstellen) es wird Blindtext angezeigt:

image

Zusätzlich passt nicht mal die Anzahl der angezeigten Termine…

Ich muss ja sagen als Entwickler habe ich sehr viel Verständnis für Fehler in Softwareprodukten, zumindest mehr als es ein nicht-Entwickler hat, aber das hier ist wirklich der Wahnsinn. Nicht nur das man dem Benutzer eine Ansicht bietet, die schlichtweg nicht zu benutzen ist (Zoom funktioniert nicht) sondern sie zeigt weder die richtige Anzahl der Termine noch den richtigen Text an.

Hat man sich gedacht das die Ansicht so schlecht ist, dass es eh niemandem auffallen wird? Ich bin wirklich sprachlos…

Surface Pro 2–Es hätte perfekt sein können

Ich habe schon einige Male über meine Begeisterung über die Microsoft 2in1s der Marke Surface gesprochen. Auch wenn die Marke bei vielen einen schweren Stand hat, bin ich einfach von der Power, der Haptik und der Flexibilität der Geräte überzeugt und bin seit nunmehr drei Monaten stolzer Besitzer eines Surface Pro 2.

Das Gerät an sich begeistert mich auch nach dieser Zeit – ich habe in meinem mobilen Alltag bei Kunden hohe Ansprüche an die Zuverlässigkeit und die Handhabbarkeit meiner Devices und das Surface hat mich noch nie im Stich gelassen. Egal ob bei Projektarbeit, Beratungen oder Trainings – die Kombination aus Ultrabook, Tablet und digitalem Notizblock hat sich einfach bewährt. Für mich ein ideales Windows 8 – Gerät.

Als Microsoft den Launch der zweiten Generation der Geräte ankündigte, war die Gadgetwelt größtenteils begeistert – Hintergrundbeleuchtete Cover, Dockingstations und auch noch ein Powercover welches dem Surface noch einmal 80% mehr Laufzeit geben sollte – für mich endlich die eierlegende Wollmilchsau.

Bevor wir uns die Dinge anschauen, die mal wieder nicht geklappt haben, möchte ich vorweg etwas zum neuen TypeCover 2 loswerden: HAMMER! Ich hätte es niemals für möglich gehalten, dass ich auf einer so kleinen Tastatur so gut schreiben kann. Nach einer kurzen Umgewöhnungsphase bin ich auf dem TypeCover genau so schnell wie auf der Tastatur meines alten Lenovo Notebooks. Die Hintergrundbeleuchtung ist immer ausreichend gut, nicht zu hell und nicht zu dunkel. Einfach ein Meisterwerk in diesem Bereich, ich habe noch nichts vergleichbares gesehen.

Kommen wir zu den weniger erfreulichen Erweiterungen: Das PowerCover. Von Microsoft ab “Anfang 2014” angekündigt, wurde bis heute noch kein einziges Exemplar an einen Kunden ausgeliefert – warum, das weiß nur Microsoft. Schaut man sich die Fähigkeiten an, die Microsoft mit dem TypeCover2 unter beweis gestellt hat, fallen beim besten Willen keine Gründe ein, warum man nicht ein ähnliches Gerät produzieren könnte, welches etwas dicker ist und einen weiteren Akku enthält. Die Hintergrundbeleuchtung kann es in jedem Fall nicht sein, die ist leider nicht Bestandteil des PowerCovers oder wird es nie sein.

Was mich aber total auf die Palme bringt und leider mal wieder zeigt, wo genau es bei der Devices Devision bei Microsoft noch brennt ist die Dockingstation. Zwar waren erste Geräte seit Anfang des Jahres verfügbar, allerdings nur bei wenigen Handlern und merkwürdigerweise nicht einmal im Shop bei Microsoft selbst. Auch im zweiten Monat des Jahres hat sich die Situation nicht verbessert – ganz im Gegenteil: Da Microsoft offensichtlich nicht in der Lage ist, eine ausreichende Stückzahl der Dockingstationen zu liefern, haben einige Händler die Geräte bereits aus Ihrem Programm genommen – selbst im Shop bei Microsoft selbst wird es nicht mehr angeboten bzw. nicht einmal überhaupt erwähnt. Stand heute hat nur Notebooksbilliger die Geräte in Europa auf Lager zu einem Preis – man halte sich fest – von 299€ anstatt der ursprünglich angekündigten 199€. Wo am Anfang noch die empfohlenen 199€ verlangt wurden, erhöhte man Mitte des Monats auf 249€ und vor kurzem dann auf die erwähnten 299€. Unverschämt könnte man meinen, für mich definitiv ein Grund bei NBB kein weiteres Gerät zu erwerben, aber es geht noch besser: ab 599€ wechselt die Dockingstation bei Amazon den Besitzer – natürlich von Marktplatzhändlern aber immerhin.

Schaut man in diversen Foren nach, scheint die allgemeine Stimmung noch viel schlechter zu sein: Die 256GB Variante des Surfaces ist seit Monaten nicht lieferbar, die 512GB Variante wurde offensichtlich nicht einmal an Erstbesteller ausgeliefert… Unverständlich!

Und das Produkt selbst? Die Testberichte auf Blogs und in Magazinen waren überragend, die Bewertungen in nahezu allen Shops sind ausgezeichnet, eine Kundenzufriedenheit wie Microsoft sie sich immer gewünscht hat. Der in Irland sitzende Support – Überragend…

Schade! Schade das beim zweiten Anlauf so viel besser zu laufen scheint, aber wieder einzelne Bereiche offensichtlich nicht in der Lage sind, die einfachsten Dinge richtig zu machen. Wieder ist Potenzial da um den Markt aufzumischen, aber man bekommt es einfach nicht hin…

Hauptsache der Startbutton ist wieder da!

Provider type problem with Enitity Framework >5.0 config files

Today i migrated a legacy project from EF4.X to version 6 and faced some problems. After the successfull work (or at least the solution was able to compile), i tried to start the project and got an error every time the config file was read.

The Entity Framework provider type ‘System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer'
for the 'System.Data.SqlClient' ADO.NET provider could not be loaded.

The problem was, that EF needs to be configured in it’s own section inside the app.config or web.config, so a configSection was added to it. To get the configuration out of a section, the .net configuration system needs an object of a class to “deserialize” the config content to.

This class is the SqlProviderService class inside the EntityFramework.SqlServer assembly. The data project hold a reference to that assembly, so after set the reference property to “copy”, it should normaly be copied over to the depoloyment directory, but it wasn’t.

After some time spending in various tools it looked like that the data assembly has a reference to that EnitityFramework.SqlServer assembly, but no code is actually creating an instance out of this assemlby. If the assembly is referenced, but not used inside the referencing assembly it’s ignored and not copied over to the deployment output.

The most common used solution was, to simply add the EF nuget package again inside the ui project, but that’s a really bad solution, having a dependency to a data technology inside your ui layer.

The most easiest way to get arround this problem is it, to write a method and access the instance property of the SqlProviderServices class. Even if this method is never called, the compiler now no longer ignore the reference and copy the assembly to your output directory.

public void FixEfProviderServicesProblem()
{
    var instance = System.Data.Entity.SqlServer.SqlProviderServices.Instance;
}

After inserting that piece of code your application should startup again.