Session mit Erfahrungsberichten und lustige Anekdoten aus „Konzerneinsätzen“

Agil und Konzern – Das kannste schon so machen, aber …?

von Christoph Ebert

Einen Rant, aber auch Tipps, wie man mit dem Thema Agile in Konzernen umgehen kann, lieferten Dominik Ehrenberg (Infineon Technologies AG) und Sebastian Bauer (inovex GmbH) in ihrer Session „Agil und Konzern – Das kannste schon so machen, aber …?„.

Denn wenn man ehrlich ist, vertragen sich Agilität und Konzern nicht immer so ganz: feste Strukturen, Prozesse, Verantwortlichkeiten, Wasserfälle, Betriebsräte – Hürden gibt es zur Genüge. Wie also kann man seiner Agilität freien Lauf lassen?

Drei Szenarien bzw. Anti-Pattern von Agile in Konzernen haben Sebastian und Dominik bessprochen, die wir hier in Kurzfassung wiedergeben:

1. Scrum im Wasserfall
– egal ob Meilensteine oder Scopes: mit den Leuten reden ist ganz wichtig!
– was wenn Kunde mit dem Konzept der Agilität nicht vertraut ist: für die ist das Sehen, dass es möglich ist, in kurzer Zeit lauffähige Inkremente zu bauen, eine nahezu erleuchtende Erfahrung.

2. Das Scrum-Diktat
– Manager hat am Wochenende das Manager Magazin gelesen und will jetzt Scrum einführen
– kann funktionieren, ist aber nicht die beste Ausgangslage
– was kann man machen: proaktiv mit einsteigen! Aber Fortbildung fordern, um wirklich das Beste daraus machen zu können

3. Wir sind Scrum, ABER…
– die Einschränkung „wegen unserer besonderen Unternehmenscharakteristika müssen wir das anders machen“ ist oft zu hören; so aber wird der Begriff in einem Unternehmen verbrannt
– bevor man ein SAFe-Training macht, sollte man sich erstmal mit den Grundprinzipien von Agile an sich vertraut machen

„Wir haben da aber noch ein paar Brasilianer…“
– Scrum-Master ist gefragt, wenn dem Team von außen/oben Mitarbeiter (womöglich noch nicht mal Mitarbeiter, die on-site sind) „zugeteilt“ werden; sollte um jeden Preis vermieden werden!
dominik-ehrenberg-sebastian-bauer-ipc16

Keynote von Philippe Souidi auf der IPC 2016

Microservices – Die Building-Blocks für eine digitale Zukunft

von Stefanie Schäfers

Microservices ist momentan eines der Buzzwords in der IT-Branche überhaupt. Tatsächlich steckt hinter Microservices mehr als nur agil arbeitende Innovatoren, die ihr Wachstum mithilfe von Microservices beschleunigen wollen – das sagt zumindest Philippe Souidi in seiner Keynote Microservices – The Building Blocks für a Digital Future auf der International PHP Conference 2016 in München.

Gerade erleben wir einen deutlichen Wandel in der Wirtschaft – und Software spielt dabei eine entscheidende Rolle. So ging es in der „alten“ Wirtschaft vor allem um Effizienz in der Produktion und die Frage: Wie können die Produktionsprozesse effizienter gestalten. Bei der „neuen“ Wirtschaft stand dagegen die Effizienz der Business-Modelle und -Prozesse im Vordergrund.

Nun, im Zeitalter der digitalen Wirtschaft geht es um die Effizienz von Software-Architektur – insbesondere dem Entwickeln von Software. Auch die sogenannte API-Wirtschaft wird, so Souidi, immer wichtiger. So lassen sich mithilfe von APIs Services und Produkte miteinander verbinden und treiben so die digitale Transformation weiter voran.

Aufgabe von Microservices

Ebenfalls zur Sprache kam die Aufgabe von Microservices. Sie sollen bestehende Lösungen erweitern, gleichzeitig aber auch Raum für das Erstellen eigener Lösungen mithilfe von Microservies bieten. Große Unternehmen wie Netflix, Amazon und Twitter haben es dabei bereits vorgemacht: Mithilfe von Microservices konnten sie ihre Development-Lead-Time um bis zu 75 Prozent reduzieren.

Dass Microservices in der digitalen Zukunft einen maßgeblichen Raum einnehmen werden, dürfte da kaum noch in Zweifel gezogen werden.

Session

Always On … oder nicht?

von Stefanie Schäfers

Wer mit der Bahn durch Deutschland fährt, dürfte das folgende Szenario kennen: Man surft gemütlich durchs Netz, um sich ein wenig die Zeit zu vertreiben und plötzlich ist man offline. Funklöcher, langsame Netzwerkverbindungen oder gar Netzwerkausfälle machen dem Surfvergnügen unterwegs ganz schnell einen Strich durch die Rechnung. Dabei heißt es doch immer: Always On!

