<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Luke Marcyniuk</title>
    <description>The latest articles on DEV Community by Luke Marcyniuk (@bighex).</description>
    <link>https://dev.to/bighex</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F684610%2F083254d7-1dbb-4f7e-a161-44bde7c71bd3.jpg</url>
      <title>DEV Community: Luke Marcyniuk</title>
      <link>https://dev.to/bighex</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bighex"/>
    <language>en</language>
    <item>
      <title>IoT Stack - 10 components every IoT project should have</title>
      <dc:creator>Luke Marcyniuk</dc:creator>
      <pubDate>Tue, 21 Sep 2021 12:25:56 +0000</pubDate>
      <link>https://dev.to/bighex/iot-stack-10-components-every-iot-project-should-have-3ekf</link>
      <guid>https://dev.to/bighex/iot-stack-10-components-every-iot-project-should-have-3ekf</guid>
      <description>&lt;p&gt;One IoT project barely matches another, there are always differences. Extra requirements, new functions, special circumstances to be considered. Never then less all IoT projects are based on the same building blocks.&lt;/p&gt;

&lt;p&gt;Each block has its own capabilities and functions by itself. The Magic, however, is in stacking the blocks together in a way that leads to the &lt;em&gt;perfect&lt;/em&gt; outcome.&lt;/p&gt;

&lt;h2&gt;
  
  
  IoT Stack (Bottom-Up)
&lt;/h2&gt;

&lt;p&gt;Let's start building the IoT Stack from the bottom-up and work toward the top.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y_1Thxnc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m93yq43t7zzbsco7qfr8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y_1Thxnc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m93yq43t7zzbsco7qfr8.jpg" alt="IoT Stack"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Thing
&lt;/h3&gt;

&lt;p&gt;The "Thing" is a physical "Object", a "Device" that should be connected to the Internet. This could be any physical object one can think of.&lt;/p&gt;

&lt;p&gt;Examples: Chair, Car, Door, Weather station, Water meter, Keys, Smoke detector, Wall, Room, ...&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Sensor
&lt;/h3&gt;

&lt;p&gt;The chosen object requires one or multiple sensors to measure various attributes. The attributes could be of the object itself or the surroundings where the object is placed (or both).&lt;/p&gt;

&lt;p&gt;For example, one sensor could measure the inner temperature of the object. Another sensor, placed on the outside of the same object, could measure the environmental temperature.&lt;br&gt;
Both sensors will lead provide insight into three specific states of the same object:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Object Temperature&lt;/li&gt;
&lt;li&gt;Surrounding Temperature&lt;/li&gt;
&lt;li&gt;Object Temperature at a specific surrounding Temperature&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Other sensors might be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Humidity&lt;/li&gt;
&lt;li&gt;Light&lt;/li&gt;
&lt;li&gt;Counter&lt;/li&gt;
&lt;li&gt;Weight&lt;/li&gt;
&lt;li&gt;Motion&lt;/li&gt;
&lt;li&gt;Vibration&lt;/li&gt;
&lt;li&gt;Location&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Going forward the term &lt;strong&gt;asset&lt;/strong&gt; will refer to objects or devices with sensors (combined).&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Data
&lt;/h3&gt;

&lt;p&gt;Data is the reason why IoT exist!&lt;/p&gt;

&lt;p&gt;The generated data is based on the sensors chosen for this job.&lt;br&gt;
It can be recorded in a continuous flow e.g. every minute&lt;br&gt;
or the recording could be responsive with planned gaps and be triggered by events e.g.: Movement.&lt;/p&gt;

&lt;p&gt;Both approaches have their pros and cons.&lt;/p&gt;

&lt;p&gt;For Example, an hourly temperature measurement (asset is still OK - no changes) is sufficient when monitoring the overall state.&lt;br&gt;
This has the benefit of extended battery life and therefore longer asset usage.&lt;/p&gt;

&lt;p&gt;On the other side, the hourly interval can be increased to a 5 min. interval once a temperature event is triggered e.g.: Temperature moves out of the "optimal" range. This will allow accurate recordings of specific edge cases and ensure crucial for operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Protocol
&lt;/h3&gt;

&lt;p&gt;The IoT protocol has a huge impact on the total data consumption and therefore also on the connectivity costs. It is strongly advised to pick a protocol that benefits the IoT project's diverse usage patterns.&lt;/p&gt;

&lt;p&gt;Different IoT protocols have different benefits. Yet all of them transmit data and some of them provide predefined functionalities.&lt;/p&gt;

&lt;p&gt;While comparing various protocols the following two attributes should be reviewed thoroughly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;... the overhead of a protocol - how much additional data will be transmitted in addition to the actual payload (sensor data).&lt;/li&gt;
&lt;li&gt;... the automation capability of the protocol - how to manage millions of connected assets&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two very common protocols in the IoT world are LwM2M and MQTT.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The idea behind LwM2M is automation, monitoring and management (FOTA/SOTA). This requires a strict parameter definition.&lt;/li&gt;
&lt;li&gt;MQTT on the other side has a very loose parameter definition but requires much more effort in asset automation and management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Internet/Technology
&lt;/h3&gt;

&lt;p&gt;All assets need to connect over a network to a server and become a fleet of connected assets. This is achievable through the usage of cellular technology (4G, 5G,  NB-IoT, LTE-M) or going to the next step and selecting an LPWAN solution (LoRA, Sigfox, MIOTY ). Both approaches have their specifications and benefits and limitations and have a huge impact on the total asset.&lt;br&gt;
Things like reachability, battery lifetime, communications interval, responsiveness, data throughput, infrastructure, TCO, ... and many more.&lt;/p&gt;

&lt;p&gt;The one most common concern raised in IoT projects is the topic of public or private networks. The benefit of a public network is that an asset "just" needs to connect to it. The network is managed by someone else.&lt;br&gt;
A key component of the IoT project is outsourced for example to a telco and relies on the telcos responsiveness in managing problems.&lt;/p&gt;

