Overcoming Covid-19 Hurdles: How to respond in a crisis (and maybe even prosper)

DSR leaders have been taking note of what works as we adapt and overcome the challenges we face in the current pandemic. We are fortunate to be in the privileged position that we may still serve our clients during this time and this article suggests best practices for adapting to this environment.

COVID-19 has brought about a new normal. Uncertainty is the reality for much of the globe. Amidst the turbulent market conditions and sometimes hectic actions of countries’ governments, it’s vital for business leaders, fortunate enough to still be in operation, to stay calm and focused on urgent measures: encouraging employees, helping clients overcome difficulties, and doing business as usual, as much as that is possible. DSR Corporation is always ready to share its’ experience in organizing a company’s internal and external activities in the face of uncertain risks and extraordinary challenges.

It’s safe to say that to handle any crisis your company should act in 3 stages:

  1. Response: Assess the situation and take necessary measures.
  2. Recovery: Learn and accommodate the new reality.
  3. Prosperity: Prepare and shape for the “new normal”.

All the three stages should be considered by the company’s management concurrently. The sooner the better. That’s why you should act without any hesitation at the same time plan strategically with the “big picture” in mind.

Today we are going to cover the first stage, Response. It’s crucial to understand that an unpredictable emergency situation stirs a lot of uncertainty in people’s minds. Mass hysteria on social media adds a great deal to it. That’s why resilient leaders should exercise emotional intelligence to show empathy and compassion for employees whose priorities have shifted to concerns about family members health.

The first priority is to ensure the health and safety of your team, followed by their economic stability. The best way to help your customers is to take care of the team.

Transparency is another key element of the “Response” stage. It will help to greatly reduce the level of uncertainty and maintain trust, perhaps even growing trust in the process. This applies not only to your employees, but also to client-relationships.

While transparency could be thought of as a strategic solution, clear, concise, and timely communication is a tactical step to achieve the necessary level of transparency.

Focus on your mission – that’s the overall priority for every business. Despite any temporary hurdles and difficulties, the main goal for a company is to do business as usual and help its’ clients to overcome the challenging situation.

The Response stage can be broken down into 3 steps which will help to guide your team and customers in a time of crisis.

  • Ensure health, safety and economic well-being of your team.
  • Achieve a high level of transparency through concise and timely communication with your employees and clients.
  • Put your mission first. Maintain business continuity.

Now, with the overall strategy is outlined, it’s time to share some practical tips to keep your employees and clients engaged and your business running.

1. Ensuring the Health and Safety of Your Team

During this pandemic, it’s necessary to avoid any contact and maintain
social distance to stop the virus from spreading. Your employees should work
remotely if they can. You can help them to get used to home office with tips to
create working environment and minimize number of distractions.

Forewarned is forearmed. It’s vital to send corporate guidelines on how
to act and practical tips from government and health agencies to help avoid harm.

Ensuring your team is safe:

  • Company-wide messaging regarding best practices and guidelines for staying safe and healthy, as well as company expectations.
  • Location specific messaging based on the recommendations of local authorities
  • Verification that your corporate network is capable of supporting remote work (should your employees be in a safe location)
  • Authorization of remote work for all that can

2. Tips for Effective Remote Work

Remote work can be challenging for anyone. To keep your team engaged, help your employees organize their working environments, and reduce overall anxiety, you can use following tips. They can be broken down into 2 categories: team level and employee level.

Team level:

  • Implement digital social norms, such as a morning greeting in the intranet chat.
  • Use video calls whenever possible to improve team engagement.
  • Increase communications (there is no room for comms. to decrease)
  • Practice social activities remotely, such as  hosting e-lunch, exchanging pics of home office working places, and online team-building exercises.
  • Keep communications with team members timely and concise as much as possible.

Personal level:

  • Arrange your workplace to differentiate it from the rest of your house. You can even use a corporate calendar or branded cap to create a working atmosphere.
  • Create and follow a schedule to separate your work from everyday life.
  • Have weekends. Regardless of whether your weekend is Saturday and Sunday, give yourself some time to decompress.
  • Stick to good habits or develop new ones to unwind and relax.
  • Take care of your body. Eat healthy, exercise on a daily basis, and don’t deprive yourself of fresh air. As long as it is safe, try to spend at least 30 minutes a day outside. Vitamin D does wonders for your mood and supports the immune system.
  • Disconnect from the social media hysteria and the barrage of disturbing news. Although it’s important to stay up to date on latest news and developments, reading too many horror stories about the current situation can cause anxiety and stress.
  • Stay in touch with your family and friends (while following health and safety guidelines of course). Use voice and video calls whenever possible to decrease social isolation.

3. How to Help Clients Overcome the Crisis Turbulence

Just remember that to help customers you should ensure health and safety of your own team first. But some actions are to be taken concurrently. It is of paramount importance to deliver a clear message to your partners and clients that you’re open for business.

Transparency and proactive action are the key elements of maintaining and building trust in case of an emergency situation:

  • Keep it clear that you have prepared to do business as usual (or to what extent you will do business). Send company level messaging to all clients outlining the steps being taken to care for the health of your team and your commitment to maintaining your quality and efficiency of output.
  • Encourage project managers to talk personally with their client counterparts to reinforce commitments and availability.
  • Be proactive. Try to understand the challenges your client is facing (even implicit ones) and suggest working solutions.
  • Be even more diligent and timely in responses to client questions. Make sure they hear from you quickly and frequently.
  • Aim for speed. Prompt actions are required during a crisis, so always keep in mind that a working solution might be better than a perfect one.  

4. Working from Home with Kids

Working from home with kids adds an additional level of complexity and
stress. The struggle is real! Here are a few suggestions of things to do to
help balance it, especially for family where both parents are working full time
and from home.

  • Schedule. Kids do best when they have clear boundaries and schedule. It can be challenging to maintain a strictly followed schedule, so don’t beat yourself up if it slips, but it can help keep the day on track. Here is an example: 
Example Kid's Schedule
  • Screen time. Although too much screen time is bad, there are times that it’s needed to keep the kids occupied while parents finish their work/meetings.

Not all screen time is created equal. Educational screen time is a great example. There are a lot of resources online (many of which are free) that will keep your child of any age engaged for hours, such as https://www.khanacademy.org/. There are likely similar programs available in your language or country.

  • Have breaks together. Take breaks together from work, homework, or educational activities.
  • Exercise and outdoor time. Kids have endless energy and can get cranky and mischievous if they don’t get to expend it in a constructive way. The best option, of course, is to let them play outside (away from other kids in our current crisis), but that can be very challenging. There are things you can do at home. For example, for the little ones there are interactive yoga and exercise videos available free on YouTube. Similar programming can be found for any interest and age. 
  • Balancing work with kids. If both parents are
    working and child care help is not available, depending on the child’s age, you
    may have to try different things. For older kids, it’s a matter of creating the
    schedule together and having check points to provide help and assess progress.

For younger children, it’s a bit more complicated as
they require assistance or have frequent questions. Some of the above resources
can be a good way for younger kids to have independent study/play time.  

Create alternating schedules with your partner – for example, one of you works for 4 hours in the morning while the other watching kid(s) and potentially able to do some work, and then switch in the afternoon. This of course then leaves hours in the evening for both of you to finish work after the kids are in bed. 

5. A Turning Point for any Business

The Chinese use two brush strokes to write the word “crisis”. One stands
for danger, while the other for opportunity. In a crisis, be aware of the
danger — but don’t miss the opportunity.

