Self driving trucks increases risk of potential food and other consumables shortages

March 23, 2019 by · Leave a Comment
Filed under: General News 

As technological advances in the automotive industry bring us closer to the fully self driving vehicle on the roads, Governments would be wise to consider lessons learned from the airline industry. Business analysts should help advise our business partners on mitigating the risks.

Recent issue with Boeing 737 Max 8 highlights how a perceived software problem can kill people and cause a fleet of planes to be grounded from use. From a business perspective, airlines were lucky that they had other types of planes to use while the problem is worked on. Still, this was a tragedy that we all wish had not happened. We should use it as a reminder on being sure to understand the risks of any software we work on.

If we jump forward into the future where the delivery trucks on the road are all self driving. What will we do then if the self driving software is found to be flawed or hacked and requires trucks to be taken off the road? It might be days or weeks before the fleet can get operational again. This would leave food rotting in warehouses and docks as it was unable to be delivered to its final destination. This could lead to mass panic and civil unrest.

As a forewarning of the impact we might see, the cyber attacks of 2017 showed how information systems that organize the flow of goods were impacted. Shipping containers were unable to be moved to their destinations as the data required to manage the containers was unavailable. This lead to some temporary food shortages.

Self driving trucks, however take us into the world that actual physical transport is also at risk of being disabled. Even if we had a physical piece of paper showing us all the destination information for a shipping container, we would not have the means to move it. No manual work around. To avoid this risk, it would be good if self driving trucks at least have the following features:

  • Ability to disconnect the Self Driving brain from the truck.
  • Mechanisms to allow humans to control the truck directly in a manual form.
  • Retain physical security that allows authorized humans to manually drive and don’t rely on software security that may fail and prevent manual override.
  • Multiple vendors, with the theory that they won’t all fail at the same time.

If we want to look at history to see a previous example of when vehicles ground to a halt and how the problem was handled for the future, we can look at the Opec Oil embargo of 1973. Restriction of oil being sent to USA meant that fuel was hard to come by bringing traffic partially to a halt. Long term solution to avoid this problem in the future was for USA to keep its own strategic reserve of oil. One could argue for the need to keep sets of manually driven trucks on standby, spread throughout the country as a similar workaround.

As business analysts we should encourage our clients / business partners to weigh up the risk of their investments in new technology and help them to consider back up solutions at the same time. The old idiom of “Don’t put all your eggs in one basket” might be wise as software continues to replace even more manual processes. In some places it may be better to have multiple different solutions so that there is an alternative should one fail. Having a variety of planes has allowed the airlines to keep flying.

The more our technology solutions integrate with the infrastructure of the society we live in, the more need there is for a back up solution should a piece of technology fail. As business analysts we should not forget this.

Are we building the world defined by the movie “Gattaca”

March 14, 2019 by · Leave a Comment
Filed under: General News 

This post is about thinking how the project we are working on will impact the future of society as we know it. Quality of requirements we gather can impact society in ways later on that we did not think of. Most importantly, we need to always provide a secure back door where incorrect assumptions generated by computers can be overridden by humans otherwise we are at the mercy of the machines.

The 1997 movie “Gattaca” was about a person’s DNA being used to determine their potential in society. DNA would be used to work out what careers you would have access to. The protagonist of the story pays to use someone’s else DNA (adoption of identity instead of theft) to achieve their objective which currently they were banned from due to their inferior DNA.

If you think about the mechanics of the future life direction provided in “Gattaca”, it revolves around DNA having been previously analyzed to determine the career potential of a human being. Once the analysis was done, computers take control of processing an individual’s DNA to determine future worth to society. There is no need to have human involvement in the decision any longer as the formula is already developed and the outcome determined.

For those of us who work in IT we may encounter projects that are a cog in the works of this “Gattaca” future. These projects are efforts which seek to define a value for a human based on information received. Certainly at this point they are not focused on including DNA sampling to determine the value but that would seem to be only a matter to time. If we included DNA sampling that would give us the potential to look beyond the immediate prediction of value and include a future performance prediction as well.

Some of you may remember a 1995 movie called “The Net” where the issue was that the protagonist’s identity is erased causing her to have issues with doing anything in life. Having the computer store information related to our identity was the first step towards where we are now. What is significant in today’s world is how computers are adding points to that stored information that affect your value in society.

