7. Give Your Data Up To Me – The Centinel System Build Plan

Today I talk zeros and ones and how those two states form the foundation to create a build plan for our first custom automated system – Centinel.

Skip to a specific part of the recording by clicking on the Episode Timeline:

Start listening

Today I talk zeros and ones and how those two states form the foundation to create a build plan for our first custom automated system – Centinel.

Skip to a specific part of the recording by clicking on the Episode Timeline:

Episode Timeline
00:00Intro 00:40Let’s Talk About Data 4:14The Digital World IS the Real World 5:47Where Will We Get the Data? 10:54How Will We Process the Data? 12:15The Build Plan 17:07Kira and the Data Demons

Intro

Welcome back to Technorection! This is Simon Yiga. If you’re listening to this recording then perhaps you’ve come along for the past 3 or so weeks with me on my journey as I try to use technology to bring my parking business back to life beyond COVID-19. You can go back and listen to the previous recording on our Roadmap if you want to catch up or even the introduction 6 recordings ago if you have no idea what I’m talk about.

Let’s Talk About Data

If the previous recording was about the roadmap, then this is then the first step in the GPS’ turn by turn navigation – This is week 3 of the project. Today I’m going to break down the Centinel build project plan – how to get it from invisible ideas to a concrete, commercially viable parking management system. Before doing this, I have to talk about probably the most central concept in modern technology (modern as of 2021) – I need to talk about Data. However you’ve heard it pronounced, you hear about data everywhere. But what is Data?

 A computer scientist may define it along the lines of “RAW bits” of 0s and 1s that are the most basic way to communicate with computers. If we abstract from this definition, maybe we can call data RAW information. It’s RAW – It still needs to be processed in order to make it useful to us as humans. We need valuable information from all of this raw Data. Before its valuable – it’s this Raw “thing” that we call data.

 Think about some obvious ones today like Google – they collect huge amounts of data from billions of searches made by people in order to create valuable information for advertisers – who can serve you targeted ads wherever the hell you go. Or what about your insurer – They base the premium that you pay also on a tons of data on demographics – your age, where you live, etc. getting back to our own parking company – Our job is 2-fold: to basically collect money for property owners and provide them with a report to detail the where the money came from – which customer type- hourly or monthly parkers.

Colleting money is actually the easy part, like all properties – location is everything and well located parkades don’t usually struggle to return healthy profits.

Preparing that report however is a little harder because the collecting and processing of the Data that feeds into the report is a little harder:

Why?

We use 3 separate machines on site to collect the data: specifically, data on vehicle numbers and data on the 2 customer types: “hourlies” or “monthlies” parkers – All this data is collected on paper… This is that RAW thing. Like a juicy steak – you wouldn’t just grab the raw meat out of the fridge and eat it? Data only really becomes useful and valuable after putting it on the grill so to speak.

The Digital World IS the Real World

However you look at it, data forms the building blocks of the digital world. Btw the digital world isn’t some fantasy realm frolicked by nerds. The digital world is as real as… well the real world. At the very least – the digital world is a proxy for the physical world in which we live. E.g.

If you were the average wealthy person living hundreds of years ago – maybe you’d remind yourself that you were wealthy by opening the front door of your manor home and gazing upon the thousands of hectares of pristine farmland on your estate. If it was a few centuries later, you’d remind yourself perhaps by looking into a large vault and gazing upon all your gold and jewels stacked to the ceiling. Today, you would look at your banking app and see a satisfyingly large number under the available balance column. You still FEEL wealthy right? Even though land and gold has been replaced by usefully processed bits of 0s and 1s. You ARE still wealthy. The Digital World is Real World.

Where Will We Get the Data?


So data – It makes the modern world go round.

<give your data up to me!>

Getting back to the Centinel project build. 2 Key questions that this project needs to answer are:

1: How will Centinel source the Raw data? I mentioned earlier that we currently use 3 manual systems to source raw data. So how will Centinel streamline the process of Data acquisition.

2: How will Centinel process this data and present it in a valuable way?

As usual I’ll answer these with a tale:

Back in the early 2000s I was an engineering student. My classmates and I were working on final year projects that… at the time were cutting edge. Things like Bluetooth and automated robotics. Things that today are totally commonplace in both consumer and industrial applications.
There are many reasons that these and many technologies moved out of the lab and into commerce. – one is Continuously increasing computing power coupled with continuously Decreasing hardware costs.

Another reason, we now have Permanent pervasive internet connectivity. We are online all the time. The project I chose was in Computer Vision and Image Processing. Basically how computers can use what they see to manipulate the world useful ways.