Tatsächlich können Websites beziehungsweise Web-Apps dem User nützlichen Mehrwert liefern, selbst wenn er offline ist – zumindest, wenn man moderne Technologien einsetzt, um Websites und Web-Apps offline-fähig zu machen. In seiner Session Always On, oder? nahm uns Carsten Sandtner auf der International PHP Conference und WebTech Conference 2016 in München mit auf eine Reise zu den Anfängen offline-fähiger Web-Apps und zeigte auch, auf welchem Stand sie sich heutzutage befinden.

Offline-fähige Web-Apps: Damals und heute

So gab es zu Anfang quasi keine Möglichkeit, Web-Apps und Websites für die Offline-Nutzung vorzubereiten. Alles, was Entwicklern zur Verfügung stand, waren der Browser-Cache und einige nicht empfehlenswerte Techniken, um nicht mit dem Netzwerk interagieren zu müssen. Zwar bot der AppCache bereits eine deutliche Verbesserung, was die Offline-Fähigkeit angeht, allerdings kamen hier die Daten auch aus dem Cache, wenn man online war. Zudem wurden viele Callbacks benötigt – ein Konzept, auf das man lieber verzichtet.

Andere Möglichkeiten, die Sandtner in seiner Session vorstellte, um Web-Apps und Websites offline nutzbar zu machen, sind zum Beispiel

  • Web Storage
  • IndexedDB
  • Service Workers

Vor allem Service Workers sind für das Erreichen der Offline-Fähigkeit überaus nützlich, da nicht mehr direkt mit dem Netzwerk kommuniziert werden muss, sondern der Service Worker die Anfrage des Users entgegennimmt. Außerdem gibt es Scriptable Caches, in die alle von der Seite benötigten Daten hineingeschrieben werden können, sodass die Seite selbst dann funktioniert, wenn man offline ist.

Natürlich gibt es auch bei der Nutzung von Service Workers einiges zu beachten, allerdings sind sie die Zukunft – selbst wenn jetzt noch gilt:

Always on is a lie!

Wie Kubernetes Container-Chaos verhindern kann

Containing Chaos with Kubernetes

von Christoph Ebert

Hat man sich für die Nutzung von Containern entschieden und schreibt jetzt Dockerfiles für alles mögliche, stellt sich schnell die Frage: Wie managt man all diese Container? Hat man am Ende eine Problematik (das Management individueller VMs) gegen eine andere (das Management von indivisuellen Containern) ausgetauscht. Als Open Source Container-Orchestration-Engine ist Kubernetes eine mögliche Lösung.

Auf einer Kubernetes-Box eine Drupal 7 Box, eine WordPess-Box, eine Node-Box und eine Zend-Box „fahren“? Terrence Ryan, Developer Advocate beim Google Cloud Platform Team, zeigte in seiner IPC-Session „Containing Chaos with Kubernetes“, wie man mit Kubernetes eine Vielzahl von Instanzen managt.
Um beispielsweise ein einfaches Web-Frontend per Kubernetes zu bespielen, würde man:

  • ein Docker-Image konfigurieren
  • ein Deployment konfigurieren, das dieses Image referenziert
  • das Deployment ausführen, um ein Replica-Set von Pods (die kleinsten Einheiten in Kubernetes) anzuwerfen, die auf diesem Image basieren
  • den Service mit einem Public Load Balancer ausführen

Natürlich ist Kubernetes nicht die einzige Lösung für solche Situationen, Alternativen sind Docker Swarm, Amazon Container Service (AWS) und Mesosphere.

Und nicht zuletzt rät Terrence Ryan nicht uneingeschränkt zum Einsatz von Containern. Man sollte immer sehr genau überlegen, ob man Container überhaupt einsetzt oder nicht!

terrence-ryan-ipc2016

Aufbau von Angular-2-Anwendungen

Angular 2 – Getting Started

von Christoph Ebert

Angular ist eines der derzeit am meisten verwendeten Frameworks für Single-Page-Applications. Zurecht, vereint es doch viele bereits seit Jahren in der Native-Richt-Client Entwicklung etablierte Techniken wie Dependency Injection und Data-Binding. Doch auch Angular hat seine Schwächen und eine steile Lernkurve wie Philipp Burgmer (w11k GmbH) in seiner Session „Angular 2: Getting Started“ erläuterte.

Neben Neuerungen von dynamischem Nachladen von Code, dem Server-Side-Rendering ist in Version 2 auch der Einsatz von alternativem Rendering möglich, bspw. NativeScript.

Voraussetzungen für den Einsatz von Angular 2:
– ES6 Modul System
– Reactive Programming
– Verwendung von TypeScript
– Build-System

Die Hürden sind also nicht so hoch, denn vieles davon kennt man schon, wenn man Angular 1 genutzt hat.

philipp-burgmer-wtc16

© S&S Media