&lt;p&gt;A private network on the other side requires additional network management resources. This can have a huge cost impact (reduction or increase) and in most cases increased at the same time security aspect of the total solution.&lt;/p&gt;

&lt;p&gt;As with all the other parts of "The Stack" there is no solution that fits all.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. The Cloud / The Server
&lt;/h3&gt;

&lt;p&gt;The Server (also known as the mysterious "Cloud") is the central point where all assets connect to.&lt;/p&gt;

&lt;p&gt;A Server can be operated in two major setups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;On-premises&lt;/strong&gt; The server Hardware is at a private location&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private or Public Cloud&lt;/strong&gt; The server is hosted inside the Google, Amazon or Microsoft ecosystem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security and privacy is the motivation for choosing an "on-premises" solution. While projects that require extended access and connectivity (also cheaper) tend more towards the "Cloud" solution.&lt;/p&gt;

&lt;p&gt;The second most important aspect of any server is the suite of IoT Applications running on it. These applications are at the core and can be seen as a glue for the whole IoT solution. They must understand the transmission protocol (some projects require more than one) and handle at the same time the transmitted asset/sensor data.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Automation
&lt;/h3&gt;

&lt;p&gt;Automation is where the IoT user stops working hard and start working smart.&lt;/p&gt;

&lt;p&gt;A fleet of hundreds of thousands of connected assets must be looked after and ...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kept operational with the latest security updates&lt;/li&gt;
&lt;li&gt;Exchange data between individual assets as well as groups of connected assets&lt;/li&gt;
&lt;li&gt;Trigger events and reacts to internal as well as external changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead, a person managing each and every single asset, the roll is swapped and an automated monitoring system takes over.&lt;/p&gt;

&lt;p&gt;It informs the operator what needs to be done and which assets require a bit more care.&lt;/p&gt;

&lt;p&gt;Automation and Monitoring depends on the capability of an asset, the chosen protocol as well as the server software used for this task.&lt;/p&gt;

&lt;p&gt;As a result, using industry-standard protocols and assets that can be automated is highly encouraged.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. External interface
&lt;/h3&gt;

&lt;p&gt;External interface enriches IoT solutions with additional information from external sources.&lt;/p&gt;

&lt;p&gt;For example, the usage of a CRM-Database provides the capability to connect a specific asset to customer data. A connection&lt;br&gt;
that enables a completely new set of functions and automation. For example scheduling inspections around the availability of a customer. Or defining the asset location based on the customer address.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Analytics
&lt;/h3&gt;

&lt;p&gt;Another way to add more value to IoT assets is by analyzing the measured data in "big style".&lt;/p&gt;

&lt;p&gt;Once a fleet of assets grows in numbers the point of interest grows as well. Form the state of one specific device to the state of the whole fleet of connected assets.&lt;/p&gt;

&lt;p&gt;It’s still interesting what happens with one individual asset (e.g.: one parking lot = occupied or not).  However, the overall condition of the "parking floor" or even "parking house" is important as well (e.g.: total occupancy, spots left, usage patterns, ...).&lt;/p&gt;

&lt;p&gt;Analytics use individual measurements and compare them against other sets of data over a defined period.  This leads to insights like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Occupancy statistics - time of the day, holiday, weekends, ...&lt;/li&gt;
&lt;li&gt;Usage patterns compared to weather (external weather API) = For example, higher demand during hail storms&lt;/li&gt;
&lt;li&gt;Duration of stay compared to special promotions or events&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Analytics like these enable smart business decisions. When to lower or raise parking fees, extend the parking capabilities or even rent out space or convert to long-term parking over the holidays.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Application
&lt;/h3&gt;

&lt;p&gt;IoT Applications promote a user to a Manager who oversees the whole fleet of connected assets.&lt;br&gt;
It can be vertical-specific (e.g.: Smart-Water-Meters) or generic (e.g.: Industrial Monitoring), and be integrated with a customer service system.&lt;/p&gt;

&lt;p&gt;It can give project-specific features, like monitoring water usage, as well as more generic features, such as over-the-air software and firmware updates (SOTA/FOTA).&lt;/p&gt;

&lt;p&gt;An advanced IoT application will provide insight into historical measurements and data from continuous monitoring. As well as the abbility to group assets and compare/monitor group-specific behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  11. *Special Application
&lt;/h3&gt;

&lt;p&gt;Based on the latest studies, a person that is aware of missing knowledge reacts in the same way as experiencing a high level of Stress. On the other side closing the gap and providing this knowledge is experienced as a huge relief.&lt;/p&gt;

&lt;p&gt;This is true for the operator of an IoT project as well as the customer. An operator finds answers to his questions in the Dashboard of an IoT solution or by reading through reports. Customers on the other side are often left out of the loop.&lt;/p&gt;

&lt;p&gt;Most of the customers won't be able to articulate the missing information but almost all will be happily gain insight and peace of mind.&lt;/p&gt;

&lt;p&gt;Most people are not interested in the technical details but in the general state of an asset. For example, a smoke detector in the kitchen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is it fully operational?&lt;/li&gt;
&lt;li&gt;Does it run a self-diagnostic? What is the result?&lt;/li&gt;
&lt;li&gt;Will I be notified should the sensor be triggered?&lt;/li&gt;
&lt;li&gt;How do I know it working?&lt;/li&gt;
&lt;li&gt;Is everything OK while I'm at work or traveling?&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sharing with customers a set of information about their assets will give them insight make them feel in control.&lt;br&gt;
This openness benefits not only the customers. It leads often to reduced support tickets in the customer-care center since all the information is just a click away.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;As mentioned at the very beginning there is no secrete sauce that works for every IoT project.&lt;/p&gt;