You may be asking at this point what IT projects that I work on would fall under this future “Gattaca” classification of determining human value? Below are some examples:

  • Human Resource systems – tracking of sick days and vacation days. Certain trends identified by the system can flag an employee as a risk.
  • Credit Scores. Speaks for itself and reliant on information that may or may not be correct.
  • Terrorist Name matching – how many Mr Smiths get delayed at the airport.
  • Computer Activity monitoring – not active enough and your employer can terminate you.
  • Grocery Store cards – are you buying healthy. Where does all that information go?
  • Job Interview software – companies are pushing more and more to remove the human from the initial interview loop and instead rely on a computer interview to screen applicants. Answer a question in the wrong way and you may never get passed the computer.
  • Job Search Engines – computer selects which resumes to be reviewed for potential interviews. If you don’t spend time trying to work out the current key words, your resume may never get viewed by human eyes.

Above just represents some of the projects that you may work on that determine the current value of a human. Underlying each one are formulas that are sold as: improvement in efficiency; reduction in costs etc.. for the organization that deploys the software. Side effect of course is that a computer now values the individual human based on the formulas used against the data received. While they don’t use DNA yet, they are certainly getting close.

We already know that in today’s world identity theft can give the stealing individual access to things that they would not have access to. That was the premise in “Gattaca” where the individual adopted another’s identity to achieve their goal. Identity theft would not be as easy if it were not for the computer storing points on an individual that determine their value to an organization and society thus opening or closing doors of opportunity. After identity theft, the victim may lose their place in society for a while if not permanently as their points total will be adjusted again by the computer based on the information generated by the identity theft. Victims are then tasked with reaching out to actual humans to correct what the computer is stating is valid. Humans tasked with correcting the information are at the mercy of the computers having a back door from which they can override the incorrect information.

So the next time you start to work on a project, ask yourself if you are building another “cog” in the “Gattaca” world machine and did you provide a secure back door override.

AI will end the need for IT Requirement Business Analysts

Will say up front that this is purely an opinion piece as I don’t plan to provide the textual references to back up the statements. Purpose is just to think about the evolution of technology that had led us to this point and the impact to the IT Requirements Business Analyst.

Historical speaking if we start at the Industrial revolution, machines were used to speed up production. Back then, the equivalent of a software programmer was a mechanical engineer who designed the levers; shafts and cogs etc.. to produce the desired result. More often than not, workers were required to keep the machines fed with raw material and to remove the finished product. You could think of the raw material as being the equivalent of data coming into a modern day data processing software and the end product being the finished use of the data such as reports / dashboards or account updates.

When the electronic computer moved into the office world in the late 40’s we started to see where the processing of data by human clerks was being replaced by the computer. The mission of the computer back in those days was to reduce the number of humans involved in processing data. At this point, businesses are not looking for the computer to give them guidance but just to allow data to be processed quicker and more cheaply. Designers of software could focus on the tasks already done by the human and create software and peripherals such as printers that replaced those tasks. This would be done by job shadowing to understand the process.

Moving into the fifties and sixties, computers became available that could be programmed with complex algorithms to allow data to be processed in a way that predictions could be made from the data. At this point, the designers are no longer thinking about replacing workers but instead leveraging the processing power of the computer to produce decisions related to business. While some of this you could argue was done in WW2 to break codes, those machines were specifically built for the task. What the more modern computers allowed was for programming languages to change the decision task to meet the current need. However the one handicap was the speed of the computer in those days. Decisions generated by the computers were not done in real time and the programming involved was complicated.

With the advent of the more powerful and useful computers that come out of the late sixties, we start to see where computers become part of real-time processing. Computing processing power and storage keeps increasing every year allowing for businesses to look at new way of saving costs / increasing investments by letting the computer streamline their processes beyond replacing people to even including the ability to expand their business. This is achieved by the development of new interfaces beyond the punch card of old. Now terminals are available that allow for direct access to the computer processor allowing for live updates of data – think airline ticket handling. In this period the designer was seeing how new tools available via technology could enhance rather than replace the current process. However even with all these advances, the use of the computer was still dependent on a designer working out the needs of the business and getting it coded. Software solutions were ridged and limited to the design parameters provided.

Even when we go into the turn of the century, the faster computers with more data handling are still moving along with limited software design that involves fixed parameters and limited interfaces for data collection.

