Tuesday, August 20, 2019

Tech Company B-Corp Certification Surprise

I found myself down the B-Corp Certification exploration rabbit hole. Now that the certification craze dust has settled a bit (remember a few years ago when everyone wanted to be B-Corp Certified?) we have some industry data around what it all means in practice.


There are two "B corp" things to consider when talking about what it means to publicly commit to more sustainable business practices: one, B-Corp Certification which is a certification that a company receives from https://bcorporation.net/ (there are consultants out there who can drive the process for you). two, the Public Benefit Corporation incorporation type for corporate entities.

The Surprise

I was exploring "B-Corp Certification" in the context of a "tech company" considering codification of its existing business practices in a more public manner (money where its mouth is kinda stuff) when I came across what appears to be some fairly gnarly blockage for most tech companies. Most U.S.-based tech companies incorporate in Delaware (why they do this is a separate discussion and one you can just search the network for), yet B-Corp Certification of a Delaware incorporated company actually requires you to convert to a Public Benefit Corporate (PBC). You can read about that requirement at the bottom of this page which outlines some fine print. This means you'd have to move away from S or C Corp status, in order to be B-Corp Certified.

What Should You Do?

For most U.S. tech companies, that's pretty much a non-starter. The last thing you want is to go against the common grain of a massive legal/finance/tax industry that has been baked for decades around S/C-Corp incorporation types. If you're world is constrained enough that you, and your legal/finance/tax vendors/team, can foresee all the business dynamics therein, and you want to convert to PBC, then you can go ahead and do so without much risk. However, if your world is variable on these fronts (and let's face it, any tech startup is riddled with variability here), that's more risk than you probably want to swallow.

Etsy forwent their B-Corp Certification renewal in favor of retaining their existing corporate structure when the Certification dictated they convert to a PCB. Read all about that here.

The B-Corp Certification requirements/statutes may try and flex to accommodate Delaware incorporation rules/regulations to support more "tech companies" being able to B-Corp Certify, but that sounds like an uphill battle.

I dipped my toe in this water for a mere 24-hours. If someone has better data, please share in the comment section.

Thursday, July 18, 2019

Voice UI

I've been using Alexa, and Siri for awhile now. I gave Google Home a try for a few months, but dumped it (not enough integrations with IoT devices). The promise of voice landed with the dead thud I thought it would. That said, there have been a few use cases where I've found it immensely valuable.

Home Automation

Being able to control parts (automated blinds/shades, thermostat, lights) of my house via voice commands has been great. Alexa has the most integrations and home IoT devices are so brutally splintered, that in order to effectively play the field, the only option is Alexa. I'm sure there will be consolidation here, and Apple will eventually win that battle (though HomePod might not survive long enough for it to matter). I've been shocked at how literal the voice system is however. It's been challenging building carefully constructed strings of commands in my head and spewing them verbally into the air in order to get Alexa to do the right thing ("Alexa, turn off the 3rd floor fan."). I'm a bit surprised Alexa hasn't figured out more natural/ambient context. If she could figure this out, it'd be really helpful. Having to remember the command syntax for infrequently used commands basically means I can't ever commit the commands to memory, so in turn, I don't use them. With graphical UIs, I always have visual context to guide my memory and actions.

Talking To Me

I also use Alexa for morning news briefings. Periodically I ask her to read the "Sleep With Me" podcast when I'm having trouble falling asleep. I sometimes ask Siri to "read me my new messages" in the morning (I leave my phone downstairs each night so it's not in my bedroom) in my bedroom, or while I'm making coffee.


I use Siri for iMessage'ing and Reminders constantly. I also use OSX dictation periodically. Being free from my phone to message ppl (at home, or in the car via CarPlay) has been awesome! There are plenty of times, mostly while in the car, however when Siri gets it wrong, and that's annoying.

The Narrows