&lt;p&gt;A decision in one area of the stack has impacts on other areas and requires a reevaluation of the project.&lt;/p&gt;

&lt;p&gt;It is up to the whole project team to define how success should look like and work together on how it can be achieved.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Secret Windows Apps no one is telling you about</title>
      <dc:creator>Luke Marcyniuk</dc:creator>
      <pubDate>Tue, 07 Sep 2021 19:24:31 +0000</pubDate>
      <link>https://dev.to/bighex/secret-windows-apps-no-one-is-telling-you-about-41o7</link>
      <guid>https://dev.to/bighex/secret-windows-apps-no-one-is-telling-you-about-41o7</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6e4unza6zcapwtikmhi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6e4unza6zcapwtikmhi.jpg" alt="Software"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Internet provides lists over lists with recommended apps and software to use. Unfortunately, most of them are copies of each other. In other words, most of the recommended solutions are the same Cacao/Hot Chocolate in a different cup.&lt;/p&gt;

&lt;p&gt;This list is different on purpose! &lt;/p&gt;

&lt;p&gt;Most of the "default" recommendations are left out, to highlight the real secret apps and solutions that can do the same and often a much better job.&lt;/p&gt;

&lt;p&gt;Hope you will benefit from these apps the same way I do. Discover something precious, find a new favourite and replace an existing solution.&lt;/p&gt;

&lt;p&gt;Said that a few of the recommendations are paid (Not Free) or have paid options. I'm not doing this for marketing nor am I in any way connected with the companies. These are just very good products I like to use them myself (some for years) and think they are worth their money.&lt;/p&gt;

&lt;p&gt;Please leave a comment below should I have missed an app you would recommend - always happy to find new amazing solutions :)&lt;/p&gt;




&lt;h2&gt;
  
  
  Security
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.kaspersky.com.au/internet-security" rel="noopener noreferrer"&gt;&lt;strong&gt;Kaspersky Internet Security&lt;/strong&gt;&lt;/a&gt; » Virus as well as Browser protection &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.privateinternetaccess.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Private Internet Access&lt;/strong&gt;&lt;/a&gt; » VPN &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://bitwarden.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;bitwarden&lt;/strong&gt;&lt;/a&gt; » Password Manager &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Edit and View
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://notepad-plus-plus.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Notepad++&lt;/strong&gt;&lt;/a&gt; » Text editor &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.irfanview.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;IrfanView + Addons&lt;/strong&gt;&lt;/a&gt; » Best image viewer ever
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://codecguide.com/download_kl.htm" rel="noopener noreferrer"&gt;&lt;strong&gt;K-Lite Code Pack&lt;/strong&gt;&lt;/a&gt; » All kinds of audio &amp;amp; video codecs + Media Player Classic&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.videolan.org/vlc/index.html" rel="noopener noreferrer"&gt;&lt;strong&gt;VLC Media Player&lt;/strong&gt;&lt;/a&gt; » Video Player&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.foxitsoftware.com/pdf-reader/" rel="noopener noreferrer"&gt;&lt;strong&gt;Foxit Reader&lt;/strong&gt;&lt;/a&gt; » PDF Reader &amp;amp; Digital Signature &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pencil.evolus.vn/" rel="noopener noreferrer"&gt;&lt;strong&gt;Pencil&lt;/strong&gt;&lt;/a&gt; » Fast and simple Wireframes&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://draw.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;draw.io&lt;/strong&gt;&lt;/a&gt; » Create Diagrams &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.libreoffice.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Libre Office&lt;/strong&gt;&lt;/a&gt; » Free Office Package &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Notepad++ Plugins
&lt;/h3&gt;

&lt;p&gt;Notepad++ &amp;gt; Plugins &amp;gt; Plugins Admin  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compare&lt;/strong&gt; » Shows the differences between 2 files (side by side)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DSpellCheck&lt;/strong&gt; » Spell-checking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spell-Checker&lt;/strong&gt; » Spell-checking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explorer&lt;/strong&gt; » File browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NppMarkdownViewer++&lt;/strong&gt; » View, Convert and Export Markdown&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;XBrackets&lt;/strong&gt; » Brackets autocompletion ([{""}])&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Operation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://ninite.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Ninite&lt;/strong&gt;&lt;/a&gt; » Software Bundler - install various software tools at once &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.zhornsoftware.co.uk/caffeine/" rel="noopener noreferrer"&gt;&lt;strong&gt;Caffeine&lt;/strong&gt;&lt;/a&gt; » Prevent the PC from going to sleep &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.microsoft.com/en-us/sysinternals/downloads/zoomit" rel="noopener noreferrer"&gt;&lt;strong&gt;Zoom It&lt;/strong&gt;&lt;/a&gt; » Zoom &amp;amp; Paint on Desktop &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.alcpu.com/CoreTemp/" rel="noopener noreferrer"&gt;&lt;strong&gt;CoreTemp&lt;/strong&gt;&lt;/a&gt; » PC Temperature monitoring &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Browser
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.mozilla.org/en-US/firefox/new/" rel="noopener noreferrer"&gt;&lt;strong&gt;Firefox&lt;/strong&gt;&lt;/a&gt; » Browser from Mozilla Foundation &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.opera.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Opera&lt;/strong&gt;&lt;/a&gt; » Browser from Opera Software &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://vivaldi.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Vivaldi&lt;/strong&gt;&lt;/a&gt; » Browser from Vivaldi Technologies &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://brave.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Brave&lt;/strong&gt;&lt;/a&gt; » Browser from Brave Software, &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.torproject.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tor&lt;/strong&gt;&lt;/a&gt; » Browser from Tor Project &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.google.com/chrome/" rel="noopener noreferrer"&gt;&lt;strong&gt;Chrome&lt;/strong&gt;&lt;/a&gt; » Browser from Google &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Browser addons
&lt;/h3&gt;