Clear thinking, transparent communications, timely decision-making, and proactive thinking will be recognized both by your employees and clients. Seize the opportunity to emerge even stronger from a crisis situation and use it as leverage to build trust with your partners and consolidate your team.

Stay safe and prosper!

Orchestrating Application Elasticity

DSR Media and Entertainment

Introduction—

Do you have customers that want your existing applications to run in an elastic environment or be orchestrated (i.e., with Kubernetes)? Are you trying to catch up to a business need to support a subscription or SaaS model? In this blog, we will cover how containerization and application orchestration can be used in porting legacy applications to handle both demands for elastic deployments and pay-as-you-go business models.

Problem—

A common limitation with legacy software is that it often only runs one application instance at a time. There are two issues that arise with this. First, undergoing a very manual process may become necessary if application needs grow or there is a need to run more than one instance at a time. Second, there is more often than not an inability to increase or decrease capacity on a whim. This can incur additional cost that customers are hesitantly willing to pay, if at all. Both issues put your business at a disadvantage in an increasingly competitive market.

Solution—

Application orchestration through containerization can solve these issues entirely. Let’s walk through what exactly container orchestration is and the value it can offer your business.

What is Containerization?

Containerization is the first step and primary method of orchestrating elasticity in this context. By definition, “application containerization is an OS-level virtualization method used to deploy and run distributed applications without launching an entire virtual machine for each app.” Let’s breakdown what this means.

Containers are often explained in the context of virtualization and compared to virtual machines. Virtual machines, like Windows, are guest operating systems that are virtualized to run on top of the underlying hardware. Virtual machines contain not only the guest operating system, but also all of the necessary libraries run to the application, the application code, and generally any customer data.

Similar to virtual machines, containers allow developers to package the application together with libraries and other dependencies. Containers can then run the virtual instance in a controlled environment. However, containers differ from VMs in that they are much more lightweight and use far fewer resources than virtual machines.

Lgacy to Containerized App

Advantages—

Fast Start-Up and Shutdown:

A container sub-system initiates application virtualization on top of the operating system and shares the OS and common libraries with the individual applications within the container’s orchestrator. As a result, the container orchestrator will allow the user to launch individual processes far faster than a virtual machine is capable of since it does not require the operating system to startup and shutdown. In a container situation, as soon as the container’s orchestrator starts, launching applications can occur almost instantly since all other common processes are already running. In a media and entertainment application, for example, a user will have the ability to use another copy of an encoder, file copier, or video player instantaneously. Intuitively this means that a server can host more containers than a virtual machine.

Ability to Set Business Rules:

Another advantage of container orchestration is the ability to set business rules that allow a user to define startup and shutdown for container instances. Applications can then add and destroy capacity as needed, which allows for customers to easily scale up or down based on their needs. It also reduces the need for hardware on the customer’s premise because it can all be done via AWS, Microsoft Azure, or Google Compute environments. This is highly relevant if moving toward a usage dependent subscription, or SaaS-based revenue model.

Consistent Environment:

Containers allow developers to create predictable environments that are isolated from other applications and include software dependencies needed by the application. This guarantees consistency no matter where the application is deployed, which translates to productivity for developers and IT due to fewer bugs and consistent test environments.

Modularity:

The container application can be split into modules, also known as a microservices approach. This allows each module to be simple and for changes to be made to them without having to rebuild the entire application.

Compute Power:

Finally, containers can provision more computing power based on the need of an individual application. This is made possible by platforms like AWS, Azure, and Google Compute. With compute and storage load being distributed across a wide area, there are no latency, lag, storage backup, IO problems, etc.

Orchestration—

When orchestrating a container, there are three differentiators to look out for: level of abstraction, tooling, and architecture. DSR is orchestrator-agnostic, meaning our team can develop containers on any platform. We thoroughly understand what to look for during this process and can even help you choose the correct platform for your business needs. DSR has the expertise to move from legacy applications to microservices and containers. So, whether you are considering a generic Kubernetes approach or specific containers targeted for AWS, Azure, or Google, DSR can help.

Why DSR?

Containerization is prevalent outside of the media and entertainment industry today and many companies are capable of providing serverless architectures. DSR’s extensive experience in the media and entertainment space makes our teams highly capable of providing the best solution for your needs and sets us apart from the competition. If you have a business need for elastic orchestration, but do not have the technical capability or bandwidth to make that transition, call DSR. We have the expertise right now to provide the solution you need. Let us master your application in cooperation with your team with the goal of wrapping your core application technology into a container. From there you can build your business revenue around this valuable solution.

To learn more about DSR’s media and entertainment software resources, watch this short video: https://youtu.be/BB0TFDlpWtw

Sources—

Revell, Matthew. “Introduction to Container Orchestration: Kubernetes, Docker Swarm and Mesos with Marathon.” Exoscale, Exoscale, 26 June 2016, www.exoscale.com/syslog/container-orchestration/.

Rouse, Margaret. “What Is Application Containerization (App Containerization)? – Definition from WhatIs.com.” SearchITOperations, Sept. 2017, searchitoperations.techtarget.com/definition/application-containerization-app-containerization.

Rubens, Paul. “What Are Containers and Why Do You Need Them?” CIO, CIO, 27 June 2017, www.cio.com/article/2924995/software/what-are-containers-and-why-do-you-need-them.html.

Google Cloud. “What Are Containers and Their Benefits  |  Google Cloud.” Google, Google, cloud.google.com/containers/.

10 Advantages of Elm: Moving to Functional Programming in the Frontend

Elm as a functional language for front-end development that is well known in small circles of experienced web-developers. Its’ syntax is similar to Haskell, but less complex and designed specifically for building web-based user interfaces. Elm has some definite advantages in comparison with React.js. Nonetheless, it’s not very popular within the front-end community. To find out why that is, we talked with DSR’s web-development team.

Using Elm benefits not only the end user, but also the front-end developer. The former gets faster page loading speeds without errors in the majority of cases. The latter — comprehensive compilator warnings, increased compilation speed, and clear instructions on how to move to the new package version. These reasons are why Elm might become a popular tool amongst front-end teams.

Evan Czaplicki, the creator of Elm, doesn’t actively promote the programming language. Being an exceptionally talented developer, he clearly understands how to continue enhancing and developing Elm. His main goal is to make it the most reliable programming language for building web apps. In fact, Elm promotion is basically non-existent, with very few people allocating resources to advertise it. For example, React.js is heavily promoted by Facebook. The social network giant vigorously supports it by organizing conferences, meetups, and conducting other activities to put the framework in the community of front-end developers. Technically, Elm is on par with React.js, even excelling in some ways. Elm’s biggest problem is that very few people are aware of it.

Elm’s Key Advantages

1. Easy to learn.

If you are looking to learn Elm, there are tons of guides, tips, FAQ, books and a really friendly developers’ community. Kevin Yank, the legendary web developer, releases podcasts on Elm regularly. There are loads of studying materials are available for free.

2. Project support is easier for the entire life cycle.

Compared to other frameworks, Elm makes project support (the lion’s share of the app life cycle) significantly easier with the help of compilator’s warnings. These warnings don’t allow changes which your app won’t be able to compile. Hence, overall project cost can be greatly reduced.

3. JavaScript interoperability via ports.

When you start developing web apps (and packages) using Elm, you’ll become increasingly eager to avoid the hectic world of JavaScript wherever you can. However, it’s not always a good idea to rewrite preexisting JS solutions in Elm. Sometimes, it’s not even possible.

