Stealing is the future of retail

I stole something from the Apple Store today.

Or rather, it felt a lot like stealing. I walked in, found what I wanted, opened the “Apple Store” app, scanned the barcode, and walked out. It seemed so much like stealing, I felt a little awkward leaving the store. Doesn’t someone want to check my receipt or something? I literally interacted with zero people and the entire process lasted no more than 3 minutes. It was exhilarating.

I’m the kind of guy who buys his toilet paper online. Online shopping offers huge household efficiency over retail, especially for consumables. When I want something right now though, or I’m not sure exactly what I need, there’s nothing better than heading to the nearest store.

But most stores just don’t get it. I don’t want to buy something. I just want to walk in, grab the item, and walk out. Standing in line, unloading my cart, dealing with a clunky Point of Sale device… These steps are all ancillary to my goal of get in and getting out.

Apple Pay and Google Wallet won’t ultimately be successful because they don’t offer any real benefits over ingrained consumer behavior. I have to take my phone out of my pocket, then open an app, then wave it over a sensor. I’ll just whip out my credit card and hand it to the cashier, thanks.

“Buying” should be something that happens as a byproduct of doing the thing I want. Scan everything in my cart with NFC, let me review the total on a display, cross a “buy” line to confirm, and finally, charge my credit card.

The checkout line is a relic of inefficiency created at a time when technology offered us nothing better. Tomorrow’s retail experience will feel a lot like stealing. And it’s going to be great fun!



Thanksgiving is my favorite holiday.

Whereas the giving spirit of Christmas is mired by needless consumerism, Thanksgiving represents the best and truest parts of what it means to be human: to gather those friends and family in my life that I care about most, share a magnificent feast that we prepare together, and be given a chance to pause and be thankful for this amazing life we all have the opportunity to live.

It’s so easy to take our lives for granted. I appreciate the annual reminder.

This year, I decided to make a list of everyone in my life and write down a thing or two about each that I’m thankful for. The task has been extremely cathartic for me, because it’s such an easy thing to forget to consider when going about daily life.

When I paused for a moment and really got to thinking about each person, I was shocked at all that I come up with, how easy the task was, and how I felt afterward. Coworkers, friends, family – even people in my life that for one reason or another I’ve drawn issue with along the way – everyone had made some important impact in my life worth being thankful for. Mostly this list was drawn up for my eyes only in the early Thanksgiving dawn, but in some cases I’ve decided to share some of those insights.

I encourage you to do the same. There really is so much to be thankful for.

Have a happy Thanksgiving, all.


Milk Run

At 3pm everyone got up and drove to the store to buy a jug of milk.

City planners never anticipated a day when millions of people would decide to drive to the store simultaneously, so naturally this caused quite the scene on highways and grocery stores across the nation.

The evening news reports hypothesized an extreme case of coincidence brought on by a persuasive nationwide advertising campaign. But I have theory.

It’s nicknamed “the angel”. Implanted in the frontal cortex of a rat, it allows a human controller to twitch the rat’s tail on command by releasing a cocktail of hormones and targeted electrical pulses. The question always was: What did the rat experience whilst twitching its tail? Was it something akin to an involuntary twitch? Or did it feel like a decision forged by free will? No one knew for sure until they implanted it in a human.

The best way I can describe it to folks without one: it’s like a gut feeling you can’t ignore. You get this deep down desire to do a thing, so you do it. But you can’t really distinguish between your own desires and the Angel’s. Some people say they can, but I rather doubt that. Or at least I’ve never been able to.

Early cynics spread fear by claiming that device operators could move your body around like a robot. In actuality, it’s much more nuanced. But if they wanted to, they could probably make you want to get up and dance.

But they don’t want to. That’s not what The Angel is for.

In fact, I seriously doubt that my Angel has been activated in me but for a handful of times since the implant. Once, I was walking along Valencia Street when all of a sudden I had this urgent need to run and hide in a safe place. I didn’t know why at the time, but I’m glad I did, because not seconds later a terrorist’s bomb exploded near where I was standing. Without Angel, I’d have surely died – and so would dozens of others who fled the scene exactly as I did. Officials later acknowledged issuing an “emergency flee” order in the immediate vicinity once they became aware of the bomb.

The bottom line: Angel saves lives. Especially in these uncertain times.

