• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Dion Almaer

Software, Development, Products

  • @dalmaer
  • LinkedIn
  • Medium
  • RSS
  • Show Search
Hide Search

Ecosystem

Open source shouldn’t mean closed protocols

May 11, 2016 Leave a Comment

”An open source infrastructure for a centralized network now provides almost the same level of control as federated protocols, without giving up the ability to adapt. If a centralized provider with an open source infrastructure ever makes horrible changes, those that disagree have the software they need to run their own alternative instead” — @moxie0

I enjoyed reading moxie0’s post on ecosystems and their evolution but the paragraph above is concerning. I don’t think it is really true.

If Facebook open sourced every line of code and I took it to setup Dionbook, could I compete? The lock-in of a service isn’t in its source code, it is often elsewhere. In the case of Facebook they have the social graph of their massive user base.

We can also look at some of the other examples used:

Slack vs. IRC: You could look at this as an example of the fast startup beating the slow standard. But is that the full story? There have been hundreds of group chat services, and non of them managed to get the lightning strike success that Slack has gotten so far. Many never got any steam, and even mild successes like Campfire had the team think that the space was feature complete and it slowed to a halt too!

It turns out that speed of innovation can have a lot of stop energy put on it. Success is often a large slowing force here. As soon as you have a large user base things change. Take Twitter. They had to famously take a step back and deal with the scaling challenges of their success. Subtle features such as how mentions work had a huge effect on the backend scaling needs of the data model. A slew of Twitter clones have popped up, and many of them have far more “features” (and some are successful in other regions: Weibo).

You can also look at some of the original Web hits, such as Craigslist. If I had a dollar for every time someone in the valley said to me that “I want to create a modern craigslist” I would be a rich man. But, it hasn’t happened yet. The value is in the market, similar to eBay. Disruption can come, but it often needs to disrupt the model. Slack can grow quickly and be a lil better as its ecosystem is teams. AwesomeMobileEbay doesn’t have that luxury, you end up with a chicken and egg problem.

What about the slow growth of Internet protocols?

“We got to the first production version of IP, and have been trying for the past 20 years to switch to a second production version of IP with limited success. We got to HTTP version 1.1 in 1997, and have been stuck there until now. Likewise, SMTP, IRC, DNS, XMPP, are all similarly frozen in time circa the late 1990s. To answer his question, that’s how far the internet got. It got to the late 90s.”

Once again, this is partially being a victim of success, and how interoperability is taken as a big deal. Also, HTTP is getting a lot more attention and HTTP/2 is doing great (in relative time). What would the world look like if a company owned these protocols? Imagine paying an IP tax per packet. Would that company be incented to innovate? Or, if they got enough support, would they be big enough to not have to, and instead the incentive is to be rock solid and get as many packets moving?

I think it is really important to think through the incentive structures, as they are the best way to understand and predict things. You have to ask “where is the money going to be made and by whom?” If there isn’t money, that is a problem itself. Maybe that is why IRC never took off, as it was hard to differentiate… but it could also be because the UX and feature set wasn’t there.

The ecosystem is moving, but it moves at a large scale across the experiments of open systems (the Web) and closed ones. We often end up comparing this to forms of government. One of the reasons I am a fan of democracy, even if it isn’t efficient, is that even if you have a benevolent king, you don’t know what his son will be like.

When you enter into an ecosystem it is prudent to think through the incentives and see if you are aligned to the folks with power, and also think through how their goals may change in the future.

But to the main point that open source allows for something almost as future proof as open protocols doesn’t ring true to me. One of the reasons that I am a fan of the Web is because, as messy as it is, it doesn’t empower any one player too much.

Ecosystems vs. Platforms

December 8, 2015 Leave a Comment

I have enjoyed platforms, but I have loved ecosystems. As I was thinking about becoming a renoogler I was thinking about the Web and what made it special, and that lead to this tweet:


There are features I like (e.g. URLs) and parts of the developer experience that I enjoy (as well as parts that I do not!) but it is the core emergent properties that I love.

There is something special, albeit messy, about the Web ecosystem. One definition is:

“An ecosystem is a community of living organisms in conjunction with the nonliving components of their environment (things like air, water and mineral soil), interacting as a system.”

The Web is much more distributed in its power than many other platforms. We often think in hierarchies and assume that top down approaches make the most sense, but that isn’t what we see in our most successful systems: nature, or our bodies / brain.

