Our mission

BARcode v1.38.0

svreef

Webmaster
BOD
I've wanted to try out Google's maps APIs since I started working on BARcode and I finally got a chance this weekend.

Now, BARcode calculates the distance between members when equipment is marked as ready and includes this information to help nudge folks to exchange items.

This was a real quest in engineering. For starters, the location fields are free-form and allow you to enter anything you want. This is not great for software, so I added a list of California localities, which I had to derive from an online database of CA "Census Designated Places". Thanks to @Reefinglens I learned that such things exist - because "Crockett" is not a city or town, but is a CDP. The list was too long, so I shrunk it down by choosing an artificial lat/long box to limit it. Then, I used a fuzzy search engine to try and match these locations to what users enter. I had to figure out how to use Google's APIs to get what I want. It turns out that if you give the reverse Geo-coding API a lat/long, it returns all the things that exist there...when all we want is a CDP/locality. Finally, I had to work out how to use their distance matrix API. Fun!
 
I've wanted to try out Google's maps APIs since I started working on BARcode and I finally got a chance this weekend.

Now, BARcode calculates the distance between members when equipment is marked as ready and includes this information to help nudge folks to exchange items.

This was a real quest in engineering. For starters, the location fields are free-form and allow you to enter anything you want. This is not great for software, so I added a list of California localities, which I had to derive from an online database of CA "Census Designated Places". Thanks to @Reefinglens I learned that such things exist - because "Crockett" is not a city or town, but is a CDP. The list was too long, so I shrunk it down by choosing an artificial lat/long box to limit it. Then, I used a fuzzy search engine to try and match these locations to what users enter. I had to figure out how to use Google's APIs to get what I want. It turns out that if you give the reverse Geo-coding API a lat/long, it returns all the things that exist there...when all we want is a CDP/locality. Finally, I had to work out how to use their distance matrix API. Fun!
This is why you are awesome and we are lucky. Thank you!
 
Let's multiply the size of the office we give him too! Hey, while we are multiplying by zero, we can add anything we want onto the list!
 
Now, that I have a larger office and a larger salary, I pushed another update with the following changes:

Screenshot_2021-12-13_18-03-01.png


When you hand off a piece of equipment, you can choose one of the BOD members that may not be on the list. This makes it a one-step process and the item is marked as available immediately, since the BOD member is not using it, just holding it.

Also, when BOD members get in line, they have to complete the entire process. Before this update, there was a shortcut for them to get in line with a single click. That was mostly there to handle the above situation - they had to get in line to receive an item to hold.

When you get in line, the "location" field is not free-form anymore, you have to choose from a list of over 400 CDPs (see first post).

Finally, even though I said "BOD" above, the list of people that can hold equipment can be customized and it's possible to add someone who is not a BOD, or to exclude some BOD members that don't want to hold equipment.
 
A few more updates released today:
  • Improved distance messages when the destination is the same as the origin.
  • A job now runs twice a week to encourage equipment to move: if an item has been available for too long, BARcode posts to its thread with a list of suggested recipients, the three closest.
  • If someone gets in line for an item that had no line before, a PM is sent to the user and all the people holding one, to get things kick-started.
  • "Your collection" is filtered to show only alive items by default.
 
A few more updates released today:
  • Improved distance messages when the destination is the same as the origin.
  • A job now runs twice a week to encourage equipment to move: if an item has been available for too long, BARcode posts to its thread with a list of suggested recipients, the three closest.
  • If someone gets in line for an item that had no line before, a PM is sent to the user and all the people holding one, to get things kick-started.
  • "Your collection" is filtered to show only alive items by default.
I wish I could give 4 likes for all 4 things you improved
 
Back
Top