Where we seem to make the evolutionary leap towards AI is when the processing power and data handling ability of computers crosses a threshold where it can consume non-human prepped data that is beyond just text. Previously, data processing power limited what a computer could do in real time. Now a computer can process not just plain textual data but also images, sound etc. and determine decisions based on this. It is like we have removed a prisoner from a small cell where the only thing they could see was text and their hearing / touch / sensing was deliberately disabled. Now we are in a scenario where computers can be educated to interface with humans on a natural level. All the designer needs to do is define the data streams (based on the context – driving a car for example) and the measures of success. AI can then learn to process the data.

Now before I talk about the impact of AI on the BA role, I want to break the role into two:

Role 1 is the BA that looks at business processes.

Role 2 is the BA that looks at interfacing IT with business processes.

Business process BAs (Role 1) are already heavily being replaced by the Product Owner role so while this BA will eventually not exist, the role has a chance of living on for a period of time with the advent of AI as a Product Owner. Eventually however even Product Owners will be replaced by more sophisticated AI solutions. Big risk though, is that businesses become clones of each other. An AI analyzing the marketplace may come up with the same opportunities as another business AI thus killing the market opportunity as both deliver the same solution at the same time making neither have an advantage over the other. While this happens with humans today, the occurrence is less as humans cannot deliver ideas at the 24x7x365 speed that AI can. Stock market meltdowns have already been shown to happen when multiple different stock monitoring software trigger sell decisions because a trigger event occurs. This will be the same issue when AI takes over the business Product Ownership.

Role 2 BAs that focus on requirements for IT design are most likely to be impacted in the very near term by the advent of AI. This role has already seen a significant amount of work being moved to UI designers and Data Warehousing Specialists (both of whom are at risk of being replaced by AI as well) that the amount of work left is limited. With the advent of AI, its is conceivably possible for the BA person to be replaced by an AI solution that interfaces directly with the business to produce either IT solutions or output that can be used to create IT solutions. For years this has been a dream of many companies. Easier to use software being the traditional way to limit IT expenses – think about how many business users use Excel for example without ever talking to a BA. AI will make it a reality for everybody to ditch the IT requirements BA. Instead of having to learn an interface specific to a piece of software, the AI will instead provide a sophisticated human interface that replicates what the BA does today. For the business it will be as if they are working with a BA but without the human cost. Certainly it will take time and money to develop this BA replacement AI but once it is developed it can easily be distributed and shared.

In summary, AI will be a great move forward for business but will negatively impact the Business Analyst market as we know it today. Business Analysts who focus on only IT requirements would be well advised to move into Product Owner roles or be involved with the AI development that is happening so that they can be an expert in the field.

VW a lesson in marketing versus regulations

By now you will be very aware of the VW diesel scandal where the software on the car detected when the car was being tested and controlled exhaust emissions to past the test.

Anyone that works in gathering requirements can easily see the problem here. There were two competing requirements Marketing and Regulatory and in the end the marketing side won out.

Big business is a game of cat and mouse. Laws are in place for a lot of things but for business the viewpoint of laws is the risk / cost of being caught and the benefit of not following the law. If the law is not enforced 100%, business will start to think of it as an optional law. There are numerous cases of settlements between car companies and the US government or consumers. The Titanic is a classic example of the law being met but the intent of the law being missed which was to have enough life rafts to save lives – the law had not been written in such a way as to force the life rafts to be enough to meet the number of passengers.

When gathering requirements for a solution, care must be taken to understand the implications of giving one set of requirements higher priority over another. Risk analysis is supposed to be done to ensure the VW, Titanic situation never occurs today. However profit is a powerful master and it will make people blind to that which is obvious.

Double check those requirements that fly in the face of morals to make sure you are not ignoring something that will later make you a headline.

 

The industrial revolution 2.0 – where Jane & John Doe programs make sense

If you ever saw pictures from the original industrial revolution (1790 – 1870) you would have seen machines producing goods that also required humans to keep them supplied with materials. In some cases it was dangerous work as the humans darted under the mechanism of the machine to keep it supplied. One wrong step and the human resource was injured or killed.

These machine in their own way were original pieces of programming. Basically the Steam Punk of code where the internal workings are completely visible. Humans basically made up the shortfall in what could not be replaced easily or affordably by machine.

