Altabel Group's Blog

Posts Tagged ‘IoT

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

 
Machine learning

A breakthrough in the technology of artificial intelligence and its active use in practice is the trend of the last two-three years. If earlier the creation of a high-quality machine translation system required a decade, now startups can offer consumers quite a competitive product in this area within one year.

Machine learning is a new approach to information processing, it turns the machine into an intelligent device very fast. In many ways, the development boom based on machine learning programs happened due to the fact that almost everything you need can be found among free software. It is enough to download the development environment, a number of libraries and read the manual. For a week or two, you can write, for example, a program recognizing wine labels or even individuals.

AI opened a completely new universe that humanity will explore for centuries. This means that robots are getting smarter and can learn independently. They are even capable of transmitting their knowledge to each other. To do this, of course, communication infrastructure is necessary. With its help, the program, which has recently invented a new universal language, could teach the other machines.

By the way, people did not expect artificial intelligence to create a new language, it was a by-product performed while teaching machines to translate from different languages. The program has learned how to translate from the languages it hadn’t been asked to by itself. Hence, the researchers concluded that a computer system uses meta-level language for communication, a new sort of Esperanto, a universal language.

 
Robots and VR
 

Analytical agencies called 2016 the year of virtual reality technologies. According to the Digi Capital forecast, by 2020 the virtual reality market will come up to $ 30 billion. Today we have every reason to believe that in 2017 VR-technology will finally become mass.

This trend has affected robotics as well. Complex machine control via VR-helmets and screens shows that augmented reality is gaining popularity. At MWC in Barcelona 2016, all visitors were offered to try themselves as excavator operators, controlling real excavators via Oculus Rift helmet.

This is one of the main scenarios of applying VR in industry and business, which will be used in a variety of situations: unmanned vehicles control (trailers, drones, trucks), surgical operations, exploring out of reach places (the ocean bottom, mines, permafrost). However, the automation trend of the last decade is increasing in order to completely avoid people’s participation in these processes.

 
Artificial Intelligence
 

The idea of intelligent robots has been exciting minds for a long time. We are used to different fiction anthropomorphic golems, androids, perfect voice assistants. Moreover, the success of HBO Westworld recent show demonstrates that the interest in artificial intelligence is rapidly increasing.

Meanwhile, the representatives of different professions were asked to imagine AI as a professional assistant at work or even in the role of a leader. Intelligent Apps have the potential to transform the workplace by making everyday tasks easier and its users more effective. The prospect of getting help from the robot frightens 25% of people, 40% are against the robot leader. However, the majority of people can easily imagine robots among their colleagues- 35% want to see a robot as a personal assistant. Every fourth looks positive on robots to take a leading position.

 
Internet of Things

The internet of Things has been labeled as “the next Industrial Revolution” because of the way it will change the way people live, work, have fun and travel, as well as how governments and businesses interact with the world.

Most of us are used to applications, which allow us to switch tracks on the audio system, to open our cars, turn on the lights, change the temperature in the room. According to Ericsson ConsumerLab research, two out of five people expect applications to remember users’ preferences and configure home appliances in the nearest future. It is as a good way to save personal time that can be spent on tasks that are more important.

 
Unmanned vehicles
 

They can either be remote controlled or remote guided, or they can be autonomous vehicles which are capable of exploring the environment and navigating on their own. With the right technology, multiple cars could “talk” to one another and reduce the chance for crashes.

Every fourth interviewee said he would feel safer if all the cars would be driven by robots. Meanwhile, 65% said they would prefer to have an autonomous vehicle rather than drive themselves.

Self-driven cars – futuristic, comfortable and safe. However, at the moment none of the existing systems can completely take over driving. Even the most sophisticated systems can fail.

 
Augmented reality
 

Approximately four out of five users believe that a complete blending of real and virtual worlds will happen just within three years. Half of the respondents are already interested in buying special gloves or shoes that would control VR-objects (for example, for playing virtual instruments).

