Forget Apps – Bots Are the Future of Geo

Update 2016-12-01: We have a second version of our bot and a landing page at http://www.traindelaybot.ch. It now supports Facebook Messenger, Skype und Slack.

The title of this blog post may seem hyperbolic, but during the last few months there has been an increasing
buzz on personal assistants and bots
like Amazon’s Echo, Apple’s Siri or Facebook’s „M“ – the latter being a shopping assistant in Facebook’s Messenger app. Some people proclaim that we experience a new generation of user interfaces: The conversational UX where users interact with a system by „simply saying“ what they want. Last week, [Microsoft introduced developer frameworks for conversational bots](Microsoft introduced conversational frameworks) as a core part of their cloud strategy. And just yesterday, Facebook announced their Bot API for their Messenger.

When new concepts and trends in technology occur, it is a good idea to get first-hand practical experience before adding to that first rising slope in the hype cycle. So, during the last months I made some experiments that I now want to share with you.

Not yet an uprising, but the bots are slowly coming… photo: Francesco Mondada, Michael Bonani, CC-SA3.0, Source

„Forget Apps – Bots Are the Future of Geo“ weiterlesen

Data Value and Expertise Value

These days, data and data scientists (and data engineers?) seem to rule the world. Companies are data-driven, problems are solved using data-driven methods and national intelligence agencies (arguably: also online retailers) extensively collect all the data they can get hold of.

The data-driven approach is formalised in the Jurney-Warden Data-Value Stack:

The Jurney-Warden Data-Value stack Source: https://www.safaribooksonline.com/library/view/agile-data-science/9781449326890/ch05.html
The Jurney-Warden Data-Value stack (source)

The data-value stack is to be read from the bottom up to the top. The idea of the stack suggests: the value of the data arises from raw data through various steps up the pyramid. The link to Maslow’s hierarchy of needs that the authors make implies that the upper levels of the pyramid build and rely upon the lower levels, i.e. you cannot effect actions without first collecting data at the records level, then cleaning and aggregating, exploring and inferring. In my opinion, this is a feasible approach and obviously the framework works well for some cases.

However: looking at the stack, the approach reminds me of a blind chicken which randomly picks and picks until it eventually finds a valuable corn to eat. More intelligent animals have some expertise to enhance the „random-pick“ – i.e., purely bottom-up – approach: Based on its experience, intelligence and/or guts, the intelligent chicken efficiently picks the most valuable food right from the start.

I admit, I know nothing about behavioural biology to support the claims in the previous paragraph. And yes, millions of blind chickens may help. But what I really want to say is: expertise matters, also in the data-driven world – we cannot yet proclaim the end of theory.

But how does expertise come into play in the above mentioned data-value stack? Its design principle is that higher levels depend on lower levels. I would propose a similarly shaped expertise-value stack, which aligns alongside the data-value stack. That stack would look as follows (on the left):

Expertise-Value stack (left) and Data-Value stack (right)
Expertise-Value stack (left) and Data-Value stack (right)

The expertise-value stack complements the steps in the data-value stack with the following levels of expertise:

  • Wisdom: Use your wisdom for strategic decisions.
  • Application of Interdisciplinary Knowledge: Use and combine your knowledge from different subject matter domains.
  • Application of Domain Knowledge: Apply your subject matter knowledge to the problem.
  • Information Collection: Conduct targeted collection and filtering of relevant information, like reports, opinions or results of relevant research.
  • Problem Comprehension: Before doing anything, make sure you understand the problem at hand from one or several perspectives: e.g. from the perspective of the user, provider or politician.

Obviously, the idea of domain experts collaborating with, and supporting, data scientists is not new. Indeed it has been noted that subject experts may make the difference. And this is why an interdisciplinary approach (edit 2016-02-23: i.e. leveraging both expertise-value and data-value) has advantages over a pure data driven approach. Unfortunately, the benefit of including subject experts does not come for free: It takes much time to talk to each other and you need to find good counterparts to succeed. But in the long run, this interaction will pay off.

If you are interested talking to Swiss data and information experts with an interdisciplinary approach, come and talk to the team at EBP. Contact me for details. (And thanks to Ralph for editing this post)

Artikel: Die Zukunft von GIS ist smart und vernetzt

Vor kurzem hat in unserem Blog Ivo Leiss über die Evolution von GIS und GIS 5.0 berichtet. In GIS 5.0 werden das Internet der Dinge, Indoor-Navigation und Echtzeit-Informationssysteme Schlüsselelemente sein. GI-Systeme 5.0 werden smarter und vernetzter sein als die Systeme, die wir heute kennen. Dies zieht auch neue Infrastruktur-Bedürfnisse nach sich. Wie die einzelnen Elemente zusammenspielen, hat Ivo Leiss im oben verlinkten Blogpost anhand dieser Grafik erläutert (nach Porter und Heppelmann, abgeändert):

Wenn Sie sich wie wir für die Zukunft von Informationssystemen interessieren, empfehle ich Ihnen die Lektüre unseres Geomatik Schweiz-Artikels mit dem Titel „GIS 5.0 – Smart und vernetzt“ (pdf). Darin hat Ivo Leiss drei unserer Mitarbeitenden (u.a. mich) zum Thema interviewt. Die drei Interviewten nähern sich dem Thema aus drei unterschiedlichen Richtungen: Internet of Things, Erkenntnisgewinne aus Datenanalysen und Cloud-Technologien.

GIS 5.0 – Smart und vernetzt (pdf), erschienen in Geomatik Schweiz 5/2015.

Alle Wege führen zu Windows 10 – und Azure

Sprichwörtlich führen alle Wege nach Rom. Nach meinem gestrigen Besuch des Technology Outlooks von Microsoft Schweiz scheinen in Zukunft aber alle Wege zu Windows 10 zu führen. Oder in den Worten von Microsoft: „Wherever your code was born, you can bring it to Windows“. Welche dieser Wege Autobahnen und welche eher holprige Wanderpfade sind, wird sich zeigen.

clouds

Mit Windows 10 setzt Microsoft konsequent auf eine Plattform für alle Geräte: Überall läuft die gleiche Runtime, die Apps kommen für alle Geräte aus einem Store und werden mit Visual Studio entwickelt. Der gleiche Code läuft auf PCs, Tablets, Phones, Hololens oder auf einem Raspberry Pi 2. Spannend daran ist, dass mit Windows 10 ein adaptives User Interface zur Verfügung steht: Man entwickelt eine Benutzerschnittstelle, die sich dann automatisch ans jeweils angeschlossene Display anpassen soll. Wenn man sein Windows Phone also an einen Bildschrm anschliesst, sehen die Applikationen aus wie auf dem PC, statt einfach das Handy-Display zu skalieren. Um das zu testen, müsste man allerdings zuerst mal ein Telefon mit Windows haben…

Dieses Problem hat Microsoft ebenfalls erkannt. Um Windows Phones attraktiver zu machen und den Rückstand bei der Anzahl verfügbarer Apps zu verkleinern, bieten sie mit Windows 10 (einfache?) Möglichkeiten, Android- und iOS-Apps auf Windows 10 zu bringen. Für Android-Apps gibt es einen Emulator – der gleiche Code kann also weiterverwendet und mit spezifischen Windows-Funktionen ergänzt werden. Für iOS-Apps ist eine Neukompilierung des Objective C-Codes notwendig, was von Visual Studio unterstützt wird. Solche „Bridges“ zu Windows 10 gibt es übrigens auch für Win32- und Web-Applikationen. Die Wege führen nicht nur zu Windows, sondern auch wieder heraus: Beispielsweise durch die Integration von Xamarin in Visual Studio 2015, um Apps plattformübergreifend zu entwickeln. Oder durch den .NET Core 5 für Linux und Mac OS X.

Ein Stolperstein für diese schöne neue Welt könnten die unterschiedlichen Fähigkeiten der Geräte sein. Einerseits natürlich die Rechenleistung, andererseits die unterschiedlichen Bedienkonzepte und Spezialfähigkeiten – die Hololens unterscheidet sich doch stark von einem PC. Trotzdem ist Windows 10 sehr spannend und vielversprechend. Wir freuen uns jedenfalls auf die neuen Möglichkeiten.