Step forward into today and while the brass and iron has vanished we still have humans fulfilling the roles where machines have not caught up.

Amazon pickers is an example of the humans still meeting the need.

When do you ask does it make sense to replace the human programs (lets call them Jane & John Doe)?

NOTE: This article is a somewhat tongue in cheek consideration of the removal of humans from the workforce and is not meant to offend anyone who is worried about AI takeover.

Let’s first look at the benefit of our human Jane and John Doe programs:

1 – Easily programmed if task is not too complicated.

2 – Can be programmed by other existing programs.

3 – Adaptable interface – Buttons, levers, switches etc.. are not an issue.

4 – Can be replaced if failing.

5 – Low short term investment costs.

6 – Can be easily reprogrammed as tasks change.

7 – Multiple interface methods for programming – auditory, touch, visual.

 

The cons of Jane and John Doe:

1 – Program can leave of own accord requiring another program to be obtained.

2 – Program can be injured requiring maintenance costs to be paid even if another program replaces it.

3 – Not all programs are of equal ability which can cause quality issues.

4 – Limited amount of transactions per hour can be handled and there is risk of memory leakage if the task is too frequent or repetitive.

 

Now let us consider the attributes of the equation to determine when to replace the Jane and John Doe programs with actual computerized machines :

1 – Cost of your current Jane and John Does + cost to remove them from the role versus the cost of the computerized machine.

2 – Frequency of the transaction – more frequent or increasing frequency raises the number of Jane and John Does programs you require making a computerized alternative more attractive.

3 – Availability of Jane and John Does – if they are getting harder to find, their cost goes up.

4 – Complexity of the task – like point 3, if the complexity of the task is getting higher, the number of Jane and John Does that can do it get less, increasing their cost.

5 – Long term need for Jane and John Doe – if the task is not changing and going to be around a long time, programming a computerized alternative makes sense as the long term return can be seen.

6 – Reliability of the computerized alternatives or level of risk a single failure point can create. When you have a large human set of programs, there is a lot of redundancy built in if one fails. With a computerized machine, when it fails, there is no backup until it is repaired.

There are probably a multitude of other reasons to keep or replace Jane and John Doe. This article is just to make you think about it from a ROI point of view and how history repeats itself 200 years later.

To quote what the head of an IT operations once said to me back in the 1989 “As soon as the cost of the tape system comes down to being cheaper than the staff I will get rid of the operations staff.” By 1992 the operations staff were out of a job as a machine had replaced them – the cost had come down enough. Machines eventually get cheaper than their human counterparts.

 

When software kills due to incomplete requirements

If you are lucky, your software has not been responsible for the death of anyone to date. If you are unlucky then you know it.

When a analyst gathers requirements for a piece of software there is a tendency to focus on the happy path and ignore the surrounding paths that can lead to disaster. Unfortunately events can lead up to the identification of the missing requirements and sometimes death is a result.

To be fair, we humans can still kill ourselves without software such as with the mechanical loaded gun or the speeding car taking a bend too fast. However software seems to give people in some cases a false sense of security that does not exist. In other cases it can give them power to do something that should not have been possible if they were directly engaged with the physical which leads to disaster.

The article below refers to two cases where software enabled a pilot to do something they should not have been allowed to do with death being the end result.

Lessons from spaceship two’s crash

In the above article, the situation was different from my previous article about lack of tactile feedback. In both cases the pilots knew what they were doing, they just did it at the wrong time or too frequently for the specific vehicle to survive.

As an analyst, be it a system’s analyst or business analyst, it is not enough to think of just the happy path. Whenever you are gathering requirements you need to also think of what will keep us on the happy path. Whenever there is an interaction or a key data point, ask yourself if the event that causes this can be triggered at the wrong time or occur too many times.

Look for the ways that one can step off of the path and see if you can build either a metaphorical wall to keep us on the path or ways to get us back on the path before any damage is done.

Testers working for nothing – why you should not go into testing as a career

Often Business Analysts will see in their job description the act of testing. True heavy testing requires special skills that do not tie in well with good Business Analysts skills.

Business Analysts often need to get out and communicate with a variety of people and dig beneath the surface of conversations to find the true requirements / processes.

Testing however relies on the information presented from the Business Analyst along with other documents and  industry standards to validate the work done. Testers effectively thrive in an atmosphere where communicating with a variety of people is not required.

