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 :-):
So here is my personal list of 10 things I’m seeing, in no particular order:
1. The ‘Cloud’ Condensation
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
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
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
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
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.
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
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
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
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
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!