What is the main feature of a good app? It enhances customers’ lives through the set of well-conceived steps in user experience (UX) design. Proper UX speeds up interactions and makes activities simply and orderly organized. On the surface, the easiest way to arm the users with a clear vision of the product functionality is to give comprehensive guideleines. But the more complex tasks the app performs the more time you spend on learning how to use it properly. Complexities of manuals create tension and distract users.
That’s why, when creating a Gunnebo Security Solution app, we paid special attention to the development of user-friendly instructions for our clients. Gunnebo app is aimed at remote management of our security products. Since it has many functions, including alarm control, cash operation, data analysis, and devices coordination, it takes some time for the users to study all the functions. How can one make this boring and complicated task fun? We set our sights at animations as a nice way to entertain, attract attention and make instructions illustrative.
Our next concern was about the practical implementation of this decision. Everybody who has ever dealt with animations knows that it may take a lot of time and effort to create them. Even behind a small and seemingly simple animation, there may hide long lines of code. So, we decided to try Lottie, a relatively new animation library created by Airbnb. And it turned out to be the right choice.
Lottie is an excellent library for rendering Adobe After Effects animations for Android, iOS, MacOS, TvOS and UWP. It uses animation data exported as JSON files from Bodymovin extension and renders Adobe After Effects animations in real time. So, engineers don’t need to re-create them by hand and can work directly with animations as they are created by designers. Another good thing is that the size of animations is small no matter how complex they are.
Lottie supports numerous flexible after-effects, like solids, masks, shape layers, etc. And it allows various manipulations with an animation (resize, loop, reverse, scrub, change color, and other). You can play just some fragment of animation or loop it if you need and do lots of other things.
For the Gunnebo app, we have developed a set of animations which familiarize users with the app’s interface and functions. These include dashboard use, calling attention, data processing, etc.
Animations created with Lottie have a lot of perks. Created slides show up only if user haven’t seen them. Thus, we don’t nag users with directions, they are only shown on the first use of a specific function.
The slides load from a solution folder. That is, the person who adds/edits new slides doesn’t need to be a developer and doesn’t have to edit the code. Files are added to GIT in Azure DevOps. Folder structure in Azure DevOps and folder names determine where slides will be shown. Slides load into Telerik SlideView, so, users can swipe or tap to go through the slides.
The holiday season is upon us once more. Families are celebrating Thanksgiving, Mawlid, Yule, Christmas and New Year. All of these holidays cumulate up to the most exiting event of the year: The fiscal year end. It’s a time to reflect on the past year, add up the cost and the revenue and make plans for the upcoming year. Accountants and controllers are pushing for the latest numbers, and managers spend late evenings planning the budgets for the next year.
Here at Gunnebo Business Solutions we have been planning 2019. I have spent time with my development and operational teams planning for the future, looking at the the high level backlog and discussing our main focus for the first quarter of the next year.
Now I am finally back home with my family in Ålesund, and tonight wa are having Norwegian Pinnekjøtt, traditionally eaten on the West coast of the country. Pinnekjøtt is lamb ribs that have been salted and dried to preserve them. The result is a delicious piece of lamb – quite unlike anything else, and very, very tasty. As side dishes, we eat mash from rutabaga, carrots and potatoes, and traditional pork sausages.
I want to take this time to wish my family and friends, as well as customers and partners, all the best, happy holidays and a prosperous forthcoming year. I hope to see you all soon!
I was eleven then. The news about the disaster was shocking. It got etched in my memory forever. Together with the first disgraceful truth that I learned about communism. For several weeks, people in the Soviet Union were unaware of the accident, which led to thousands of needless untimely deaths. And who knows if they would have learned at all if the radioactive cloud hadn’t crossed the borders of the USSR. It was an unforgivable lie.
And the lie permeated the communist regime through. I learned even more about it a year later, during my visit to Bulgaria. The country belonged to the Soviet bloc then. There, for the first time, we violated the law by participating in illegal currency exchange – well, there actually were no other options, as the regime exchange rates were half than we could achieve on the black market. Communism forces people to lie and makes the crime the only way to survive: it is much easier to rule the people who feel insecure, scared, and guilty.
“Divide and conquer” – that’s another motto of this regime. The Iron Curtain, which separated the countries of the Soviet bloc from the rest of the world, created myths. It stressed and exaggerated differences. For decades, people of the Soviet Union were limited in their contacts with the rest of the world. Neither Europeans were welcomed in the USSR. We also could learn about many things only from the newspaper.
That’s why when, during my visit to Kyiv this winter, I was proposed to visit Chernobyl zone, I agreed, of course. The visit started like any other work-related trip. Meetings all day with our partner Trembit in Kiev. Trembit works with large organizations as well as startups utilizing Agile methodologies to deliver full-featured functionality. Trembit has been a partner for us in Node-RED for quite some time, and you will find many of our projects here on this blog.
After thirty years, the place still reminds the desert. Very few people live here. Dilapidated houses, derelict yards… looters stalking in the search of pickings. It’s a post-apocalyptic world in the miniature.
Though, very slowly, Chernobyl is coming back to life. The nature revives. Wild animals here have forgotten about danger and aren’t afraid of humans at all. You can see a fox or even a deer crossing the street in a broad daylight.
And when I recollect my visit to Chernobyl and my childhood memories, the question arises in my mind again and again: can we totally prevent such disasters in the future? I believe the only way to it is by joining forces to spread and strengthen European democratic values – openness, collaboration, and freedom of voice all around Europe and around the globe.
I have worked in Bulgaria, Serbia, Ukraine, Romania, Russia, and Poland – most countries of Eastern Europe. People are the same everywhere. Of course, post-communist echo can sometimes still be heard in the countries of the former Soviet camp. But there is a great potential for cooperation. Western and Eastern Europe working together is our only chance to build the society in which Chernobyl will never repeat.
Freek Vermeulen, an associate professor of strategy and entrepreneurship at London Business School, is already known to InnoTown attendees. In 2013, his InnoTown talk became one of the highest rated. This time he introduced some amazing ideas from his book “Breaking Bad Habits”. And by these bad habits, he implies blind following widespread practices, superannuated a long time ago.
Such outdated norms become harmful to business and should be defied, he states. And he proves his position by fascinating real-life examples of organizations who introduced innovations and unlocked their hidden potential.
Freek used the UK company HMV as a sample of the rise and fall of a niche business that failed to catch sight of a turn from niche stores to retail and from offline to online. He then drew parallels to the rise of iPhone and the fall of Nokia and Blackberry.
He also mentioned a positive example of Citizen M, whose concept is to offer a great hotel experience at a low cost by eliminating all the costly extras and focusing on what the specific customer group needs. Their approach is based on the identification of the customer group, eliminating things this group doesn’t care about and introducing the alternative the customers will enjoy.
Freek reminded the audience that strategy is not only about looking forward but also about reacting to change and making decisions based on this.
The second part of his report was devoted to the ‘safety in numbers’ hypothesis. According to it, by being part of a large physical group or mass, an individual is less likely to be the victim of a mishap. This is an important thing we should keep in mind when dealing with our staff and customers. Help your employees grasp the impact of their work. Let them know that their work is noticed and appreciated. And try to reduce the anonymity between the customers and the workers.
The Battle Within
Robert Mood is the President of Norwegian Red Cross and a former lieutenant general. His 40-year service record includes leadership positions in the NATO and the United Nations. As Chief of the United Nations Truce Supervision Organization, Mood was commissioned to assist Kofi Annan in his work as a special envoy of the secretary-general and the Arab League on the Syrian crisis. Apart from this, he is known as an outstanding speaker, writer, and commentator.
His InnoTown speech was dedicated to the issue of leadership. For him, it first and foremost goes about responsibility. The uncertain future demands from the leaders of contemporaneity being accountable, relevant and loyal to the values of society.
A leader should develop people through caring, and combine caring with clear demands. This will motivate people and bring out the very best in them, inspiring them to climb the ladder and move forward.
The first step in delegation is to set clear goals. How will you measure whether the job has been done properly? Clarify for the subordinates what they are expected to achieve, and don’t leave topics in the corner. Also be clear about what they must not do, and what actions they may not take. These instructions may be on a low level, like, “Be sure to keep this customer satisfied” and “do not invoice this customer for overtime”.
You as a leader should also remember about integrity and do as you teach. Don’t show up at work in shorts if you don’t want your team to show up poorly dressed in front the customers.
Be mission-focused, never look back, only look forward, and make the team as complimentary as possible.
Robert also reminded us about the importance of values. The team should define their core values. As well, the leaders should formulate their personal leadership concept. And there is a good practice helping to find out how personalized and internalized this concept is: just try to formulate it on a piece of paper without googling and stealing quotes from other.
Utopia for Realists
The Case for a Universal Basic Income
Rutger Bregman is considered to be one of Europe’s most prominent young thinkers. Bregman is a historian by profession, and an author of four books on history, philosophy, and economics. Apart from this, he is also a regular writer for The Correspondent.
The key issue he investigates is a redistribution of power in the modern world. He gives capitalism its due in developing a stable social base, though, at the same time he points out the need for change in economic and welfare systems. He goes further with presenting universal basic income, a 15-hour workweek, and open borders as key ideas to make his case. This, he believes, will bring humanity to a completely new social structure.
The world has never been better, Rutger states, except for marriages that brake more frequently, high rates of domestic violence (1/3 all murders are domestic), and a top-heavy level of consumerism. What was a utopia in the 19th century, is a reality now, in the 20th century. The real crisis is that we cannot come up with something better—the next iteration—the next huge thing. Now we need the vision, a “new utopia” for the 21st century.
Rutger’s idea for future improvements is that, instead of stimulating bureaucracy, people would be better off with a universal basic income to stimulate them to work shorter hours, grow their own interest and be motivated to contribute to the society. His theory is that UBI would pay itself, as most social security and welfare systems have a huge overhead in management and control.
Personally, I find this idea a little bit doubtful. Won’t UBI remove the incentive to work, affecting adversely the economy and leading to labor and skills shortage? The risk is that kids choose not to take up learning but live on the bare minimum instead and play XBOX all day.
Where Machine Intelligence Ends and Human Creativity Begins
Garry Kasparov, the last InnoTown speaker I am happy to introduce in this article, is well-known all over the world as the greatest chess player of all times. Having retired from professional chess, he went on to participate in democratic and human rights protection movement. He is the author of several books and a contributing editor to The Wall Street Journal.
Garry is also famous for being one of the first humans to practically interact with AI. In 2007, Garry played and lost to Deep Blue, a chess computer algorithm. The case was seen as very symbolically significant. Many people considered it a sign that artificial intelligence was catching up to human intelligence. Keep in mind that chess has always been seen as the ultimate intelligence challenge, there are more game-trees of сhess than the number of galaxies, and more openings, defenses, gambits, etc. than the number of quarks in our universe!
No wonder it inspired Garry to deepen into the topic of AI. For many years, he has been exploring the potential of human and machine cognition, competition and collaboration.
Garry devoted his InnoTown talk to the way AI is transforming human behavior and interactions. AI development generates numerous expectations, but at the same time numerous fears, he mentions. And if we want to get most out of this technology, we need to face our fears and conquer them.
Garry told about three different levels of computing algorithms, where A is the brute force approach, B is artificial intelligence and C is self-learning computers. He believes that what is waiting for us in the future is Augmented Intelligence instead of Artifical Intelligence—that is, humans and machines complimenting each other.
It is really instructively that instead of disassociating himself from AI and chess computers after the defeat, Garry embraced the new technology and is working on combining the computing power of modern algorithms with human imagination, insight, and ideas.
For the 15th time, the InnoTown Innovation Conference inspires the audience with motivational talks and practical business cases. As always, it gathers brilliant speakers who share their personal success stories and enrich the listeners with cutting-edge ideas.
InnoTown’ 2018 was kicked off with a short but thought-provoking session from a cross-cultural expert, speaker, and communications consultant Pellegrino Riccardi. Born and raised in an Italian family in Great Britain, he spent over 30 years of his adult life traveling around the world. It gave him a deep understanding of cultural specificities and, together with various professions which Pellegrino mastered, made him an invaluable expert in cross-cultural business communication.
Pellegrino touched on a thought-provoking topic, “What is love in business?”, and I think this is quite interesting. We all want our customers to be satisfied, and both personal and professional relationships require from us honesty and benevolence to both our professional contacts and our loved ones.
Contagious; Why Things Catch On
Jonah Berger, a professor of marketing from Wharton School, University of Pennsylvania, is well-known in academic circles as the author of many high-ranked publications and a teacher of Wharton’s online course. New York Times and Harvard Business Review also often cover his activities both as an academician and a business consultant. But his most popular work is a bestseller Contagious: Why Things Catch On and Invisible Influence: The Hidden Forces that Shape Behavior, which resulted from 15 years of studying the mechanisms of social influence.
In his talk, Jonah revealed the secrets of content virality. He took the audience through the six key STEPPS to emotional contagion: Social Currency, Triggers, Emotions, Public, Practical Value, and Story.
That is, to attract people to your product or idea, you need to build communication in such a way that people feel like insiders, are triggered by your message, involved emotionally and understand the practical value of your proposal. Wrap it in a beautiful story which people want to replicate—and turn your customers into your advocates.
Jonah used a really vivid metaphor, having compared content with a Trojan Horse which secretly carries your ideas wherever you want.
The future beholds; Nanotechnology
Swedish physicist Maria Strömme, Head of Department of nanotechnology and functional materials at Uppsala University, introduced to InnoTown attendees the nanotechnological breakthrough called “algae battery”. This environment-friendly battery can charge at exceptionally high speeds due to manipulation at the atomic and molecular levels. Maria stressed that there are multiple applications of nanotechnology which open up a world of opportunities.
One of the most important issues we face today is finding sustainable energy supplies. Currently, North America spends as much electricity on cooling buildings as Africa spends altogether. We utilize only a fraction of the energy available from the sun due to inefficient silicon technology. Maria is convinced that this problem can be solved by harvesting solar energy more efficiently with the help of nanotechnology. In addition, we have just started to explore micro energy sources, like body movements, sweating etc. Much is yet to come.
Earth is facing accelerating urbanization. As a result, affordable and adaptable materials are needed. Hewlett-Packard has recently presented a 4D printer able to print material which can adapt and change shape based on external impact like pressure change.
Another sphere in which nanotechnology is already adopted and has a great future is healthcare. Most likely, the world will soon reach “Peak Child” stage, meaning that the maximum amount of children in the world is now at its highest. The average age of the worlds’ population is and will continue rising, and we need to keep our bodies young and healthy, and it can be done with nanotechnology.
Last but not least, Maria talked about sustainable and smart packaging which helps to reduce pollution and replace plastic with organic and recyclable materials. The oceans are filling up with plastic debris, and we do not want this to be the heritage we leave for our children.
Empathy in the age of AI
With the rapid development of new technologies, such as robotics, quantum computing, IoT, AI, and VR, the alarming questions are what risks for the human society these innovations might bring and how to avoid them. Today, when these new technologies blur the lines between physical, digital and biological domains, we need a new, deeper understanding of what it means to be human. Rapid technological development challenges our efficiency as social beings.
Anita Nowak, a talented educator and an expert on empathy and social impact, investigates skills and practices necessary for humans to survive and thrive into the future we can barely imagine so far. She is convinced that empathy is all the rage these days and the cornerstone for the development of a new human society.
While tech-geeks like myself embrace Artificial Intelligence, it is quite refreshing to listen to Anita and try to grasp the potential consequences of the fourth industrial revolution in case we don’t implement it in the correct way. We need to be even more cautious keeping in mind that our children crave for new technologies, which results in less direct interaction with friends and family compared to the way we grew up.
Still, I choose to look at the bright side, hoping and believing that we will find an augmented approach where humans will be more emphatic and machines will handle cognitive tasks.
Today I would like to talk about the process of deployment Node-RED instances on Azure platform.
The initial tasks were:
Deploy Node-RED instance to Azure cloud and provide public IP address/ DNS name to it.
Secure Node-RED instance access with user credentials.
Update instance with actual node set and provide ability to keep them up to date.
Let’s discuss all steps one by one.
The most common and convenient way to deploy your application on Azure platform is by using Azure Resource Manager. It enables you to use all application resources as a group and to deploy, manage or delete them just in one operation. With Resource Manager, you can create a template (Azure Resource Manager template) that defines the infrastructure and configuration of your Azure solution. It allows you to deploy your solution repeatedly throughout its lifecycle being confident that your resources are deployed in a consistent state.
Resource Manager template is a JSON file that defines resources which you need to deploy to a resource group. Resource Manager analyzes the template and then converts its syntax into REST API operations for the appropriate resource providers. For the resources to be deployed in correct order, you can set dependencies between them. It is done when one resource relies on a value from another resource, for example, in case of a virtual machine which needs a storage account for disks.
You may wonder, “What resources are and why we need them? We just want to deploy NodeJS application (Node-RED) on Azure”. Well, a resource is a manageable item that is available on Azure. Some common resources are a virtual machine, a storage account and a virtual network, but there are much more. To start Node-RED in the cloud, we need to create VM and deploy a Docker container(image) with Node-RED inside. Since one resource relates to another one, we should create a bunch of resources in our resource group (that is a container holding related resources for our Azure solution). It includes:
Public IP address
Network security group
Resource Manager provides extensions for scenarios in case you need additional operations such as installing particular software which is not included in the setup. We used Docker Extension in order to setup Docker container on VM.
Ok, so now we are ready to create a template. The detailed description can be found here.
Here I would like to talk only about extension section:
Also, we need to map 80 VM port to 1880 (default port for Node-RED):
After defining the template, we are ready to deploy the resources to Azure. There are several ways to do that: PowerShell, Azure CLI, Azure Portal, REST API or Azure SDK.
Since we want to develop automation solution for application deployment, REST API and Azure SDK seem to be most suitable for us. The reason why I want to highlight the Azure SDK for .NET is that it is much easier to build an application using existing wrapper classes for the API than to create your own REST wrappers and methods
Take these four steps to deploy your template with C# SDK:
1. To be able to make any requests to the API, first we need to authenticate and authorize our request. Let’s create the management client:
azureauth.properties – authorization file. Before you can deploy a template, you need to acquire a token for authenticating requests to Azure Resource Manager. You should also record the application ID, the authentication key, and the tenant ID which you need in the authorization file.
Since we want to make this credentials customizable for each deployment we can’t embed this configuration in Docker file. So we need a way to execute commands inside Docker container after deployment. That’s why we use Docker Remote API to adjust credentials settings. And this is the reason to expose additional port in our template, as mentioned above.
Here is a command example to setup credentials for Node-RED:
Now we have secured our Node-RED editor with custom username and password.
Keeping nodes and flows up to date
Now we need a way to provide our cloud Node-RED instance with custom node’s set and keep it up to date. We already have all tools for that. Custom nodes are stored in separate Git repository. A few options are available:
Copy custom nodes to
/data/nodes inside a container.
Node-RED flows can be synchronized in a similar way. By default, Node-RED Docker container stores flows data in
/data/flows.json. The flows configuration file is set using an environment parameter (
FLOWS), This can be changed by setting environment variables in docker-compose configuration section:
Using this approach we can put nodes and flows file under version control inside a container and synchronize them with a remote repository.
All commands can be executed via Docker Remote API in the same way, as described in the previous section.
Each time we need to update our nodes, we just call Docker API and pull updates from repository. Also, we can backup our
flows.json by committing and pushing it into the repository.
As an improvement, we can create Git hook in order to update our Node-RED instances once some changes are pushed to our node’s repo. But this is out of the scope of this post.
Here we make a short overview of how to automate your deployments on Azure cloud with Azure Resource Manager and Azure SDK for .NET. In our example, we set up Node-RED docker container in the cloud but all mentioned steps are applicable to any similar Docker deployments.
The digital transformation and customers’ new behaviors give you, as Retailers, both new opportunities and challenges.
On April 26th Gunnebo participated in the Microsoft Retail Inspiration Day where we spent an exciting day of focusing on retail. During the day, we explored the industry experience and inspired participants with solutions from Microsoft and partners to showcase new opportunities that the technology may imply.
I had the chance to listen it to some of the keynotes and found it very interesting. Focus og the day was to share insights about retailing, with practical demonstrations, Microsofts own and partners (Gunnebo GBS being one) solutions:
Engage Your Customers – Here we will look at solutions for creating a personalized and relevant customer experience throughout the purchase and all channels.
Strengthen your employees – How can your employees be better informed, become more productive to provide better and more personalized service to your customers.
Intelligent Processes – How can data help ensure the right products are in the right place at the right time and create intelligent business processes.
Of course we attended with our container, showing how making your store more efficient is the key to being a more competitive business. By becoming a connected store, the retailer not only simplify their operations, but you also improve the customer experience and increase security.
Gunnebo Retail Solutions is a software service that connects all your store’s technical and administrative support systems onto one open platform, accessible anytime and anywhere. The system automates manual processes, and via an easy-to-use app, real-time information is transmitted from store systems to the shop floor for an overview of daily operations.
Get a quick overview of your business using the dashboard. Actionable data like conversion rate, is easily accessible anytime, anywhere, so you can make quick and business-aligned decisions.
The right staff at the right time in the right place. Not as easy as it sounds. Gunnebo Retail Solutions interacts with all your store’s systems to make sure everything runs smoothly. If something needs actioning, the software will let the appropriate member of staff know before it becomes an issue. Over time the software can also help you plan your resources according to historical data and upcoming events.
Limit manual checklists and breaches of communication, and ensure that tasks are executed on time by the right member of staff. Create tasks on the spot from the shop floor or set daily tasks according to your store policy. Tasks can be assigned to a group as well as an individual, and with a tick in the box you know the task has been completed.
Gunnebo Retail Solutions enables you to run your business smoothly. By separating the store day into phases – such as, pre-open, open, post-open and closed – you can automate processes by phase.
For example, when the store enters pre-open mode the lights are 70% strength and no music is played. Once the store enters open mode the music starts to play and light strength is at maximum. Staff will also be automatically directed to those areas where there are most customers.
Certain stages can also be connected to security rules, such as making the back office accessible during pre-open and post-open only.
Visitor Management & Follow-Up
Monitor visits to your stores and stay on top of who is onsite. By tracking your suppliers’ arrival and departure times, the accumulated time spent on the premises can be compared with received invoices. Self-registration at a touch screen means staff do not have to manage visitors and can focus their attention on the customers
GBS Outlook add-in is a custom solution developed by the Gunnebo Business Solutions team in partnership with Diceus.
The main purpose of the GBS add-in is to synchronize Outlook Tasks and Schedule between the users of Outlook profile and the GBS platform. It allows users to optimize time for workflows and ensures optimal comfortable distribution of tasks and events.
Gunnebo Outlook Add-in is supported by all versions of Outlook starting from 2013, Outlook 2016 for Mac, Outlook Web App for Office 365 and the outlook.com service.
x.509 is an international digital certificate used for verification in different internet protocols. It can be applied to verify either a person or a website name, an email address, etc. Its main advantage is that it allows minimising problems which might occur while encrypting and exchanging confidential information, like data interception or cracking. While using the certificate system, you may be quite sure you have encrypted your data in such a way that it can be read only by the intended recipient.
The system implies the use of public key encryption, which actually means you deal with two keys, from which one is made public and the other is kept private by the owner of the key. Typically, a message is encrypted using the public key.But it is only the owner of the private key who can decrypt it. Alternatively, a message is encrypted with the private key and decrypted with the public one, for example, when it goes about the signature which is created by the owner of the private key and then can be verified by any other person.
The complexity of the mathematical relationship between the public key and the private key secures private key from cracking.Moreover, there exist time limitations within which the certificate is active. And there can be other constraints on the use of the certificate.
The certificate contains a digital signature, the purpose of which is to certify the validity of the information in the certificate. The certificate cannot be trusted without verification of the signature. The signature is generated in such a way that it will not verify in case any important information in the certificate has been tampered with.
The Gunnebo Business Solution software consists of many sub-projects and with customers spread across the world, localization and language is very important. To have an effective process, all the sub-projects uses Crowdin for translations, implemented into our Continuous Integration pipelines. Continuous Integration is a development practice that allows developers to integrate code into a shared repository several times a day. After check-in, the latest translations are pulled from Crowdin, and committed code is verified by automated builds allowing teams to detect problems early.
Introduction to Crowdin
Crowdin service https://crowdin.com enables merging of translation process into continuous integrationpipeline for projects based on any kind of resource files dependles of localization.