&lt;p&gt;Some of the Addons might be Browser specific &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.eff.org/https-everywhere" rel="noopener noreferrer"&gt;&lt;strong&gt;HTTPS Everywhere&lt;/strong&gt;&lt;/a&gt; » Enforce Secure connection &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://momentumdash.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Momentum&lt;/strong&gt;&lt;/a&gt; » Beautiful Start Tab &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://yousub.info/" rel="noopener noreferrer"&gt;&lt;strong&gt;PocketTube&lt;/strong&gt;&lt;/a&gt; » YouTube Organizer &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://privacybadger.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Privacy Badger&lt;/strong&gt;&lt;/a&gt; » Reduce tracker &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://sessionbuddy.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Session Buddy&lt;/strong&gt;&lt;/a&gt; » Tab Session Manager &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/gorhill/uBlock" rel="noopener noreferrer"&gt;&lt;strong&gt;uBlock Origin&lt;/strong&gt;&lt;/a&gt; » Add Blocker &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/aciidic/thegreatsuspender-notrack" rel="noopener noreferrer"&gt;&lt;strong&gt;The Great Suspender - No Track&lt;/strong&gt;&lt;/a&gt; » unload Tabs from memory &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://clearurls.xyz/" rel="noopener noreferrer"&gt;&lt;strong&gt;ClearURLs&lt;/strong&gt;&lt;/a&gt; » Removes tracking elements from URLs &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://projectnaptha.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Project Naptha&lt;/strong&gt;&lt;/a&gt; » Highlight, copy, edit, and translate text from any image on the web. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.whatruns.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;WhatRuns&lt;/strong&gt;&lt;/a&gt; » Discover what runs a website. Frameworks, Analytics Tools, WordPress Plugins, Fonts - you name it. &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Data
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.voidtools.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Everything&lt;/strong&gt;&lt;/a&gt; » Find files fast &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.7-zip.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;7Zip&lt;/strong&gt;&lt;/a&gt; » Reduce file size &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.google.com/intl/en_ca/drive/download/" rel="noopener noreferrer"&gt;&lt;strong&gt;Google Drive&lt;/strong&gt;&lt;/a&gt; » Google Drive Offline &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Social
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://signal.org/en/" rel="noopener noreferrer"&gt;&lt;strong&gt;Signal&lt;/strong&gt;&lt;/a&gt; » Secure Messenger &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://telegram.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Telegram&lt;/strong&gt;&lt;/a&gt; » Secure Messenger &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Network
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.wireshark.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Wireshark&lt;/strong&gt;&lt;/a&gt; » Network traffic Analyzer &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.putty.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;PuTTY&lt;/strong&gt;&lt;/a&gt; » SSH Client &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://winscp.net/eng/index.php" rel="noopener noreferrer"&gt;&lt;strong&gt;WinSCP&lt;/strong&gt;&lt;/a&gt; » Secure Copy &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://filezilla-project.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;FileZilla&lt;/strong&gt;&lt;/a&gt; » FTP Client &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.postman.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;PostMan&lt;/strong&gt;&lt;/a&gt; » API Development &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Programming
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.qt.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Qt&lt;/strong&gt;&lt;/a&gt; » Cross-platform Development - C++/QML - One codebase. Any platform. &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Visual Studio Code&lt;/strong&gt;&lt;/a&gt; » Development Environment &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://gitforwindows.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Git Bash&lt;/strong&gt;&lt;/a&gt; » A proper Command line for Windows &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.gitkraken.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Git Kraken&lt;/strong&gt;&lt;/a&gt; » Git Management &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.doxygen.nl/" rel="noopener noreferrer"&gt;&lt;strong&gt;Doxygen&lt;/strong&gt;&lt;/a&gt; » Source Code Documentation &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.mysql.com/products/workbench/" rel="noopener noreferrer"&gt;&lt;strong&gt;MySQL workbench&lt;/strong&gt;&lt;/a&gt; » MYSQL Editor &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Remote
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.teamviewer.com/en-us/" rel="noopener noreferrer"&gt;&lt;strong&gt;Team Viewer&lt;/strong&gt;&lt;/a&gt; » Remote Control &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://remotedesktop.google.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Chrome Remote Desktop&lt;/strong&gt;&lt;/a&gt; » Remote Desktop &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://anydesk.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;AnyDesk&lt;/strong&gt;&lt;/a&gt; » Remote Desktop&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.apowersoft.com/phone-mirror" rel="noopener noreferrer"&gt;&lt;strong&gt;ApowerMirror&lt;/strong&gt;&lt;/a&gt; » Remote Phone Control&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>The biggest misconception in the IoT world</title>
      <dc:creator>Luke Marcyniuk</dc:creator>
      <pubDate>Wed, 25 Aug 2021 01:14:27 +0000</pubDate>
      <link>https://dev.to/bighex/the-biggest-misconception-in-the-iot-world-1079</link>
      <guid>https://dev.to/bighex/the-biggest-misconception-in-the-iot-world-1079</guid>
      <description>&lt;p&gt;The most common misconception about the "Internet of Things" is the acronym itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IoT stands for "Internet of Things"&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's not &lt;strong&gt;"Internet of One thing"&lt;/strong&gt; - the only thing connected&lt;/li&gt;
&lt;li&gt;nor &lt;strong&gt;"Internet of a Dozen"&lt;/strong&gt; or "Internet of a Hundred" things&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Things with "s"!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hundreds of thousands, if not millions, of connected assets to a single fleet delivering a complete IoT solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZNQue5VI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/had7i439g7kntlshgr4e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZNQue5VI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/had7i439g7kntlshgr4e.jpg" alt="IoT Connected Assets"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is this so important?
&lt;/h2&gt;

&lt;p&gt;Let's look at how the Internet of Things compares to the automobile business. &lt;/p&gt;