Build-System:
– mit Angular CLI wird ein vorgefertigtes Build-System zur Verfügung gestellt, speziell auf Angular 2 ausgelegt

TypeScript:
– ermöglicht die Nutzung neuerer, moderner ES 6/7 per Transpiler (Klassen, Module, Decorator),  Typen (besseres Tooling, weniger Fehler erst zur Laufzeit, Typisierung von Backend API möglich); TypeScript ist kein Muss, aber sehr sinnvoll!

Asynchrone und reaktive Programmierung:
– Welche Eigenschaften hat x?
– sofort/später verfügbar (synchro/asynchron)
– mehrere Werte (verzögert verfügbar) / ein Wert (einmaliges Ergebnis)
– Das Problem mit Promises: eine Promise kann genau 1x aufgelöst werden. Die Lösung in Angular 2: Observable

Konzepte von Angular 2 im Fokus

Komponenten:
– grundlegendes Architekturkonzept von Angular 2
– gesamtes UI ist als Baum von Komponenten aufgebaut
– Komponenten werden im TypeScript-Code definiert
– Komponenten werden im HTML verwendet (Verwendung muss genau Selektor entsprechen)
– Template nicht statisch, sondern dynamisch
– Instanz von Klasse stellt Daten bereit
– dumme Komponenten
– smarte Komponenten (kennen ihre Umgebung, für Datenbeschaffung und -verarbeitung zuständig, geben Daten an dumme Komponenten weiter)

Module:
– Angular-spezifischer Code muss organisiert werden
– Kapselung & Wiederverwendbarkeit
– leichtes Einbinden von Bibliotheken
– genaue Steuerung was wo verwendet wird
==> Kompromiss!

Darüber hinaus ging Philipp Burmer natürlich auch noch aus Aspekte wie Data Bindings, Property Bindings, Event Bindings, Komponenten Outputs, Class- und Style-Bindings, Services, Dependency Injection und vieles mehr ein. Ebenso auf die Konfiguration einer Angular-2-Anwendung (mit Shortcuts, Provider-Objekten, etc.), auf hierarchische Injektoren, Formulare und Validierung, Model-Driven im Controller, Fehlermeldungen und natürlich Routing/Navigation!

Keynote-Panel als Bestandsaufnahme

PHP 7 – One Year after

von Christoph Ebert

Sebastian Bergmann (thePHP.cc), Robert Lemke (Flownative GmbH), Stefan Priebsch (thePHP.cc) und PHP Magazin Redakteur Tom Wießeckel blicken im Rahmen der Mittags-Keynote auf die letzten zwölf Monate mit PHP 7 zurück.



Und kurz vor Ende hält Robert Lemke seinen #Docker-Streak am Leben…

Session

Angular, React & Co. im gleichen Projekt

von Stefanie Schäfers

Sie sind aktuell einer der Trends in der webbasierten Anwendungsentwicklung überhaupt: Single Page Applications. Hat man sich erst mal für ein bestimmtes SPA-Framework entschieden, heißt das aber meist auch, dass das gesamte Entwicklerteam sich genau damit beschäftigen muss. Platz für die Nutzung anderer Frameworks bleibt da meist nicht. Oder? Idealerweise nutzt nämlich jedes Team das für sie passende Framework, sei es Angular, React oder gar ein ganz anderes Framework.

Geht nicht? Geht wohl! Genau das zeigten Manuel Rauber und Marco Frodl von der Thinktecture AG in ihrer Session “SPA-Framework-Ratatouille: Angular, React & Co. im gleichen Projekt” auf der International PHP Conference und WebTech Conference. Anhand der Vorstellung eines praktischen Fallbeispiels zeigen die beiden, wie das leicht veraltete System der LVM Versicherung mithilfe von SPA-Frameworks auf den neusten Stand gebracht wurde – und zwar mit mehr als einem SPA-Framework. Der wichtigste Punkt dabei ist die Trennung der einzelnen Frameworks im DOM; zum Einsatz können hierfür etwa iframes kommen.

Da steht der Nutzung eines “All-you-can-eat”-Buffets von Single-Page-Application-Frameworks für die eigenen Anwendungen dann wohl bald nichts mehr im Wege.

The Ethics of Virtual Reality

von Mascha Schnellbacher

Virtual-Reality-Hardware ist mittlerweile für jeden kommerziell erhältlich. Die Technologie wird mit großer Begeisterung angenommen – im Bereich Education, Therapie und ganz klar Unterhaltung. Doch wie sieht es eigentlich mit den potenziellen Risiken von VR aus?

Dr. Michael Madary von der Uni Mainz spricht in seiner Keynote „The Ethics of Virtual Reality“ über genau diese Gefahren. Denn abgesehen von den bekannten unschönen Effekten wie Motion Sickness ist auch der Blick auf die ethischen Risiken von Virtual Reality wichtig. Je weiter die Entwicklung von VR voranschreitet und je besser die virtuelle Umgebung wird, desto mehr vermischen sich auch die beiden Ebenen – was uns vor neue Herausforderungen stellt.