With terrorism on the rise and success stories like mine to point to, it’s no wonder that 3 out of 4 Americans opted for the free implant, paid for out of anti-terrorism budgets and administered by the TSA. With no known downsides and so many clear benefits, there’s even talk of making the implant mandatory in the future. At least for the nation’s children.

I suppose those in charge could use the implants to enslave us in labor camps, building giant pyramids or the like. But the robotic revolution has made construction and other manual labor so efficient as to be well outside the scope of human endeavor. Instead, the government needs the seething masses to do what we’ve always been best at: being good little consumers. So, with only a few crazed claims to the contrary, the angel is used as it was intended: to protect the citizenry from harm.

Milk Run Day wasn’t expected. Was it a glitch? A test?

And why am I standing here with a shotgun?

Dear Reader: I decided to try something new this time around. I love thinking about the future and don’t often get to write about it. What do you think? I’d love your feedback.


How to autosave camera uploads to Google Drive

I’m a huge fan of Google Drive and Google Photos, and am in the process of moving all my photos over from Dropbox. One feature I miss from Dropbox is that it can capture screenshots and photos and automatically place them the cloud for you.

Thankfully, it’s super easy to configure this for Drive on a Mac as well.

Saving screenshots to Drive automatically

  1. Create a new folder called “Screenshots” in your Google Drive.
  2. Open Terminal.
  3. Run the following commands:defaults write location ~/Google\ Drive/Screenshots/ killall SystemUIServer

Now screenshots will be saved to the Screenshots folder in your Google Drive, not the desktop.

Saving camera uploads to Drive automatically

  1. Create a new folder called “Camera Uploads” in your Google Drive.
  2. Connect your camera
  3. Open the “Image Capture” app
  4. Select your camera on the left
  5. At the bottom of the devices list on the left, you may see “Connecting this camera opens:”. If not, tap the little up arrow on the bottom left of the screen.
  6. Select “AutoImporter” from the list of applications for “Connecting this camera opens:”.
  7. Change the “Import To:” folder to your Camera Uploads folder in Google Drive.


It’s just wood

A few months back, I decided to start a vegetable garden. I have fond memories of gardening with my folks when I was a young boy, and I figured a garden would be a good outlet from my day to day life in tech.

Looking up and down the aisles at Lowes and not finding a raised garden bed that met my needs, I inquired with a staff member:

“Sorry, we don’t carry anything like that.”

“Darn. Ok, I’ll try another store then,” I sighed with resignation.

“You know,” he said to me, “it’s just wood.”

It took me a moment to realize how liberating this statement was. To him, woodworking held no mystery at all – it was just a thing you did. If he wanted a garden bed, there’d be no question in his mind that he’d make it himself. Why spend more on something suboptimal when you can build exactly what you want?

So I did exactly that, and we now have a wonderful, custom-built gardening bed growing some very tasty kale.


Most people let mystery stop them

We resign to not knowing how to change the oil in our car, replace a busted light switch, or develop that app idea into a real app. “You need to be an expert to do that”, we say. Thinking back to the times I’ve challenged mystery and learned to do something myself, I recall it giving me great satisfaction. And once demystified, those tasks that seemed impossible before now seem trivial.

Did you know that there are over 110K videos on youtube about replacing a light switch? Or that Hack Reactor claims 99% job placement rate after graduating their 12-week developer program? The resources you need to overcome the mysteries around you are plentiful.

Challenge mystery

When you take it upon yourself to learn how to do something, you’ve not only become more self-reliant, but you’ve expanded your mind to new possibilities. If I had settled for a pre-built planter box, I wouldn’t have been able to construct exactly the kind of box I wanted, nor improve the design along the way to fit my needs. Now the next time I want to construct something out of wood, I have the confidence to know that I can figure it out.

The best part? The more you challenge the mysteries in your life, the better you’ll get at it.

What will you demystify?

Comments welcomed on Hacker News.


Musings on the future of the iPhone

When Steve Jobs died, the rumor was that he left a playbook of sorts for Future Apple to follow.

With the release of the 64-bit ARM7 in the iPhone 5S, I’ve started to ponder if this hints at one of those far-future milestones that Jobs would have laid out: that the notion of laptops and desktops will one day simply cease to exist.

Granted, credit must be given to Ubuntu Edge for demonstrating how close that world truly is, but in hindsight, this next iteration of computing just seems so obvious. Why lug around two computing devices, when in the near future, our iPhones will be as powerful as the laptops we currently carry in our backpacks, and the desktops that used to populate the space below our desks?

Going 64-bit doesn’t seem like it will improve performance in any meaningful way in the short term, but it’s an important step in the march towards making the iPhone your sole computing device. I’d imagine Apple, knowing their marching orders ahead of time, decided to make the jump to 64-bit ahead of when they needed it.

I look forward to a day when all I have to do is plug in my phone to my monitor and get to work.


If you lost your wallet at Outside Lands, your information is now public

Update: Much has changed since I wrote this blog post! I’ve written a follow-up here and I encourage you to read that first.

If you were one of were one of the many thousands that attended the Outside Lands festival in San Francisco over the weekend and were unfortunate enough to drop your wallet – your full name and private information are now available for public consumption.


Traditionally, Lost and Found is facilitated via the exchange of information; the loser of sunglasses identifies said sunglasses with enough detail to ascertain their ownership. This safeguard exists to prevent someone from stealing items that don’t belong to them.

The organizers of Outside Lands listed all the items in their Lost and Found inventory on their web site. With good intentions no doubt, they also added photos and detailed descriptions of those items. This is rather pointless, but it also effectively defeats all security – anyone could very easily claim most of these items just by using the photos and descriptions on their site.

Most importantly, they made a critical error by listing the names on the drivers licenses and credit cards they found. Not only is this absolutely pointless (no misidentification is possible), it exposes a huge privacy invasion to unsuspecting persons (who could even be minors). For instance, using name matching alone, you can clearly identify the full name of a student at University of Central Oklahoma (name listed on ID), what state she’s from (name listed on drivers license), where she went to undergrad (name listed on ID), and where she shops for gas (name listed on Credit Card).

This is a great reminder to all us developers: with great power comes great responsibility. Just because you can make a Lost and Found web site doesn’t mean you should do so without first considering the implications.

Update: Soon after writing this post, I got a call from Travis Laurendine, the organizer of the hackathon that developed this web site for Outside Lands. He communicated that the site was released prematurely and he too was concerned about the points mentioned in my post. They took the initial version version down while they made repairs.

My intention in writing this post was certainly not to attack a group of hackers who stepped out on a limb and made something people want. I simply noticed what I felt like was an improper disclosure of information by a company that should know better, and wrote a blog post about it to find out what others thought (after emailing Outside Lands directly). The amount of interest the article generated was unexpected, but I very much appreciate the quick response taken by Travis & team; it is a testament to the ever interconnected world we live in. I look forward to seeing the newly revised version of the site when it is re-released.

So what do you think? I’d love to hear your perspective over on Hacker News.


The importance of privacy

In this day and age where web apps can be built in a day and released to millions, it’s vitally important that we leave time to consider the implications our products have on the world. I’m thankful that the folks at Outside Lands took notice and cared enough about their fans’ privacy to review and improve their Lost & Found web site when I wrote a blog post voicing my concerns that it exposed too much information

Anyone who has worked with me knows that I’m a proponent of rapid iteration. The best way to learn if a product is something people want is to actually get a simple version of the idea out the door for them to use. In fact, Hackathons themselves can be thought of as applied product brainstorming – the group doesn’t know which ideas will work best, but after 24 hours, you all have a pretty good idea which products will survive in the real world.

This is what makes hackathons such special places: they concentrate all our mental energy on the sole purpose of releasing a new product into the world. They remove all the red tape and unnecessary barriers that typically slow down dev cycles. A hacker who spends his time writing up a Privacy Policy isn’t doing it right!

When I learned that the Outside Lands Lost & Found web site was developed at a hackathon, I felt sad to think that my blog post, taken out of context, might negatively impact their ability to host another in the future. As a strong proponent of such events, this was never my intention, and I certainly hope this doesn’t happen. The folks behind this hack took a good idea and got it out quickly – there’s a lot of merit in that. Maybe they didn’t consider all the issues, but when the problem was brought to their attention, they fixed it and continued to iterate. This is how successful hacks become successful web sites.

I feel strongly that as software developers, it’s our responsibility to be aware of the privacy implications of the products we put out in the world. In a day and age when personal privacy is being challenged at every turn, it’s important that, even if we ourselves aren’t concerned about the privacy of our own information, we respect the rights of our users to control the privacy of their own.

This applies even if you’re releasing presumably “harmless” data as in the first iteration of the Lost & Found site, which exposed the type of credit card a person owned and where they went to school; without that person’s consent, you have no right to expose it publicly, even if it makes your product easier to use or simpler to build.

A part of this is just having an awareness of the issues – if we come from a place of respect for our users’ wishes, that respect will carry through to the products we create. But it’s also important that we recognize that protecting our users’ right to privacy is a vital part of releasing our products to the world – and that doing so is our responsibility as developers.

I’m certainly not advocating that we start inviting the EFF to hackathons (though I’m not against the idea, given the right construct!) – simply that we make considering privacy implications a step in the path towards public release, much as we might consider a production hardware upgrade. Am I retaining more information than I should about my users? Am I making it clear to them what information is being stored? Am I releasing information publicly that they wouldn’t want me releasing?

It seems to me that privacy has become a grey area over the years, with more and more people (especially us developers) no longer considering it an important right to defend. I personally don’t know what’s best for humankind as we forge ahead in this ever interconnected world we live in, all I know is that privacy matters to a lot of folks, so I’m going to do my best to respect that.

What do you think? I’d love to hear your perspective over on Hacker News.


Memories in the cloud

My wonderful grandmother Mary passed away last week. She was a beautiful person, filled with so much love for all.

My sister and I are putting together a slideshow to play during the memorial service, filled with pictures of her and my grandfather’s life together. It’s really wonderful how easy Dropbox has made it to compile photos from various family members.

Photos are one thing, but it’s amazing how quickly you forget everyday things about someone who has died, like the sound of my grandmother’s voice. Video is still rather difficult to share and keep readily accessible, and frankly, we just don’t have much video of her.

A wonderful surprise came when I realized that because I’ve been using Google Voice for several years, I have archives of every voicemail that my grandmother ever left me. It was such a treat to hear her voice again, and be reminded of her amazing spirit in a way that no photo could.

Messages cannot be downloaded directly, but if you use Google Takeout, you can download your messages all at once as mp3 files.

As our lives move to the cloud, it’ll be easier to look back and recall cherished memories. I’m thankful for that.

Life goes by so fast.


You hire what you measure

At a recent conference, I spoke with an engineer who confided in me that the well-known tech company he works for is having an “innovation crisis”, where everyone is brilliant and works hard, but progress towards launching new features seems slow and uninspired.

So I asked him: what’s your hiring process? He answered with the mantra we’ve all heard before: “we hire the best and brightest engineers from the top schools – we have PhD’s and polymaths… We should be innovating like crazy!”

When did we get it in our heads that to create a successful product we needed only engineers that fit this traditional mold?

The beating heart of your startup begins and ends with the people you hire, and I believe that true innovation starts with your engineering team. After all, feature specs for a fast-growing startup are an ever-moving target: wouldn’t you prefer an engineer who can think on her feet, filling in the inevitable uncertainties that arise with her own good sense?

I’d argue that most startups still working things out don’t need engineers with strictly deep technical chops. I’d suggest that many of us would be better off if we started hiring more like IDEO:

Candidates [of IDEO] bring in examples of work they’ve done, things that they are passionate about. They have to get excited when they’re talking about what they’ve made and what they want to make. It’s easy to evaluate them when you get them in a room with a bunch of people who feel the same way.

Beth Strong, Director of Recruiting at IDEO

When was the last time you interviewed an engineer and asked them to talk you through a previous project from a product perspective? How would they go about things differently knowing what they know today?

I look for engineers who know when to cut corners, who choose launching over perfection, who think three steps ahead of the product vision and anticipate change with flexible code.

The next time you think of running a candidate through a tired whiteboard problem like “rotate a matrix 90 degrees”, be critical of yourself: does this inform you of their ability to be an effective member of your product team?

Instead, how about sitting them down with a relevant and open-ended project, and see how they set about accomplishing the task? Do they organize their time effectively and focus on the right things? Is their code structured well? This form of technical interview is more interesting and engaging to the candidate – and by talking with them later about what they produced, you’ll get a significantly better signal on their real world abilities.

If you start hiring this way, your startup will undoubtably be more innovative.