A well-known game Pokemon GO is a good example to demonstrate the real potential of augmented reality. Many people want to use similar possibilities not only in the games but in real life as well. More than half of users would like to have AR-glasses to see better in the dark and, for example, to be able to observe criminals. One out of three would like to use augmented reality to get rid of unpleasant elements of their landscape, such as graffiti and litter. Many people dream of not seeing street signs, uninteresting shop windows and billboards.

 
Security Paradox of “smart” devices
 

More than half of the respondents use applications and trackers that transmit alarm and danger warnings. Using such apps people expect to increase their personal safety level. The paradox is that 60% of those who feel more secure with a smartphone admit that would try to avoid those situations while not having a phone in the pocket. People rely on their smartphones capabilities too much. Meanwhile, they won’t know what to do if they lose the device or the battery dies. Three out of five people, who believe that the smartphone makes their lives safer, are in a bigger danger.

 
Social fragmentation
 

For every third respondent social networks have become a main source of information. However, social networks do not connect people from all around the world, on the contrary, they form small groups and communities. There is a chance that this fragmentation will only increase: every week, every day individuals exclude each other from friends or refuse to accept connection requests based on the opinions of other people.
 
We all know that making predictions about the course of technology’s future is challenging. Surprises can appear in any direction. Now we can only imagine those amazing opportunities we are going to explore in the nearest future.

Feel free to share your thoughts about technology prospects for the near future in comments below!

 

Darya Bertosh

Darya Bertosh

Business Development Manager

E-mail: darya.bertosh@altabel.com
Skype: darya.bertosh
LI Profile: Darya Bertosh

 

altabel

Altabel Group

Professional Software Development

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

By 2020, more than 24 billion internet-connected devices will be installed globally — that’s more than 4 devices for every human on earth.

The Internet of Things first reached users on PCs. Then it migrated to smartphones, tablets, smartwatches, and TVs.

This growth surely brings several benefits, as it will change the way people fulfill everyday tasks and potentially change the world. Having a smart home is undoubtedly cool and will amaze your guests, but smart lighting can also reduce overall energy consumption and lower your electric bill.

New developments would allow connected cars to link up with smart city infrastructure to create an entirely different ecosystem for the driver, who is simply used to the traditional way of getting from Point A to Point B. And there are many other examples of positive changes IoT may bring to our lifes.
But with all of these benefits comes risk, as the increase in connected devices gives hackers and cyber criminals more entry points.

Late last year, a group of hackers took down a power grid in a region of western Ukraine to cause the first blackout from a cyber attack. And this is likely just the beginning, as these hackers are looking for more ways to strike critical infrastructure, such as power grids, hydroelectric dams, chemical plants, and more.
 

 
What is already being done to Secure The IoT?

The great thing about IoT security is that previously ignored, it has now become an issue of high concern, even at the federal government level. Several measures are already being taken to gap holes and prevent security breaches at the device level, and efforts are being led to tackle major disasters before they come to pass.

Now security firms and manufacturers are joining ranks to help secure the IoT world before it spins out of control. IT giant Microsoft has started taking measures and has promised to add BitLocker encryption and Secure Boot technology to the Windows 10 IoT, their operating system for IoT devices and platforms such as the Raspberry Pi.

BitLocker is an encryption technology that can code entire disk volumes, and it has been featured in Windows operating systems since the Vista edition. This can be crucial to secure on-device data. Secure Boot is a security standard developed by members of the PC industry to help make sure that your PC boots using only software that is trusted by the PC manufacturer. Its implementation can prevent device hijacking.

The IoT security issue has also given rise to new alliances. A conglomeration of leading tech firms, including Vodafone, founded the Internet of Things Security Foundation, a non-profit body that will be responsible for vetting Internet-connected devices for vulnerabilities and flaws and will offer security assistance to tech providers, system adopters and end users.

Other companies are working on setting up platforms that will enable large networks of IoT devices to identify and authenticate each other in order to provide higher security and prevent data breaches.

 
What should we know to protect ourselves and minimize risks of hacking attacks?

Security must be addressed throughout the device lifecycle, from the initial design to the operational environment:

1. Secure booting: When power is first introduced to the device, the authenticity and integrity of the software on the device is verified using cryptographically generated digital signatures. In much the same way that a person signs a check or a legal document, a digital signature attached to the software image and verified by the device ensures that only the software that has been authorized to run on that device, and signed by the entity that authorized it, will be loaded. The foundation of trust has been established, but the device still needs protection from various run-time threats and malicious intentions.

2. Device authentication: When the device is plugged into the network, it should authenticate itself prior to receiving or transmitting data. Deeply embedded devices often do not have users sitting behind keyboards, waiting to input the credentials required to access the network. How, then, can we ensure that those devices are identified correctly prior to authorization? Just as user authentication allows a user to access a corporate network based on user name and password, machine authentication allows a device to access a network based on a similar set of credentials stored in a secure storage area.

3. Firewalling and IPS: The device also needs a firewall or deep packet inspection capability to control traffic that is destined to terminate at the device.

4. Updates and patches: Once the device is in operation, it will start receiving hot patches and software updates. Software updates and security patches must be delivered in a way that conserves the limited bandwidth and intermittent connectivity of an embedded device and absolutely eliminates the possibility of compromising functional safety.

What is evident is that the IoT will play an important role in our lives in the near future, and its security is one of the major issues that must be addressed via active participation by the entire global tech community. Next several years will show whether all of the innovations will revolutionize the world or will bring us to a new era of digital insecurity and chaos. Time will tell.

 

yana-khaidukova

Yana Khaidukova

Business Development Manager

E-mail: yana.khaidukova@altabel.com
Skype: yana_altabel
LI Profile: Yana Khaidukova

 

altabel

Altabel Group

Professional Software Development

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

Technology is winning its everyday challenges at a pace faster than ever before. As compared to the previous year, tech trends have become embedded to practically every sphere of digital business. There is constant growth of software spending on technologies because technology is now rooted in every sphere of digital business. For entrepreneurs and self-starters it is necessary to leverage strategic technologies to reach target audiences next year.
 

What is to become mainstream in 2017?

AI & Advanced Machine Learning

Artificial intelligence (AI) and advanced machine learning (ML) are represented by many technologies and techniques such as deep learning, neural networks, natural-language processing. They have a potential to create more advanced systems that are able to adapt. Such systems will be able to change future behavior, leading to the creation of more intelligent devices and programs. But the trend is to develop ML and AI to autonomously operated systems in long-term perspective. These techniques are likely to be introduced into almost every sphere of digital business as inborn components within a decade.

Virtual & Augmented Reality

The world is now ready for augmented reality (AR) and virtual reality (VR) technology while early-stage devices are springing up in different spheres. Much work is done to transform interaction of human beings to the next level by moving them to immerse environment with the help of VR. It allows undergoing training in remote places or creating certain scenarios under pre-established criteria. As for AR, it can blend the real and virtual worlds, which has great potential for application in lots of businesses. It is estimated by market researchers that worldwide revenues for the AR/VR market will grow from $5.2 billion in 2016 to more than $162 billion in 2020. That is why many observers claim that the year 2017 to be a starting point (or at least a transition period) of AR/VR versions of practically every application to emerge.

Intelligent Things

Robots, drones and vehicles-these intelligent things have spread tremendously through the current year. But what potential do they have for the coming year? It is predicted by Gartner agency and other research firms that the apps that control IoT devices will also use machine learning and AI. This means that all the ordinary elements of environment, from toothbrush to your car, may become interconnected and collaborate to make decisions in everyday practice. Major advancements are yet to come. Experts claim that solutions to tie every app which controls intelligent things together into a single, seamless user experience are to be made in the year 2017.
 

Digital Twins

Next year is predicted to be the time when digital twin’s idea will spread to most remote parts of the world. It is a software replica of a physical thing or system which uses sensor and physics data. The sphere of application of a digital twin will widen with the time and by the year 2020 they will likely to be used for improving operations and creating new things.

Conversational systems

Intelligent objects are predicted to have some form of conversational interface in the near future. And the coming year, in particular, is likely to produce a device mesh when there will be a merge of different interaction techniques resulting in innovative digital user experience. It is now represented by a trend in app development which lets users interact with apps through texting. The next year is likely to provide such solutions to other intelligent objects which surround us in everyday life.