Für manche Personen vermischt sich etwa VR und echte Welt so stark, dass sie den Unterschied nicht länger erkennen können und Erfahrungen aus der virtuellen Realität in unsere Welt übertragen. Madary erwähnte als Extrem-Beispiel den Mord an einem Gamer, der die (virtuelle) sehr wertvolle Waffe seines Freundes via Ebay verkaufte. Von solchen Extremen einmal abgesehen, wird das menschliche Gehirn aber noch auf vielfältige Art und Weise herausgefordert:

VR can create:

  • … the place illusion
  • … an illusion of embodiment

Durch solche Erfahrungen könnten beispielsweise Zwangskrankheiten oder Angstzustände gelindert werden; aber auch das Schlüpfen in andere Personen via Avatar kann etwa dabei helfen, (rassistische) Vorurteile abzubauen. Jedoch sollten sich Nutzer immer bewusst sein, dass es sich bei VR eben nicht um die Realität handelt, sondern nur um eine Erweiterung ebendieser.

Zudem ist natürlich auch der mögliche Verlust der Privatsphäre nicht von der Hand zu weisen: Durch Motion Capturing wird der gesamte Mensch vermessen und „katalogisiert“ und ist auf diese Weise eindeutig zu identifizieren. Daneben bleiben noch weitere offene Fragen: Wie ist mit der Erschaffung von Avataren von Toten oder Verbrechen in der Virtual Reality umzugehen?

Michael Madary hat gemeinsam mit Thomas Metzinger einen ersten Code of Conduct für Virtual Reality entworfen, in dem genau diese Fragen thematisiert werden – die Lektüre lohnt sich! Dabei stellen sie auch heraus, dass VR in keinem Fall echten sozialen Kontakt ersetzen kann.

Evolution von agilen Teams

von Mascha Schnellbacher

Wie wird man zu einem agilen Team? Viele, steinige Wege führen zum Ziel, aber eins ist sicher:

Der wichtigste Prozess ist der Prozessabschaffungsprozess. – Urs Enzler

Alles rund ums Microsoft Bot Framework

von Christoph Ebert

Eine der zentralen Ankündigungen der letzten Build-Konferenz war das Microsoft Bot Framework. Es soll die Implementierung von so genannten „Conversational User Interfaces“ erleichtern, beispielsweise in Skype, Facebook Messenger oder Kommunikationstools wie Slack.

Alles sieht derzeit danach aus, als ob man in Zukunft sehr häufig mit intelligenter Software plaudern wird. Insbesondere im Kundenservice wird den sogenannten Chatbots eine rosige Zukunft vorausgesagt.

In seiner Session „Microsoft Bot Framework“ führte Roman Schacherl in die Grundlagen ein und zeigte in Livedemos, wie man Bots selbst erstellen kann und welche Rolle die bereitgestellten Cognitive Services dabei spielen.
BASTA-roman-schacherl-bot
Die wichtigsten Infos im Überblick:

Conversational User Interfaces

  • Sprache ist natürlich
  • Fun-Faktor vs echter Vorteil
  • Gesprochene und geschriebene Sprache
  • Qualität der Erkennung ist entscheidend (Kann die Grammatik eingeschränkt werden?)

Das Microsoft Bot Framework im Überblick

  • Bot Builder SDK
    – ist Open Source auf GitHub, Verion 3, Verfügbar für Node.js und C#
    Features:
    – Standard-Dialoge für Ja/Nein, Strings, Zaheln, Enumerations
    – Standard-Dialoge für LUIS-Integration
    – FormFLow: Erzeugen eines Bots auf Basis einer C#-Klasse
    – Cards
    ==> das, was man baut ist letztendlich ein REST-API, ein Web-API
  • Bot Directory (Store)
  • Bot Connector
    – in wenigen Konfigurationsschritten bringt man seinen Bot auf verschiedenste Kommunikationsplattformen

Cognitive Services

  • 5 Bereiche: Vision, Speech, Language, Knowledge, Search (APIs für alle Bereiche):
    – bspw. Computer Vision API zur Bilderkennung und -analyse, kategorisiert Informationen und prozessiert visuelle Daten

  • LUIS (Language Understanding Intelligent Service)
    – luis.ai: Understand language contextually, so your app communicates with people in the way they speak.

Wir hassen Open Source. Oder doch nicht?

von Mascha Schnellbacher

„Linux ist ein Krebsgeschwür“, sagte Steve Ballmer bekanntlich vor etwa fünfzehn Jahren, und meinte damit nicht nur Linux selbst, sondern auch die Ideen von Open Source, die sich mit Linux in bis dahin unbekannter Weise verbreiteten. Heute lenkt sich Ballmer beim Basketball von diesem historischen Unfug ab, und Open Source hat die Welt erobert.

