Review of the Sensor+Test 2010 Measurement Fair

A review of our visit to the Sensor+Test 2010 Measurement Fair in Nuremburg, Germany. The most suprising discovery was a Java Virtual Machine running on an eight bit microprocessor, offering threading, garbage collection and exception handling.

Two weeks ago, we visited the german Sensor+Test 2010 Measurement Fair in Nuremburg. It’s a central trade fair for the sensor technology sector in Germany and Europe. We as software developers weren’t directly interested in the sensor hardware that was presented to the qualified visitors. We didn’t take part in the technical conference that was held in parallel. Why we were there and what we’ve found is the topic of this blog post.

General impressions of the trade fair

The sensor industry has a strong orientation towards classical technology and engineering. It’s not “new economy”, as you can tell from the exhibition booths and their setup. Most booths look like they have been used for several years with variations only in details. Most booth personal are engineers or managers of the companies presenting their latest products. It’s unlikely to talk to a sales person, several booths even had a paper sign saying “salesman needed” attached nearby. The industry knows very well what it is selling and capable to promise and achieve. We didn’t spot a single “booth bunny” on the whole trade fair, which is in great contrast to some high-strung events of other industries. Instead, you could walk into a booth and talk to the engineers without having to pass several layers of sales representatives.

Impressions of the exhibited technology

Miniaturization is a key trend for the hardware part of the sensors. Some display cabinets would have gone through as empty if there wasn’t a descriptive plate pointing to the dust particles that resemble whole sensor arrays. Energy efficiency and the new trend of energy harvesting, utilizing even minor differences in temperature or other physical quantities to power a device are this year’s buzzwords, too.

Why we were there

Our goal was to find out about the software side of the sensors. We wanted to grasp the software technologies used to drive the hardware and to process the data. We wanted to know what to expect when “technical software products” are exhibited. And we wanted to find out about the depth of knowledge about software development in these companies.

What we found out

  • Technical software products aren’t pretty. We’ve known this before, but had some hopes for stylish new user interfaces with Apple-like multitouch screen gesture controls and graphical effects. Instead, we’ve seen the same old 16-color line charts oscillating on a screen that contains all the buttons and handles that the program can offer. The graphical level was comparable to plain Windows 95 dialogs. Even when new-era Office ribbons were used, the main content stayed the same, posing an even bigger contrast. One thing that bugs me about technical software is the common existence of a big red “exit/quit/leave/stop” button on the main screen. I wonder where that might come from (see picture for hints).

  • The software platform in use is legacy Microsoft products. That’s not a problem for us, we are polyglot programmers. But only a few booths had other operating systems booted or an Apple in use. We asked one of them for visitor feedback on the Apples, they got told that their choice of hardware was “exotic, but likeable”. We didn’t find any Windows 7 in use on the whole trade fair.
  • Most sensor companies know a lot about software development tools. Anticipating the level of detail the engineers know about specific programming languages or tools from their rather monocultural choice for their products fails. Topics like Java, Eclipse, Smartphone programming, Android, etc. aren’t news to them. For example, in the recent professional journals of their sector, they discuss the different languages and platforms for smartphone software development.
  • Most sensor companies are desperate for embedded device programmers. We didn’t find a booth that wasn’t interested in finding conventional embedded device programmers (mostly a domain for C language experts with a good grasp of hardware design). So if you happen to be one, scan the exhibitor list and make some phone calls.

What we discovered

Somewhere in a corner of the second hall, in one of the last booths before the press center, there was a stand with big posters stating “Java on an 8-bit microcontroller” and “Exceptions, Threads, Garbage Collection within 60 kByte”. The whole buzzwords seemed a bit out of place, given that the booths around were announcing “better energy efficiency” or “greater effective range”. But it was a pleasant surprise for us. The german company calls itself Virtenio and is a new-founded spin-off of the Technische Universität Berlin. They achieved to develop a Java Virtual Machine that fits the teeniest ARM processor while still offering some performance and a good level of comfort for the programmers. It’s a very promising combination of embedded device and platform for “normal” software developers.

Summary of our visit

Our visit of the Sensor+Test 2010 Measurement Fair did pay off in many directions. We good our questions answered, discovered some new technologies and got very much inspiration about what’s going on in the embedded device sector. We are looking forward to be there again next year.

Follow-up to our Dev Brunch May 2010

A follow-up to our May 2010 Dev Brunch, summarizing the talks and providing bonus material.

Last sunday, we held our Dev Brunch for May 2010. It was a small group of developers brunching together this time. One reason was a communication failure on my part, as a crucial email announcing a change in the appointment didn’t reach everyone interested in participating. Sorry for this one again! The other reason was more of a pleasure: Two of our regular brunch attendees are turning into parents. But a core group brunched and talked in the office roof garden, discussing the topics listed below.

The Dev Brunch

If you want to know more about the meaning of the term “Dev Brunch” or how we implement it, have a look at the follow-up posting of the brunch in October 2009. We continue to allow presence over topics. Our topics for the brunch were:

  • Options in Scala – If you are used to traditional programming languages like Java, you might be surprised that you can’t nullify a reference in Scala. There is no concept of “null” in Scala, therefore avoiding the so-called billion dollar mistake (you might want to listen to the guy who invented the mistake, too). If you want to use “uncertain” references, you should look into the Option type of Scala, which was the main topic of this talk. With some code examples, this was a decent introduction into the concept.
  • Summary of the Sensor+Test trade fair – This talk was a short report of the recently visited german Sensor+Test measurement fair in Nuremburg. Details may follow on this blog, but the overall summary is that the measurement industry in Germany and neighbours is mostly self-confident and down-to-earth.
  • The Modbus protocol – This talk was a short introduction to the ancient (but still useful) Modbus protocol and the possibilities to access it in Java. There are at least two projects that provide full coverage of the protocol: jamod and modbus4j. The protocol itself is rather low-level, but sufficient for simple control and data query tasks on an embedded device. The possibility to be mostly agnostic over the physical transport layer is a strength of the Modbus protocol and its implementations.
  • Usage patterns for mocks – Most of us had to confess: we are mockists. But there are many different flavors of using mocks in tests. Inspired by the book “Growing Object-Oriented Software, Guided by Tests”, this talk was an open discussion round about personal mock usage preferences.

As usual, the topics ranged from first-hand experiences and impressions to literature reviews and research. For additional information provided by the talk authors, check out the comment section (or leave a comment to request further content). Comments and resources might be in german language.

Retrospection of the brunch

The usual brunch setup is nearly perfect. What was lacking this time was the coordination of the appointment. To further improve on that point, we introduced a new mailing list, containing everone that is currently interested in participating the brunch.