Mesh App and Service Architecture

MASA- or “Mesh App and Service Architecture” is considered to be an IT-system which enables communication, collaboration and learning within some digital ecosystem. Such architecture will hold together and interconnect different services to enable users gain experience through shifting across different sections (e.g., desktop, smartphone, vehicles).

Adaptive Security Architecture

There is much room for new smart devices for better learning and protecting. It is especially necessary in the vulnerable system of IoT which can be brought down by DDoS attacks. The idea behind adaptive security architecture lies in recruiting AI smart solutions within security tools. IoT is now becoming a special frontier for security specialists. Will 2017 become a year when new remediation tools and processes will be embedded into IoT intelligent devices? The answer is to be given soon.

These are some of major tech trends we’re in store for in 2017. They seem strategic and have lots of potential to grow to autonomous systems, like in case with AI and advanced machine learning. Some of the abovementioned trends are likely to take off next year; others will boost their presence in the digital business in several years. But even ordinary people will soon be able to experience the world where boundaries between real and digital blur.

What’s your idea of the tech trends for 2017? Please feel free to share your thought in the comments below.

 

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

We see this “Is Java out of business?” question pop up year after year. They say that Java is the least feature-rich language of the popular languages on the JVM and the slowest to move on new features in the last decade. There are also people who believe that because so many new JVM languages are being invented is proof that the Java language is lacking and that Java is no longer meeting the needs of many developers. And yet, by all external markers, Java is alive, well, and growing.

Here are several proofs for it:

1. TIOBE ranked Java as its top language of 2015 currently shows it enjoying 5% growth in use since 2014, more than any other programming language.

2. RedMonk has recently published the latest edition of its bi-annual list of the top programming languages. Compiled with the help of data obtained from GitHub and StackOverflow, this list tells us about the usage and discussion of a language on the web. Just like the previous years Java is among the top of the programming languages.

3. Further, the PYPL Index, which ranks languages based on how often language tutorials are searched on Google, shows Java clearly out in front with 23.9% of the total search volume.

Since Java first appeared it has gained enormous popularity. Its rapid ascension and wide acceptance can be traced to its design and programming features, particularly in its promise that you can write a program once, and run it anywhere. Java was chosen as the programming language for network computers (NC) and has been perceived as a universal front end for the enterprise database. As stated in Java language white paper by Sun Microsystems: “Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, multithreaded, and dynamic.”

So here are the most common and significant advantages of Java that helped it to take its high position in a quite competitive environment of programming languages:

  • Java is easy to learn.
    Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn than other programming languages.
  • Java is platform-independent.
    One of the most significant advantages of Java is its ability to move easily from one computer system to another. The ability to run the same program on many different systems is crucial to World Wide Web software, and Java succeeds at this by being platform-independent at both the source and binary levels.
  • Java is secure.
    Java considers security as part of its design. The Java language, compiler, interpreter, and runtime environment were each developed with security in mind.
  • Java is robust.
    Robust means reliability. Java puts a lot of emphasis on early checking for possible errors, as Java compilers are able to detect many problems that would first show up during execution time in other languages.
  • Java is multithreaded.
    Multithreaded is the capability for a program to perform several tasks simultaneously within a program. In Java, multithreaded programming has been smoothly integrated into it, while in other languages, operating system-specific procedures have to be called in order to enable multithreading.

Nonetheless things changed since the time when Java was created. In the recent years, many important languages have appeared and left an impact on the technology world. Due to their simplicity and user-friendliness, they have managed to surpass the more established languages. So we tried to make a list of reasons why Java is going to stay on the grind in the nearest future:

1. Java is time-proved.
You generally need a strong reason to switch from a language you’re currently using: it requires time to practice and learn new languages, and you have to be confident that the language you’re considering switching to will be supported in the long term. Nobody wants to build software in a language that will be obsolete in five years’ time.

2. JVM and the Java Ecosystem.
The Java Virtual Machine, or JVM. compiles programs into bytecode, which is then interpreted and run by the JVM. Because the JVM sits above your specific hardware and OS, it allows Java to be run on anything, a Windows machine, a Mac, or an obscure some flavor of Linux.