In seiner Keynote „Wir hassen Open Source. Oder doch nicht?“ spricht Oliver Sturm über Microsofts Wandel hin zu einer Open-Source-Kultur und erklärt, welche Bedeutung das für Entwickler hat.

Mittlerweile sind die gemeinnützigen, gar kommunistisch anmutenden Ideen aus keinem Bereich der Softwareindustrie mehr wegzudenken, und speziell Microsoft macht regelmäßig Schlagzeilen mit drastischen Schritten in diese Richtung. Angefangen hat die ganze Open-Source-Bewegung bereits 1983 mit Richard Stallmans GNU Project, das das Free Software Movement einläutet. „Free“ soll dabei nicht für den Preis stehen, sondern bezieht sich vielmehr auf den Begriff „Freedom“.

IMG_1842

Bis zum offiziellen Begriff Open Source war es ein weiter Weg: Erst 1998 wird er erstmals verwendet und die Open Source Initiative gegründet. Dem gingen nicht nur Bemühungen seitens Stallman voran, sondern auch Linus Torvalds engagierte sich stark für diese Bewegung – wenn auch nicht immer mit gleicher Meinung wie Stallman.

Microsoft und Open Source?

Kaum zu glauben, aber wahr: Auch Microsoft beschäftigte sich bereits 1998 mit der Open-Source-Szene und erkannte das Potenzial dieser Bewegung. Doch dann kam, wie bereits erwähnt, Steven Ballmer, dem Linux und die damit einhergehende Open-Source-Bewegung nicht ganz grün war – und Open Source war erst einmal wieder Geschichte.

Erst 2007 wurden bei Microsoft wieder Anstrengungen unternommen, sich in Open Source zu engagieren; 2011 stellte MS dann dem Samba-Projekt Code zur Verfügung und avancierte zum fünftgrößten Contributor zum Linux-Kernel. Mittlerweile führt der Software-Riese auf GitHub die Rangliste mit rund 2.000 MS-Repositories an. Der Amtsantritt von Satya Nadella hat offensichtlich zu einem enormen Umdenken geführt.

Und wie sieht’s anderswo aus? Bereits 2010 verwendeten 98 Prozent der befragten Firmen Open-Source-Software. Das hat auch Einfluss auf Ihren Alltag als Entwickler, aber in vielen Firmen wird Open Source noch immer missverstanden und missbraucht. Denn viele Unternehmen nutzen zwar das Angebot, tragen aber aktiv nichts bei und behalten Änderungen für sich. Doch wie Oliver Sturm sagt: Mitmachen ist jetzt Pflicht, und das muss auch der Chef einsehen!

Angriff ist die beste Verteidigung

von Mascha Schnellbacher

Um zu überprüfen, ob Softwaresysteme den Anforderungen entsprechen, gibt es verschiedene Testarten. Doch durch die zunehmende Vernetzung (Stichwort IoT) und die Auslagerung von Anwendungen in die Cloud werden vor allem Security-Anforderungen immer wichtiger. Man denke nur an die Sicherheitslücke in Connected Cars aus dem letzten Jahr: Sicherheitsforscher konnten in das Uconnect Infotainment-System eines Jeeps gelangen und darüber die Firmware umschreiben – und das Ganze nicht etwa per direkter Verbindung, sondern wireless von Zuhause aus.

Penetrationstest als Teil des Qualitätsmanagements

Henning Ziegler stellt in seiner Session „Angriff ist die beste Verteidigung“ die steile These auf, dass Entwickler derzeit bei den einfachsten Security-Grundlagen versagen. Woran das liegt? Security liegt schlichtweg nicht im Fokus, viel wichtiger ist das Look & Feel. Ein weiterer Gedanke ist, dass die eigene Website doch viel zu klein und uninteressant sei, um angegriffen zu werden. Falsch! An Security muss direkt von Projektbeginn an gedacht werden!

IMG_1836

Traditionelle Testverfahren laufen hier oft ins Leere. Getreu dem Motto „Angriff ist die beste Verteidigung“ haben sich für diesen Zweck mit der Zeit Penetrationstests etabliert. In einem Penetrationstest schlüpft der Tester in die Rolle des Angreifers und versucht die Sicherheitsmaßnahmen des zu testenden Softwaresystems zu umgehen und Sicherheitslücken aufzudecken. Für die vorhergehende automatisierte Überprüfung eignet sich beispielsweise eine Kombination aus dem Testing-Tool OWASP, Selenium und BDD.

IMG_1838

Penetrationstests sind eigentlich im Grunde genommen ein gezieltes Test and Error, so Ziegler.

C# 2016: State of the Nation

von Christoph Ebert

Oliver Sturm begann seine „C# 2016: State of the Nation“-Session mit einem kurzen Blick zurück. Ein Blick zurück auf ein ein Feature aus einer älteren C#-Version – und wie es sich entwickelt hat: „dynamic“

