Mentorship is Worth the Pay Cut

I’ve been writing a lot lately about humility and vulnerability and leadership. All of those things involve a great deal of sacrifice and a willingness to embrace the unknown. This week, I spent a few hours each day helping kids build software. Most of them had game ideas. Some had seemingly impossible goals they achieved and surpassed. A few finished early and went on to make two and even three apps. All of them showed something on a mobile device or laptop after only a week of development. We’re talking about campers age 10-12 building fully functioning games from nothing in a few days, all with original artwork.

As someone who started learning to build software at age 13, I am humbled to see what these amazing young people are doing each day. The rate at which they are able to absorb and apply the fundamentals of interactive product design is simply breathtaking. What was most astonishing to me was how much they remember. With every adult I’ve trained, they all universally needed to be shown something more than once. These aspiring engineers are routinely demonstrating their attention to detail and appreciation for the moral and ethical implications of their efforts.

As someone who has worked with intellectual property for years, I feel great pride in these intrepid young people. They recognize the right of the creator to be credited and possibly compensated for use of their work, even when discovered through Google Images. I feel embarrassed for my marginal use of such copyrighted material in my past work.

I’ve written before about the rockstar curse and what it feels like to be openly referred to as a god (still happens, still uncomfortable). My experience this week changes everything. I thought my choices were limited because I have trouble finding anyone with more skill or expertise than I have. As it turns out, I was looking the wrong way. Mentoring is the right way. I learned more this week than in the last month of client work. But it’s not about me. It’s about the brilliant young minds who will go on apply what we’ve taught them. That’s worth more than money can buy.

Give Day Tampa Bay: A Humbling Experience

Rarely in my life, some say too rarely, I have had the good fortune to experience something awe-inspiring, something that humbles me and reminds me how powerful community can be and how small I am in the big picture of the universe. Today, I experienced one of those moments. I’d like to share it with you.

Last Thursday, shortly after recording a podcast episode for Distilled (iTunes link), my co-host, Justin Davis, made a comment to Ned Pope that changed my life. Ned is president of Florida Next Foundation (, which supports the efforts of non-profit organizations in Florida. His office is on the opposite side of the building from mine. Justin’s is halfway in between. Before last week, we barely discussed much detail about today’s event, but we chat all the time about the various goings-on of our lives. Ned and I shared a stage last year at Karaoke for the Kure ( He is a rock star in more ways than I thought possible, but that’s a story for another time.

Justin’s comment was a suggestion that we interview some of the folks running non-profits, as part of a live podcast during Give Day Tampa Bay ( I think he meant to do it as an audio thing initially, but it quickly escalated. Sunday night, we collectively realized we had never done a video podcast, let alone a live video podcast. Monday was a scramble of “oh shit” moments, as we quickly surmised we did not have the capabilities we needed to achieve the goal. Cabling issues persisted until this morning around 10:45am, when Justin returned from Tiger Direct with the one cable we didn’t have. Quickly, things fell into place.

What happened after that was one of the most impactful experiences of my life. I’ve walked away from a devastating car wreck uninjured. I’ve held my newborn child in my arms. I’ve built some products that captured the hearts of millions of free users and others that made over $1B in revenue. All of this pales in comparison to the magnificent display of collaborative problem solving and general excellence I witnessed today at Tampa Bay Wave.

We went from a whim to a high quality live video broadcast in under 48hrs with almost no structure at all. We tried two different cameras, only to barely succeed with a just-in-time cable purchase. We tried two different sets of mics because of background noise. We tried to green screen the Tampa skyline as a backdrop, but couldn’t get the software to play nice. We called an audible and stole (borrowed?) tablecloths to use as a backdrop. The only challenge we faced that we didn’t overcome was a Skype call-in for one of the ten guests we had scheduled. For that, we needed Just One More Cable™. The green screen was just a nice-to-have anyway.

Amazingly, nothing went wrong. People even started saying “nothing’s going wrong! this is amazing!” which almost begs for something to go wrong. But it didn’t. We coordinated video transitions smoothly. We showed supporting material when appropriate. The conversation was engaging and personal. We really had an opportunity to showcase some wonderful people doing great work for all aspects of the community. There were funny moments. There were tragic moments. Nobody dropped the F-bomb. For over three hours, we were a window to the world, empowering non-profit champions to tell their story.

This was an entirely volunteer effort. No one got paid to do it. And in the end, we raised over $1M for local non-profits in under 24hrs. That’s the power of community, and I’m proud to be a part of it.

Communicating with Complex Personality

For almost all of us, there come times when we feel like we just can’t quite get through to someone, like there’s something in the way, and no one really knows exactly what it is. When we face those situations, it’s important to maintain some perspective about who the other person is and how they react to their environment. Simply considering some basic fundamental things about the experience can make a huge impact on the actions and reactions we take during the exchange.

Take, for example, a scenario involving a dipolar couple. (Not to be confused with bipolar. That’s another story for another author.) One half of the couple is an extravert posture. The other is in an introvert posture.

Sidebar: I use the term posture here as a means of highlighting the moody nature of the extravert/introvert spectrum. In many complex ways, our behavior follows one path or another depending on mood and social relationships. There are some aspects of our behavior that are governed by deeper forces – the unyielding forces of our moral and spiritual cores. In this context, we’re focused on the transient behavior as a posture.

If one half of the dipolar couple encounters some obstacle to their happiness, he or she may seek comfort and support from the partner. This is a natural and healthy response we all experience, seeking guidance from our community. Let’s consider two cases, really the same case from different perspectives.

If the troubled half is the extravert, he or she will naturally seek to discuss the issue with the partner (external processing). This can be very effective, up to the point when the introvert feels overwhelmed. Beyond that threshold, the partner will withdraw in order to take time for introspection before offering support. If the extravert is unable to acknowledge this for what it is, he or she may react as if the partner has given up on them or abandoned them. This causes an exhausting cycle of overwhelm-and-withdraw.

If instead the troubled half is an introvert, he or she will naturally seek to withdraw and allow the experience to flow to its natural conclusion before taking any outward action (internal processing). This is a delicate time for the introvert, as he or she needs to feel the supportive love of community, but feels unable to reach out for help. If the introvert’s patience threshold is passed, he or she will reject the partner’s actions as unsupportive. If the extravert is unable to acknowledge this before reaching the threshold, he or she may react as if the partner has shunned or ignored their support. This causes a divergence where the extravert stops offering support.

We all shift in and out of introvert and extravert postures as we interact with the objects and people in the world. If we can navigate this landscape effectively, we can avoid overwhelming the introvert energy without ignoring the extravert energy. Next time you feel like you’re doing all the talking, ask if your partner needs a break. Similarly, next time you feel taxed, ask your partner for a break. This need not be considered a rift in the core of your spiritual relationship. It may simply be one half’s inability to communicate effectively with the other in the current moment. Give it time, communicate your feelings as you process, and come back to your partner to honor your original intent, which is to love and be loved.

Power Armor, Superheroes, and Kurtzweil’s Singularity

I never was much a fan of Iron Man. I could never really relate to the character. He was too normal, just a chump in a metal suit, without any mutant powers. He can’t teleport or read minds or steal life force. He’s just a rich kid in an expensive and wholly over-designed tuxedo. Granted, a tuxedo that can fly and shoot bad guys, but still a suit, made by man. Nothing magic or mysterious about it. Lame, right?

And yet, I might use very similar words to describe Batman, and he has always been a role model to me. As I say every day, perception is complicated, but we’ll get to that in a minute.

So, I wrote off Iron Man as a child, preferring to focus on the more traditional superheroes, complete with super-human strength or laser vision, things I couldn’t ever imagine could be based in technology. To me, a superhero is special because the universe chose them by randomly imbuing them with magical powers. Sometimes, it’s more complicated than that, as in the case of Wolverine, where man meddles with destiny to exploit the mutant power toward their own ends. As I’ve grown older, I’ve come to appreciate the complicated things in life. Complicated is interesting.

Iron Man is complicated, much more than I ever thought as a child. Maybe it’s the innocence of youth that blinded me to the harsh truths of life. Maybe I wasn’t ready to consider addiction as a primary driving force behind what motivates us to do impossible things, both for good and evil. Since the popular movie franchise has revitalized the Iron Man persona, I’ve been digging deeper into the story. The impetus for this post was speculation about the plot line of the third installment of the movie series. Rumors are flying about what the main story will be, but it seems clear that the yin and yang of Tony Stark’s alcoholism and brilliance, coupled with the seemingly insurmountable threat of the Mandarin, will lead inevitably to the Extremis story arc. This is where nanotechnology blurs the line between man and god.

For those who haven’t read and/or watched the Extremis story, it centers on the intersection of biology with technology. It’s basically a programmable virus that can act as a means of designing new components within the body. Instead of surgically implanting silicon and cobbling together some crude interface between man and machine, we might use programmable nanotechnology to grow cybernetic organs. If this is starting to sound like Kurtzweil’s Singularity, you’ve been paying attention.

A few weeks ago, we discussed biological computing on our podcast ( We whimsically discussed some potential uses for such technology for frivolous things like weight loss. But what happens when this technology starts to find its way into society? As the capabilities of the technology evolve, we are stuck in a hopeless cycle of divergence.

As Einstein famously said, “it is a great tragedy that our technology has surpassed our humanity.”

We are doomed to continue to diverge until we take measured action to inspire more consideration for the moral and ethical growth that is necessary to govern the connected populace. Maybe Kurtzweil was wrong. Yes, the technology is inevitable. It will continue to advance at breath-taking speed. Text-by-thought is no more than 10yrs away, and that barely begins to address the magic of tomorrow’s technology. As we experience this unavoidable intersection of man and machine, it is critical that we remember to remain grounded, lest we lose all of ourselves in the phoenix fire.

We can not predict the extents of our technological capabilities 25yrs from now, but we can guarantee total global annihilation if our moral and ethical evolution does not keep pace with technology. Humanity may not be ready for Iron Man, but power armor will be available on the consumer market before the end of this century. If we do not have an enlightened sensibility about the governance of such incredible power, wielded by average citizens, we will surely suffer. Maybe we can start by putting even 10% of the defense budget into education about peace, mutual prosperity, and tolerance. God knows we’re going to need it. And by “God” I mean Iron Man. In 50yrs, it may be hard to distinguish between them.

A Letter To Mitt Romney

Dear Mr Romney,

I heard about your remarks to a group of wealthy folks, about how half of Americans are dependent upon government but pay no taxes. Call it cognitive dissonance, but I simply don’t understand what country you’re describing. Sure, there are some folks living below the poverty line whose income is so low there is no point to collecting tax from them, but it can’t be half the country. I really can’t imagine the IRS would allow half the citizens of the country to pay nothing in tax while continuing to derive benefits from government programs. I know you’re not big on fact checkers (or facts), but the rest of us need something to rally behind, and your word as former governor just isn’t enough.

Facts are helpful, especially when they’re true. You see, facts are what small business owners collect in order to make smart decisions about how to improve their business. I know you mostly worked with large companies who had long forgotten how to make smart decisions by the time you met them, but it’s true. You’re welcome to take my word for it, but I imagine you have a similar attitude about my word as I do about yours. So, to help with that little problem, I happen to have some facts right here. Let’s take a look, shall we? I think we’ll all learn something.

When I was in high school, my step-mother gave me $2 each week to buy as much ground beef as I could from our local market. It was enough to make burgers for me and my step-brother. The rest of the week, we mostly ate lentil soup and corn flakes. Some nights, I was lucky enough to have dinner at a friend’s house. I had great friends that treated me well. I walked to the bus to get to school, a science and math magnet school that my parents fought hard to get me into. After all, I was just a punk-ass redheaded kid from some backwoods county in Maryland. In Baltimore, the city schools use the city bus system, which is subsidized by tax money. I worked hard, got good grades, and secured admission into several engineering schools. I didn’t have a seemingly unlimited supply of money to spend, so I was forced to go to a state school, supported by state programs largely funded by tax revenue. I had to take out loans to cover my tuition, and I’m still paying them off more than ten years later. I don’t mind; the interest is really low. My loans were subsidized by the federal government, so the interest was paid while I was in school. I really do appreciate that.

Once I graduated, I did what any self-respecting capitalist does. I set out to make as much money as I could. Turns out, I’m pretty good at that. I tripled my salary within 5yrs, reaching a respectable low six figures within 8yrs of graduating college. Most of what I did during that time was contract work for the government, with my salary paid in full by grant money, funneled through the Navy and special forces. While I’m decently good at making money for myself, I seem to be really good at making money for others. In 2008, I contributed significantly to a project for IHG that has since made them $1B. Now, we’re speaking your language. I can see your ears perked up. We must be talking about numbers in the scale you’re accustomed to working with. After that, I did a little work for Veterans Affairs, helping put to rest a doomed project that wasted hundreds of millions of taxpayer money. Saving money is like making money, right?

Well, after all that waste and bureaucracy, I started my own company. Why should they make all that money and I make such a small fraction of it? So, I set out to find small companies who needed my services. I would partner with them for some cash and some ownership in the final product. The first one was a bust. I had to sue them. They went bankrupt, and I never saw more than 25% of the reward for my labor. The next one, though, went on to publish one of the most popular and successful iPhone apps on the market. In fact, they were so successful they won $1M prize earlier this year at an influential conference. They’ve also never taken a single dollar in investment capital, but they did receive some grant funding from a state university to bootstrap their initial product development. After that, I built another company that is growing faster than we can keep up with it. Then another. Then another. Now, I’m working on something that might be worth $5B in 10yrs. Or maybe it’ll fall on its face and go nowhere. (Hopefully the former)

I am not financially wealthy, at least not yet. I will likely never see as many commas in my bank account as you do. And it isn’t a contest, at least not to me. I see problems in the world, and I feel compelled to solve them, not because they are easy, but because they are hard. I do not sacrifice my nights and weekends because I believe I may be able to make money for myself or someone else, but because I couldn’t live with myself if I saw people in need and did nothing to help them. I am not a capitalist. I am just a man, a citizen of this great nation who believes that no one builds anything of lasting value alone, without any help from others. Often, it comes in the form of a government assistance program, such as a Pell grant or a small business innovation grant. I spent most of my life benefiting from government programs, and almost all of my first million has come, in one form or another, from a government grant initiative.

So, to you, Mr. Romney, I say congratulations on being born into wealth, but you’re sorely mistaken if you think all that wealth came from your family’s blood, sweat, and tears. Somewhere along the line, and probably often, your money came from a federal grant or a state program. You’re no better than anyone, just because your daddy paid for your education and healthcare. From where I’m sitting, you’re just a chump who thinks he’s entitled to the presidency. It’s ironic, really, given the emphasis on your use of the word “entitlement” in describing those of us who truly deserve government benefits. Please, for the sake of all the decent, hard-working folks who have graciously accepted government funding to build something for themselves and their communities, just give up now. You can’t save face, and you can’t lie your way out of this. It’s over.

Fuck you very much,


What Does It Mean To Be A God?

Most of you will not be able to relate to this feeling. You have not been introduced to others as a god or been described as such to anyone in passing conversation. You do not have impossible expectations to fill. You are a mortal person reading this post from some douche who thinks he’s a god.


I do not think I’m a god. I know I am a man, complete with faults and ambiguous purpose. It makes me extremely uncomfortable to be referred to as a god or genius or any other term meant to isolate me for my intelligence (it has happened before, and against my hopes, I know it will happen again). I must walk among other people, knowing I am mortal, just as they are, but I am destined for greater things than most people. I wonder how Einstein must have felt after he knew the theory of relativity to be true, but before he could prove it. He must have been a primadonna among his peers, ridiculed for his incessant ramblings, but respected for his unrelenting search for the truth. His peers undoubtedly fell behind his insights, failing to grasp what was obvious to him. He struggled to explain his thoughts to his friends and peers, who looked upon his work with awe, mystery, and fear.

But he was a man, just as I am. He feared, just as I do. He loved, just as I do. He pondered the great questions of the universe, just as I do. He had a distinct advantage over me. He was an innovator in science long before the world was a big place. When Einstein was working toward his theory of relativity, the notion of communication was crude and imprecise. Some of the biggest discoveries in modern science have evolved on crude media like paper, through in-person promotion of the written word of others. We of the internet generation take so much for granted.

I wonder how difficult it must have been for Chandrasekhar, living in a yurt, redefining the mathematics of supernovae. I wonder how it must have been for him, surrounded by uneducated peasant farmers who must have considered his work ridiculous. He must have endured great peer pressure, to give up his heretic pursuits, to abandon algebra and ideal gas laws, to “accept a simpler life.”

After reading Feynman’s autobiography, I found myself relating so well to him. He was a trickster. He used humor to mask his genius. I often do the same. Some of the best advice I’ve ever heard was that “one need not always appear as smart as one is.” I have embraced the role of jester, heckler, and even naysayer in my quest to find balance.

My curse is empathy. I look at the lives of these legendary figures, these men who immutably altered the course of human history. I look at their example, and I wonder what they went through. My curse is also arrogance. I wonder if we can do better. The price of pushing the boundary of what’s possible is that we always find ourselves fighting the ignorant to justify our existence, our pursuit of something bigger than war or power or economy, something real.

So, I accept this title, reluctantly. If my fellow man wants to elevate me above the common idiom, I accept that with grace and humility. I only hope that in the end, everyone can learn to appreciate what it’s like to be called a god, what it means to wield that level of power and responsibility, and what we do to humanize ourselves in the process, lest we forget our humanity entirely.

Walking in the Valley of Giants

If I were to sum up my experience of the last six months, it would be walking in the valley of giants. I have spent all of that time surrounded by the smartest, most talented people I’ve ever met. These are the people few of us have occasion to meet, people who talk to you as a real person, as an equal, yet they’re so ridiculously smart that you walk away from any given conversation with them feeling like you earned a master’s degree by osmosis. These are the people who, when they interrupt you, it feels right because you somehow know they know what you’re about to say, they’ve thought of that, and it won’t work because of things they proceed to explain kindly in ways you never thought about. In the end, they take what could easily have escalated into an ego explosion and dissipate it, leaving everyone in the room feeling smarter.

The giants are only a part of the landscape, though. They walk amongst the trees. I see the trees as giants who have evolved into a higher form of life, taken root to invest in the local ecosystem and build a community. These are the mentors. They’ve lived the highs and lows of the fast paced life, grown to be giants, pillars of their community, and now they’re taking that metaphor more literally. They guide the giants along their path, carrying on the legacy they once followed. They have no interest in suffering all-nighters and last-minute travel to pitch hopes and dreams campaigns to out-of-touch rich white guys. They’re ready to let the giants carry the torch.

And then there’s a layer of fog between the giants and everyone else in the valley, the folks whose inner fire is long snuffed out – the naysayers. Many people live their entire lives without knowing the warmth of this inner fire, this drive to do more, to be better, stronger, faster. The competitive spirit of the entrepreneur is known only to a select few, those who prefer bold action over armchair quarterbacking. Those without it often fear those who display it proudly. Sometimes, the townspeople take up arms in protest against the actions of the giants, who always seem to weather the storm with quiet patience. They know the transient nature of the frantic mob mind. They understand that this, too, shall pass and give way to something new. I never met Steve Jobs. He died before our paths had opportunity to cross, but his wisdom is appropriate here. He said that consumers need to be told what they want.

Consumers are assholes. They want the impossible for free. They don’t understand the herculean effort required of the architects and designers of the apps they love. They are bitchy teenage girls who expect Prince Charming to waltz through the door, offering a magic new way to do whatever their current fancy commands. They want machine interfaces to understand them without their ever interacting with the machine, as if it has some kind of digital empathy. As technology advances and recommendation engines get better and better at predicting the song you want to hear or rearranging your calendar, consumer expectations continue to rise. Now, Siri can determine your mood and reschedule your lunch meeting with that abrasive tool from marketing, so you don’t have to hear his pedestrian stories about the crazy escapades he allegedly witnessed this weekend and all the hot sex he allegedly had with that allegedly cute blonde. Siri knows you’d prefer a quiet escape from the chaos with some nice dim sum at your favorite Chinese place, sans your annoying colleague.

Ok, Siri isn’t that great. Yet. But, the point is the same. There are a lot of people in this world who tell you your ideas are terrible, you’ll never make money, and you’re a fool for trying. Those people are dead inside. Ignore them, and take your rightful place among the giants. The people you need to pay attention to are the ones who are excited about the product you’re selling, can afford to buy it, and are happy someone has taken the time to fix something they thought was broken. These people are your best friend. Find them, make friends, and get connected. They will help you build the forrest, feed the giants and the trees alike. They are the fundamental fuel of the ecosystem. Without them, all is lost. It’s your job to inspire them, to captivate them, to compel them to choose your product offering over all others. Because that’s that giants do. They lead the townspeople to greener pastures, lay the foundation for sustainable progress for the entire community, and do it all with a smile. Sometimes, they take a pitchfork in the ass, but they do it willingly. Like caring parents, they understand that you need help making your way through this world, and they only want the best for you, even if you crucify them for it.

Solving Local & Regional Transportation

We can all agree. Traffic sucks. There’s nothing like an unexpected accident to take the wind out of your sails. If it’s not an accident, it’s someone ahead of you driving erratically, causing folks behind them to brake, which propagates back three miles to a point where traffic grinds to a halt. Plus, these days over 75% of cars on the road have one occupant (the driver). The roads are full of nearly empty vehicles.

According to NHTSA, 95% of all crashes are due to human error. That’s an astonishing number. Imagine if all or most of the drivers on the roads were commercially certified, meaning they all passed a more rigorous rules and skills test than the average state driving test. We certainly can’t add more bus routes and hope folks decide to take the bus. We need a radical shift in the public perception of transportation. Instead of a fixed-route, schedule-based system with a relatively small number of high capacity vehicles, we need a larger number of medium capacity vehicles running on-demand passenger pickup and drop-off. More vehicles means more jobs. Plus, we’re taking barely skilled drivers off the road and replacing them with highly skilled drivers.

So, how do we achieve this? What are the key problems, and how might we solve them?

1. Matching Vehicles with Passengers (Technical)

If you visualize the road system as a giant sea of intersections (vertices) with roads between them (directed edges), then a passenger travel request (“take me from here to there”) is simply a polyline (series of vertices and connected edges) through the vertex space. This represents the path, from intersection to intersection on the roadway, this passenger must travel to reach their destination. In the same way, a vehicle has a set of passengers whose collective paths combine to form the vehicle’s path.

When a new request is created, its path segment is matched against those of nearby vehicles. The goal is to successfully transport every passenger from their current location to a given destination, ideally using the least amount of time and fuel. The system can not simply assign the nearest vehicle, as that may not be the best choice. Conversely, the system can not be required to find the best choice every time, as that is computationally unrealistic. Reasonable matches also take other factors into consideration, such as vehicle vacancy, groups of passengers traveling together, and facility requirements, like wheelchair lifts.

With a central system performing all the matching, this problem could easily get out of hand as total number of vehicles and passengers increases. Instead, the proposed system takes advantage of distributed processing to reduce the computational burden on the central dispatcher. Passengers submit requests to a dispatcher, which finds any vehicle within 10mins of the passenger’s current location. Each of these vehicles is then asked to submit a bid to add the passenger to their manifest. The dispatcher chooses a bid (not necessarily the lowest one), assigns the passenger to the winning vehicle, and notifies both by SMS or push notification. Once notified, the vehicle and passenger devices can communicate directly, without any interaction with the dispatcher.

2. Inspiring Passengers to Ride (Social)

This solution is doomed to fail unless there is enough passenger demand in any given region. If folks don’t know about the service, they won’t be able to use it. Building awareness is difficult and expensive. Additionally, if they don’t have smart phones, they won’t have access to the app to tell the system they need a ride. They can not convey their current location or select a destination, nor will they receive notification when their vehicle is nearby. There must be a plan to support people who do not have smart phones.

The best approach to building awareness seems to be targeting event coordinators. These are people already organizing a bunch of attendees in one place, managing caterers, and overseeing venue logistics. If they could hand off the transportation responsibility to an on-demand driving service, that’s a huge value add to their attendees, especially if there is alcohol served at the event. This also has the added benefit of eliminating the parking requirements for the event. After a few successful events in a region, people will begin to naturally advertise the service through social networks. At that point, we approach the taxi and airport shuttle companies to adopt our standards.

3. Convincing Existing Transportation Providers to Join (Political)

The big companies currently serving the bus and taxi transportation sector are going to be quick to dismiss this as a fad or an impossible goal. The politicians’ spending decisions are heavily swayed by influential players, like the companies providing municipal bus service for the area. In fact, most of those companies operate on a subsidized basis, with some of their annual revenue coming directly from local and regional government.

By partnering with existing research initiatives at private and state universities, we gain additional influence that will hopefully lead to buy-in at the government level. That ultimately leads to grant funding and improved liquidity to cover operational expenses, the bulk of which will be driver payroll and new vehicle acquisition.

4. Balancing Service Offering and Price (Financial)

The primary purpose of this system is to improve people’s lives. That means they must achieve their current goals with reduced price or increased convenience, or both. Also, folks who already have made an investment in a car will be apprehensive to spend even more money to use a different system. This could be a cost-per-mile fee or a monthly or annual subscription. It could also be a co-op, where participants offer their vehicles as part of their buy-in, in exchange for a discounted membership fee. Maybe vehicle owners can even go one step further and get paid to drive other passengers around, and/or have those miles count as credits, so the next time they need to go somewhere, they’ve prepaid for that trip.

In the end, there are two primary factors in the operational budget – cost-per-mile and cost-per-hour. Some costs are on a per-mile basis, like vehicle maintenance and fuel. Other costs are on a per-hour basis, like driver salary. With just a little information about operational expenses for existing transportation companies, it should be possible to determine a rough range for per-customer costs. These costs then become a lower bound for the consumer price.

Texting Without Typing

Two years ago, I was dating a lovely young lady working her way toward medical school. She was working part-time in a lab, assisting a post-doc with research in electroencephalography, measuring and analyzing brain waves. One day, I was invited to tour the lab and experience some of their work first-hand. I say “experience” instead of “see” or “observe” because it was very much a hands-on experience, and a fascinating one at that. She sat me down in a chair in front of a computer with a grid of letters on it and showed me what looked like a lunch lady hair net designed by a steampunk technophile.

“This is what we’ll use to read your mind”, she said. “Just kidding. It can’t do that quite yet.”

It had a bunch of electrodes woven into it, each of which had a wire attached to it. The wires bundled together at the back, like a ponytail, and snaked away to a data acquisition unit with what looked like at least 64 channels. Once the hair net was strapped on, she started squirting electrolytic gel into each electrode. They use the same gel used by ultrasound technicians, so anyone who’s ever had an ultrasound knows a little about what I’m talking about here. It’s cold, slippery, and slightly sticky. It has special electrical properties to help reduce noise in the signals.

“Ok, now stare at the grid of letters. When we start, you’ll see cursors advancing through the grid. Just focus on one letter at a time and be patient,” she said. “Here we go.”

I watched as two cursors stepped quickly through the grid. I thought of the letter D. After about ten seconds, the test completed, and the letter D displayed in the output field.

“Oh, that’s fucking badass,” I said. We continued.

As the tests proceeded, the scientist part of me wanted to start performing experiments and try to find the weaknesses in the current system. It wasn’t flawless, but I was amazed at its ability to guess correctly most of the time. Guess is the wrong word. The machine was interpreting electrical activity in my brain and using that information to determine, with impressive accuracy, something that seems impossible – my thoughts.

“Now for the fun part,” she said, as she switched from one app to another on the laptop. “This one lets you free-form the letters. We needed to calibrate it for your brain with the other one. Try to spell a sentence.”

A few minutes later, I had spelled “this is cool” on the display, without touching the keyboard or saying anything out loud. With nothing but this strange looking hair net, stuck to my scalp with cold sticky gel, I had written a sentence.

Fast forward to today. Since that experience, someone has used similar technology to draft a tweet. It won’t be long before researchers find a way to interact with the brain without the sticky hair net wired to a laptop. Eventually, we’ll be able to message each other with a thought. To me, this represents an enormous challenge to the tool makers. Someone will be given the herculean task of designing a tool that allows people to share thoughts with others, message each other, and (most importantly) filter out the garbage. If you think Twitter or Facebook have a low signal-to-noise ratio now, imagine how much worse that would be when it’s downloaded right into your brain. The current privacy filters Facebook has integrated will not be sufficient to control this level of connectedness.

I don’t fully believe we can imagine a system that will be able to manage these issues. Mostly, I believe this is an emergent behavior, not something designed by a master architect. This is the realm of tools catching up to the creativity and innovation of average citizens, some of whom randomly start trends like the retweet, the mention, the hashtag, the overheard, and other yet-undiscovered trends. This is also a social construct, governed by rules that transcend technology. Social pressures will undoubtedly weigh heavily in the decisions of the collective minds of the community. Drunk tweeting evolves into drunk electrotelepathy, but both are equally embarrassing. As Hollywood has shown us time and time again, though, your brain is a very intimate place, and it’s very easy to see how something like this could cross the boundary from harassment into something that has no name yet, but could be described as the virtual extension of rape.

As this technology evolves, we must be vigilant in our protections of individual rights and the philosophy of “just because we can doesn’t mean we should.” After all, what does it say of us when we develop technology to allow a man to ask his wife with his mind to grab him a beer instead of promoting that the man simply get off his lazy ass and get his own damn beer? Still, my creative mind races with potentially beneficial uses for this tech, but that is a story for another time.

Android Still Sucks

Some time back, I wrote a post about the consumer hazards of the Android platform. I believe those issues continue to plague the platform, but I’m not here to repeat myself. Instead, I’m offering a bit of insight as a skeptical developer whose market demands expansion into the Android space. There is a clear opportunity in the mobile phone and tablet space with very few vendors operating and none who can do what we do. We’ve had an iPad app in alpha testing for a month now, and we’re expanding that offering to include iPhone, iPod, and Android phones and tablets. Now that I’ve spent a week doing some experimental coding, attempting to determine the level of effort required to achieve my goal of a major national product launch in six weeks, I feel at least minimally competent to make this assessment.

Steep learning curve

For those who have been coding in Java for ten years, including detailed user interface development on the web, desktop, and mobile, familiarizing yourself with the Android design patterns is a bit challenging. For the beginner, good fucking luck. If you’re not a seasoned professional architect or systems engineer with at least a few published web and/or desktop apps, I strongly encourage you to find a mentor who can guide you. There’s a very good chance you won’t be able to learn this in a college class, either, so find an industry expert and pepper them with questions via email or skype.

Java is awesome, but Android lacks infrastructure

We can all agree Java is a powerful, high performance, industry standard language. It offers a lot of great features, both in user interactivity and data manipulation. For all its wonder, though, it seriously falls short in some areas. One of the greatest value-adds included in Apple’s excellent iOS SDK is all the helper methods, tools designed to make things easy for the developer. This means more time focusing on the “what” and less on the “how.” If I want to download an image from a URL using the iOS SDK, it’s one line of code. On the Android 2.1 platform, it’s ten times that.

Concurrency limited to application level

Since iOS 4, developers have been taking advantage of thread management with Grand Central Dispatch (GCD), which offers intuitive functions for directing the operations of the program. GCD also offers the ability to take advantage of multiple cores if the device supports that, and it does everything for you. All the developer needs to do is specify what to do and whether it’s a background or foreground task. The operating system does the rest.

The Android system allocates a unique virtual machine to each app, which offers a layer of protection to the developer, but in doing so, it also eliminates any chance that the system could optimize threads outside the context of a single app. This ultimately means the concurrency tools do great things to improve your app’s performance, but do nothing to prevent other apps from hogging system resources.

Nagging little things

The documentation describing how to build an app that does anything other than display a static string is lackluster at best. At worst, you’ll run into issues like the barely documented permissions issue. I spent an hour trying to figure out why the web client was returning “permission denied,” only to discover I had failed to include the appropriate setting in the app manifest.

Then there’s that other thing about how JavaScript has had lambda expressions (closures) for 15yrs, yet they won’t be available in Java for another major release (2yrs+).

Ending on a positive note

I don’t want to give the impression that I hate Android or that I have no substantial reason for my remarks. I’m looking at this from the perspective of someone who left the Java corporate software world to get away from all of this shit. In short, Google is dragging ass, playing catch-up to the beacon of elegance that is Apple. Java developers are still waking up to the realities of social coding and open sourcery. Ruby and ObjC developers are cashing in on the benefits of git workflows and global village collaboration. It is equal parts frustrating and exciting, frustrating because of a lack of available tools, and exciting because of the opportunity for leadership and innovation.