Elm has a great tool to integrate necessary JavaScript code, namely, ports. Not every task can be completed with the help of ports, but Elm boasts other interoperability tools as well.

4. No runtime exceptions.

There’s no way an app written in Elm will throw an error which breaks the UI. Front-end developers greatly appreciate this feature.

5. Maintainability & Enforced Semantic Versioning.

If the code doesn’t compile, it will not run. This is a built-in safety feature. Additionally, ff something has been changed in a package that the project depends on, the creator of this dependency is forced to update the version number. You’ll also receive a warning about incompatibilities with your project. Elm is always on guard, protecting your production workflow.

6. Big companies use Elm.

The front-end team at IBM writes apps in Elm and has shared some quite positive feedback. “Elm is really bullet proof, it’s not [false] advertisement”, and we’re quoting IBM here directly. It’s worth mentioning Japanese online retail giant Rakuten (the company also owns Viber messenger). More companies that use Elm are listed here.

7. Performance.

Elm Virtual DOM is more lightweight than that of React.js. Bundle size is most always significantly smaller. Hence rendering the first elements on any page will be faster on any device and in any browser.

Elm- RealWorld App Asset Size Graph

Vast ecosystem of open source packages.

Elm’s free to use code is the result of millions of hours front-end developers’ work. You can use these packages on your project absolutely free of charge. The aforementioned enforced semantic versioning guarantees that third party code won’t break anything in your web app.

8. Progressive web apps.

Developing PWA with Elm is a breeze. Check out this example with open source code.

9. Server-side rendering.

Though it’s not supported by Elm officially, experienced front-end developers have found easy workarounds. Examples can be seen here, here, and here.

10. Any Front-End Developer Can Start Using Elm in a Matter of Days

Should you put off your usual web development tools and move to the
“bulletproof” world of Elm, immediately? No way. But, you should at least
consider this elegant and powerful functional programming language for
front-end development. Read some guides, see some relevant examples, and try
some basic staff using Elm. Only then, once you’ve accumulated your own
experience on real projects, can you decide for yourself. Shifting to Elm
itself will be painless, even for the beginners.

The majority of front-end developers know how Redux works. Interestingly, this JavaScript library was built upon the Elm architecture. That’s just another example of the emerging trend of so-called “JavaScript fatigue.” Nowadays, more and more developers are turning to alternative solutions, trying to avoid pure JS. Since Elm is the “father” of Redux and requires immutability, a declarative programming approach, and has its’ own Virtual Dom implementation, the language will be quite familiar to the front-end developers who prefer the React ecosystem.

Let’s see some examples of code in Elm, highlighting its’ elegance, readability, and simplicity.

Function chaining

Unlike JavaScript, where you have to wrap every function, Elm offers a special pipe-operator. It makes a chain of functions more readable for the developer. This is one of Elm’s key features as a functional programming language.

This picture shows Function Chaining in Elm

Function composition

Another example of Elm’s elegance for front-end development is the function composition. The function composition allows developers to work with complex scenarios involving monades.

This picture shows Function Composition in Elm

App written in Elm

A simple counter that can be increased or decreased as an example of button code.

Any app in Elm consists of modules (just like in JavaScript). Every module contains three parts.

  1. Model. App state.
  2. Update. A way of updating the state.
  3. View. A way to render the state into HTML.
This picture shows an app written in elm

Line 20 in the above code uses a  type alias, that model will store only Int. At the lines 23-25 you can see function init, which is used to initialize the app with a predefined value.

At the line 51 we use the view function to generate HTML. View always takes a model in Elm, giving a front-end developer the ability to operate on the state of the application.

You can see that at the line 54 we call a button function. An array of attributes serves as its’ first parameter, including the event handler, onClick. The second parameter is an array of child elements.  In the example above, we use the function text, which generates a text node. onClick suggests the  performance of an action, in this case, decreasing the counter value. The  text function returns a string with the necessary data.

The App starts running with default value of the counter. Then it runs in the following infinite cycle:

  1. App waits for user input
  2. Sends the message to update
  3. Produces new model
  4. Calls view functionto generate new HTML code
  5. Renders new HTML code in the browser
  6. Repeat

That’s the essence of Elm architecture.

Try to play around with the app code here. For example, you can add a Reset variant to the Msg type.

Summary

Elm as a functional language might become your favorite tool for creating web apps, especially when you take into consideration all of its’ advantages and peculiarities. Functional programming is slowly but steadily is gaining momentum among web developers, so don’t miss the opportunity to improve your skill set and make yourself more competitive on the web-development market by adopting functional programming style, tools, and techniques.


Top 10 IoT Specific Trends from CES 2020: The Smart Home Becomes The Intelligent Home

Undoubtedly the world’s largest consumer electronics show, CES is a great indicator of where the IoT market is heading and what we can expect to see in the coming 2-3 years. Out of about 4500 exhibitors at CES 2020, more than 1000 companies were “internet of things” related, including smart home and city solution providers, wearables vendors, sensors, biometrics, and vehicle automation firms. The DSR team attended the show, and we are excited to share some of our impressions.

1. IoT Will Stand For “Intelligence of Things”

ICON.AI Venus Mirror
Venus Mirror by ICON.AI