&lt;p&gt;Both Car and IoT assets act independently by themself. However, both require large-scale infrastructure for management and maintenance.&lt;/p&gt;

&lt;p&gt;For example, changing the  tires of a car (Summer-Tire, vs. Winter-Tire) would look similar to the following procedure:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Prepare the "new" set of tires&lt;/li&gt;
&lt;li&gt;Go to the car and decide what tire to start with&lt;/li&gt;
&lt;li&gt;Determine the nut (screw) size and use a correct wrench to loosen the nuts&lt;/li&gt;
&lt;li&gt;Use a car jack to lift the car&lt;/li&gt;
&lt;li&gt;Replace the "old" tire with the "new" one&lt;/li&gt;
&lt;li&gt;Remove the car jack and make sure that all nuts are tight&lt;/li&gt;
&lt;li&gt;Repeat the steps for the other three tires&lt;/li&gt;
&lt;li&gt;Be happy that everything went well&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Yes, there is some labour required, but it should take no more than 2-3 hours to complete, and much less if you are an expert.&lt;/p&gt;

&lt;h2&gt;
  
  
  Changing "Tyres" in the IoT world looks extremely different:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;First of all, we have 100.000 cars = 400.000 tires - Replacing everything at once is too much so let's replace it in batches of 1.000 cars at once.&lt;/li&gt;
&lt;li&gt;Hire 1.000 Mechanics + Helpers + HR Team + management team to coordinate the work as well as the traffic and logistic personal that will deliver new tires and take away the old one&lt;/li&gt;
&lt;li&gt;Find a  property that is big enough to fit 1.000 working stations and define all entries and exits with the lowest possibility of congestions&lt;/li&gt;
&lt;li&gt;Estimate the total work time and coordinate with the council. By now it's almost sure this job will block the traffic in the whole city.&lt;/li&gt;
&lt;li&gt;Come up with a management system ensuring all cars are being served (most likely by registration plates)&lt;/li&gt;
&lt;li&gt;Have a warehouse filled with nuts and replacement tools - there is always something that can go wrong&lt;/li&gt;
&lt;li&gt;Prepare for special cases (Rim broken, Wrong Dimension, Round Nuts/Bolts, Battery Problem, Delays,  …)&lt;/li&gt;
&lt;li&gt;Start praying that it won't rain on this day&lt;/li&gt;
&lt;li&gt;Provide proper working facilities (toilets, changing rooms, rest areas) for all the working personal - maybe even some food trucks?&lt;/li&gt;
&lt;li&gt;Ensure proper power connection to all working stations since the energy will spike once everyone starts using power tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Finally ... after all the preparation, setup and efforts ... start the actual work of changing tyres&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;And do not forget you will need to repeat this at least once a month (security and firmware updates) and ensure at the same time a 99.5% availability (max. 5 working stations can be offline at the same time)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  IoT Components
&lt;/h2&gt;

&lt;p&gt;Providing solutions in the real IoT world is a completely different game than connecting just two assets and let them have a chat (data exchange).&lt;/p&gt;

&lt;p&gt;IoT is massive! &lt;/p&gt;

&lt;p&gt;A customer might have one, two or even a dozen devices on his premises, but the fleet operator must be able to handle hundreds of customers.&lt;/p&gt;

&lt;p&gt;It is therefore important to design all building blocks in a way that they are scalable. &lt;/p&gt;

&lt;p&gt;Instead of just providing connectivity, an IoT  solution should always answer the "mass" questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Will the solution works also for 100, 1.000, 100.000 ... assets or does it need to be changed?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If No:&lt;/strong&gt; What needs to be changed ensure scalability?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If Yes:&lt;/strong&gt; What are the 2nd order effects? (e.g.: battery drainage or data consumption, asset managment, ...)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  IoT Building Blocks
&lt;/h2&gt;

&lt;p&gt;Same as in the "Car " example above, there are tons of attributes in the IoT world that have an impact on the total architecture and performance of a scaled solution.&lt;/p&gt;

&lt;p&gt;One IoT project barely matches another, there are always differences. Never then less IoT solutions are based on similar building building-blocks. All of them have boundaries and limitations and what works for one project might require adjustment in another one. But the real magic appears when all blocks are connected into a stack and provide the anticipated outcome.&lt;/p&gt;

&lt;p&gt;More about this topic in the next article &lt;strong&gt;"10 Building Blocks every IoT project must-have"&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Product Manager - do This not That</title>
      <dc:creator>Luke Marcyniuk</dc:creator>
      <pubDate>Tue, 17 Aug 2021 23:14:44 +0000</pubDate>
      <link>https://dev.to/bighex/product-manager-do-this-not-that-3jbe</link>
      <guid>https://dev.to/bighex/product-manager-do-this-not-that-3jbe</guid>
      <description>&lt;p&gt;&lt;strong&gt;TLDR:&lt;/strong&gt; The main responsibility of a Product Manager is to solve customers problems&lt;/p&gt;




&lt;h2&gt;
  
  
  Listen to Customers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;and understand their problems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As a Product Manager, your main responsibility is to provide solutions to your customer's problems.&lt;/p&gt;

&lt;p&gt;Otherwise, you develop something that no one wants or needs. But most important NO ONE is willing to spend their hard-earned money for.&lt;/p&gt;




&lt;h2&gt;
  
  
  Do NOT listen to your customers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;while developing the solution.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Customers are not Product Managers who dictate the product.&lt;/p&gt;