Im zweiten Teil der Veranstaltung präsentierte Sascha Corti, Technical Evangelist von Microsoft Schweiz, die Verwendung von Microsoft-Lösungen für das „Internet of Things“ (IoT). Für uns bei Ernst Basler + Partner ist das natürlich speziell interessant, da auch wir bereits entsprechende Lösungen entwickeln.

Oft werden im Zusammenhang mit IoT abstrakte Ideen entwickelt oder grosse Luftschlösser gebaut – wie üblich, wenn ein Thema ganz oben auf dem Hype Cycle ist. Microsoft sieht das IoT aber pragmatisch: Schlussendlich geht es einfach darum, Informationen von Geräten über Netzwerke auf eine zentrale Plattform zu bringen. Dort analysiert und visualisiert man die Daten, um für sein Geschäft einen Mehrwert zu generieren und bessere Entscheidungen treffen zu können. Das alles ist mit vorhandener Technologie problemlos möglich. Idealerweise beginnt man deshalb mit Geräten und Daten, die bereits zur Verfügung stehen. Die daraus gewonnen Einsichten kann man anschliessend laufend durch zusätzliche Geräte, Messungen und Daten verbessern.

raspberry

Als ideale Plattform zur Analyse und Darstellung von IoT-Daten sieht Microsoft natürlich Azure. Tatsächlich steht hier out-of-the-box eine breite Palette von Möglichkeiten zur Verfügung, um typische IoT-Workflows abzubilden: Datenspeicher, Datenmanipulation, Analyse, Darstellung. Aus unserer eigenen Erfahrung können wir bestätigen, dass sich Lösungen damit sehr einfach umsetzen lassen. Ein weiteres Argument zur Nutzung der Cloud ist die Fähigkeit zur Verarbeitung unglaublich grosser Datenmengen: Eine Instanz eines Event Hubs kann bis zu 1 Gigabyte Daten pro Sekunde von 1 Million unterschiedlicher Quellen verarbeiten (insgesamt verarbeiten die Events Hubs momentan mehr als 60 Terabyte Daten pro Tag).

Zum ersten Mal live gesehen habe ich gestern Azure Machine Learning. Spontan fand ich das sehr eindrücklich – allerdings nicht ganz ungefährlich. Eindrücklich ist, wie einfach sich hier Analysen erstellen und durchführen lassen. In einer graphischen Oberfläche klickt man sich einen Workflow zusammen (ähnlich wie beispielsweise in FME), wählt eine geeignete Methode und trainiert diese. Ein Knopfdruck publiziert das trainierte Modell als Web-Service.

Warum kann das gefährlich sein? Es ist so einfach zu bedienen, dass man auch ohne Kenntnisse in Datenverarbeitung, Statistik und Machine Learning schnell zu Ergebnissen kommt. Die Frage ist bloss, ob es die richtigen Ergebnisse sind. Um zu geschäftlichem Mehrwert und besseren Entscheidungen zu gelangen, ist das allerdings zentral. Man sollte deshalb nicht nur wissen, wie man mit dem Werkzeug umgeht, sondern auch was man damit macht. Dazu gehört das Wissen über die verwendeten Daten genauso wie Kenntnisse der eingesetzten Methoden.

 

 

 

GIS 5.0 – Smart and connected

Recently I came across an interesting article by Dave Peters. He outlines the evolution of GIS in four development phases:

  1. In the early 80ies GIS were based primarily on scripts. Using scripts, GI specialists cleaned, edited and visualized spatial data. Some readers might recall the ARC/INFO era and its scripting language Arc Macro Language – AML.
  2. About 20 years later, at the end of the 90ies, the first GUI-centric object-oriented GIS appeared on the stage (for example, ArcGIS Desktop in 1998). This second step with the more efficient programming technique was enabled by more performant hardware.
  3. New technologies to provide data and services emerged with the rapid advent and development of the Web. A building stone of these service-oriented architectures (SOAs) was, for example, the Web Map Services (WMS) specification that was adopted in 2000 (Version 1.0).
  4. Finally, virtualization of hardware and centralization of computing centers initiated the fourth phase leading to cloud-based GIS portals. Storage space and computing power have become scalable commodities. ArcGIS Online, launched in 2012, is a prominent example of this fourth phase.

Now the question is: what comes next?

The steps in GIS software evolution. What's next?
The steps in GIS software evolution. What’s next?

Smart and connected systems

