2014: A Look into the Magic Crystal Ball

It is the last day of the Year 2013. Instead of reviewing the soon-to-be-old-2013, I want to look into 2014. For this I have my Magic Crystal Ball :-):

Crystal Ball

Microscopic Crystal Ball View, tells what will happen in 2014!

So here is my personal list of 10 things I’m seeing, in no particular order:

1. The ‘Cloud’ Condensation

Cloud Computing Types (Source: Wikipedia)

Cloud Computing Types (Source: Wikipedia)

Many vendors are pushing customers into the ‘cloud’ these days. Today vendors are moving their tools solutions to the cloud (Microsoft the Office, ARM mbed, and many more). Yes, the ‘cloud’ has many advantages, but I see companies and organizations banning ‘cloud based solutions’ because of privacy or IP concerns. They don’t wanna have the NSA as my ‘backup’ device ;-). I believe the ‘cloud’ hype is like the ‘tablet’ hype the past years: many vendors are trying to jump on it, without *really* thinking about what makes sense. I believe cloud based tools or IDE’s will not replace the classical ones, like tablets have not removed notebooks. The cloud based solutions will be just one more thing which can be used. And I think the cloud solutions will make us all more sensitive about having a second source or alternative: what happens if your vendor stops its service? So I think for embedded development and tools, the cloud will be an extension only. On the desktop OS side, I think solutions like Chrome OS from Google will gain traction: an ideal thing for web browsing or Office applications. And I consider that offerings like mbed to continue to grow. But they are more like ‘fast food’ programming: you get something easily quickly up and running, but you don’t want to use daily, it for real work or real living (otherwise same thing might happen as with the food ;-)).

2. Concerns on Privacy and Security

LG Options Screen (Source: DoctorBeet)

LG Options Screen (Source: DoctorBeet)

The ‘Snowden Gate’ is not really a surprise: having data in the cloud or communicated makes it a target for organizations who wants to use it. Vendors want to have things in the cloud so they know what their customers are doing. Google is using our data and search patterns for advertising, silicon vendors are using their cloud based solution to find out what is used on their devices, who is using what and how. It is a mistake to think that something is for ‘free’: we pay a price with our data and we pay with our lost privacy. With more and more devices networking (wired or wireless), they are much more vulnerable to attacks. Your car has internet connection? What if it transmits your driving pattern to your insurance company? Companies today know a lot about who is visiting their web page, what things customer click on, or which web pages are watched longer than others. They use technologies like Google Analytics to know a lot of information about their online visitors. They know very little how you use the devices they sold to you. Think about that vendors add this kind of technology to their devices, so they know more about you. Is your Smart TV watching you? Probably it is, as outlined in this blog post. So developers need to add firewalls and encryption to their firmware. And customers will need to carefully inspect any wired or wireless connectivity of their devices. And instead of using passwords or pin codes, it will be possible to use a device (e.g. your mobile phone) as authentication device.

3. The Start of the End of the GNU gcc Era

LLVM Logo (Source: clang.llvm.org)

LLVM Logo (Source: clang.llvm.org)

The GNU tools are widely used, but there is something new coming up: clang/LLVM. Started in 2000 as a research project at the University of Illinois, it gets more and more traction, especially with Apple and Google actively contributing to the project. clang/LLVM has a lot of benefits over GNU gcc (see this article). I expect that clang/LLVM will get critical mass in the Embedded space in 2014, especially for ARM cores. It will take time to get to the same momentum as gcc, but I believe 2014 will be the starting point where clang/LLVM will take over. Code quality will get better, and more and more developer will use it, so LLVM/clang cannot be ignored any more.

4. Internet Of Things

Contiki Network Simulator (Source: Wikipedia)

Contiki Network Simulator (Source: Wikipedia)