In my case I took prerecorded videos of myself moving an object around space and using programmed algorithms, a computer could identify the object and move another object in the virtual or real world in the exact way I had in front of a camera – To allow a more naturalistic way to control robots for example…those days the video couldn’t be live – it had to be prerecorded because the computational power was too much for our computers.

Anyway, I think I’ve always been more of a visual person as opposed to maybe a text or numbers person, so I naturally gravitated to the computer vision projects… Fast Forward to 2021 and computer vision is everywhere.

Cameras and their controlling computers are cheap and powerful…AND we have pervasive connectivity. Computer Vision in 2021 is perfectly suited to answering the first question of how Centinel will source the Raw data.

In other words, instead of those 3 machines on site that collect data on vehicle numbers, and customer types, can we instead have cameras on site connected to computers that can see all the cars entering and exiting the parkade and collect the very same data we used to, except this time – automatically? Just by processing the live parking lot footage and converting it into data.

It turns out that we CAN do this. It turn out that not only has the hardware become relatively cheap, but the software, really the brains powering Computer Vision and basically everything else. Software has shifted from being an enormous licensing expense, to now being a reasonable subscription so we can now rent it and get all the benefits of the technology without huge capital outlays, especially for specialized software like parking management systems.

So that’s the first question answered in a long-ass way – We will acquire the raw data we need using cameras and Computer Vision software. What about the second question of How will Centinel process this data and present it in a valuable way?

How Will We Process the Data?

It turns out that advances in tech have also made answering this question easier. Specifically cloud computing and the advancement of the humble web browser. You can do anything on a browser today. You no longer need expensive native software designed to be installed on your computer and with much longer update cycles. Now you can just you can just use cloud data – perhaps captured automatically by camera – and process it and present the entire functionality in a web browser. A Web Application. My favourite is probably my banking Web app. I’d much rather use a proper computer than my phone to do my banking and it works pretty well. Most data lives online already so why not just present it in a web browser – the original internet app.

So now that we’ve answered the questions of How we will source the Raw data and how we will process and present it as valuable information – we now know the basic building blocks and can use that to plan the build.

So the plan:

The Build Plan

It’s a 5 Step plan – based on the software dev life cycle.

Step 1 is the Design of the Centinel System

The system needs to be designed in detail. You don’t get to build a house without a design, same as any high-performance system, or hopefully high-performance system. Designing Centinel will be from research, user input and intuition. Designing it essentially means:

Specifying exactly how it will work – defining any relevant algorithms, rules and background system-to-system processes.

It means specifying the system architecture – i.e. how all the components will fit together from the cameras acquiring the data all the way to how this is linked up to be processed and presented in a web app. Finally, we need to design how the actual user screens on the web app will look and work. All the buttons and information layouts and what happens when you click this button or that one. etc. Remember the design is a blueprint to be used in our house analogy, by a building contractor to build the actual house. In our case the design will be used by a coder to build the actual Centinel system, so it needs to be detailed.

Part of the design is the test cases. Test cases are real use scenarios that are used to test that the system works as designed. Each test case specifies a user action and the expected system outcome. All the test cases basically form the full functionality of the system – which is why they are define in the actual design step. So, the outcome of the design step is a detailed design documents with test cases. I’ve budgeted 3-4 weeks to complete this.

The 2nd step is finding and hiring a coder to implement the design.

In reality the search for the right coder happens in the design step but they only officially start to build after both they and the designer – i.e. me accept the design as final.

The 3rd Step is the actual construction.

– the setup and coding of a system robust enough to be commercially deployed… not a prototype. In fact at this point I should reveal we’ve already done a proof of concept – a working prototype just to show that is was possible to connect a camera and use rented software to convert vehicle footage into data – we can now design something that a paying customer can use. I’m budgeting 8 weeks for the system, build step.

The 4th Step is iterative – testing.

Any bugs discovered are fixed in iterative coding. Once all the test cases pass scrutiny, the system can be signed off bringing us to

The 5th Step – commercial launch.

Now I’m not expecting the final v1.0 to be perfect as designed. I’m applying lean principles and building the minimum viable product. It needs to prove its usefulness in the real world and for that to happen, it needs to be marketed and supported. This is what this step entails.

Hopefully after some time – perhaps 6-18 months in the market we will be able to definitively answer the ultimate question of this whole endeavour:

Can technology resurrect our parking business in ruins from Covid-19?

In the next recording I’ll be describing the first step of the build plan – the design process

Till then, Thank you for listening!