The big advantage granted by the JVM is in this increased compatibility and the stability it affords. Because your application runs in the VM instead of directly on your hardware, you can program said application once and trust that it is executable on every device with a Java VM implementation. This principle is the basis for Java’s core messaging: “Write once, run everywhere.” And it makes Java applications very resilient to underlying changes in the environment.

3. Java and the Internet of Things.
“I really think Java’s future is in IoT. I’d like to see Oracle and partners focused on a complete end-to-end storage solution for Java, from devices through gateways to enterprise back-ends. Building that story and making a success of it will help cement the next 20 years for Java. Not only is that a massive opportunity for the industry, but also one I think Java can do quite well,” said Mike Milinkovich, Executive Director of the Eclipse Foundation.

Oracle agrees. Per VP of Development Georges Saab, “Java is an excellent tech for IoT. Many of the challenges in IoT are many of the challenges of desktop and client Java helped address in the 1990s. You have many different hardware environments out there. You want to have your developers look at any part of the system, understand it and move on. Java is one of the few technologies out there that lets you do that.”
 
Thus, Java might have its detractors, and some of their arguments might even be reasonable. Nonetheless Java has evolved a lot since its inception, holds the lead in many areas of software development and has more prospects for the future. So, in our opinion, its survivability is not in doubt.

And what do you think? Is Java going to become one of the dead languages? Or it has all chances to survive? Feel free to share your thoughts in comments below!

 

yana-khaidukova

Yana Khaidukova

Business Development Manager

E-mail: yana.khaidukova@altabel.com
Skype: yana_altabel
LI Profile: Yana Khaidukova

 

altabel

Altabel Group

Professional Software Development

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

As the Internet of Things begins to revolutionize businesses, economies and our society, IoT platforms are coming up being the core basis in the overall IoT infrastructure. IoT platforms, in simple words, are just about connecting the sensors to data networks and integrating with back-end applications to provide insight into huge volumes of data.

However developing for the Internet of Things is a complicated undertaking, and almost nobody chooses to do it from scratch. IoT data platforms provide a starting point by integrating many of the tools needed to operate a deployment from device control to data prediction and grasp into one service. Ready-built IoT platforms can meet the needs of any company and smoothly accommodate constant growth and change. In the light of the possibilities offered by IoT, many high tech companies started taking advantage of it. For the time being there are more than 300 hundred various IoT platforms on the market and the number is continuing to grow. So, let’s see what features of IoT platforms take into consideration while choosing one for your business.

Before selecting an appropriate solution which may be suitable for your organization, you must determine:

1. Three different types of IoT platforms. Here they are listed from most complex to least complex:

  • Application enablement and development (AEP/ADP): This encompasses platforms that offer modules, widget-based frameworks or templates for producing (with minimal or no coding) actual end-user applications. These platforms are capable of turning data into either intelligence or action very quickly. The vivid examples of such platforms are Oracle, ThingWorx and etc.
  • Network/Data, and subscriber management (NM): In the wireless carrier and mobile virtual network operator (MVNO) space, this kind of platforms try to streamline connecting cellular M2M data, so you don’t have to build much of the data infrastructure behind it. For instance Cisco and Aeris do network management as well as device management, while Jasper and Wyless do more sheer network management.
  • Device management (DM): These platforms are more about monitoring device statuses, troubleshooting issues, configuring embedded device settings and administrating the provisioning and health of the endpoints. Usually in the IoT space this fairly elementary software is provided by hardware vendors. Like both Digi and Intel provide pure device cloud management.

While these platforms can be found as distinct standalone products, it is becoming increasingly common to find vendors that combine two or all three types in a single offering.

2. Implementation, integration support and device management. Device management is one of the most significant features expected from any IoT software platform. The IoT platform should maintain a number of devices connected to it and track their proper operation status; it should be able to handle configuration, firmware (or any other software) updates and provide device level error reporting and error handling. Ultimately, users of the devices should be able to get individual device level statistics.

To make implementation smooth, the provider should possess convincing manuals, blogs and feasibly lively developer-community around the IoT platform.