While small amounts of testing such as a minor enhancement can be covered by a BA, care must be taken if the BA role requires more than that as it will weaken your BA skills over time.

Maybe the above is not enough to dissuade you from heading down a testing career path from your BA role but two trends should discourage you from heading into testing as a career:

1 – Outsourcing

Recently I saw a corporation completely outsource their Testing Department. Part of the reason behind this is the theory that the size of a testing department varies according to the work being done. A vendor was considered a better solution to handling the waves of work as opposed to having staff on hand.

2 – Testing for nothing in hope of potential rewards

This is the most worrying concern for anybody involved in testing. It looks like a Silicon Valley startup has ditched paying testers a wage. Testers have to compete to win cash by being the first to identifying bugs / issues that nobody else has identified. If they are not the first then they get nothing for their efforts. The prizes are also so small that only someone living in a country overseas could justify the risk of time and effort for little to no reward.

Data handling – know when to bring the experts on board.

We all know about the Y2K incident with the 2 digit year however there are still examples of data storage length being inappropriate for the data to be stored.

If you are a Business Analyst that deals with data then it is important to always be questioning the data requirements to ensure that they meet the need of the business / application now and especially in the future.

Industries where data is critical to their function will probably leverage Data Modelers / Engineers / Scientists to manage data definition. As a BA we should not be afraid to state when the  data knowledge is beyond us and ask for the project to employ one of these specialists. Do not try and wing it because the end result can be expensive to the company.

To read up on some of the impacts of data, see this article below from the BBC:

Data Handling that led to disasters

PM versus BA – the dead discussion and why being a PM may be better than being a BA

It can be interesting to read articles on the Ideal Way that things should happen. These articles are somewhat like the ones about why all people should be debt free and happy. If you are not debt free and happy, then you personally are doing something wrong.

Focus of this website is in the reality of the workplace which is usually far from Ideal. Politics, Oligarchies, Budgets etc. can all get in the way of achieving the Ideal or “World Peace”.

If you want to read up on the debate around the fact that there is no difference between PMs and BAs but it is all about what you bring to the table (“Ideal Approach”) then check out this link – PM vs BA.

Honestly however, the whole conversation is dead one which is what the author of the article states. The author basically questions why PM versus BA is even a discussion point to which I have to agree (having had a foot in both camps (PM / BA) I see no reason why the right BA cannot do PM work and vice versa). Business Analyst term has become so watered down anyway it means many different things to people in the industry. There is no one definition (outside of the textbooks) for what a BA is. Effectively as the author of the article states, project success is based on collaboration and not on title. However in the real world, project teams (especially in larger companies) are formed based on titles / roles / budgets / deliverable dates and that is where the Ideal is left behind. The company that you are at will dictate your role to you based on their process / procedures / politics etc.. Some companies will be Ideal while others will miss the mark.

From a current trend perspective over the past 20 years, I have seen the companies go from using BAs to manage small projects as they gather requirements to the other scenario of having PMs gather requirements as they manage projects. Talk about territory wars. As the trend continues, the BA starting out might be better off to go into Project Management first since they will get better experience than trying to come up through the BA ranks where they run the risk of being no better off in experience than a secretary.

From a historical perspective (ignoring the above about collaboration approach), let us talk about the facts around the PM being different from a BA.

1 – Project Managers are brought on before Business Analyst so why bother with the BA.

– Pure Business Analysts are seen as an unnecessary expense in a lot of companies – last hire in your small companies. More and more the Project Manager is being looked at to deliver the Business Case / Requirements as part of their role to avoid the expense of having a Business Analyst. Personally I have seen two recent larger clients push to have the PM do most of the work since the rational is that they need to have a PM anyway so they might as well leverage them to do everything with the theory that the project is saving money. In these companies, the BA is getting downgraded to little more than a secretary required to document whatever the PM states and store it in the appropriate software.

2 – Project Managers can always do BA tasks or vice versa

– A project that is on a tight deadline cannot afford to have the resource distracted from requirements gathering with PM paperwork / issues. Try to gather requirements while putting together multiple project status / dashboards (and they all have the same deliverable date) and you will see what I mean. Sure this is not a problem when deadlines are not important.

– Not all BAs can do financial reporting / resource management as they have not been trained nor do they have the experience. After you have sat through a few cost center allocation discussions with Finance, you will enjoy getting back to requirements gathering