„dynamic“ in C# 4.0

  • vielleicht das am wenigsten akzeptierte „große“ Feature, das die Sprache in einem neuen Release jemals spendiert bekommen hat

Das C# 6 Feature Set

  • dadurch, dass bei der neuen Feature-Planung seitens Microsoft viel stärker mit der Community zusammengearbeitet wird, werden zum Teil bereits in Previews verfügbare Features gecancelt und anderer Richtungen eingeschlagen

basta-oliver-sturm600

Oliver Sturms C# Feature-Favoriten

  • Auto-property assignments
  • Expression body functions (Methode, die auf der Klassenebene erzeugt wird; hat keinen Body, sondern einen sog. ExpressionBody)
  • String interpolation (in anderen Sprachen schon „ewig“ verfügbar, liest sich angenehmer als „string format“ vorher)
  • C# interactive (C# REPL Umgebung, nützliches Tool, von Devs heißgeliebt)

Features öffnen Wege, an denen sich Entwickler in anderen Sprachen schon lange erfreuen;

Was passiert noch … mit Roslyn?

  • initiale Bugs wurden gefixt
  • kommerzielle und Open-Source-Projekte nutzen es als Parser und für Runtime-Code-Generation
  • Best Case: Man bemerkt nicht, dass man es benutzt.

Die Welt da draußen: Plattformen

  • man braucht kein Windows mehr, um für .NET zu entwickeln ==> Mono, aber auch .NET Core
  • man braucht kein Visual Studio mehr, um für C# zu entwickeln

Populäre Patterns

  • Reactive: Rx.NET: wird in vielen Umgebungen genutzt, vor allem in JavaScript; zentralisierte, funktionale und parallele Technik, um mit einem „event-driven“ Informationsfluß umzugehen
  • Aktoren: akka.net

C# 7.0 Features

  • Out parameters
  • Pattern matching
  • Tuples
  • Local functions
  • Literals
  • Ref returns and locals

Für C# 7.0 geplant, aber noch nicht verfügbar

  • generalisierte async return types
  • Expression bodies für getters, setters, ctors und finalizers
  • Throw exceptions

Eindrücke von der Opening Keynote

von Redaktion

Erste Eindrücke von der BASTA! 2016 in der Mainzer Rheingoldhalle
basta16_opening02b
basta16_opening01c
basta16_opening05

basta16_opening06

basta16_opening04b

BASTA! Keynote – die Reise von Visual Studio Code

von Christoph Ebert

Alles begann vor fünf Jahren als Experiment, ob man mit JavaScript, HTML und CSS eine Entwicklungsumgebung im Browser realisieren kann. Heute ist daraus ein erweiterbarer intelligenter Editor geworden, der auf Mac OS X, Linux und Windows läuft: Visual Studio Code.

In seiner Keynote „Happy Coding mit Visual Studio Code – Microsoft, wie hast du dich verändert!“ ging Dirk Bäumer genau auf diese einschneidenden Veränderungen ein, die sich im Microsoft-Universum gerade abspielen. Das wichtigste Stichwort: Open Source!

Mittlerweile hat Microsoft die meisten Open-Source-Entwickler auf GitHub. Auch Visual Studio Code ist seit letztem November ein Open-Source-Projekt. Es hat eine Reise mit einigen Richtungswechseln hinter sich. Inzwischen nutzen beispielsweise die Go-Community, aber auch das Angular 2 Entwicklerteam Visual Studio Code, das zwischen einer herkömmlichen IDE (Visual Studio) und einem (Code-)Editor steht. Mehr zur Eröffnungskeynote und den wichtigsten Etappen der Visual-Studio-Code-Reise gibt es in Kürze auf entwickler.de.

Mobile Trends 2017

von Redaktion

Wie immer hat Markus Bokowsky eine riesige Menge von Trends, Innovationen, Gadgets und Apps in seiner „Mobile Trends 2017„-Session vorgestellt. Wir fassen die spannendsten hier zusammen.

Messenger

  • erleben ihren zweiten Frühling auch wegen Tools wie Slack oder HipChat
  • Allo, der „Neue“ von Google mit Stickern, veränderbaren Fonts/Schriftgrößen, künstlicher Intelligenz in Form von Google Assist (verfolgt die Konversation und macht Vorschläge anhand einer Analyse von Sprachgewohnheiten); solche KIs werden mit der Zeit auch in andere Messenger Einzug halten

Chatbots

  • für Markus Bokowsky ein Schritt zurück, weil mühsam; das Spannende: die künstliche Intelligenz und das Machine Learning dahinter

Smart Home

  • O-Ton Markus Bokowsky: „irgendetwas zwischen zähes Work in Progress und schwerer Enttäuschung“; Industrie noch nicht einig über welchen Hub Smart Homes gesteuert werden; das sollte man Apples HomeKit sein, ist aber nicht richtig in Gang gekommen;
  • Amazon Echo und Alexa: Sprachsteuerung und -erkennung, eine Menge von Apps angebunden; neues Ökosystem durch die Hintertür, das kaum jemand auf der Rechnung hatte;
  • Google Home: das „Amazon Echo“ von Google