The usefulness of voice however is excruciatingly narrow. It is only usable when you are alone. You can't use it unless you're in a noise/distraction free environment. How often are you in a noise/distraction free environment? That's what I thought… basically never.

Tuesday, February 12, 2019

Tipping and “The Apps”

I’m reaching fatigue levels with all the delivery apps out there. From ride-sharing, to food delivery, the veil between me and the laborer’s “tip” is getting old. While “The Apps” play with their margins by tweaking “services charges,” “convenience fees,” and “gratuities/tips,” the connection I thought I had between myself the consumer, and the delivery/driver person doing the actual work is now completely muddled and confused.

From service to service, I have zero clue who’s abusing their position as labor aggregator and who is not, and I’ve done enough reading of first-hand accounts from laborers that suggest these “fees” and “tips” are being blurred into minimum wage augmentation for the firm’s benefit, to know that abuse is clear.

Adding to the confusion is zero differentiation between food delivery services. All the delivery folks deliver for all the services, so the fact that there are a half-dozen food delivery apps installed on my phone (not one of which could I tell you delivers for the specific restaurant I’m interested in in a given moment), that are all the same to me, means there is never a human to connect to one service or another.

And no, just tipping in cash doesn’t solve the problem for me. Sure it helps the one random delivery person that happens to land me as a customer, but the problem is systemic. Unless all of us decided to move to cash tipping simultaneously, the issue still pervades the labor layer in this cake. That issue is creating an abused, underpaid, fatigued, disloyal, disinterested, large labor pool to fuel what is generally a crappy experience (out of the last four food deliveries you’ve received, how many were actually correct?) for the consumer anyway.

Something’s got to give.

Tuesday, January 22, 2019

Finally Deleted Uber

This was a very long breakup. I need some space to write it all down.

The Last Straw

Last night I deleted Uber from my phone. After waiting for forty minutes at LAX, I watched my car drive by as the app told me “ride cancelled.” In the end, I’ve simply had too many “ride cancelled” experiences from drivers. While last night’s cancellation was of a different, inexplicable, kind, generally after accepting your ride at a major airport a driver calls you with a feigned “I’m on my way” (when in fact they are not, and instead they’re sitting in a holding lot trying to determine whether or not you’re worth pulling out), only to then solicit your destination from you. Technically they’re not allowed to ask this question due to regulation against location discrimination, but, they do, and you’re left with a choice, to either disclose the location in hopes that it’s convenient enough for them that they’ll keep the ride, or to withhold the information in hopes that they don’t cancel the ride. Obviously they receive the destination information once you’re in the car, but, for them, that’s often a ride risk too great to accept. Anyway, over the past few years this has become the norm at major US airports, and when they don’t like what they hear, the cancellation can lead to non-trivial delays while you regroup and try to find another car (and go through the dance again), not to mention the awful customer experience the whole things yields (yeah, I want to handle a phone call while I’m darting off the plane in a sea of people while scrambling to use the restroom, and queue for escalators and trains, often with kiddos in tow).

I’d been hanging on to the Uber app for a handful of reasons, but they’ve, in some cases literally, fallen away. 


I’d wanted to remain a loyal and supportive of people I know that used to work at the company. Watching friends fight broken systems of regulation and governance and control that were no longer serving the populace as well as they could, was vicariously thrilling. It’s like I was there fighting along with them!

This was really why Uber started. If you never experienced the medallion based taxi cab system in San Francisco pre-Uber, consider yourself lucky. The City distributed a precious few medallions for a major metropolitan area, and you could easily wait thirty minutes for a cab to appear (if it appeared at all); I always thought it was strange how few cabs there were in SF. The car was falling part, and the driver could barely navigate the city to your destination. It was a total mess, and Uber wanted to fix that.

Early on Uber was great obviously. Nice cars (private “black car” drivers with sweet cars and keen navigation knowledge) would pick you up at the tap of a screen. Now “black car” quality is often worse than the old busted-up cabs, and the drivers are generally more clueless than the original taxi-cab drivers; relying on a mapping app to get them to the destination. While I’m on the topic, a quick run-down of the service tiers.