IoT (Internet of Things) was more of a hype in 2013, but in 2014 it will get reality with devices and services available. Big companies like IBM, Oracle and many more will continue to spend their marketing money on that hype, but my believe is that only the open source community projects like Contiki and IP-based services with 6LoWPAN will succeed on the higher levels, while I see smaller network nodes using ultra-low power solutions like the nRF24L01+ or networks based on ZigBee/IEEE802.15.4. Beside the technology, there will be concerns about security and privacy issues of IoT. And IoT still needs to find a ‘killer application’ to proove its usefulness.

5. Wearables and Integrated Antennas

Samsung Galaxy Gear (Source: Wikipedia, http://hi-tech.mail.ru)

Samsung Galaxy Gear (Source: Wikipedia, http://hi-tech.mail.ru)

With the wireless networks and IoT, there is a need that devices can communicate over the air. And for this you need antennas. And if you want to build small devices, then you need to integrate that antenna into your device. Remember that bulky external antennas of old mobile phones? They all got integrated into the enclosure of the mobile devices today. I don’t expect wearables really to take off in 2014, but vendors like Samsung or Apple will bring out new and better devices. As an embedded firmware engineer, I think about possible applications that such a wearable device could communicate with the environment, e.g. for connect to a home automation system (e.g. to turn on/off lights, checking the postal mail box, etc). Yes, that does not sound like *the* killer application, and for sure a smart phone or tablet could do the same. With the smart phone screens getting larger and larger, as smaller device at your wrist can make sense. But unless there is a ‘killer application’, wearables probably will remain a nice toy, but not more.

6. E-Learning

Dave Cormier at Skolforum (Source: Wikipedia)

Dave Cormier at Skolforum (Source: Wikipedia)

More and better learning material will be available online, in the form of MOOC (Massive Open Online Course). Online offerings like from Coursera or Iversity will shift the focus of traditional universities from ‘book learning’ to more valuable and interactive learning and coaching. I do not believe that online learning will replace traditional universities: it will augment it. But MOOC will make learning and knowledge accessible to a lot more people than traditional universities can do. And it will make sure that ‘life long learning’ gets a reality. In addition, special paid or crowd sourced projects like Duolingo might take off.

7. ARM and Open Source

FRDM-KL26Z Board

FRDM-KL26Z Board with ARM Cortex-M0+

2014 will continue a trend from the earlier years for the embedded systems world: to 32bit and ARM cores. Proprietary cores, proprietary software and tools will be more and more a niche thing. I belive even more vendors will move to open source platforms: NXP acquired in April 2013 Code Red (Eclipse based), and offers the open source LUFA USB stack. So not only the tools, but as well middleware like RTOS (e.g. FreeRTOS) or stacks are available as open source. As competition is playing here as well, the licensing terms get permissible and more user-friendly. Instead of using GNU GPLV3, more and more software is available under the more permissible BSD license. With more competition, the price for ARM based microcontroller will go down, while FLASH and RAM size will go up. Most of the ARM ecosystem Tools are using the Eclipse Framework, with the exception of IAR and Keil (owned by ARM). ARM already has DS-5 Eclipse based, so it sounds logical that the Keil tools will end up in an Eclipse version too. Maybe even IAR moves to Eclipse (they already have Eclipse plugins)? Freescale (CodeWarrior), NXP (Red Suite/LPCXpresso) and Texas Instrument (CC Studio) offer their own Eclipse based tools, in addition to the many ecosystem tool vendors.

With IDE framework and compiler (gcc) free and open source, there is still one pice in the tool chain which is not that free and open: the connection to the target (JTAG/SWD). And here I see in 2014 that things will change: ARM has released the mbed CMSIS-DAP firmware, and OpenOCD is getting more and more coverage. Both solutions are still pretty rough and not so out-of-the-box friendly. But they can work for all ARM cores, and used in combination with an inexpensive debug adapter (evaluation board or such as a Bus Blaster): think about open and free tools, and all what you need is spend $15-50 for the evaluation board.

8. Software and Tools will be Key

Raspberry Pi with Camera Module

Raspberry Pi with Camera Module

Not the best microcontroller or silicon will shape the future, but the one with the best available software and tools. For example the Raspberry Pi or the Arduino do not have the best microcontroller, but they have a big community and a lot of software available. A silicon vendor can sell today more microcontroller for the ‘big customers’ to be built into cars or washing machines. But the ones using today the ‘Pies’ and ‘Duinos’ will make the decision in the next years what to use in big quantities. As with the Pi, there is a growing trend to smaller machines with more complex software and Linux on it, so yet again a trend to open source. As todays mobile phones can do more than a Personal Computer (PC) 10 years ago, the next embedded devices will add more and more functionality. And I expect a consolidation of used microcontroller to the one vendor with the best open source and free tools. But with hardware getting more and more inexpensive, and software and tools open and free, where is the money for the vendors? I belive there will be a shift from ‘silicon’ money to ‘services’ money. IBM managed the transition from a hardware to a services company already, same thing might happen here as well.

9. Crowd Sourcing

Crowd (Source: Wikipedia)

Crowd (Source: Wikipedia)

I expect a trend from previous year to continue and to get even larger: Crowd Sourcing. In some sense, the Open Source community already works that way: multiple people join together and work together to get something done they could not do alone. Platforms like Kickstarter and Indiegogo will grow. Maybe these platforms will be used more and more to fund software development (they are already used successfully to fund Game programming projects). So you have the need for a driver for a display on your microcontroller? Maybe you can get it through reversed crowdsourcing (developers will bid for it, like on Freelancer.com)?

10. Computer Vision

Raspberry Pi Camera Module

Raspberry Pi Camera Module

The availability of inexpensive camera modules like that Raspberry Pi camera makes new applications available. Yes, computer vision still needs a lot of processing power, but more powerful processors with more RAM get available, with a lot of open source software. Think about object tracking or gesture recognition. It is not only useful in robotics, but can replace other sensors. More and more a camera module gets combined with a microcontroller (see the Pixy project): this puts processing to the front, and eliminates privacy concerns too, as such a system would not need to send the image, but only the result of the computation. So expect a lot of innovation coming from this area in 2014.

Will Everything Happen?

Probably not. Some will. Maybe :-), but this is what my Crystal Ball tells. Only at the end of the Year 2014 I will know for sure. It starts tomorrow :-).