&lt;p&gt;If this would be the case, you will create an "Eierlegende Wollmilchsau" (The do-it-all machine) that requires many resources and can't do anything properly.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“If I had asked people what they wanted, they would have said faster horses.” - Henry Ford&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r9FsY5nq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8rgslpawnu5ml6z36ujn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r9FsY5nq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8rgslpawnu5ml6z36ujn.gif" alt="Product_manager_yes_no"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Watch the competition
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;because they are can help us understand our customers' problems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use your competitions products as an outsourced user test.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What does the customer think about it?&lt;/li&gt;
&lt;li&gt;How does he use it?&lt;/li&gt;
&lt;li&gt;How and where is to product positioned?&lt;/li&gt;
&lt;li&gt;Why this product and not something else?&lt;/li&gt;
&lt;li&gt;Is there ONE feature that all customers use and the rest can be neglected?&lt;/li&gt;
&lt;li&gt;What purpose it was built for? (see next sub-point)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Listen to the Customer (Special Edition)
&lt;/h3&gt;

&lt;p&gt;Why was the product released? Is it on the market to solve customer problems or does it solve a problem of the competition?&lt;/p&gt;

&lt;p&gt;A good example for a competition problem vs. a customer problem&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Customer problem:&lt;/strong&gt; I do not want to buy a new device every time the battery is empty. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer Solution:&lt;/strong&gt; I need to be able to replace batteries, repair my devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Competition problem:&lt;/strong&gt; We need to sell more devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Competition Solution:&lt;/strong&gt; The device is manufactured in a way that obstructs repair and forces customers to buy a new one.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Do not watch the competition
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;and stop worrying about what they are doing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Do not fall into the "new shiny thing" rabbit hole!!&lt;/p&gt;

&lt;p&gt;Does new technology "really" solve the customer problems or is it "just" a novelty and used as an excuse?&lt;/p&gt;




&lt;h2&gt;
  
  
  Be a Thief
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;not really stealing things but don't be afraid to take an idea and go for it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's not always necessary to reinvent the wheel!&lt;/p&gt;

&lt;p&gt;Instead use existing solutions (Platforms, Ideas, Infrastructures) and be faster, cheaper and better.&lt;/p&gt;

&lt;p&gt;Make smart decisions about what "to do" and most important what "not to do", to solve your customers' problems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Build products customers want
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;to pay for.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Asking customers if they want something new (the next shiny thing), all of them will answer YES.&lt;/p&gt;

&lt;p&gt;Saying "YES" does not cost anything. It's free to share opinions. And who does not want FREE stuff???&lt;/p&gt;

&lt;p&gt;Asking the same group of customers if they are willing to pay for the same thing and suddenly many of them will have second thoughts if they "really" need it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Don't charge money
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;for every smallest feature.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not everything can be measured in ROI. &lt;/p&gt;

&lt;p&gt;As human beings, we build relationships with one another. Invite friends for a lunch or help out without expecting any repayments.&lt;/p&gt;

&lt;p&gt;What small gesture can you offer to your customer that makes them smile?&lt;/p&gt;

&lt;p&gt;Gestures like these increase appreciation for the product and the people who work on it (the company behind it)?&lt;/p&gt;

&lt;p&gt;Your customers have emotional and social needs which are just as important as their functional needs (e.g.: Car Advertisement)&lt;/p&gt;




&lt;h2&gt;
  
  
  Speed Up
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;by taking action today.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Product features are defined by costs (story points, time and money) but there are also cost for "NOT doing anything" = cost of delay.&lt;/p&gt;

&lt;p&gt;Do not be afraid to make decisions and move on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Say "NO"
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;for the right reason.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CEO's, Stakeholders, Investors, Sales, Marketing ... do not have the highest priority but happy customers.&lt;/p&gt;

&lt;p&gt;Happy customers who can buy your product that solves their problem.&lt;/p&gt;

&lt;p&gt;And should your co-workers have a really good suggestion, but it's the one person you hate the most in the office, then put your ego aside and say YES!&lt;/p&gt;




&lt;h2&gt;
  
  
  Don't be a visionary or an oracle
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;who has all the answers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Product Managers need to be obsessed with understanding the customer problems and solving them.&lt;/p&gt;

&lt;p&gt;This requires Interviews, Analysis, Conversations, Feedback from your customers.&lt;/p&gt;




&lt;h2&gt;
  
  
  You are not your customer
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It's not always possible to use a product to the same extent your customers will use it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So listen to your customers and learn from their experiences. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How do they use the product?&lt;/li&gt;
&lt;li&gt;What features?&lt;/li&gt;
&lt;li&gt;How often and to what extent?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However when possible, "Eat your own dog food" and encourage your whole team to use your own products on a daily basis.&lt;/p&gt;




&lt;h2&gt;
  
  
  Be Dumb
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ask many questions and put yourself in your customers shoes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Especially persons with an engineering background tend to jump to conclusions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A person with a software background will try to solve everything with software.&lt;/li&gt;
&lt;li&gt;While a person with a hardware background will focus on hardware solutions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Take time here and there, step back, rethink and do not allow the "Curse of knowledge" to dictate all your decisions.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>5 Steps to Create a Successful IoT Strategy</title>
      <dc:creator>Luke Marcyniuk</dc:creator>
      <pubDate>Thu, 12 Aug 2021 04:32:02 +0000</pubDate>
      <link>https://dev.to/bighex/5-steps-to-create-a-successful-iot-strategy-2ich</link>
      <guid>https://dev.to/bighex/5-steps-to-create-a-successful-iot-strategy-2ich</guid>
      <description>&lt;p&gt;&lt;strong&gt;Define a Technical and Business Strategy for your IoT Projects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every successful IoT strategy must include two sides of the same project.  Technical aspects that ensure functional, as well as the business aspects that ensure profitability. &lt;/p&gt;

&lt;p&gt;At the core, IoT is a collection of physical assets equipped with sensors. Sensors that measure data and trigger prior defined business values. Yes, it matters what physical assets and sensors and protocols are in use but at the end of the day, the whole project is a business-driven solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wip25qWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtydz6jinft7q22pcbdw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wip25qWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtydz6jinft7q22pcbdw.jpg" alt="IoT Strategy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Define - Outcome &amp;amp; Success
&lt;/h2&gt;