Support for integration is another vital feature expected from an IoT software platform. The API should provide the access to the important operations and data that needs to be disclosed from the IoT platform. It’s typical to use REST APIs to achieve this aim.

3. Comprehensive Information Security. There are four main technological building blocks of IoT: hardware, communication, software backend and applications. It’s essential that for all these blocks security is a must-have element. To prevent the vulnerabilities on all levels, the IoT infrastructure has to be holistically designed. On the whole, the network connection between the IoT devices and the IoT software platform would need to be encrypted and protected with a strong encryption mechanism to avoid potential attacks. By means of separation of IoT traffic into private networks, strong information security at the cloud application level, requiring regular password updates and supporting updateable firmware by way of authentication, signed software updates and so on can be pursued to enhance the level of security present in an IoT software platform. Nonetheless while security ought to be scalable, it is unfortunately usually a trade-off with convenience, quick workflows and project cost.

4. Flexible Database. There are four major “V” for databases in IoT space:

  • Volume (the database should be able to store massive amount of generated data)
  • Variety (the database should be able to handle different kind of data produced by various devices and sensors)
  • Velocity (the database should be able to make instant decisions while analyzing streaming data)
  • Veracity ( the database should be able to deal with ambiguous data in some cases produced by sensors)

Therefore an IoT platform usually comes with a cloud-based database solution, which is distributed across various sensor nodes.

5. Data analytics.

A lot of IoT cases go beyond just action management and require complicated analytics in order to get the most out of the IoT data-stream. There are four types of analytics which can be conducted on IoT data:

  • Real-time analytics (on the fly analysis of data),
  • Batch analytics (runs operations on an accumulated set of data),
  • Predictive analytics (makes predictions based on different statistical and machine learning technologies)
  • Interactive analytics (runs numerous exploratory analysis on either streaming or batch data)

While choosing the right IoT platform, it’s better to keep in mind that the analytics engine should comprise all dynamic calculations of sensor data, starting from basic data clustering to complex machine learning.

6. Pricing and the budget. The IoT platform market features a diversity of pricing methodologies underlying various business strategies. And sometimes providers’ costs aren’t always transparent. Thus it’s very important to check out all the nuances of your provider’s pricing pattern, so you are not plainly bought into introductory teaser rates or into the prices for the base model.

Further you should bear in mind that you licensing cost for the chosen platform is just the beginning. The major expense can turn out to be the integration itself, as well as hiring consultants (if you are not able to do it on your own) to support the system.

Therefore, it’s extremely vital to brainstorm what your entire IoT system will look like at scale and choose which features are most critical to you chiefly — and only afterwards decide what sort of platform you need.

A lot of companies do this backward. They get the IoT platform and believe they’re getting the complete necessary solution—then realize the mistake half a year into development. Thus it’s critical to be aware of this before you get started.

Also it should be mentioned that some companies don’t use IoT platforms—they’re developing their own platforms in-house. Yet, depending on how you want to go to market, it may be clever to research pre-built options. Depending on your situation, you may save a lot of time and money by partnering with one of these platforms.

Have you ever faced the difficulties of choosing the IoT platform for your business? If yes, can you please let me know what kind of difficulties? And what do you think is it better to use a ready-built IoT platform or develop your own from the scratch? Looking forward to getting your ideas and comments.

 

Anastasiya Zakharchuk

Anastasiya Zakharchuk

Business Development Manager

E-mail: anastasiya.presnetsova@altabel.com
Skype: azakharchuk1
LI Profile: Anastasiya Zakharchuk

 

altabel

Altabel Group

Professional Software Development

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

Introducing ASP.NET Core:

ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.

The framework is a complete rewrite that unites the previously separate ASP.NET MVC and Web API into a single programming model.

Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET MVC.

ASP.NET Platform exists for more than 15 years. In addition, at the time of System.Web creation it contained a large amount of code to support backward compatibility with classic ASP. During this time, the platform has accumulated a sufficient amount of code that is simply no longer needed and is deprecated. Microsoft faced a difficult choice: to abandon backward compatibility, or to announce a new platform. They chose the second option. At the same time, they would have to abandon the existing runtime. Microsoft has always been a company focused on creation and launch on Windows. ASP.NET was no exception. Now the situation has changed: Azure and Linux occupied an important place in the company’s strategy.