- UberX: general population drivers/cars. Drivers are usually really nice, but they’re not professional drivers... they’re just like you and me, driving our cars around; only with passengers.
- Select: general population drivers, with cars that are somehow a step-up from baseline. This is my go to category. You usually get a driver who cares about his car (quality/maintenance are generally much better). Their navigation knowledge is the same as UberX though.
- Black Car: these are drivers who generally drive “for a living.” The cars are crap (run-down), and the vast majority of the time you get a much better car if you choose Select (when available in your area). You often get SUVs when you pick this category, and I hate riding around in big trucks. I avoid this category entirely. Nothing good comes of it. Furthermore, in major US cities, the drivers are clearly stuck in some indentured servitude relationship with the car owner, and it just has a bad feel.
- Lux: LA is the only city that gets lux, and it is awesome! Killer cars (think Benz S-Class (no Cs or Es allowed)... Porsche Panamera... 7-Series BMWs) and the drivers are true pros. If they use an app to navigate at all, it’s Waze for crowdsourced feedback. These are drivers that want to drive, and love to drive, and know how to drive. Not cheap, but great experience.

Uber blazed the trail for regulation challenging. While they’ve made room for themselves, and other ride-share services, they’ve also made a lot of enemies, and that hurts the customer. As a frequent traveler, those enemies often come in the form of the unique regulatory bodies that manage traffic/parking for international airports. In most major US airports ride-share services have been regulated exactly as taxi-cab services have. They have their own pick-up/drop-off zones just like taxi’s. There’s just one problem, airports are nothing more than a series of queues, and if you’ve ever worked with queuing theory, the worst thing you can do to service the queue, is to randomize queue extraction, which is exactly what ride share services do. To understand what I’m saying, witness the “ride share pick-up” zone melee at LAX. Clients and drivers desperately trying to find each other amidst traffic chaos. It’s a mess. LGA is doing some interesting things to try and fix this. True car queues (which taxi cabs have always used) are much more efficient at airports. I’m going to try taxis at airports again for awhile, to see how the experience compares. After all, trying to negotiate a ride with a driver that’s likely just going to cancel on me certainly isn’t working.

International Support

Another reason I hung on to Uber was international support. Several years ago Uber started making inroads in other countries I’d travel to, and it felt like it was going to be super convenient to cut through the ride-negotiation and navigation language barrier by putting my destination in an app. However, ride-sharing in other countries hasn’t been as well received as it has been in the U.S. (and I suspect this is because other countries generally managed taxi cab regulation better than we did, and the populace was just fine with how things were working), so often there is literal civil unrest amongst the taxi cab drivers and their unions, or governments have regulated such a small footprint for Uber, that as a consumer, the product experience is pretty much non-existent. If you’ve ever tried to communicate to a driver in an unmarked car in a foreign language where you’re standing, and where they’re parked, you know how painful the experience can be. Uber is just not as acceptable or nearly as reliable as it is in the U.S., so years ago I fell back to using local taxi-services, or private services, instead.

A sampling of experiences.
- Barcelona, Spain. Uber is allowed to service the city, but, there are only a few cars and they’re never available. Unusable.
- Tokyo, Japan. Cell coverage in the warrens of the city is generally too poor to reliably use an app for transportation. Besides, the taxi cab system here is so damn good, there’s just zero need for an app based solution. Why bother?
- Paris, France. Somewhat reasonable, though, there’s such backlash against ride-sharing, I always feel like I get a scowl from the doorman at the hotel when I return; not a good feeling. Peer pressure.
- Quintana Roo municipality, Mexico. yeah right. The local taxi union will practically run an Uber driver off the road. Too dangerous.

In the end, other countries generally have their public transportation setup in a way that just works 100x better than the U.S., so, it’s easier just to use that.


I spend a fair amount of time in New York. I gave up on Uber there long ago due to driver/car quality issues, and have used a private car/driver service there since (the taxi cab cars are poorly maintained and generally un-clean). I’ve also developed sympathy for taxi cab medallion owners (and downstream driver relationships) in NY. I do believe the NYC taxi commission failed to uphold its agreement with medallion owners, and they truly did get screwed (a simple look at medallion pricing graphs proves this point). The municipality clearly stated the medallions provided exclusive rights for ride-hailing, and, yet ride-share services have prevailed. I’m fine with open market winning here in the end, but the taxi commission should recompense the owners for the gap in this case.


I will miss the Apple Watch Uber app for sure (Lyft doesn’t have one). I often do long one-way trail runs, and being able to hail a car on the other end from my watch was awesome.

Over the past few years I’ve had a handful of experiences with Lyft that have impressed me. I don’t understand why two companies providing seemingly exactly the same service at the core, could be so different, but they are. Lyft drivers are somehow statistically kinder, and I’ve never had a pick-up cancelled on me. I’m on Lyft now. I’ll report back in a few years to let you know how it goes.

Monday, January 21, 2019


A week ago I disabled all notifications across all of my devices. Life is better this way. It's been an interesting experience that reminds me of life before mobile devices. How did we ever think it would be a good idea to sound that little email "ding," and put a message count graphic on everything?!? The other day I wrote a post called "Taking Charge Of My Attention", about leaving my phone at home thanks to my Apple Watch. This post is kind of a continuation of that thought. I believe multitasking is a fallacy; the human mind does not function well with interrupts.


  • Surprisingly, others are generally offended or upset when they learn that my notifications are disabled. I'm curious as to where this comes from. Is it rooted in envy? Disgust? Concern for me in that I might miss out on something?
  • Disabling notifications is actually quite difficult as the OS builders do NOT want us doing this. Fewer notifications means less engagement with their products. The list of features I would like to see around better supporting notifications control is long, and I can't see any of it getting prioritized anytime soon. The most important use case around notification handling that I'd like to see solved would be supporting a white-list of contacts that I want communications apps to notify me about when I receive messages from those designated people. Sounds simple and intuitive right? Turns out it's actually impossible to do with Apple products.
  • You can't disable the Phone app or its notifications. I use an app called Hiya to impede calls I don't want.

I find I'm much calmer, and in control now. I engage with apps and communication when I want to, not when they want me to. It takes awhile to get off the dopamine drip, but it feels great.

Sunday, January 20, 2019

Machine Play: Again

I updated my system for sending SMS notifications when my deck furniture’s covers get blown off in the wind. My original post talked about version one of the system. I’ve since made a handful of refinements to simplify things.
  • I ditched the Amcrest camera in favor of a Foscam. The Amcrest guys broke HTTP-Basic auth with a firmware update awhile ago, and the new auth setup doesn’t work. So, Amcrest essentially broke HTTP access to image snapshots. Foscam isn’t much better, and in some ways is much worse (auth creds passed directly in the URL), but they at least support HTTP image snapshots, and I, partially, solved the massive security issue by locking down all network i/o to my private LAN. The state of IPC cameras is abysmal; when did outdoor webcams get so bad?!?!
  • I removed the cloud server from the system entirely after I was able to get all of the correct packages/SDKs installed on my local Raspberry Pi; now everything lives local. With everything local, I was able to remove the annoying FTP server.
  • I rebuilt the data model on an order of magnitude greater number of sample images. And, in terms of image labeling, I went to two labels instead of the previous five to try and describe the various non-covered states. Evaluation/prediction is much better now.
  • I checked w/ the CloudFactory folks for image labeling, and they’re setup for massive scale (millions+) image labeling; my job was too small for them.
I also came across https://www.boulderai.com/ which is doing some cool commercial grade outdoor imagery work.