The IoT universe is constantly expanding and new types of devices are connecting to the internet. At CES 2020, a smart frying pan was announced. SmartyPans are equipped with weight and temperature sensors and can record recipes as you cook (https://smartypans.io/). An Interactive smart makeup mirror, ICON.AI, is able to diagnose skin diseases, helps to choose makeup, and supports Amazon Alexa (http://icon.ai/). However, the most intelligent device for smart home ecosystem was presented by Samsung. It’s called Ballie and is described as a “life companion”, not just ordinary smart assistant (see video below).

A Rolling ball-shaped robot, unlike Apple’s Siri or the Amazon Echo, doesn’t wait for a voice command, instead, it constantly monitors your actions, behavior, and activities. Ballie is proactive. For example, it can wait and take a photo when the lightning is favorable, or give a command to the smart vacuum cleaner to clean up the dog’s mess without bothering its owner.

Google Assistant now supports a wider range of compatible smart devices and gives an option to turn them on and off on a timer. You can say: “Hey Google, run the coffee machine at 7 a.m.” Moreover, you can now connect compatible smart devices with just a few taps as well as use smart digital sticky notes across smart displays. Google also has enhanced the translation capabilities of Assistant. Now the AI-driven voice assistant is able to translate text from more than 40 languages.

Plume demonstrated a motion detection system which operates without sensors and cameras (https://www.plume.com/). Plume Motion AI analyzes Wi-Fi signal delays between compatible OpenSync nodes and Wi-Fi connected devices to identify moving objects. This AI also helps to eliminate the problem of false home alarms, such as the detection of pets.

Prima Touch from Hogar Controls
Prima Touch from Hogar Controls

As demonstrated at CES 2020, multi-functional smart switches and displays are going to be one of the top home automation market trends, in the coming years. One Example is the Prima Touch Switch from Hogar Controls(https://www.hogarcontrols.com/). Prima Touch allows the user to configure a set of touch-sensitive buttons to control different smart devices and switch between predefined scenes. It supports Z-Wave and Zigbee protocols. More advanced smart displays are able to stream video, help to monitor household energy consumption, and quickly adjust smart home settings for the current occupants’ needs.

CES 2020 has demonstrated that the smart home ecosystem and smart devices themselves are becoming more intelligent. Increased connectivity, along with AI-driven solutions, allow the smart home ecosystem to provide much more utility, without the user’s direct involvement.

2. Power Shift Towards Interoperability

According to Statista estimates (https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/), there are more than 26 billion connected IoT devices. With this vast quantity, comes complexity. Each IoT solution offers its own IoT infrastructure, APIs, and data formats, which leads to interoperability issues. Several initiatives aimed at enhancing interoperability were announces at CES 2020.

Lots of manufacturers’ smart devices are compatible with the OCF 2.1 standard (https://openconnectivity.org/developer/specifications/). The new version of the standard was released in November by the Open Connectivity Foundation, which boasts more than 300 members (Cisco, LG, Samsung, Intel etc.). OCF 2.1 provides detailed implementations for Bluetooth, EnOcean, Zigbee, and Z-Wave.

In December, Apple, Google, Amazon, the and Zigbee Alliance announced the creation of Connected Home over IP(https://www.connectedhomeip.com/). The goal is to create a working group for the development of a new open standard for smart home products, with a heavy focus on security.

Moreover, just over a month ago, Silicon Labs and the Z-Wave Alliance announced plans to open proprietary Z-Wave standard (https://z-wavealliance.org/z-wave-specification-press-release/). Before the announcement, Silicon Labs was the only manufacturer of MCUs with Z-Wave support. In the near future, other manufacturers will be able to produce Z-Wave chips. This is the first step to make the standard fully open.

DSR Corporation also contributed to this shift, as we announced the ZBOSS Open Initiative (ZOI) at CES 2020 (http://dsr-zoi.com/). This is a community of companies with a shared understanding of the necessity to have a common Zigbee PRO software platform to overcome, together, the shared challenges around interoperability, security, testing, and optimization of Zigbee-enabled products and solutions.

3. Wi-Fi 6 to boost smart home

Wi-Fi 6 (802.11ax) will increase the throughput and speed of IoT networks, decrease delays, and make smart homes more secured. Thanks to the support of OFDMA и BSS Coloring technologies, smart home and office solutions based on Wi-Fi 6 will manage network traffic more efficiently, especially in a radio dense environment.

WPA3 will significantly improve the security of IoT networks in comparison to WPA2 thanks to the Simultaneous Authentication of Equals (SAE) protocol, which is used in Wi-Fi 6, instead of Pre-Shared Keys (PSK). The new standard will make IoT networks a lot harder to hack.

What’s more, Wi-Fi 6 routers support up to 1024 connected devices simultaneously, whereas current Wi-Fi generation is able to support only 250. This is a great step forward for smart home and office automation, hence just one Wi-Fi 6 enabled router will be able to manage more than thousand smart devices.

D-Link COVR X1872
Two-piece router D-Link COVR X1872 supports Wi-Fi 6 and enables to setup mesh IoT networks

Quite a number of manufacturers announced routers with Wi-Fi 6 support, including D-Link, TP-Link, Linksys, and Netgear. Comcast also revealed the xFi Advanced, an IEEE 802.11ax certified gateway.

4. 5G – the first generation of cellular networks for IoT

According to an Ericsson forecast (https://www.ericsson.com/en/mobility-report/internet-of-things-forecast), over 1.5 billion IoT devices will be connected to cellular networks by 2022. 5G is the first generation of mobile networks designed with IoT industry requirements in mind. Apart from a tenfold speed increase (up to 15-20 Gbit/s) in comparison to 4G, 5G supports 250 times more connected devices — over 1 million devices per 1 square kilometer. The capacity of 4G is limited to a mere 4,000 devices per square kilometer. CTA forecasts that more than 50 mobile network operators throughout the world will launch 5G in 2020 (https://cta.tech/).

Connected devices (billions). Source: https://www.ericsson.com/
Connected devices (billions). Source: https://www.ericsson.com/

For the IoT market, the 5G network deployment means the increased use and efficiency of cloud services, significantly lower latency (down to 1 ms), and greatly increased throughput. All of these improvements will allow for the creation of a robust smart city infrastructure, an industrial IoT solution with hundreds of thousands of smart sensors and devices.

Significantly lower latency in 5G networks will allow for the control of automated vehicles and industrial machinery, remotely, from another part of the world. 5G can also can be used by farmers to oversee massive areas of land with the help of a drone fleet equipped with a variety of sensors. Drones can identify diseased plants or areas than need to be watered. It’s a great example of how 5G based IoT systems will help to solve very real-world problems.

5. Biometrics for smart home and office

blurams-doorbell
Blurams Smart Doorbell with face recognition technology

Face recognition technology is making its way into the smart market. More and more devices are capable of using face recognition for access. Blurams revealed a smart doorbell at CES (https://www.blurams.com/). The doorbell sports AI facial recognition, a 1080p camera, motion detection, and 2-way talk function including hands-free calling. Faces are identified in real-time, with all of the data stored in company’s cloud storage. Blurams’s app allows users to register up to 16 people for identification.

ADT presented a range of smart cameras (https://www.adt.com/). Sophisticated computer vision technology helps to not only identify authorized users, but also distinguish between strangers and burglars. The smart camera system will notify its owner about suspicious strangers around the house via push notifications in the app and voice messages via Amazon Alexa. Cameras are equipped with a microphone and speaker for voice communication, as well as a light sensor.

Additionally, several companies at CES 2020 revealed smart door locks equipped with fingerprint scanners.

6. Wireless Charging for Smart Devices

A few companies announced wireless chargers for smart home devices at CES 2020.

wi-charge-powerpuck-r1
Wi-Charge Powerpuck R1 wireless charger

Wi-Charge revealed the Powerpuck R1 charger with AirCord infrared beam technology (https://wi-charge.com/). It can be plugged into a wall or screwed into a lightbulb socket. The charger is able to charge compatible smart devices from a distance of up to 9 meters, covering almost 2.5 square meters. The receivers measure just 1×1 cm and can be embedded in the charged devices. R1 initiates the charging of compatible devices right after the installation without any additional configuration.

ossia-cota
Ossia’s Cota is able to charge smart devices via Wi-Fi like a radio

Unlike the Powerpuck R1, Ossia’s wireless charger, Cota, doesn’t require direct line of sight to power smart devices (https://www.ossia.com/cota/),. Cota measures 30×30 cm and transmits power via 5.8 GHz radio signal. Just like Wi-Fi, but instead of data, the chargers send power to the connected devices.

Ossia's Cota Home Transmitter
Ossia’s Cota Home Transmitter

Receivers with Cota wireless charging support can be embedded in smart speakers, thermostats, cameras, smoke detectors, and other smart devices. The charger transmits power up to 9 meters, doesn’t require direct line of sight, and is able to charge notebooks, smartphones, remote controls, and other gadgets.

The variety of wireless chargers, demonstrated at CES 2020, will help to solve one of the main smart home ecosystem problems – battery changing and power limitations. However, the solutions currently have some drawbacks, like the need to embed a specific supported receiver in the end-devices and significant power loss during transmission.

7. Enhanced Voice Control

Voice assistants are used in smart home solutions more and more often, and their advancement will allow to for more sophisticated automation scenarios and features. So far, voice control is widely adopted in English-speaking countries, but thanks to significant improvements in speech recognition they’ll be used in other countries in 2020 as well. Juniper Research predicts that more than 8 billion smart devices will support voice commands by 2023 (https://www.juniperresearch.com/press/press-releases/digital-voice-assistants-in-use-to-8-million-2023).

Kohler Numi
Kohler Numi 2.0 — an intelligent toilet with Amazon Alexa for easy voice control

Voice assistants are supported by a wide range of smart devices including fridges, toilets, shower cabins, door locks, and garage gate openers. However, the most recent trend in IoT is not only voice, but sounds recognition.
Audio Analytic, a startup at CES 2020, announced “the second generation” of audio recognition technology for smart devices based on its extensive Alexandria library (https://www.audioanalytic.com/). The library contains more than 15 million labelled sound samples. This technology enables smart devices to identify different sounds and act accordingly. For example, a security system with Alexandria support will be able to identify the sound of shattered window glass in the house and set-off the alarm to notify the owner about a possible break-in. Or, smart home will be able to “hear” child cry and notify parents, play soothing music for him or her, and turn on the lights in the corridor leading to the child’s room.
Audio Analytic’s sound recognition technology uses AI and neural network to accurately identify different sounds. It’s already supported by some smart hubs on the market, including Hive Hub 360.

8. Smart home security and privacy are in the spotlight

CES 2020 showed that in the coming years more and more efforts will be devoted to making smart home systems and IoT devices significantly more secure. The Amazon Ring cameras hack last December sounded the alarm for manufacturers and service providers to pay a lot more attention to the security flaws of current IoT solutions. The number of hackers’ attacks on smart home and office systems will only increase since they are still easy targets.

To address the issue, Comcast revealed the free app, Xfinity xFi, for it’s smart ecosystem. The app monitors and controls traffic, blocks suspicious activities and notifies the user about abnormal data sent from end devices.
Apple attended CES for the first time in 28 years to discuss users’ data privacy issues, while Google Assistant will now erase data if activated accidentally. One just needs to say “Hey Google, that wasn’t meant for you”. Moreover, users can open a new dashboard to see how the service uses recorded data, view privacy settings, and delete any record from the last 18 months.

Amazon also enabled the option to erase records for Alexa with the help of the phrases: “Alexa, delete what I just said” and “Alexa, delete everything I said today.”

9. Office Automation is the Next Big thing

2020 will be the year for wider office automation systems adoption even by mid-sized companies. The systems will help to make office workspace more comfortable, controllable, safe, and energy efficient.

Smart offices will be able to automatically adjust lightning and temperature depending on the weather outside, making the workspace not only more convenient for employees, but also less energy consuming. Smart doorbells, motion sensors, door locks, and cameras will help to identify strangers and grant employees access to the certain areas of the office.

Office automation will help to book meeting rooms more efficiently, control lighting, and manage other key routine activities.

kwikset-halo-touch
The Kwikset Halo Touch smart door lock with Wi-Fi support and fingerprints scanner (https://www.kwikset.com/halo-touch).

A great number of smart devices presented at CES 2020 will be used for office automation, starting with smart touch switches, all the way to wireless chargers for smart devices.

10. AI-Driven Smart Energy

A connected smart home not only makes smart device management a breeze, but also helps to reduce energy consumption. For example, there is no need to heat the house if there’s no one present. With the help of a connected thermostat and smartphone app, the owner of the house can create optimal scenarios or leave it to an AI-powered service which analyzes user’s habits and behavior patterns and can offer the most energy-efficient temperature control scenes without any impact on comfort. Lighting and other variables can also be controlled automatically in a similar way.

The use of AI makes smart home solutions more intelligent. Moreover, the geolocation capabilities of smartphones allow, for example, for the AI to prepare a certain scenario (temp, lights, coffee, music, etc.) when the user is commuting home.

DSR Corporation is participating in Wondrwall intelligent living project(http://en.dsr-corporation.com/news?id=630). Different temperature modes have already been implemented, and in the nearest future users will be able to connect solar panels and automatically buy and sell energy for the most competitive prices.

8 Revolutionary Real-World Blockchain Use Cases

The origin of Blockchain can be traced back to the 90’s, ancient for the world of IT, but the technology only recently gained traction due to the success of Bitcoin. However, a few unique advantages of blockchain make it perfectly suitable for use outside of the crypto- world. In this article, DSR answers the questions: Why is blockchain is so popular nowadays? Which industries are already being impacted by blockchain? Where are we headed with blockchain in the future?

Blockchain’s unique advantages have allowed it to step into industries and areas of life such as banking, supply chain management, refugee registration, digital identity and citizenship, healthcare, land and (intellectual) property registration, and even video games. The technology is security, private, and transparency oriented.

The following are the key benefits of blockchain that make it a unique, emerging technology:
Distributed. The blockchain is a P2P network with equal nodes.
Decentralization. The technology doesn’t rely on any central point of control. Therefore, a blockchain system is reliable, verifiable, and secure from third party tampering.
Consensual. Consensus protocols create agreement between nodes, generating irrefutable and verifiable receipts
Immutability. Information stored on the blockchain is immune to most manipulation and fraud. Guaranteed by hash anchoring and Merkle trees, the blockchain provides a verifiable history of all transactions.

The explosion of blockchain-based cryptocurrencies made the technology more mature and robust. Many of its initial drawbacks were eliminated: consensus protocols have become much more effective, performance is improved (as a pioneer, Bitcoin’s blockchain processes just 4.6 transactions per second, versus Visa’s 1,700 transactions per second), and vulnerabilities to the new types of attacks were identified and fixed.

These key, proven advantages makes blockchain a must for various real-world applications where security, transparency, and fraud protection are paramount.

Smart contracts

If we take a look at any information system, we can identify two main components: data or the information itself, and the way it is managed. In the case of cryptocurrency, the data is the amount of currency on a user’s account, and smart contracts are the way we manage and verify that data. Basic smart contracts (SC) can be found in Bitcoin, where a stack-oriented programming language is used. The concept of smart contracts was initially introduced in 1994 by Nick Szabo, a famous cryptographer, legal scholar, and computer scientist. Szabo’s revolutionary idea finally came to life with the appearance of blockchain.

Smart contracts allow for the creation of various data storage and processing systems based on the decentralized blockchain. All of the operations performed on data are defined by mathematical rules.

Key advantages of blockchain-based smart contracts:
• No server failures, intrinsic to the system’s decentralized nature.
• No censorship or threats of data manipulation/stealing.

With the help of SCs on the blockchain, we can create reliable and secured registers for everything; from the storage of intellectual property, to CryptoKitties (virtual, Etherium-based pets).

Digital identity

Identity management and security are a couple of the massive, crucial issues facing the web today. The global identity and access management market is going to reach a whopping $14.82 billion by 2021 according to KBV Research. Despite massive investment, traditional systems are still suffering from all sorts of vulnerabilities.

Blockchain holds the answer. Blockchain’s properties make it the backbone of Self-Sovereign Identity (SSI) a secure, reliable system of digital identity management. SSI data cannot be forged by design, and its’ level of security exceeds any conventional identification system.

Below we’ll show some impressive examples of blockchain use in digital identity management systems as well as in the supply chain, healthcare, automotive, banking, property registration, and even state election industries.

8 Revolutionary Blockchain Use Cases

Hyperledger Indy

Hyperledger Indy is an open-source project and one of several, well-established distributed ledgers built exclusively for decentralized identity. It features some evident advantages such as robust interoperability, zero-knowledge proof security, and anonymous credentials support.

The following are potential use cases for Hyperledger Indy:
• Digitization and verification of documents such as driver’s licenses and passports
• Secure, password-less authentication (SPA). On-site authorization with biometric data (like fingerprint scan) via user’s mobile device
• Membership management
• Sophisticated spam filters
• Age or basic credential verification (for online purchasing access, etc.)
• Secure and intuitive document and digital file exchange (purchase orders, invoices, design schemes, etc.)
• Employment verification
• Supply-chain inventory tracking and provenance
• Trusted peer-to-peer communication

Hyperledger Indy provides libraries, necessary components, SDKs, and detailed documentation. The platform can be used to build secure systems based on SSI.

You can learn more information about Hyperledger Indy on the official website or in person by visiting nearest community event or meeting, such as the Hyperledger Bootcamp Moscow which DSR attended in October.

MyClinic, Medicalchain

Medicalchain uses blockchain to create secured, electronic clinical records, monitor patients’ treatments, and share lab tests and other relevant diagnostic data between countries with different legal systems.

This is a great example of securing sensitive information and ensuring interoperability in healthcare systems which differ significantly not only from one another, but also from conventional data storage systems.

Renault

This blockchain-based system was created in collaboration with Microsoft (Azure Blockchain) and Viseo. The Renault system is used to identify a car, track any road traffic accidents related to it, build original spare parts catalogues to fight counterfeit products, and track car maintenance and insurance history.

Barclays

With the help of the startup Wave, Barclays has created a Letter of Credit system based on blockchain. Barclays claims this is a faster, more secured, and easy-to-use way of executing global trade transactions. Trade documentation is handled on the Wave platform and funds sent via Swift.

The bank claims that this is first-ever case of a live trade transaction using blockchain technology.
Barclays is hoping to get other banks on board with supporting the Wave platform in order to improve trade documentation management.

The new blockchain-based system helps to speed up trade transactions, reduce cost for companies around the world, optimize internal processes for banks, and eliminate the risk of documentary fraud.

Cambridge blockchain, CULedger, Masterchain

The emergence of “know your customer” blockchain use cases is going to be a huge disruption in the financial world. Blockchain is being used to make it fast and easy to identify and verify customers.

CULedger, for instance, is a global, distributed ledger with based on self-sovereign, digital-identity, built to reduce cybersecurity and fraud risks, improve the member experience, and reduce costs. The initiative works via a consortium made up of credit unions and trusted industry investors.

In Russia, Masterchain is being utilized by some of the countries biggest banks. Masterchain is a blockchain-based “know your customer” project to establish a secure and fast way to identify clients and access their financial history, without disclosing any personal or sensitive information unless the customer gives their informed consent.

Banks and large corporations are actively seeking ways to use blockchain in their operational activities and they are working together to explore blockchain technology and its applications. One such example is Consortium R3, with more than 300 participants across a variety of industries.

TradeLens

TradeLens is a blockchain platform built by IBM and Maersk which ships freights all over the world. It is used to manage sophisticated supply chains and involves smart contracts. This system is already being deployed around the world.

The supply chain system involves regulatory authorities, international ports, shipping hubs, etc. Sensors installed on ships, trucks, and shipping hubs are used to track freights in real-time with the help of an IoT system view and other relevant data, including shipping container weights and temperatures inside.

The TradeLens blockchain platform and smart contracts are used to establish the fast and secure sharing of shipping data from a single source with different supply chain participants like a cargo receiver, customs controller, delivery company, freight terminal, and other involved parties.

Follow My Vote

This online voting solution utilizes blockchain to ensure transparency and battle fraudulent activities in the voting system. Follow my vote provides the ability to prove the accuracy of election results by mathematical methods. It uses a blind signature approach to eliminate the need for procedural security in traditional election systems.

Blockchain technology brings a variety of advantages to the online election solution:
Security. Ballots are securely stored and cannot be altered by any party.
Privacy. Sophisticated and independently tested cryptographic algorithms ensure the privacy of voters’ data.
Voter Intent Verification. A voter can verify they casted their vote as intended.
Transparency. Any voter or party can audit each registered ballot to verify the legitimacy of results and the credibility of elections.

Georgia Land Registry

This is the first-ever nationwide land-registry system. Built in collaboration with the government of Georgia and launched in 2016, more than 1.5 million land registry entries have been made so far.

Immutable by design, blockchain technology guarantees citizens’ records are safe and cannot be forged by any party.

The Exonum platform greatly increases the speed of the registration process (less than 3 minutes) and a timestamping feature ensures independent validation of the land property title deed using cryptographic proof (hash). published on the Bitcoin Blockchain. In case of any doubt, a citizen can prove their ownership by providing the timestamp.

Key blockchain platforms
• Hyperledger (Indy, Fabric, Sawtooth, Iroha)
• R3 Corda
• Exonum
• Tendermint
• Verify

There are even more exciting and revolutionary blockchain use cases coming in the near future like access control and management solutions. Stay tuned on DSR Corporation’s blog to read more insights into cutting-edge technologies of M2M, IoT, machine learning, computer vision and other IT industries.

Embedded World 2019 Flashbacks

If you want to keep in touch with the newest trends in embedded systems, Nuremberg Embedded World is the right place for you. In order to heighten your expectations, we want to share our impressions on the latest event.

More and More Chips

This year the embedded market has undergone a serious segmentation of chip manufacturers. One of the main event threads was producing chips for the deep learning and their implementation.

For instance, Nvidia’s video chipsets and their end devices for video cameras. Qualcomm in cooperation with NXP, which is famous for the achievements in vehicle automation, also follow this trend.

Companies that specialize in producing power efficient chipsets also participated in the event. A large variety of solutions with up-to-date FPGA and DSP onboard were introduced as an alternative to the standard CPU. For example, one company, produces chips with long life period for voice recognition that are as small as a pencil point, respond to certain activation words and word phrases, and has extensive battery life.

Foggy Calculations

Teradek attracted a lot of attention with the solutions based on peripheral calculations (also known as fog computing) that make the system more stable and independent from network environment and its quality. The main principle of this approach is making all the calculations on edge devices, excluding any cloud interference, that accelerates the process as there is no delay in receiving and processing the information. This approach reduces price and improves the data transfer security. Developers are now presented with a wider range of opportunities. For instance, such type of solutions can be used for elderly care without the need to install IP cameras that send the video stream to the external end user, as all the necessary information is processed and distributed to the assigned person right here and now.

Another company that uses such type of approach is Elite Vision that produces cameras with high accuracy for manufacturing facilities. They introduced camera with in-built computation module that processes the signal and provides the user with an end result of its computation. The device can be used for counting objects, scanning QR-codes, analyzing road traffic information or in any classification processes.

Such events encourage companies working in the same sphere to start new cooperation and partnerships. In that spirit, DSR is looking for camera and server station manufacturers for joint solution development.

Weapon Detection System in Public

DSR demoed a system for detecting any weapon or another predefined object (for example, products in a store) in the hands of people in a crowd. This system recognizes people and focuses on their hands. That is its peculiar feature. This product can be used for searching for people with a weapon in their hands in a small crowd. The small, power efficient chipset guarantees a long battery life period of the device and allows it to transfer the computed data and video via different types of wireless networks. This implementation of the fogging is unique because it removes the necessity of transferring data using expensive traffic. The algorithm consists of 2 neural networks: first one is responsible for identifying the wrist; the second is in charge of recognizing the object it is holding. We created a new set of data for machine learning, taught the system to accurately analyze the data, optimized the architecture and chose the right framework.

What’s Inside

In the core of the solution is the goal to make devices with such analytical power more power efficient and available to a larger number of customers without dependency on expensive hardware. That’s why our choice for a cheap machine learning device is dragonboard 410 powered by Quad-core ARM® Cortex® A53 CPU and Qualcomm Adreno 306 GPU with WiFi, Bluetooth and 3G/4G modules. Due to differentiated Quadcore CPU and GPU the development board is capable of processing several parallel tasks locally.

In addition, the system contains an Ethernet video camera, a switch, and a display. We also utilized a high performance VGA adapter produced by Nvidia and AMD for deep machine learning. Although this hardware set up meets the system requirements, its cost is still not optimal. Similar solutions are rumored to use hardware that can heat a small apartment, especially once the price of cryptocurrency falls.

This development is deep in the middle of Computer Vision – a self-learning system that is capable of learning on examples of types of weapons and human movement patterns. We are working on evolving the solution to utilize it in the area of video surveillance and public safety.

Self-Sovereign Identity

DSR has been working in the area of Blockchain for some time now and we are honored to be involved in the development of Sovereign Identity. As a follow up on a recent Blockchain meetup we organized, we wanted to share information on revolutionary concept of Self-Sovereign Identity, a practical and real application of Blockchain technology.

Identification

Human beings face the identity issues a million times during their lifetime. Passports, diplomas, driver’s license, certificates, and so on help us prove our identity and abilities that we possess. We graduate from university and get a diploma. After passing a Microsoft exam, we get a certificate that proves our qualification. But what can happen if the society is overwhelmed with information? How can we differentiate what information can be trusted and what is falsified?

When a new account is created in a social network, the system and other users identify new account as an authorized one and begin to trust it accordingly. On one hand it’s great, but on the other hand, the system can bump into serious security issues of fake information provided by the user or a third party’s identifier. Who can we trust in this case? Leader’s opinion? The Authorities? Those who establish identities?

Personal information is considered one of the most valuable goods nowadays. Many are stealing, trading or using the information to influence and manipulate other people. So, the question is can we really trust our information to such kinds of establishments?

As a result, Self-Sovereign Identity (SSI) is created to solve these exact issues and also meets all the GDPR requirements.

Self-Sovereign Identity

The main purpose of identification is to answer the question: “Who are you?” The evidence confirms the information to be true. We all know what a passport looks like. That makes it hard to forge. Self-Sovereign Identity is a new concept that provides a user with a unique independent ID. This is the way to secure your personal data according to the GDPR principals. For instance, the new digital SSI identity model stores a number of public keys and ID numbers corresponding to the concrete private data the user wants to share. The system gets rid of necessity of storing an enormous number of passwords that can be stolen, manipulated and misused.

How Exactly Do Users Control Their Data?

Good question. Let’s work it out. There is no data stored in the blockchain. We have only pseudonymous identifiers (DIDs), pseudonymous public keys, and agent addresses. This enables the exchange of any private data to happen entirely off-ledger. The user (a person or a company) that stores the private information spreads it in a number of entities that get their unique identification numbers.

For instance, user can keep the information about the passport and educational background in different entities. When the government institution needs some approval, whether the user is authorized for a particular service, it sends a request containing the unique identifier and the public key issued for this request. On the user’s behalf he/she receives the notification about the organization’s request containing another pair of key and identifier for disclosing the required information. If the user accepts it, the establishment is allowed to get the information needed and the user, if it’s valid, is granted with required permission. From the application user’s point of view he/she clicks on the button and receives a dialogue box with the accept/decline options. After it, the information shared or protected accordingly.

This truly puts the individual in charge of their personal data and gives him/her the control to choose who else has access to their information and how. Some of the progressive official institutions are trying to implement this new technology. For instance, e-governance in British Columbia, Canada.

 

10 Principles of SSI

  1. Existence — Users must exist independently.
  2. Control — Users must control their identities.
  3. Access — Users must have access to their own data.
  4. Transparency — Systems and algorithms must be transparent.
  5. Persistence — Identities must be long-lived.
  6. Portability — Information and services about identity must be transportable.
  7. Interoperability — Identities should be as widely usable as possible.
  8. Consent — Users must agree to the use of their identity.
  9. Minimization — Disclosure of claims must be minimized.
  10. Protection — The rights of users must be protected.

In short, Self-Sovereign Identity provides the best solution to the challenges of digital identification:

  • Based on the open source code and standards
  • Decentralized system (“Blockchain”)
  • Stores private data outside the public ledger
  • Selective Disclosure by default
  • Pairwise-pseudonymous identifiers
  • P2P network of distributed private agents

Our teams are working on the open source SSI version called Hyperledger Indy. We are developing a blockchain for distributed data and keys storage. We also share our experience by organizing meetups on this and related topics. One of the aims is to create a strong blockchain developers’ community in Voronezh.

Learn more about the new secure way of sharing private data | Sovrin Foundation | Evernym

World Ruled by Robots?

“What’s New in the World of Artificial Intelligence?” asked me Alexa….

Some people believe that artificial intelligence does not exist, while others watch Sci-Fi movies and devise survival plans for when robots rise against us. Artificial intelligence today is weak, meaning many of the tasks and operations being performed now are limited in scope, but that is continuing to change every day. The development of AI is building at a rapid pace and is poised to change how we interact with the world around us on a daily basis.

Recently, with the help of artificial intelligence, companies are beginning to solve individual niche issues.  For example, emails and responses can be automated in the workplace, reducing the need for human attention. Self-driving cars are operating independently and more safely, reducing the number of accidents on roads. Experts have even predicted that in 10 years self-driving cars will be a normal reality in the US, along with radical organizational and cost structure changes for transportation companies like taxi and bus services.

Social networks, neural networks, and learning algorithms… Russian search engine Yandex is currently conducting closed testing of a new social network using AI and neural networks. Access is only available by invitation of someone who already exists on the network. By tapping into AI and neural networks, you are able to find completely new friends solely on the information you have provided to the system. The algorithms are configured so that you see people based along your selected features. Interestingly, the development with the use of artificial intelligence began to appear in areas such as beauty, cosmetology, and health.

Other large companies continue to use artificial intelligence to help predict events. Mobile operators can analyze the behavior of subscribers in order to offer services that will help improve the user experience, while other applications of modern development are aimed at helping users make decisions.

Google, Siri, Alexa, Cortana, Alice, how many virtual assistants can you remember?  There are many others, but these are some of the most popular we see today. Each of these assistants can allow you to do basic searches, analyze or processes information, but the fact remains that each assistant relates back to weak AI. Just think about how many times you’ve tried to talk humanly and gotten a response that didn’t quite seem to make any sense.

So why don’t we see strong artificial intelligence?  Well, why grow an artificial tree, if you can grow the present faster and cheaper?  Perhaps humanity doesn’t need strong AI just yet.

We are going to continue to dive deeper into this subject in our next issue. In the meantime, please remember that not all robots can be correlated with artificial intelligence. If you have a floor cleaning robot at home, this does not mean that it can study neural networks, collect or process your personal data.

8 Things to Know Before Choosing a Contract Software Developer

Introduction: Balance = Profitability

To operate profitably in today’s economy successful businesses must balance market conditions with product/project opportunities and available development resources.

Many companies attempt to achieve this balance using contract software developers—some realizing more success than others.

This white paper identifies eight things successful companies consider when choosing a contract software development partner. Understanding them can mean the difference between profit and loss—and between your project’s success and failure.

1. Successful Contract Software Developers Have (and Hit) a Schedule

If you’re investigating a contract software developer, your project probably already has some schedule risk. If you miss your schedule, you fail. Turning over development to a contract software developer who can’t answer schedule questions is a sure-fire recipe for you missing your schedule.

So, choose a contractor who asks you lots of detailed questions about your schedule and deliverables before taking the job. Then, you ask them about the tools they use to plan development work and allocate developer resources. Ask to see those tools with live data from a current project. Look for how detailed those plans are. Since you will often be paying by the hour, the tools the developer uses should provide scheduling and resource usage to the hour.

If they have this, they will likely hit your dates.

2. Successful Contract Software Developers Commit to Your Budget Requirements

Companies large and small have been victims of “outsourcing hype”—the promise of cheap engineering at a fraction of the cost of hiring and using your own employees. While the hourly rates were low, the number of hours spiraled out of control. The result—“outsourced” projects come back (too often significantly) over budget, and late as well.

When your budget can’t slip, and you can’t afford any surprises, look for a contract software developer who can bid the work in a way that meets your budget requirements. Three common ways to have them bid the project are:

  • Fixed hourly rate
  • Time and materials rate
  • Fixed price bid

If you have clearly defined requirements, a competent contract software developer can make one or more of these methods work for you and your budget. However, if you need assistance in defining the software requirements, ensure that the contractor you choose is experienced (and can provide examples and references) to assist you in requirements definition stage of your project as well.

Also, make sure the developer provides up-to-date time sheets. These are the best indicators that 1) the developer has sufficient resources working on the project, and 2) the developer is tracking to your budget requirements.

3. Successful Contract Software Developers Have Real-World Business Understanding

Talented contract programmers are a great asset; however, talent alone doesn’t guarantee your project will succeed in the marketplace. Experience in taking projects/products to market can be as important as the amount of technical competency possessed by a contract software developer. Knowing what works and what doesn’t work in the marketplace is an invaluable asset.

Look for a contract software developer with a track record of completed projects actually delivered to and used in the marketplace. Ask to see some up-and-running examples of live work done for other companies. This kind of portfolio is the best indicator the developer can bridge the understanding of their client’s business with the client’s project deliverables.

A developer who provides you with market experience-based feedback is a greater asset than one who simply agrees with you because you’re the client.

4. Successful Contract Software Developers do Quality Work (and Provide a Warranty)

It is rumored that US Government procurement people operate by an unwritten rule that purchasers expect at best to realize two of the following three attributes in buying a product or service:

  • Quality
  • Timely
  • Cheap

Because you already know you get what you pay for, applying this rule to contract software developers is simple: You want a quality product in a timely fashion.

Find out if the contract software developer operates the quality assurance (QA) function separate from the development function to test deliverables. Superior developers will even warrant their work and provide free bug fixes during the warranty period. A developer who is fearful of providing a warranty is a “red flag” from a quality-of work perspective.

5. Successful Contract Software Developers Provide Documented Deliverables

For companies that build their businesses on the backs of their software deliverables, few things are more frustrating than contract developers who deliver poorly documented (or undocumented) projects and source code.

Successful contract developers understand the need for accurate, readable, useable documentation. Ask for representative samples of:

  • Project requirements documents
  • Design documents
  • Fully commented source code
  • Test cases and methodologies
  • Project documentation
  • User training and help documents

This is vital for venture-funded companies, as these documents are essential in any exit or liquidity event.

6. Successful Contract Software Developers Keep You Informed on Your Project’s Status

Knowing where your project is at, and who you can talk to find out the details is critical to being successful when using contract software developers. It’s not a good sign when your contract developer keeps you in the dark about your project’s status. Direct access to project managers, programmers and QA staff can mean the difference between getting a question answered in five minutes or five days. If you’ve ever had to report that you “don’t know what’s going on with the contract programmers,” then you know what we’re talking about.

Clear communication using multiple means is a vital key to successfully working with contractors. See that the developer allows you to talk directly with the programmers, project managers and QA people. Find developers who share their code-developing tools with you so you can stay in-the-loop. Look for developers who offer multiple means of communication including:

  • Phone
  • Web conference
  • E-mail
  • Instant messaging
  • IP telephony
  • Web-based project management tools

These give you an added advantage and ensure collaboration when working with contractors and resources in multiple geographies and time zones, and will keep you in-the-know at every step along the way.

7. Successful Software Developers Protect Your Intellectual Property

A word to the wise: intellectual property (IP) ownership is one of those clauses that even the biggest companies forget to take care of. If you fail to do this, questions will almost certainly arise over what happens to the intellectual property (IP) or who has rights to it.

Another word to the wise: IP ownership conflicts are compounded when your contract software developer is incorporated in another country than your own.

Last word to the wise: Avoiding “open source” software licensure and IP entanglements is critical to protecting the value of your company’s IP in a technology sale, license or transfer to another company. You will be required to assure the buyer that your code is “clean” from an IP perspective.

From an IP ownership perspective, two of the biggest success factors for operating a contract software developer engagement are: 1) choosing a contract developer who assures you that what they develop for you is yours and yours alone; and, 2) choosing a contract developer incorporated in the same country as yours–and thus subject to the same laws as your company; and 3) choosing a contract developer with experience in delivering “clean” code free of any “open source” contamination. (You can lose your legal shirt on this one.)

These three factors will provide you with legal confidence and means of recourse that avoid the costs and difficulties associated with adjudication under US and international law.

8. Successful Software Developers Deliver Great Value for the Price

The one topic you’re guaranteed to discuss in every contract software developer engagement is price. Managing project headcount requirements by making additional labor costs a variable item rather than fixed item on the balance sheet is compelling to the people in your organization who count the money and manage profit and loss.

While this white paper has already raised multiple items to consider regarding budgets and pricing, the short answer is this: You get what you pay for. Low hourly rates are no assurance of a value-based engagement. If you do your part with clearly defined requirements (or find a contractor that is experienced in help you define your requirements to create a smart product), a successful contract software developer will deliver with high-predictability on those requirements.

Developers who deliver quality, timely software may cost a little more up front, but they’ll assure you have a solid deliverable in your hands by the deadline and will have delivered solid value for the dollars you spent.

Conclusion

Successfully using contract software developers to achieve your objectives doesn’t just happen. Companies who enjoy this success don’t do it on accident. Give your company a quick “self-diagnostic” and ask if your current contract software developers:

  1. Have (and Hit) a Schedule
  2. Commit to Your Budget Requirements
  3. Have Real-World Business Understanding
  4. Do Quality Work (and give a Warranty)
  5. Provide Documented Deliverables
  6. Keep You Informed on Your Project’s Status (Clear communication)
  7. Protect Your Intellectual Property
  8. Deliver Great Value for the Price

Find out today how DSR can help with you balance market conditions with product/project opportunities and available development resources. Contact us at contact@dsr-company.com.

European Utility Week, Amsterdam Recap

Last week (October 3-5) DSR took part in the European Utility Week in Amsterdam. European Utility week is the premier business, innovation and information event that connects utility community with network operators, vendors, consultants, and integrators covering the entire smart system value chain.

 

 

 

 

 

 

 

Together with Watt + Volt, the 3rd largest energy provider in Greece, DSR Corporation showcased its 4-times Gold Award for Utility Solutions (SmartWatt) at our shared booth. DSR is proud to be contributing to the success of SmartWatt by empowering the solution’s embedded software, mobiles apps and the hardware solution.

The event also showed a trend of utility companies moving towards analyzing smart metering data to enable them to provide advice and insights to their customers, enhancing the customer experience and delivering a more complete package of services for the modern day energy consumer. However, there still appears to be a large fragmentation of metering protocols and different standards in the European energy market. As the solution providers are continuing to work on unifying the market, the trends towards utility companies becoming more of lifestyle providers are evident.

Would you like to learn more about DSR Corporation, utility trends or Zigbee? Get in touch with us via e-mail: contact@dsr-corporation.com

#EUW17 #DSR Corporation #IoT #DSR ZigBee