From the past we can learn: New technological abilities lead to new applications. They substiantially influence the further evolution of GIS. Among the contenders for the most relevant (to GIS) technologies and developments I see:

  • indoor navigation,
  • the Internet of Things (IoT) and
  • real-time sytems

Future GIS applications will be more and more smart and networked. They will require a technical infrastructure which is composed of several layers: embedded components, network communications, a cloud-based platform or system, tools for providing authentification and authorization, and  gateways to include external data sources as well as in-house data (see the figure below, adapted from Porter and Heppelmann).

The architecture of future smart, networked GIS applications
The architecture of future smart, connected GIS applications (adapted from Porter and Heppelmann)

The IT Division of Ernst Basler + Partner (EBP Informatics) has already amassed solid experience with the components in such a system (see our reference projects). Also in our blog posts we engage with these future developments, most recently with regards to the real-time quality assessment of data streams.

Do you have any questions or comments on these topics? We would like to hear from you!

 

GIS 5.0 – Smart und vernetzt

Vor Kurzem bin ich auf einen interessanten Artikel von Dave Peters gestossen. Er hat die Evolution von GIS-Software in vier Entwicklungsschritten dargestellt:

  1. In den frühen 80er-Jahren basierten GIS primär auf Skripts. Mit ihnen wurden Daten bereinigt, editiert und visualisiert. Einige Leser dürften sich noch an die Zeit von ARC/INFO erinnern mit seiner Skriptsprache AML (Arc Macro Language).
  2. Erst Ende der 90er Jahre – also fast 20 Jahre später – kamen die ersten objekt-orientierten GIS-Produkte auf den Markt (z.B. ArcGIS Desktop im Jahr 1998). Möglich wurde dieser zweite Entwicklungsschritt mit der effizienteren Programmiertechnik durch eine performantere Hardware.
  3. Im Zug der rasanten Entwicklung des Webs entstanden anschliessend Technologien, um Daten und Services breit verfügbar zu machen. Ein Baustein dieser service-orientierten Architekturen ist beispielsweise die im Jahr 2000 (Version 1.0) verabschiedete Spezifikation des Web Map Services (WMS).
  4. Virtualisierung von Hardware und Zentralisierung von Rechenzentren leiteten den vierten Entwicklungsschritt ein und führten zu cloud-basierten GIS-Portalen. Dabei können Speicherplatz aber auch Rechenleistung den aktuellen Bedürfnissen entsprechend bezogen und wieder abgestellt werden. Das im Jahr 2012 lancierte ArcGIS Online ist ein prominentes Beispiel hierfür.

Jetzt stellt sich natürlich die Frage, was als Nächstes kommt.

abb1
Die vier Entwicklungsschritte der Evolution von GIS-Software.

 Smarte und vernetzte Systeme

Aus der Vergangenheit lernen wir: Neue technologische Möglichkeiten führen zu neuen Anwendungen und beeinflussen in hohem Masse auch die Weiterentwicklung von GIS. Zu den für die Zukunft von GIS relevanten Technologien und Entwicklungen zähle ich

  • die Indoor-Navigation,
  • das Internet der Dinge (Internet of Things, kurz IoT) sowie
  • Echtzeit-Systeme.

Künftige GIS-Anwendungen werden zunehmend smart und vernetzt. Sie erfordern eine neue technische Infrastruktur, welche sich aus verschiedenen Schichten zusammensetzt. Dazu gehören eingebettete Systeme, Netzwerkkommunikation und ein cloud-basiertes System, aber auch Werkzeuge zur Gewährleistung der Datensicherheit, ein Gateway für die Einbindung externer Informationsquellen sowie die Integration der eigenen Unternehmenssysteme (siehe Abbildung unten, abgeändert nach Porter und Heppelmann).

abb2
Die Architektur von smarten, vernetzten GIS-Anwendungen.

Der Geschäftsbereich Informatik von Ernst Basler + Partner (EBP Informatik) hat bereits in mehreren dieser Bereiche Erfahrungen gesammelt (vgl. unsere Referenzprojekte). Auch in unseren Blogposts beschäftigen wir uns immer wieder mit diesen Zukunftsthemen, wie z.B. die Beurteilung von Datenqualität bei Realtime-Sensoren.

Internet of Things: Live Data Quality Assessment for a Sensor Network

TL;DR: We believe that connected devices and real-time data analytics are the next big things in GIS. Here is a live dashboard for a sensor network in 7 cities around the world.

Geoinformation systems have evolved quite rapidly in recent years and the future seems to be more exciting than ever: All major IT trends such as Internet of Things (IoT), big data or real-time systems are directly related to our professional domain: Smart devices are spatially located or even moving in time; big data and real-time systems almost always need locational analytics. This is why we got interested when we heard about the „Sense Your City Art Challenge„, a competition to make sense of a network of DIY sensors, which are spread over 7 cities in 3 continents. To be honest, our interest was not so much drawn to the „art“ aspect, at the end we are engineers and feel more at home with data and technology. And there is real-time sensor data available within the challenge: About 14 sensor nodes in every city deliver approximately 5 measurements every 10 second, such as temperature, humidity or air quality. The sensor is data freely available. When we looked at the numbers, we realized that data had some surprising properties, for example the temperature within varies quite a bit within one city.

Screenshot Story Map
Screenshot of our story map for Sense Your City.

 

Our goal: Live data quality assessment for a sensor network

So, we took the challenge a bit differently and more from an engineering perspective: How to implement a real-time quality assessment system for sensor data? As an example, we took the following questions, which need re-evaluated as new sensor data comes in:

  • Are there enough sensors that provide information about the sensors?
  • How much does the sensor measurements vary within a city?
  • How do the sensor measurements compare to external data?

Our solution: A live dashboard with real-time statistics 

My colleague Patrick Giedemann and I started late last week and developed a live dashboard with real-time statistics for the sensor network of seven cities. The dashboard is implemented with a story map containing one world view and seven views on city-level. The components of the views are:

  • A heatmap showing a condensed view of the analysis for each of the cities, labeled with numbers 2 to 8. For example, we want to show the visualize number of sensor values for each city within a time frame of 30 seconds. The darker the blue bucket, the more sensor signals we got. Light buckets indicate a low number og signals in the time frame.
  • Another heatmap, which calculates coefficient of variation for each city, again with a time frame of 30 seconds.
  • A gauge showing the number of sensor signals for a city and a linechart with the minimum, maximum and average temperature for a city.

We haven’t yet got around to show real weather data, although it is processed internally.

Some implementation details

For the technically inclined: Our implementation is based on Microsoft’s Azure, one of many cloud computing platforms available. Specifically, we used three main components: Event Hubs, Stream Analytics and WebSockets.

introduction-to-azure-stream-analytics_02
Graphic from Microsoft Azure documentation. We used Event Hubs, Stream Analytics and WebSockets instead of a data store.
  • We started building our solution using Azure Event Hubs, a highly scalable publish-subscribe infrastructue. It could take in millions of events per second, so we have room to grow with only 170’000 data points per hour. Every ten seconds, we pull the raw data from the official data sources and push the resulting data stream to an Azure Event Hub.
  • For the real-time analysis, we tried Azure Stream Analytics, a fully managed stream processing solution, which can take event hubs as an input source. With Stream Analytics, you can analyze incoming data within a certain time window and immediately push the result back to another event hub. For our example, Stream Analytics aggregates the raw signal data every 3 to 4 seconds and calculates  average value, minimum value, maximum value and standard deviation for 30 seconds within a city.
  • Finally, there is a server component, which transforms the event hub into WebSockets. With WebSockets, we can establish a direct connection between the data stream and a (modern) browser client.

What’s next?

Admittedly, this is a very early version of a live quality assessment system for real-time sensor data. However, it shows the potential: We can define a set of data quality indicators like number of active sensors or the variation coefficient. These indicators can be computed as the data streams into the system. Using Azure Stream Analytics, we could incorporate tens of thousands of sensors, instead of only hundred and we’d still have the same performance without changing a line of code.

Of course, there is room for improvements:

  • Ideally the sensor would push its data directly into the Azure EventHub instead of using a polling service as intermediate.
  • Exploiting historical data, like a comparison between the live data and date from a week ago.
  • Integrating more and different data sources for the data analysis.

Do you have any question? Send me an e-mail at stephan.heuel@ebp.ch or leave a comment.