&lt;p&gt;Many people are aware of IoT and consider it as the “NEXT BIG THING”.  They do not want to miss out and "profit" from all the growth opportunities they heard about. They want "IoT" - whatever "IoT" is. &lt;/p&gt;

&lt;p&gt;Like with every other project, there are no shortcuts. An IoT project is like every other project. It involves planning, budgeting, development, ... and much more before harvesting its benefits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The first question to be answered is:&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1.1. How does success look like?
&lt;/h3&gt;

&lt;p&gt;Answering this question defines the direction of the whole project. Simultaneously, it raises other questions that must be addressed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where to go?&lt;/li&gt;
&lt;li&gt;Who or what do we need to get there?&lt;/li&gt;
&lt;li&gt;In what time frame?&lt;/li&gt;
&lt;li&gt;What are the milestones on the way?&lt;/li&gt;
&lt;li&gt;What are the KPI’s of the project/milestones?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;People often freeze up when it comes to this type of questions. &lt;br&gt;
They are afraid of giving the wrong answer and dance around the decision. &lt;br&gt;
Often delaying it or pushing it onto other members of their team. &lt;br&gt;
It is important to keep in mind that answers provided today are based on &lt;strong&gt;today's&lt;/strong&gt; knowledge and &lt;strong&gt;today’s understanding&lt;/strong&gt; but can be adjusted &lt;strong&gt;tomorrow&lt;/strong&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Connect - Network &amp;amp; Data
&lt;/h2&gt;

&lt;p&gt;At the end of the day, a fleet of assets will generate and transmits data over the network to a server/application. The second most important aspect which needs to be defined is a good network and data structure. The challenging part is to define a realistic granularity of what is necessary (must have) and what could be done on top (nice to have).&lt;/p&gt;

&lt;p&gt;Let’s assume an asset transmits for tracking its GPS position. The GPS data by itself (payload) has only 6 Byte and one would assume we can send this data as often as possible. But the reality is a bit more challenging. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Depending on the IoT protocol, the payload will be encapsulated in an additional 40 to 1500 Bytes of headers, checksums and connection information. Let’s assume for this example we use an average message of 300 Byte for our project. Our 6 Bytes of GPS data, just increased to 300 Bytes. &lt;strong&gt;6 Byte → 300 Byte&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The data should be transmitted many times a day to increase the accuracy of the asset position. Transmitting the position of the asset every 10min over a period of 24h results in 144 Messages. The total data consumption grows again. &lt;strong&gt;300 Byte → 43.200 Byte&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Most businesses use a monthly payment cycle and calculate the data consumption over the whole period. For an easier calculation, we assume a 30-day cycle which increases the transmitted data to 1.296MB. &lt;strong&gt;43.200 Byte → 1,296,000 Bytes or 1.296MB&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;At the end of the day, the project will have more than a multitude of assets. Therefore, the data must be multiplied again. Let's use IoT benchmark of 100k assets (used to compare IoT solutions against each other). This leads to a total data consumption per cycle of 129,600 MB per Month or 1.56 TB per Year. &lt;strong&gt;1.296MB → 129.6GB per Month  → 1.56 TB per Year&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Last but not least, this is only “GPS” data. An IoT project will require also other parameters like battery state, temperature or humidity. These parameters increase the payload size once again and the calculation starts from the beginning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result, it's critical to define not only the network architecture but also the protocols that will be used.&lt;br&gt;
Because every bit transferred must be paid for. To the telecom for wireless assets connectivity, the cloud storage to manage the fleet's data or both.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Automate - Protocol &amp;amp; Communication
&lt;/h2&gt;

&lt;p&gt;IoT is based on years of industrial automation. It includes both "old-school" protocols as well as modern, more efficient protocols.&lt;br&gt;
Some IoT protocols have a payload restriction (e.g., Sigfox, a max payload of 12 bytes and 144 messages per day), while others, such as TR-069, transmit not only data but also a significant overhead (headers).&lt;/p&gt;

&lt;p&gt;The protocol overhead is not the only criteria to be considered. Another very important aspect is the payload itself. The LwM2M protocol for example  demands a very strict payload definition. It takes additional effort for the initial implementation but once set up, it outperforms other protocols through its high automation and compression capabilities. &lt;/p&gt;

&lt;p&gt;On the other side, the widely popular MQTT protocol provides only subscriber management. All other functionalities (e.g.: asset management, updates, data definition, automation, …) must be developed on top of it.&lt;/p&gt;

&lt;p&gt;Using an IoT protocol utilized by the whole IoT industry is more cost-effective than inventing your own IoT protocol and forcing everyone else to conform to it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Reinventing the wheel Is an expensive undertaking&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  4. Build - Assets &amp;amp; Logic
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Never before in human history has an IoT project been deployed that operated flawlessly from the start and required NO tweaks or updates.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sooner or later every project will meet new requirements and need to adjust to them. For example, transmitting data in a different interval (granularity) or updating the firmware of an asset due to security risks. &lt;/p&gt;

&lt;p&gt;Even if changes and updates are offered from a Hardware &amp;amp; Software point of view, they must be planed as well from a Business point of view. Manage upcoming work, schedule changes and ensure that it is executed based on the project specifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The most neglected topic in this category:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How "long" will it take to update/replace one asset?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let’s assume the assets can't receive updates over the air and requires manual work. A manual replacement effort that requires 3 minutes of work per asset, results in years of work when considering a fleet of 100,000 assets. Not even calculating the travel times to access every asset.&lt;/p&gt;

&lt;p&gt;Said that not every issue is solvable with software updates.&lt;br&gt;
Manual intervention is sometimes inevitable and MUST be planned into the lifecycle of every solution. &lt;/p&gt;

&lt;p&gt;This applies in particular to assets that are battery operated. Sooner or later (depends on the design and usage of the asset) the battery will be drained and need to be replaced. This might be a very long undertaking. Based not only on the size of the IoT fleet (amount of installed assets) but as well on the architecture of an asset.&lt;/p&gt;

&lt;p&gt;It's possible that installing an asset will take less time than replacing its components (uninstall, open, replace, reassemble, install). Installing 100 assets every day will require an equivalent replacement effort, or a portion of the fleet have the risk to be unavailable.&lt;/p&gt;

&lt;p&gt;Coming back to the logical software functionality of an asset, the recommendation here is towards assets that are smart(er) and configurable. Smart assets that are can execute a higher level of logic than just measure and transmit data.&lt;br&gt;
Using the previously described GPS data transmission as an example. GPS information is only needed when the position of the asset changes. In other words, the position of stationary assets is neglectable since the same compared to the previous position.&lt;br&gt;
Smart assets that are configurable to execute this type of logic (data on-demand)  enable the entire fleet to operate more efficiently &lt;/p&gt;

&lt;p&gt;Another aspect to be considered is to reduce the number of messages transmitted by the asset. This will immediately increase the battery lifetime. However, this approach reduces at the same time the accuracy of measured data and is not always doable from a business point of view.&lt;br&gt;
Having smart assets enables the fleet operator to use one or multiple workarounds: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce the number of sent messages during the "inactive hours" while keeping the same message pattern during "active hours". &lt;/li&gt;
&lt;li&gt;Measure data at predefined intervals but bundle multiple measurements into one message&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Optimizations like these enables the fleet to adapt to changing circumstances. For example, using the asset as planned but changing the assets behaviour once the battery reached a critical level.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Present - Application &amp;amp; Enrich Data
&lt;/h2&gt;

&lt;p&gt;The final factor for a successful IoT strategy focuses on the server-side application. The following "Must Have Criteria" should be met by any good IoT application, to ensure basic asset and data management.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ensure that the predefined success, from the technical but even more from a business point of view can be achieved.&lt;/li&gt;
&lt;li&gt;Integrate into existing networks and support the selected IoT protocol&lt;/li&gt;
&lt;li&gt;Ability to manage a growing fleet of connected assets/transmitted data.&lt;/li&gt;
&lt;li&gt;Provide a possibility to extend its logic, on top of the "standard" asset/data management functionality&lt;/li&gt;
&lt;li&gt;Present the data in an easily understandable manner. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, providing an overview of the whole fleet, as well as the ability to dig deep and configure one single asset/sensor. &lt;/p&gt;

&lt;p&gt;Fulfilling these "Must Have Criteria", will ensure basic assets management functionality. Depends on the size and stage of the project these might be enough.&lt;/p&gt;

&lt;p&gt;Going one step further there is the second stage of functionalities to be considered. Functionalities that come in handy once the fleet of assets reaches a certain level - more than 1000 assets. Managing these amounts of assets outgrows the capabilities of a human being. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A professional IoT Application should furthermore:&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5.1. Work for you
&lt;/h3&gt;

&lt;p&gt;It should inform the user by itself about changes in the fleet, for example, dangerous battery levels or low signal strengths. This is achievable by parameter monitoring,  Notifications and periodic reports.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.2. Provide multiple interfaces - IoT protocols and API's
&lt;/h3&gt;

&lt;p&gt;This functionality is very useful once the project has been running for a while and assets must be replaced. For example extending the rollout, switching to a newer model or even to a different manufacturer. &lt;/p&gt;

&lt;p&gt;For example, an external CRM's can enrich the collected data furthermore and fill the missing gaps (e.g.: What asset (ID) belongs to what customer?)&lt;/p&gt;

&lt;h3&gt;
  
  
  5.3. Extended logic and handlers
&lt;/h3&gt;

&lt;p&gt;Extended logic and handlers enable the IoT Application to act upon different states. Take action when circumstances change and trigger timely changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.4. Virtualization
&lt;/h3&gt;

&lt;p&gt;This functionality is extremely useful when dealing with assets that ...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;... are supplied by multiple manufacturers&lt;/li&gt;
&lt;li&gt;... are new/old - at some point, your new assets will become "legacy assets" for newer projects&lt;/li&gt;
&lt;li&gt;... use different Firmware&lt;/li&gt;
&lt;li&gt;... have different configurations/updates installed on them&lt;/li&gt;
&lt;li&gt;... us different IoT protocols but require the same logic/functionality&lt;/li&gt;
&lt;li&gt;... have multiple assets installed in one "Thing". For example, a cooling truck uses one asset to report the state of the truck itself and another one that reports the state of the cooler.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;By now you have probably realized (as shown in the diagram above) developing a successful IoT strategy one step at a time is not impossible. A successful IoT strategy must consider all aspects of the solution simultaneously while making sure that all of them are compatible with one another.&lt;/p&gt;

&lt;p&gt;A chosen IoT protocol might fulfil all network requirements but hinder fleet automation. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Or the TCO (Total Cost of Ownership) outgrows the market expectations/Business Model.&lt;/li&gt;
&lt;li&gt;Or legacy hardware/software limits future use-cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is therefore important to always keep in mind what was mentioned at the very beginning of this article.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Decision made &lt;strong&gt;today&lt;/strong&gt; are based on &lt;strong&gt;today's knowledge&lt;/strong&gt; and &lt;strong&gt;understanding&lt;/strong&gt; but might need adjustment tomorrow.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;IoT is a fast-paced industry and it's a challenge to stay on top of everything. If you would like to get some help developing your successful IoT strategy please let me know - always happy to help out. &lt;/p&gt;

</description>
      <category>iot</category>
      <category>strategy</category>
      <category>business</category>
    </item>
  </channel>
</rss>