Was ist mit Beacons?

  • O-Ton Markus Bokowsky: „manche Use Cases sind sinnvoll, andere weniger“
  • Beispiel Bayerische Staatsbibliothek: Indoor Navigation

Healthcare/Gesundheitssystem

  • „self powered patient“: Patienten kaufen bezahlbare Gadgets, um damit ihre Gesundheit zu überwachen
  • bereits viele Gesundheitsapps auf dem Markt
  • Kardiaband: Armband für die Apple Watch, die ein EKG erstellt
  • IBS: Diabetes-Monitoring über den Schweiß (Messung des Blutzuckerspiegels), inkl. App, zugehöriges Device injiziert selbstständig Insulin
  • XPrize: Entwicklung eines Tricorders á la Star Trek; Projekt AMI VitalsFit

„Crazy Shit“ von Kickstarter, IndieGogo & Co.

  • Scio: Nahinfrarotspektrometer, Elemente auf Molekülebene untersuchen
  • Muse: Meditationsapp mit Bio-Feedback inklusive eines Headbands mit Sensoren

FinTech

  • O-Ton Markus Bokowsky: „ein Trauerspiel“; die Banken schieben die Schuld auf Apple, Apple sagt nichts;
  • boon. (für Android): für alle Terminals bei denen man mit NFC zahlen kann ist das Bezahlen möglich
  • Bezahl-/Überweisungs-Apps: nur wenige überzeugende Lösungen
  • Banken/mobile Banking: N26, O2, fidor
  • Blockchain

Augmented Reality/Virtual Reality

  • neben Virtual Reality wird Augmented Reality dank zahlreicher Hardware-Neuheiten der Trend 2017
  • Pokémon Go: eigentlich location-based service-app, hat halt AR-Anteil
  • Google Project Tango: endlich erstes Industriegerät von Lenovo (Phablet)
  • Google Project Soli: Eingabesteuerung via Nahfeldradar, erste Anwendungen als Demo
  • Magic Leap: VC-gepimptes Startup aus den USA, ähnlich der Microsoft HoloLens
  • Microsoft HoloLens

P.S. Hier ist ein Interview mit Markus, in dem er die Mobile Trends 2017 noch mal aufgreift.

The Day after – nach dem Release ist vor dem Release

von Redaktion

Dass mit dem Launch der eigenen App in einem der App Stores die Arbeit getan sei, ist leider ein Irrglaube, der sich beharrlich bei vielen Mobile-Entwicklern hält.

Die richtige Arbeit, geht der Spaß, geht allerdings nach dem Release erst richtig los.

Nur wer seine App als Produkt und nicht als Projekt versteht, hat auch nachhaltig die Chance auf Erfolg. In seiner Session „The Day after – nach dem Release ist vor dem Release“ demonstrierte Lars Röwekamp, wie man durch Crash Reporting, App Analytics, geschicktes Einbinden der Usercommunity und ein gut durchdachtes Releasemanagement seine App auch nach dem ersten Launch attraktiv und erfolgreich halten kann.

Inbesondere das Testing stellte Lars Röwekamp in den Fokus. Ein paar Beispiele gefällig?

Emulator-Testing

Reines Emulator-Testing ist ein Problem, denn Fehler, die man im Emulator findet, sind lediglich Programmierfehler und deswegen nur ein kleiner Teil der Fehler, die in der Realität auftauchen. Doch Testen ist viel mehr:

  • Alles „Offensichtliche“ plus…
  • Lifecycle Events & Config Changes
  • Datenbank & Filesystem
  • Umwelteinflüsse & Störungen
  • zu unterstützende Device-Konfigurationen
  • zu unterstützende Versionen, Locales, etc.

Stress Tests

  • Testen der App gegen Umwelteinflüsse und „beliebige“ Störungen
  • Simulation „beliebiger“ Störungen
  • Simulation „beliebiger“ Umwelteinflüsse
  • Forciertes „gegen die Wand fahren“

Fazit: Testen ist einfach DEUTLICH mehr als nur durchklicken! Denken Sie sich immer ordentliche Testszenarien aus!

Wir leben in einer One-App-Welt!

von Redaktion

In ihrer MobileTech Conference Session „IoT – der Tod des User Interface?“ sprach Prof. Andrea Krajewski eine interessante Statistik an: „Most people (65%) aren’t downloading apps at all, [….]
We’re now living in a one-app-world; 42% of people spend most of their time on a single app.“

Poeple don’t care about apps

Dabei verbringen US-Amerikaner laut einer aktuellen Comscore-Studie im Juli 2016 mehr Zeit mit oder in Apps als mit allen anderen digitalen Medien zusammen.

krajewski_Mobiletechcon

