The scourge of the Echo Chamber
Copy. Paste. Sure, they are useful tools is many situations. They are also quite often the tools of the unoriginal scoundrel.
Harsh? Not in the slightest.
I’ll not pretend to have the actual numbers on this (another tool in the scoundrels’s scum bag- trotting out stats from whole cloth) but it’s reasonable to say that a worryingly high percentage of articles, particularly tech articles, are just re-badged, minimally re-worded copies of the works of others.
“I clicked on this article to find out about cool Augmented Reality Systems; is this going somewhere?”
Patience, gentle reader. What I’m doing is building tension, setting the scene and telling a story.. this too is lacking today’s culture of handle-cranking, sausage-making cookie-cutting article making. Also, I’m about to give away an original idea; it’s only right that I should delay your gratification at least a little. Besides, research has shown that those who can handle having their gratification delayed are more likely to be better at doing life.
To that claim- careful readers will have spotted the asterisk next to the word ‘Original’ in this article’s title. I’m choosing to be honest here and not bury the caveat further down in the article. This is another technique that the scoundrel employs - and I promise this will be the last one I’ll mention here - the use of the click bait technique. No, there’ll be none of that here. I shall satisfy said asterisk immediately and tell you that as far as I’m aware this is at least an independently invented idea; it’s possible it exists out there already. Could I have Googled this? Could I have asked Jeeves? (That last one will surely sort by age.) Sure - but there’s a fine line between research and falling prey to the endless distractions out there on the web. I chose to avoid the dilemma altogether and focus instead on the writing task at hand.
The System - Find File in Reality
We’re all very used to being able to very quickly search our hard drives (or drives of any sort for that matter) for our assets. Wouldn’t it be great to be able to do that with our physical assets too? And here’s the thing about having as many hobbies, projects, and tools as I do - such a system is mandatory!
The requirements for such a system are simple, although their implementation brings challenges. I want to know:
I own the object (or have loaned it to a friend)
Is the object archived - i.e. in a box somewhere out of sight?
Where is the object, or the box in which it is archived?
An additional benefit of these requirements is I can assign a metric to the difficulty of obtaining the object. The price of retrieving a tool from a box within another box, stored in the attic is a great deal higher than a tool in a drawer in the office. However, the value of this information cannot be overstated. In its absence, one is far more likely to look for the tool in the easy to find locations first, and this will be time wasted in the event that it’s not there. Far better to simply grin and bear it and go up into the attic.
Over time the system will amass data on the searches performed, and the natural implication of these searches is that the object is needed. If a deeply archived objects are searched for quite often then a recommendation could be given for a new ‘home’ for these objects.
‘Object’ in this case could be ‘box of motors’ or ‘large stepper motor’ - the level of granularity should suit the purpose - it’s clear that I most likely don’t want to have to individually catalogue each of the resistors I own!
The challenge with this approach is that there is not always enough space to keep one’s things out on display. I do electronics quite a bit at the moment, but if that situation changed, I would archive these boxes into a larger box, and possibly put that larger box in storage, in the attic, etc. Indeed I have already done this with some of my less-used electronics. What I require now is the ability to either browse through a hierarchical catalogue of all of my stuff, or to find on a string in the way that I would with my files. The cool AR component kicks in when the results return. Using my AR goggles (or just my phone), the system can overlay a flashing icon on my real surroundings, guiding me to where the item is. Of course, it would give me a general clue first - “Go to the shed”, whereupon I could make use of the guiding icon to guide me to my destination.
The system needs to recursive, allowing relationships such as:
Office : Big Box 23 : Small Box 31 : Motor Drivers
Of course, this system relies on the good habit of cataloguing the items as they are purchased, as they are moved, and as they are archived, but this can be made much easier with the use of unique QR codes on labels that are affixed to the item or container in question. As I place these items in the box, the system sees the codes and makes the association between that object and the box in which it is placed, much in the same way a supermarket item is scanned. Similarly, if the box were to be moved to a new location, the system could track that movement using fixed cameras placed in each room where the system would operate.
There are other benefits that we get ‘for free’ once the system is up and running.
Do I have the parts I need for a project? The system is automatically an inventory system. One needs to bear in mind the consideration listed above - i.e. I know I have resistors, but do I have the resistors of the correct value?
I’m sure I’m not alone in having this experience- when the level of organisation hits rock bottom, the question of “Do I have an X” cannot be definitively answered, and time and project delivery pressures make it easier to simply buy an X. One time I needlessly bought a brand new jigsaw, such was the depth of burial of, yes you guessed it, my existing jigsaw!
Every programmer has heard of The Travelling Salesperson Problem, (my gender neutralisation) wherein the problem is finding the most efficient route that visits each of a desired set of destinations. ‘Efficient’ could mean shortest, or least resource intensive, and so on. In the case of gathering the objects required for a project (particularly in the case where objects are stored offsite, for example in a storage facility) the most efficient path to obtaining the object can be determined by the system.
Extending the System
Now comes the big idea- We can expand the system if we broaden the concept of owned object a bit to include ‘don’t own yet but can get from X’, where X is a store, online or physical. Now, the cost of obtaining an object is not as simple as how much effort is required to dig out the object from its location, but can include the cost of purchasing the object, and the cost of the time to wait for the object.
What started as a very useful assistant to answer the question “Where is that widget?” has expanded to a project management tool of utmost utility. Here’s an example usage to help illustrate how it might work:
I’ve been tasked with building a small robot for demonstration in 2 week’s time. The parts list is provided, and I can generate a list of tools I’ll need to get it done.
I devote a new empty box to the project, and ask the System to generate a new QR code for it, print it out, and stick in on the box.
The System knows which of the parts and tools I already possess, and therefore which I’ll need to purchase.
It knows some of the parts are in storage, 50km away.
It knows (based on a provided list of suppliers) that some of the parts can be bought at (almost) any time immediately from a physical store- it also knows the closest one of those stores to my location at any given time.
It knows that some of the tools I need are ‘deeply’ archived in my attic.
I know that some parts of the project need to be completed before others, and can use that knowledge to inform my decisions regarding when I’ll need to order parts or make a trip to storage.
I kick things off by asking the System to tell me where to find the tools and parts that I have on hand. It gives me a set of itemised instructions as to where to go and where to look, analogous to driving directions. These include a trip to the attic, but I happen to know that my son wants to archive some of his stuff, so I delay going up there until later when he’s home from school.
Before I follow those directions I ask the System to tell me what I need to order online and what I can go and buy from a physical store. I order the online parts immediately, then plan a road trip later in the day to visit the storage facility as well as drop in on the handful of physical stores I need to. Based on this I’m able to place orders with the physical stores, as well as pay, so that when I arrive later in the day I can simply pick up the order in one stroke.
I follow the directions to obtain the parts I have on hand (minus the attic of course), then go on a road trip along the shortest possible path to the stores, spending the least amount of time in each because the parts are prepaid and preordered.
Later in the day my son comes home and we have a small adventure climbing up to the attic, archiving his stuff (and yes the System has user accounts and he has one too) and I obtain my deeply archived toolbox. Near the entrance to the attic is a permanently installed camera that tells the System that I’ve removed the toolbox, which naturally, has a unique QR code stuck to it.
I get to work on assembling the robot, and do all I can until the other parts arrive. I’ve ostensibly created a new object, so I ask the System to generate a new QR code for it, print it out, and I stick in on the robot. I place the robot in its project box. I’ve done this in my office, and there is a camera permanently mounted there, trained on my work table. Because of this, it picks up the fact that I’ve place the robot in the box. I don’t take the box out of the office, and so that is its location as far as the System is concerned.
When I realise it will be at least a week until the rest of the parts arrive, I decide to clear some space in my office, and move the box from there into the attic. Again, the attic camera picks up this fact.
A week passes, the parts arrive, but the client has delayed the project for 3 months! I go into the attic, place the parts in the project box.
Three months pass and I don’t need to remember where the project box is- I simply so a search for the box, and I’m prompted to go into the attic to find it.
This is a contrived example, but it certainly includes many of the situations I, and I’m sure many others encounter on a regular basis. What do you think? Would you like such a system? Does it exist? Would it be more trouble that its implementation is worth?
Let us know what you think in the comments below.