Most people still think of our brain as the CPU of the body. It’s the CEO! It calls all of the shots! In actuality we keep learning that the brain is only a piece of the overall system. Our gut and nervous systems act as “brains” in some regards, and in general systems take care of a lot autonomously. Inside the brain itself it also gets murky. We create an ego, a notion of self, to make sure that we keep ourselves safe, alive, and ready to procreate, but what is that self? We have seen fascinating situations. For example, in patients that have had a corpus callosum severed we can see that both “sides of the brain” can actually act quite differently. Seeing someone answer verbally one way and write a different answer is quite… freaky.

In a natural ecosystem there isn’t a CEO tree in the middle of the forest calling the shots. “Ok lads, it feels like winter is coming so time to get rid of these leaves!”

Embracing these systems isn’t easy. I find myself thinking about the global financial system, quickly realize that there isn’t some guru out there who groks the entire system, and I freak out. The Fed doesn’t have all of the answers. It’s just too complex of a beast, but maybe that is OK.

There are still players who have a strong pull on the Web ecosystem of course. Google, Apple, Microsoft, Mozilla, Opera, W3C, etc are key to the evolution of the system. The developers that build on top of the core platform also add a ton of value and often enable the developer experience that we have today (that the core Web doesn’t give you out of the box). I know that it can be painful, not having someone come down from the ivory tower to tell you how to do something. I would sometimes envy the .NET folks when I was in the Java world. There was a new Web framework every five minutes, but with Microsoft you could just eat your ASP.NET. However, I was never tempted to .NET, even though I thought C# was superior to Java at the time. The Java ecosystem was so different.

What about the platform?

“A computing platform is, in the most general sense, whatever pre-existing environment a piece of computer software or code object is designed to run within, obeying its constraints, and making use of its facilities.”

You run within, or on top of, the platform. It gives you the constraints. You don’t have other, different and maybe competing platforms where you can easily run on top of (unless you go for cross platform tools, but even then you need to grok the different platforms).

The Web platform is shared. It is standardized, and although the implementations are never the same, they are getting more closely aligned rather than further apart.

So many of the core Web engines are open source, or are starting to open source now. Vendors are working closer than ever. Who would have thought Microsoft would be announcing an open source JavaScript runtime at JSConf?

It turns out that the threat of the app platforms are bringing together the protectors (and benefactors for sure) of the Web.

One of the reasons I was so excited to head back to Google was the fact that ecosystems are built into its DNA. I can’t wait to be part of the great ecosystems that are out there, and to give developers the partnership they need.

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • I have scissors all over my house
  • GenAI: Lessons working with LLMs
  • Generative AI: It’s Time to Get Into First Gear
  • Developer Docs + GenAI = ❤️
  • We keep confusing efficacy for effectiveness

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile Amazon Echo Android Android Development Apple Application Apps Artificial Intelligence Autocorrect blog Bots Brain Calendar Career Advice Cloud Computing Coding Cognitive Bias Commerce Communication Companies Conference Consciousness Cooking Cricket Cross Platform Deadline Delivery Design Desktop Developer Advocacy Developer Experience Developer Platform Developer Productivity Developer Relations Developers Developer Tools Development Distributed Teams Documentation DX Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Family Fitness Founders Future GenAI Gender Equality Google Google Developer Google IO Habits Health HR Integrations JavaScript Jobs Jquery Kids Stories Kotlin Language Leadership Learning Lottery Machine Learning Management Messaging Metrics Micro Learning Microservices Microsoft Mobile Mobile App Development Mobile Apps Mobile Web Moving On NPM Open Source Organization Organization Design Pair Programming Paren Parenting Path Performance Platform Platform Thinking Politics Product Design Product Development Productivity Product Management Product Metrics Programming Progress Progressive Enhancement Progressive Web App Project Management Psychology Push Notifications pwa QA Rails React Reactive Remix Remote Working Resilience Ruby on Rails Screentime Self Improvement Service Worker Sharing Economy Shipping Shopify Short Story Silicon Valley Slack Software Software Development Spaced Repetition Speaking Startup Steve Jobs Study Teaching Team Building Tech Tech Ecosystems Technical Writing Technology Tools Transportation TV Series Twitter Typescript Uber UI Unknown User Experience User Testing UX vitals Voice Walmart Web Web Components Web Development Web Extensions Web Frameworks Web Performance Web Platform WWDC Yarn

Subscribe via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Archives

  • February 2023
  • January 2023
  • September 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • November 2021
  • August 2021
  • July 2021
  • February 2021
  • January 2021
  • May 2020
  • April 2020
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • October 2018
  • August 2018
  • July 2018
  • May 2018
  • February 2018
  • December 2017
  • November 2017
  • September 2017
  • August 2017
  • July 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012

Search

Subscribe

RSS feed RSS - Posts

The right thing to do, is the right thing to do.

The right thing to do, is the right thing to do.

Dion Almaer

Copyright © 2023 · Log in

 

Loading Comments...