– Paperwork / Software used by PMs may be unfamiliar to BAs. MS Project and the latest tools all require some form of training / experience. Dashboards have to be designed / populated for projects which takes time away from requirements. It is the same for PMs trying to capture requirements as they may not be familiar with the software where the requirements are stored.

– Some PMs have no clue about proper requirement writing (ambiguity), business case development (what does the business really want and how to justify it) and it shows when the project moves through the phases. It is kind of like expecting a BA to be able to design databases. Some have it and some don’t.

3 – PM is the natural career progression for a BA

– NO it is not! Pure Project Management is different to Business Analysis. Even the IIBA acknowledges this when they ask you to describe the role you had in the projects you worked on. If you answer too many questions from a PM perspective they will not acknowledge that experience as being BA relevant.

 

Hopefully I got the point across that the BA versus PM debate is dead. To argue it anymore would be to ignore the trend in the industry which is downgrading / killing the Business Analyst job title making this whole discussion pointless.

As Business Analysts, we should be more concerned with making sure the role we are in ties into our skills. Remember, the BA title by itself is pretty much worthless these days as it means so many different things to different companies. Your focus should be on getting the skills / experience to be in the role you desire and not on the job title.

For a list of Business Analyst job titles, see links below:

Job Titles Job Titles

 

Responsive Design – the past repeats itself and when you should not bother about it

Google has been sending out emails to websites advising that the web site position in Google search results will be negatively impacted if the website fails to implement responsive design.

Google’s argument is that they want to serve their customers the content that is most viewable on the device being used by the customer. Responsive design being that the website adjusts itself to the screen size of the device being used.

All of the above is the past repeating itself. The print industry has been dealing with this for years.

If you traveled through airports back before e readers, there were lots of small bookstores selling books. Most of the books for sale were of a certain size – the small paperback. Book size was dictated by limited shelf space in the store and what travelers were willing to carry with them on the plane.

Like Google, the bookstore would not stock your book (as in appear in Google search results) if it did not meet their size criteria unless you were some incredible author (book guaranteed to be wanted by travelers no matter the size). Readers were less likely to buy your book if it was larger as it was more hassle to carry around.

However if you were the author of a coffee table size book, you did not care about the getting into the airport bookstores as that was not your market.

Big companies like to be everywhere on the web since they need to maintain brand recognition / market share / income. They also have a large budget to handle the design challenges responsive design creates. For some reason, however, big company still are not able to implement smooth Responsive Design.

Looking at the facts –  BBC.com recently changed their website and introduced moving click points and lengthier navigation (top menu items now moved to sub menu). ABCnews.go.com prevents the user from being able to pinch zoom on their pages. These are just some of the many examples out there of issues with responsive design implemented by large companies.

With large companies failing to implement responsive design well where does that leave the little guy who has the much smaller budget and the less brand recognition?

To answer the above question we first have to consider some others:

1 – Are the people visiting your website likely to be on mobile devices now or in the future?

If you answered yes, then you have to weigh up the % of mobile visitors against the cost of supporting them. Basically, can you afford to lose the mobile visitors if google no longer promotes you?

2 – Does your brand need to increase market share?

Can you afford for your website not to be listed in the mobile search as it will reduce the amount of instances that your brand is visible? If you are trying to build up your brand, the loss of presence in mobile search could negatively impact you especially if a competitor’s brand is present while yours is not. But then again, maybe you are the coffee table size book author and it does not matter. Or you are leveraging other channels such as YouTube / Facebook so losing on mobile search is no big deal.

3 – Will I lose significant revenue if my web site is not found in mobile search?

Does the effort justify the cost. For e-commerce sites, being mobile friendly is almost a requirement but for content sites this is debatable. Do people really want to read the news / advice on the screen of a small telephone.

If you have to go down the responsive path on a limited budget, probably the best bet is to find a vendor that has already developed the web site software to support your web site. For content, Word Press now has themes that are responsive.

Don’t expect a magic wand solution to responsive design as even with off the shelf packages there will probably be something not quite right.

In the long term, screen size will become stable as consumers decide what works and what does not and will chose to purchase the most useful mobile devices. When that happens, the software solutions will be robust and the whole Google conversation on penalizing those that do not implement responsive design will be part of history.

Next Page »