Happy New Year!

About these ads

3 thoughts on “2014: A Look into the Magic Crystal Ball

  1. I hope that the decreasing price of ARM processors will show solutions for building automation and low cost based on open source.
    In any case, I work in this direction.

  2. Regarding item #7, the move to Eclipse for embedded development tools, I’m all for it. As far as IDEs go, Eclipse is great. However, you still need a good compiler and a good debugger. This is where companies like Keil have an advantage because they offer a complete solution. It took me days to get an open source Eclipse based open source tool chain up and running for STM32 MCUs. With Keil, I was up and running in minutes; it just worked. However, not everyone can pay $3000 for a license of Keil, so there is still room for an open source solution. Keil probably does not want to move to Eclipse as their IDE because it would be one step closer to an all open source solution.

    • Yes, I agree: Eclipse as open source project is great where the masses are: the editor, the different plugins and their integration. As soon as it gets very device or microcontroller specific (compiler and debugger), there is less momentum, less contribution, and as such less ease-of-use. You are right: open source means not ‘does not cost anything’: typically it requires lots of hands-on and tuning to get things up and running. This is where I think commercial vendors can provide value for the money: to get things configured and ready-to-use. I mean this is what Freescale does with CodeWarrior, or Texas Instruments with Code Composer Studio, and other vendors which provide Eclipse based tools. As for Keil: it all depends how much ARM is willing to put into either maintaining or improving the Keil IDE? I think it will be very hard for Keil (or other vendors) to keep up or match to Eclipse. And in my view it would be hard for ARM to justify two different IDE’s in the long term. A good way to differenciate is with the compiler, as every byte counts. But with the upcoming of clang/LLVM that might get challenging in the future too? We will see :-)

What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s