© S&S Media

Der sehr frühe Wurm sucht sein Glück

Satte Rabatte für die MTC / IoTConf

von Tom Wiesseckel

Die mobile Welt steht nicht still – ganz zu schweigen vom aufregenden Kosmos des Internet of Things. Sich auszuruhen, kann man sich kaum leisten – aber zum Glück gibt es das Konferenzpaket bestehend aus der MobileTech Conference und Internet of Things Conference, das vom 12. bis 15. September 2016 in Berlin stattfinden wird. Dort haben alle Interessierten die Möglichkeit, sich mit den vielfältigen Technologien aus beiden Welten zu beschäftigen.

Da trifft es sich gut, dass am Donnerstag dieser Woche – am 23. Juni – der Very Early Bird der beiden Konferenzen endet. Wer sich also schnell für eine Teilnahme für eine der beiden Konferenzen entscheidet, kann nicht nur die parallel stattfindende Konferenz besuchen, sondern spart auch noch bis zu 250 Euro und bekommt für eine Anmeldung für drei Konferenztage ein praktisches Intellibook-Tablet geschenkt! Es lohnt sich also auf alle Fälle, einen Blick zu riskieren.

Einblicke in den Facebook-Newsfeed-Algorithmus

von Christoph Ebert

Dass Algorithmen über die Relevanz und den Erfolg von Online-Content entscheiden, ist nichts neues und wird vielleicht nirgends so deutlich wie beim Newsfeed-Algorithmus von Facebook. Bei den Teilnehmern ein besseres Verständnis für diesen Newsfeed-Algorithmus und seine Einflussfaktoren zu schaffen war das Ziel von Philipp Roth, Gründer von AllFacebook.de, in seiner Session „Wenn ein Algorithmus über die Relevanz und den Erfolg entscheidet – ein Einblick in den Facebook-Newsfeed-Algorithmus“.

Wollen Firmen mit Facebook-Beiträgen Reichweite erzielen, sollten sie wissen: Reichweite gibt es heutzutage praktisch nur noch im mobilen Newsfeed, der Desktop kann im Prinzip ignoriert werden. Die eigentliche Unternehmensseite kann sogar komplett vernachlässigt werden, ihr Reichweitenanteil liegt in der Regel unter einem Prozent.

Im Durchschnitt liegt die organische Reichweite von Posts heutzutage bei um die zwei Prozent. Sprich: Man erreicht mit einem Beitrag ledigliech zwei Prozent seiner Fans. Ausnahmen bestätigen die Regel und diese Ausnahmen werden durch unterschiedlichste Faktoren beeinflusst.

Aber warum gibt es überhaupt den Newsfeed-Algorithmus? Ganz einfach: Ohne ihn sähe der durchschnittliche Newsfeed aus wie ein E-Mail-Posteingang, in dem jeden Tag über 1.000 E-Mails eintrudeln – völlig unattraktiv! Weil Facebook aber unbedingt einen relevanten Newsfeed will, der Nutzer dazu motiviert, wieder zu kommen, gibt es den Newsfeed-Algorithmus.

Wie genau dieser funktioniert, ist natürlich nicht öffentlich. Aber es gibt bekannte Faktoren, die man kennen sollte. Die drei großen sind:

  • Affinity: Der Faktor berücksichtigt unter anderem wie das Verhältnis zwischen Sender und Empfänger ist. Handelt es sich bspw. um gute oder schlechte Freunde (auf Interaktionsebene)? Auf Unternehmen übertragen: Es ist wichtig wie Leute mit der Firma interagieren.
  • Weight: Wie wichtig und wie interaktiv ist der Beitrag? Hier sind insbesondere die ersten Minuten sehr wichtig, die der Beitrag online ist.
  • Decay: Der Zeitpunkt, zu dem der Beitrag veröffentlicht wurde. Facebook möchte möglichst hohe Aktualität.

Wichtig: Interaktionen sind nicht nur Likes, Comments und Shares, sondern Facebook misst auch, ob drauf geklickt wurde oder auch ob der Nutzer beim Scrollen angehalten hat.

Wie Googles Suchergebnisalgorithmen ändert sich auch der Newsfeed-Algorithmus von Facebook regelmäßig. Einige Beispiele: Seit April 2014 analysiert Facebook den Inhalt von Links. Auch einfach nur kopierte virale Inhalte werden als weniger relevant betrachtet. Das Betteln um Likes wird ebenfalls seit Frühjahr 2014 abgestraft. Und seit Juni 2015 wird die Lesedauer mit einberechnet.

Bei allen Optimierungen sollte man sich vor allem folgendes merken:

Scheiss Content bleibt scheiss Content. Tricks sind nicht erlaubt und funktionieren immer seltener.

Twitter has returned errors:

  • “Rate limit exceeded [error code: 88]”

More information on errors that have codes here.

X
- Gib Deinen Standort ein -
- or -