The ASP.NET Core is poised to replace ASP.NET in its current form. So should you switch to ASP.NET Core now?

ASP.NET Core is not just a new version. It is a completely new platform, the change of epochs. Switching to ASP.NET Core can bring many benefits: compact code, better performance and scalability. But what price will be paid in return, how much code will have to be rewritten?

.NET Core contains many components, which we are used to deal with. Forget System.Web, Web Forms, Transaction Scope, WPF, Win Forms. They no longer exist. For simple ASP.NET MVC-applications changes will be minor and the migration will be simple. For more complex applications, which use a great number of .NET Framework classes and ASP.NET pipeline situation is more complicated. Something may work and something may not. Some part of the code will have to be rewritten from scratch. Additional problems may be caused by WebApi, because ASP.NET MVC subsystems and WebAPI are now combined. Many libraries and nuget-packages are not ready yet. So, some applications simply will not have a chance to migrate until new versions of the libraries appear.

I think we are waiting for the situation similar to the transition from Web Forms to ASP.NET MVC. ASP.NET Framework will be supported for a long time. First, only a small amount of applications will be developed on ASP.NET Core. Their number will increase, but sooner or later everyone will want to move to ASP.NET Core. We still have many applications running on the Web Forms. However, no one comes to mind to develop a new application on the Web Forms now, everybody chooses MVC. Soon the same happens to ASP.NET Framework, and ASP.NET Core. ASP.NET Core offers more opportunities to meet modern design standards.

The following characteristics best define .NET Core:

  • Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
  • Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes (Operating Systems). The supported OSes, CPUs and application scenarios will grow over time, provided by Microsoft, other companies, and individuals.Command-line tools: All product scenarios can be exercised at the command-line.
  • Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
  • Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.
  • Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support.

The Bad:

  • As for the “cons” one of the biggest issues are gaps in the documentation. Fortunately most of the things for creating and API are covered, but when you’re building an MVC app, you might have problems.
  • Next problem – changes. Even if you find a solution to your problem, it could have been written for a previous version and might not work in the current one. Thanks to open source nature of it, there is also support available on github. But you get same problems there (apart from searching).
  • Another thing is lack of support in the tooling. You can forget about NCrunch or R# Test Runner. Both companies say they will get to it when it gets more stable.
  • ASP.NET Core is still too raw. Many basic things, such as the Data Access, is not designed for 100%. There is no guarantee that the code you are using now will work in the release version.

The Good:

  • It’s modular. You can add and remove features as you need them by managing NuGet packages.
  • It’s also much easier and straightforward to set up.
  • WebApi is now part of the MVC, so you can have class UserController, which will return a view, but also provide a JSON API.
  • It’s cross-platform.
  • It’s open-source.

ASP.NET Core is the work on the bugs of the classic ASP.NET MVC, the ability to start with a clean slate. In addition, Microsoft also aims to become as popular as Ruby and NodeJS among younger developers.
NodeJS and ASP.NET have always been rivals: both – a platform for backend. But in fact, between them, of course, there was no struggle. The new generation of developers, the so-called hipster developers, prefer Ruby and Node. The adult generation, people from the corporate environment, are on the side of .NET and Java. .NET Core is clearly trying to be more youthful, fashionable and popular. So, in future we can expect the .NET Core and NodeJS to be in opposition.

In its advertising campaign, Microsoft is betting on unusual positions for it: high performance, scalability, cross-platform. Do you think that ASP.NET “crawls” on the territory of NodeJS? Please feel free to share your thoughts with us.

Thank you in advance!

Ref: MICHAL DYMEL – DEVBLOG

 

Darya Bertosh

Darya Bertosh

Business Development Manager

E-mail: darya.bertosh@altabel.com
Skype: darya.bertosh
LI Profile: Darya Bertosh

 

altabel

Altabel Group

Professional Software Development

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


%d bloggers like this: