Altabel Group's Blog

Archive for March 2017

As The Internet of Things continues to grow, huge amount of data is going to be generated. How huge is the “huge”? Really huge. I do mean that.

Physical devices across the globe are consuming and creating data to drive a continuously connected world. David Booth, CEO at BackOffice Associates believes that currently we are at the tipping point of the Internet of Things. He says, “It was not a big leap for the industry to realize that an IoT global network of continuously connected devices would mean that data would not only be created at geometric rates, but that it would become one of the most valuable commodities in the world.”

Alongside the fact that year 2016 was declared to be the year of the first Zettabyte in internet traffic, Cisco report says the number will reach 2.3 ZB by 2020. Before long we will be transferring this much data annually.

If it does not say anything to you, imagine a byte equals 1 character of text – a zettabyte would cover War And Peace by Leo Tolstoy(which is about 1,250 pages) at least 325 trillion times. Or if 1 gigabyte can store 960 minutes of music – technically a zettabyte would be able to store just over 2 billion years of music. If that still isn’t illustrative enough, let’s measure in cups of coffee. Cisco states that if the 11oz coffee on your desk equals to one gigabyte, a zettabyte would have the same volume as the Great Wall of China. This amount of information is mind-blowing. Zettabyte transformed Big Data into enormously Big Data.
 

The Internet of Things (IoT) is expanding rapidly and relentlessly. And as IoT grows, so do the volumes of data it generates. Ignoring this fact is not an option, and companies will do so at their own peril and risk.

Though there are many new start-up companies storing, analyzing and integrating massive amounts of big data created from the IoT, not many of them have actually considered how the IoT can and will transform organization thinking by implementing data quality and information governance.

With so much data being created, companies must understand what they want to do with it, what are their data requirements and ensure that they have access to the right data. Unless a company can find a way to accumulate, manage and, most important, monetize their data storage, data hoarding can be a real issue for them. Put simply, while the value IoT brings is in the information it creates, innovation gold lies in the filtered data an organization has extracted from the intermediate layer between the devices and the cloud (so called “fog”).

Obviously, data provides powerful potential for boosting analytics efforts. And analyzing the amount of data that is going to be created by the Internet of Things requires new, advanced analytic techniques. The good news is, artificial intelligence and cognitive computing are maturing at a fast pace.

When used properly analytics can help organizations translate IoT’s digital data into knowledge that will contribute to developing new products, offerings, and business models. IoT can provide useful insights into the world outside company walls, and help strategists and decision-makers understand their customers, products, and markets more clearly. It can drive so much more — including opportunities to integrate and automate business processes in ways never imagined before.

Rowan Trollope, Senior Vice President and General Manager of Cisco’s Internet of Things (IoT) and Applications, told participants at the Cisco Live conference, “One of the biggest mistakes you could make now is to underestimate the Internet of Things. This is a life or death issue for most of our customers. They have seen what has happened with Uber and taxi companies and with Netflix and Blockbuster”.

The bottom line is that IoT and Big Data can either disrupt your business or help you become more competitive compared to other businesses that are about to be disrupted.

 

alexandra-presniatsova

Alexandra Presniatsova

Business Development Manager

E-mail: Alex.Presniatsova@altabel.com
Skype: alex.presniatsova
LI Profile: Alexandra Presniatsova

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

As computers (and sensors) get smaller, smarter and connected, our everyday objects, from clothing to lavatories to cars, get more intelligent. By so doing embedded software is essential to the operation of today’s smart devices.
 

Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors are manufactured as components of embedded systems. Manufacturers ‘build in’ embedded software in the electronics of e.g. cars, telephones, modems, robots, appliances, toys, security systems, pacemakers, televisions and set-top boxes, and digital watches, for example.

Embedded systems are not always standalone devices. Many embedded systems consist of small parts within a larger device that serves a more general purpose.

 
Specifics of embedded development:

  • The development of embedded systems requires a good combination of industry knowledge, up-to-date technology expertise and excellent quality and project management skills.
  • Code is typically written in C or C++, but various high-level programming languages, such as Python, JavaScript and even the Go programming language, are now also in common use to target microcontrollers and embedded systems. However the complexity is not in the lines of code, most of the times, since embedded software is more focused towards controlling and managing the system (or hardware).
  • Programmers spend nearly all of their time using their embedded software development environment, which is an integrated collection of software development tools that manage the entire embedded software development process: analyzing, designing, documenting, writing, compiling, debugging, testing, optimizing, and verifying software. The choice of an embedded software development environment is the most important determinant of the productivity and effectiveness of programmers.
  • Today’s embedded systems development spans sensor, device, gateway, and cloud. This dramatically increases the complexity of development, troubleshooting, and fault isolation.
  • Unlike smartphones and personal computers, which sells in millions, most embedded products such as ECG machines, PoS machines, Laboratory and Test equipment, Ticket vending machines, etc. have low sales volume.
  • Furthermore, the product life of embedded devices ranges to 7+ years in contrast to the 15-18 months life for smartphones and to 4-6 years life for laptops. Due to this limited sales volume and long product life, custom or chip-based development of embedded devices adds significant overheads in terms of supply chain inefficiencies, platform obsolescence, non-optimal cost structure, and barriers to adopt latest technologies.

 
Embedded vs. application software development
 

Embedded software development

Application software development

Embedded software is physically part of a device, loaded by the manufacturer, and cannot be changed or removed by the user.

Application software is an optional program that the user chooses, installs and can remove.

It’s important to consider not only algorithm performance, but also the overall system robustness, reliability, and cost in the architecture and design. It’s closely associated with hardware manufacturing. You can’t write embedded software in your bedroom and unleash it on the world. Either you make a device yourself, or you work for someone who does.

Application software is similar and different. You can do it for yourself or for The Man, with the difference that no manufacturing is involved so there is much less capital outlay.

Embedded software however is often less visible, but no less complicated. Unlike application software, embedded software has fixed hardware requirements and capabilities, addition of third-party hardware or software is strictly controlled. To manage quality risk, as well as to meet tighter standards for software certification, embedded software engineers need to leverage software simulation tools and certified code generators.

Application software is usually less complex than embedded devices. It has more flexible requirements and solutions.

Embedded systems often reside in machines that are expected to run continuously for years without errors and in some cases recover by themselves if an error occurs. Unreliable mechanical moving parts such as disk drives, switches or buttons are avoided.

Therefore the application software for personal computers is usually developed and tested less scrupulously.

Embedded software may use no operating system, or when they do use, a wide variety of operating systems can be chosen from, typically a real-time operating system. This runs from small one-person operations consisting of a run loop and a timer, to LynxOS, VxWorks, BeRTOS, ThreadX, to Windows CE or Linux (with patched kernel).

Standard computers generally use operating systems such as OS X, Windows or GNU/Linux.

 

Hot trends for Embedded s/w development: Big Data, Internet of Things, Connected Cars and Homes

The amount of data that’s being created and stored on a global level is almost inconceivable, and it just keeps growing, yet only a small percentage of data is actually analyzed.

The importance of BD doesn’t revolve around how much data you have, but what you do with it. You can take data from any source and analyze it to find answers that enable cost and time reductions, new product development and optimized offerings, and smart decision making. When you combine big data with high-powered analytics, you can accomplish business-related tasks such as:

  • Determining root causes of failures, issues and defects in near-real time.
  • Generating coupons at the point of sale based on the customer’s buying habits.
  • Recalculating entire risk portfolios in minutes.
  • Detecting fraudulent behavior before it affects your organization.

Big data affects organizations across practically every industry, from Banking, Education and Government to Health Care and Retail industry, etc.

The Internet of Things is yet another ubiquitous word in the world of embedded technologies. The core of IoT is the availability of the application or thing and its data to be a connectable ecosystem.

– For example, the Connected Home also known as the Smart Home, uses modern automation systems to provide a practical way of controlling electronic devices in the home. Connected Homes technology can include but is not limited to the scheduling and automatic operation of heating, security systems and lighting. This advanced technology allows these vital home functions to be controlled remotely from anywhere in the world using an internet connected device.

– The race to build the fully Connected Car, and ultimately the completely Autonomous vehicle, is also under way. Drivers around the world are getting used to the increasing amount of digital technology in their cars. Many of the normal features of the car such as monitors of performance data like speed, fuel efficiency, and gas tank levels; heating and air conditioning; and the audio system — all have been digitized in hopes of providing the driver with easier operation and better information. And the car, including smartphones and other devices carried onboard by drivers and passengers now reaches out to the surrounding world for music streamed from the cloud, real-time traffic information, and personalized roadside assistance. Recent innovations allow automobiles to monitor and adjust their position on the highway, alerting drivers if they are drifting out of their lane, and slowing down if they get too close to the car in front of them.

Naturally, smart homes, smart cars, and other connected products won’t just be aimed at home and private life. They’ll also have a major impact on business.

 
Conclusion

We’re just beginning to imagine the possibilities of embedded systems. Innovations in sensors, big data, and machine learning now make it possible for engineering teams to develop smarter and more autonomous systems that have the potential to dramatically improve designs and create new categories of products and services previously unimaginable.

Embedded software engineers develop embedded hardware and software solutions, custom-made for applications in various target markets. With capabilities that span the complete system and software lifecycle, Altabel Group is placed to manage entire projects from start to finish, working closely with customers to understand their needs and deliver excellent results. For more information on our work in the industry, please click here.

Thank you! And you’re always welcome with your questions.

 

Victoria Sazonchik

Victoria Sazonchik

Business Development Manager

E-mail: victoria.sazonchik@altabel.com
Skype: victoria_sazonchik
LI Profile: Victoria Sazonchik

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

When we look into the current trends in programming, few cornerstones dominate in modern programming languages:
• How fast they are
• How smart they are
• Few bugs

These three features were taken into consideration while preparing this article. Let’s see what programming languages share these features and are most likely to be trending in the year 2017.
 
Rust

Back in the year 2014 when Mozilla first launched Rust, it has never been on trending hiring suggests. It sounds confusing but Rust may put great influence on the programming itself. Let’s see why.

Rust is low-level language which enables developers to write kernels, operating systems, browsers, databases and more. But it doesn’t require a developer to become a programming guru on a low-level basis.

Emerged as an upgrade of C and C++, Rust outperforms these super low-level languages in the following:

• Efficiency – Rust’s language goal is to enable fast, efficient programming
• Safety – with Rust, objects are managed without access to memory locations. It is impossible to reach the locations even accidentally.
 
Crystal

Crystal comes to mind when one thinks of an easy-to-learn and expressive programming language.

It is another Ruby-like language spotless from ambiguity because its code is easy to understand. It also boasts the speed of C-like languages.

Crystal has some unique features:
• Fibers-special easy-to-create lightweight channels to achieve concurrency
• Macros to avoid boilerplate code
• Great deal of built-in tools for different purposes

The project is in alpha stage. Its releases occur fast and are interesting to follow. Whenever awaits Crystal in the year 2017, many developers see the language as a trendsetter.
 
Nim

Nim has an ambition to fill the niche of a multipurpose programming language. It has adopted distinctive features of established pros like Rust, Python and even Lisp.

Such multisource adoption of different features starts from creation of a solid standard library and excellent third-party modules. But Nim aims to succeed in both these enterprises.

Though in its alpha-stage, Nim helps get the necessary results very quickly. This language complements the fast-changing software development.
 
Kotlin

JetBrains made its new programming language for JVM and Android and launched the 1.0 version in February, 2016. The company searched for ways to replace Java in programming of JetBrains’ tools and they created it. It is interesting to see what is to become of this pragmatic, Java-like language in 2017.

Kotlin is easy to learn because it is open-source and approachable. It wasn’t created in a lab; it came out from a certain need –to complete the goals, which Java fails to cover.

 
Elixir

Seen by many as an alternative to Node.js, Elixir is likely to evolve in the next couple of years. Its ecosystem is used for building scalable and maintainable applications.

The code is run in a series of lightweight processes, which are isolated and run concurrently in the same machine. Isolation of processes has many advantages, such as:
• Pauses reduction
• Isolative garbage collection
• Efficiency

It is Ruby-like, so why not dig into it for the next year?

What are your top five promising programming languages? Do you agree or disagree with any of the choices for this list?

 

Yuliya Tolkach

Yuliya Tolkach

Business Development Manager

E-mail: Yulia.Tolkach@altabel.com
Skype: yuliya_tolkach
LI Profile: Yuliya Tolkach

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com


%d bloggers like this: