Platform? Patience

“We are a platform company” — VC pitch

Whenever I hear this utterance I get curious to understand what this person thinks that means. Sometimes it ends up being related to wanting to be a platform company, but that is besides the point. If you really do end up being a platform company, then one key aspect of a great one is patience.

If you are fortunate enough to grow a business that has success, you now have producers and consumers working with you (I will switch to developers and users because I think about developer platforms :). Congrats! Just one small thing though….. it may start to feel like you are driving a boat vs. racing a Ferrari, and you need to account for that.

Hopefully you got into this situation carefully and have plans for keeping momentum and moving the ecosystem.

I once got stuck in a boat off of the Florida Keys. Everyone had forgotten that it was a full moon, and the tide came out quickly. This meant that we had a boat sitting on shale, and we had to slowly push it as fast as we could to catch up to the water.

The tides are always moving in your business too, and you need to make sure that you have a way to keep moving ahead of them. You could also argue that your role as a platform is to be the ocean, and thus you need to keep the tide moving, nudging the boats in the right direction.

To do this nudging correctly you need to be able to:

Communicate the vision of the platform

Where are you going? Why?

Keep the vision updated and get into the rhythm of “we are going over there!”, “remember when we said we were going over there? that time is coming!”, “we have made the change so you can go there, but haven’t broken you yet, but really…. time is running out!”, “ok, it’s really painful for you to not have made this change…. the warning signs are flashing”, “done.”

Have a connection to developers

How well connected are you to your developers. If you have an important message to get out to them, how many of them get it? Far too often a platform is shooting out UDP messages that get missed, and developers don’t even have the information to do the right thing for them and our users.

This can be really tricky. We have many ways to communicate, and most of them are lossy in some way, or don’t reach the right people on the other end. You can broadcast to email, or you can put messages in consoles, but do they reach a general “admin” account?

Knowing that you have a lossy protocol is important, and puts the burden on you to re-try across the board, and capture when there has been real action. There are plenty of basics to get right such as having the same messages reach the various touch points. E.g. can the central console messages reach developers in the tooling that they live in each and every day? Do the various tools even get the same message across? Often the answer is…. sub-optimal.

Have a connection to users

Do you have good control over the platform that the user actually has? Can you update it and secure it? Just as the connection to developers is key, so is this.

By moving the developers you keep upgrading the experience for users.

By moving the users you give reason for developers to prioritize.

By moving them both, everyone progresses, hopefully leading to much success for all

The patience part

Once you have a plan on how to keep momentum, you still need to acknowledge that you will probably have to be patient. Your platform priorities may not always totally align with those of developers and users.

With both, there are incremental updates which can work nicely (smaller changes) unless they are too small to prioritize.

With larger efforts you are reaching a new level, and you may find yourself running into a natural cycle. E.g. it’s been a few years and there is enough value to be had that the product team is ready to rewrite a large part of the system, giving them a chance to jump to the next level.

Now, building the next generation of primitives (and tools and ….) takes a long time.

A great example of this is the recent upgrade of web primitives. Alex Russell gave a talk on the multi-year journey, which is a great example of looking to the future and plotting all of the dots that will get you to a new location whilst bringing incremental value along the way.

It is fascinating to think back to some of the individual items and how the community has gone from “nah we don’t need that” to “man, it is so much more fun to build on the Web now with these primitives!” — I am looking at your ES2015!.

The larger you get as a platform, the more wrinkles you get, and you run into Hyrum’s Law:

“With a sufficient number of users of an API, it does not matter what you promise in the contract, all observable behaviors of your system will be depended on by somebody.” — Hyrum

This is where you can run into the feeling of momentum slowing, but you have to press on.

Sometimes this slowness is partially an issue of perception. When you are small you can see big movements in percentage terms, and you get excited (and ignore the small base). When larger the percentages can feel smaller, but the absolute change can be massive. A momentum change for a huge mass is a huge change, but it may not feel it, and there is always so much that you want to do.

We see perception issues with new platforms too. We humans are awful eye witnesses, and we are dreadful and remembering time periods. When a new computing model pops up, we forgot how long the last one took to really take and we want instant success. We see how obvious it is “we knew this would happen, because Star Trek!” and rush. Instead we need to remember that it takes time to truly bake in something new, and instead of rushing for “fake” adoption we need to nail use cases that add true value and build from there.

We also like to simplify and think in linear terms. Platform A begets Platform B begets Platform C. In reality platforms often evolve and, importantly, work together. This means that new paradigms are often accessories and amplifiers of current platforms….. and that is OK! Having and vs. or isn’t a bad thing.

Have the vision, have communication in place, measure the right thing, and be patient.

Nudging out screen time

I found myself on a long plane trip from Europe (the Firebase Dev Summit in Amsterdam, which was so much fun…. getting to hear from developers creating) and in the frozen-in-time-haze found myself looking at the old tale of a Rabbi helping a family in a small house, find contentment.

Living in the Bay Area, having a small area to live in definitely resonates. However, I then found myself rewriting the story, inverting the order of “filling up the space” and targeting an area that I struggle so much more with: creating a healthy relationship with devices and technology.

Here is the adaptation, which I believe is just as cheesy as the original 😉

A middle class man lived with his wife and six children in a very small house in Palo Alto. They were always on screens ignoring each other and it was driving the parents crazy.

Finally the man could stand it no more. He talked to his wife and asked her what to do. “Go see the psychologist from Screenagers,” she told him, and after arguing a while, he emailed.

The doctor greeted him and said, “I see something is troubling you. Whatever it is, you can tell me.”

And so the poor man told the shrink how miserable things were at home with him, his wife, and the six children all addicted to their screens. The poor man told her, “We’re either not talking at all, or we yell and fight to get each other off our devices. Life couldn’t be worse.”

The doctor thought very deeply about the poor man’s problem. Then he said, “Do exactly as I tell you and things will get better. Do you promise?”

“I promise,” the poor man said.

The doctor then asked the poor man a strange question. “Do you have any hobbies?”

“Yes,” he said. “I like sports, and hiking, and making things in the shop.”

“Good,” the doctor said. “When you get home, get the family to go for a walk after dinner each night.”

The man was hoping for advice around device usage, but he promised to listen to the doctor so he went home and after dinner took the family for a walk.

The next week the man met with the doctor. “We are all still arguing about screens“ he cried. “Going for a post-supper walk is nice and all, but it isn’t helping“

The doctor listened and said calmly, “Now go home and signup everyone in the family for a weekly piano lesson, with 30 minutes of practice, daily”

The chap did as the doctor said, but hurried back again the next week. “The piano practice is great, but still…. the screens!!” he moaned. The good doctor said, “Go home and make sure everyone reads for 30 minutes before bedtime.”

So the poor man went home and got his family reading at 8pm. But he ran back again the following week, still crying and wailing. “The reading is great and all, but still, too much screen time is afoot“

The doctor said sweetly, “My friend, you are right. Relax as a family and just play some board games.” And the poor man went quickly home and took out the backgammon.

The next month he came running back to the doctor again. “O Doctor,” he said with a big smile on his face, “we have such a good life now. We are getting exercise, and spending time with each other, and the kids are doing well in school. I hardly mind that we spend some time with technology. Our lives are so full elsewhere, it finally feels appropriate”

Any thoughts on success that you have had managing family balance are appreciated 😉

Google: The Iron Man we strive to be

In a recent meeting we were playing with the question:

“If Google was a super hero, what would we be?”

The first thing that came to mind was Iron Man. You know, the innovative engineer who uses his technical ability to become super human.

In the developer group our mission is to make sure that Tony Stark uses his power for good. In our case, we want to give away the suits to democratize AI, computing, and more. We take this mission seriously.

Why do we need to innovate and also help developers? Let’s turn back to Tony again. His origin story included the need to create a source that can power an electromagnet keeping shrapnel from reaching his heart. Innovation due to necessity.

Google is a platform company, and one that thrives with open ecosystems. It is imperative that we do all we can to help the survival of open systems over closed ones. This is why we care so much about an open Web, Android, TensorFlow, and open cloud computing.

We also know that we are still young. Google is turning 19 a pivotal time for anyone. Can we keep our youthful optimism whilst gaining maturity?

Brother Chrome, Brother Android

I am currently in Krakow for the large European Google Developer Days (a beautiful city!) and a developer came up to me to ask how I felt about “Chrome vs. Android”. Someone else leaned in to ask if I was frustrated with the fact that we “have so many platforms.” I get it. We have multiple platforms, and they are sometimes a lil more messy due to their openness.

On the flip side though, I wouldn’t have it another way. Where some may see “Chrome vs. Android” I see “Chrome and Android”. Not only does Android literally give us a vehicle for us to build a world class mobile Web browser that can push on rich integration, but the reach that we have with both is amazing:

  • With Android we have a world mobile OS that is on billions of devices all over he world
  • With Chrome, and even more broadly — the Web, we extend the reach to non-Android devices.

That sounds like a killer duo to me. Ben and I actually just gave a short talk about the “brothers” of mobile native and the Web, and they journey as siblings growing up together.

I look forward to a bright future for all.