Author: Rob Broadhead

  • The Next Big Privacy Concern

    The Next Big Privacy Concern

    The social media news around Facebook and data breaches we hear about each week have sparked concern over our data. We are starting to worry about what is out there and who has access to it. There are obvious concerns about hackers selling our data for nefarious reasons. Likewise, there are issues like the social score used by China that can impact every facet of life. Nevertheless, there appears to be a larger wave coming. These changes are worth considering before you jump into the latest fad devices. It appears that our next big privacy concern is going to be our health-related data.

    The Warning Signs

    The popularity and power of wearable devices like the Apple Watch and Fitbit products is the first step in being able to access enormous amounts of data. There have been a few voices of caution, but generally, they have been pushed aside. We find it far too useful to be able to see how many steps we took each day. We can also see where our morning jog took us. Technology is awesome like that. However, when you look at the companies that are gathering that data and their capabilities you have to wonder where that will go next. Any time big business gets involved it should spark a big privacy concern.

    The least surprising purchase of the year is Alphabet (i.e. Google) buying Fitbit. The popularity of Amazon’s Alexa products and the Apple Watch made it almost a guarantee that Google would dive into the wearable market. Add to that recent news about Project Nightingale. It is impossible to deny that “They” are coming for your medical data. The industry has long worried about the privacy of this data (e.g., HIPAA) but I do not find many people being overly concerned about such things. As with all technology and data, there are some pros and cons to this data being available en masse.

    The Benefits Of Masses of Medical Data

    Medical research lives and dies (no pun intended) on health data. There are reasons why health care professionals almost always start an encounter with taking your temperature, your blood pressure. Then they gather some general data about how you are feeling. These data points become part of the recommendation for how to treat your situation. You can see some dramatic examples of this in television shows about forensics and medical mysteries like House M.D. The ability for vast amounts of data to provide useful medical insights is not just the stuff of dramas and serials. There are all manners of health-related issues that can be addressed and prevented based on research into the data. That data may lead to a cure for cancer as well as dramatically reduced times for hospital stays and even lower-cost treatments.

    Why This is a Big Privacy Concern

    You might be saying, “wow, sign me up to help!”. While that is very considerate, you should also consider the downsides. The wearable devices we have and the ability for organizations like Amazon, Google, Apple, and others to store and process that data has other uses. Marketing is always a way to utilize what we know about each other. For example, what id the ads you are fed become adjusted to how you are feeling. You may suddenly get a flurry of car ads if your heart rate picks up while watching one. That may seem only slightly annoying. What about ads and services being sold to you based on sexual or religious preferences? When I know your rough (or precise) location and attitude through the week, I can tell whether you are turned on or off by all manner of environments and people.

    Think about a mood ring that is far more detailed and accessible to a broad range of people in your life. What if your employer is able to access how you are doing during the day. They might be able to determine when you are focused or not? What if your boss knows roughly what you really think about him? The ability to use medical data is mind-boggling. It becomes more so when you start to look at how our statistics (blood pressure, heart rate, etc.) fluctuate in different situations. Think about it as if you were wearing a lie detector on your wrist throughout the day. Everyone you meet might not have access to that data. However, I am sure there are those that you would want to keep it from.

    How To Proceed

    While this type of data is worth our concern and worry, it may be hard to avoid the risks. The OTG (off-the-grid) life that eschews devices and services with tracking and data gathering capabilities has just become a little harder to adopt. There are all sorts of rewards dangled in front of us if we will give up a little data and privacy. We also are assured that our data will be kept private and not used without our permission. How has that worked out for us so far? The recent history has shown us that these sorts of things should be a big privacy concern.

  • Getting Started With a Solution Architecture

    Getting Started With a Solution Architecture

    One of the first questions asked as I start or join a software project is what I think about the solution architecture. This question may either be an attempt to have the current architecture assessed or a first step in building the application. The answer can often be frustrating to the listener as it always begins with a question. Furthermore, there are questions that follow that first one. That does not mean there is no “template” for architecting a solution. However, I think it is important to look at what we are doing in order to take the proper steps.

    Define The Problem

    The most critical factor in creating a solution architecture is not the design of the architecture, it is the solution. Otherwise, you are setting up a classic cart-before-horse approach. There is just too much about a well-designed solution that hinges on the problem you are solving to not focus there first. I once heard it best described as a good architect keeps asking “and then what?” as they listen to someone walk through a problem. The first step is understanding the problem and related processes in detail so you can avoid designing yourself into a corner. A failure to properly understand this point counteracts the skills of even the best architects.

    Requirements and Constraints Drive Solution Architecture

    Everyone likes to start with an “it does everything” approach to define a solution. There is nothing wrong with this. However, a solution architecture that is the best fit requires us to drill deeper. Here are just a few key data points every modern solution needs to address.

    • Who is the Audience?
    • What is the size of the initial user base? (how many users?)
    • How frequently will this be used by the users?
    • What is the expected/useful time frame required to solve the problem?
    • Where does the user experience need to fall between form and function?
    • What sort of data is going to be captured?
    • How long does the data need to be retained?
    • How private or public is the solution and the data? (security concerns)
    • What current technical resources are available?
    • What is the “happy path” and what sort of exceptions might occur?
    • How should the user experience the “happy path” and exceptions?
    • What is the expected interface? (Desktop, mobile, phone, audio, visual, or others)
    • How is this expected to grow in user base, features, and access?

    As you can see, this is a lengthy list. It is also just the beginning. The definition of a good solution architecture includes one that is scalable, maintainable, stable, usable, and understandable. However, it also needs to properly and fully address the problem to be solved. Likewise, there is a context to the problem that needs to be understood as well. As an example, check out the sort of questions a building architect should ask: https://maxablespace.com/questions-an-architect-should-ask-a-client/

    Software Architecture Is Like Building Architecture

    I find the best examples to help understand software design and architecture is to look at building a house. There are a lot of ways to build a house. Therefore, there are a lot of questions to be answered before architecting a plan. The link above provides a list of such questions. Software is at least as complex as a physical building. Thus, it makes sense that we need to answer a lot of questions before designing a software solution.

    There is a lot of context around the solution that impacts architecture much like context impacts a building. Think about building a house on a beach and then think about that same house on a mountainside or uneven ground. Then think about the house in a field of empty acres as compared to the middle of a congested subdivision. Context means a lot when architecting a solution. Therefore a good architect will ask questions and dig deep to understand the context around the desired solution.

    Software Architects are a rare breed. There is only a small percentage of developers that grow into architects for a reason. There is a requirement to be able to fully grasp the business context for a solution and then translate that into the technical architecture. Thus, your best approach to starting a solution architecture is to do your homework and understand the problem to be solved and the proposed solution. Only then can you start on the system architecture.

    Check out this article for some more thoughts on getting started with your project: https://rb-sns.com/RB/blog/planning-and-design/

  • Preparing for a Security Audit

    Preparing for a Security Audit

    The topic of security comes up a lot in IT circles. We see headlines every day about breaches and fear that our company could be next. Ok, that may not be exactly our response. However, hackers are real and a threat to every business that is online. That makes the idea of a security audit attractive to many managers and business owners. They want to be comfortable with where they stand and any associated risks. This may even be a requirement as part of due diligence for an acquisition or investor.

    A Security Audit is Not Scary

    The word “audit” seems to strike fear in the hearts of many. I get it and feel the same trepidation every time I hear it. We seem to think an audit always points to our flaws, and that is a bad thing. To the contrary, an audit of this sort provides a way for us to get better. Yes, it points out flaws and weaknesses. However, it also provides feedback on how to eliminate or overcome those shortcomings. That means that we will be better off, more secure, once we go through an audit and learn from it. It also helps to go into an audit, knowing that imperfections will be highlighted. No system is perfect, so all we can do is look for ways to get better.

    Get Your Ducks In A Row

    The first step to take before a security audit is to clean up the flaws you already know about. This action will make the process more valuable. Less time will be spent on going over the “things you already know.” That means your time and money will be better spent. Why would you pay someone to tell you what you already know. There is another side effect of taking this action. Sometimes weaknesses or flaws are masked by another problem upstream. Think about a dirty window that blocks a view of a dirty room. You will not know about the room until you clean the window. Similarly, clean up the issues you know about, so there is less chance of hiding those flaws you need to understand. Security is a prime area of this sort of environment. By its nature, most IT security is built in layers or walls. Thus, it is by design that a flaw in one level may be masked or even corrected at another level.

    Ask The Experts

    We are not all security masters. That is not a problem. There are plenty of resources available on the Internet to guide us implementing best practices for security no matter what environment we have built. You can bring in security consultants, but you can save a lot of money by hitting some of the cornerstone security sites. One of the best sources of this information is the OWASP site. You can find white papers that cover overall security concerns as well as detailed tutorials for hardening your systems. Many of this documentation is source material for security audit procedures and processes. Therefore, you will be able to educate yourself about these measures while getting a head start on how the security audit will expect your environment to look.

    Yes, It Is That Simple

    You may be amazed at how short this article is. However, the details that you will find in those security tutorials can take hours or days (or more) to implement. The plan is simple. It is the execution that can be a challenge. Nevertheless, there are a lot of security recommendations that are quick and easy to implement. Even a little investment of time can make your security audit experience enjoyable and educational. That statement may seem laughable but do not take my word for it. Give it a shot and see how much more secure your systems are as your confidence about them soars.