• 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

Web

The Power of the Back Catalog

August 9, 2016 Leave a Comment


I was reading a great book, Console Wars, that details the early gaming console fight for dominance. One period really hit me, and that was when Sega was trying to find room in a world of the dominant Nintendo. The Sega Genesis (or MegaDrive for those in the UK!) got a helping hand when Nintendo decided to ship a new version of their console without the ability to play existing titles. This gave Sega the ability to say “hey, you are buying something new, so try us out!”

That is an example of a mistake hurting adoption, but there are also plenty of examples of the opposite. There are times when a revolution is happening and you need to break with the past (going from vinyl to CDs) but it sure as hell helps if you go through a deprecation phase first.

I was thinking about Apple, and how the Web has helped them succeed with a platform in pretty major ways.

iMac

When Steve came back, decimated the product line, and then showed us the iMac he was able to get into the game by realizing and selling the fact that the things users wanted to do were mainly on the Internet. This gave us the “i” and the push to market those Macs as the best way to access the Internet. At that time the Internet meant many things, but the majority of what people wanted to do was use the Web. They wanted access to the amazing crowd sourcing of information, and ability to find it all via sites such as Google.

Once the Web up leveled from its birth as a document platform to that of a app platform Apple was set. You didn’t need Outlook when you had Yahoo! Mail. Microsoft, by fighting to win the browser war, ended up helping build an app platform that meant their native desktop application dominance no longer mattered too much.

iPhone

By the time the iPhone came along, we had been hearing that the mobile Internet was going to be huge for years. At every JavaOne keynote we heard that developers should be cranking on J2ME to build apps for users. That never came to be, and instead it was all eclipsed by the iPhone.

The iPhone was so much better, but many in the industry poo poo’d it. How could you type without a real keyboard (cried those at Blackberry). It’s user interface was leagues beyond the competition though. Steve showed off the importance of how it brought together functionality such as the cellphone, camera, and iPod all in one. He also showed off Mobile Safari, and I feel like this is often overlooked. We finally had the desktop Web available on a mobile device. Not a crappy WAP/WML experience, but the real Web! Sure, it wasn’t perfect. You had to pinch, zoom, and pan around….. but it played the back catalog. This was vital at a time when there weren’t any third party apps.

Then you fast forward to the era of using the Web to create apps and then native applications on the device. This was critical because you need to go beyond the back catalog. A user is buying the latest device to get great access to all of the affordances and power of the new device.

When creating a new platform, it behooves you to think of the role of the Web. As you create something new it can give you massive useful reach, even if it isn’t perfectly tuned to your platform yet.

When I look at something new, I now look for how they are leveraging the Web. Take VR for example. It is one thing to go after the hard core folk to create WebVR with all of its WebGL goodness. But I am also really excited about work such as CSS VR, because it allows traditional web developers to rather simply (via some CSS vs. learning WebGL/WebVR) join the platform. It’s “pinch to zoom” equivalent may be immersing you in a 360 image while overlaying the important content.

At this point the Web has content at an epic scale. It is content that is indexable, allowing developers to add functionality that crawlers and browsers can understand. It is powerful to enable the loose coupling between all of these agents, compared to setting up APIs for each side to interoperate on. I hope we explore more ways in which the Web can bring functionality to scale in an open manner.

*walks off to play some of the back catalog*

Remembering Simpler Times

March 29, 2016 Leave a Comment

Take a deep look, and you realize how backwards we were.

Kevin is sitting on a park bench. A cup of black coffee sits in one hand, and he tosses some bread out with the other, slowly watching the birds eat. If you were walking by you would have an odd feeling that Kevin has spent a lot of time there. Then you notice that there is space for another, with a subtle dip in the wood.

Then Brandon comes along, e-cigarette hanging in his mouth, and he joins Kevin. They sit there for some time before talking.


Reload The World

Shift+Reload = Restart

Kevin kicks things off. He talks about a time in the past, a time where bugs were easily hidden by the fact that an entire sandbox runtime was rebooted constantly. If that reloading didn’t quite work, the user knew to do an even bigger reboot. This was the time of the Web, where each click was a reload, and (Shift) Reload made sure things could come back. It was a world that felt janky and wrong. Why reload and repaint everything when so much of the page actually stayed the same? But it did hide sins that would only be discovered on long running sessions. A slow but somewhat reliable experience occurred. It was simpler times.


One Screen Size Fits All


Then Brandon breaks in. He remembers a time when the entire platform had but one phone, with one screen size density. You could whip together absolute positioning and it all kinda worked out. You needed to handle the “status bar is now on top as you are in a call” type exceptions, but the core components kinda took care of all that anyway. It was simpler times.


A Messy, Better World

Fast forward to today and we have a slew of devices withe various inputs and form factors. There is competition in the marketplace and user growth continues to explode.

The constraints are very different, and we have been able to learn from each other. The Web has gone mobile native, and the native app mobile platforms became more adaptive and diverse.

When you are in the thick of things it is easy to remember the past, and to remember it through rose lens glasses. You forget your complaints of that time. The early hacky SDKs and tools. The capabilities you didn’t have.

It reminds me of when people talk about the magic of the 1950s. As much as I dislike aspects of current society, we have progressed since them in many many ways. We just have to keep pushing.

Progress.


ps. A few years later, Calvin came to the same bench, sat down with Kevin and Brandon, and started to tell a tale of a simpler time for VR when the devices had constrained limitations… rinse and repeat!

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.

« Previous Page
Next Page »

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • Stitching with the new Jules API
  • Pools of Extraction: How I Hack on Software Projects with LLMs
  • Stitch Design Variants: A Picture Really Is Worth a Thousand Words?
  • Stitch Prompt: A CLI for Design Variety
  • Stitch: A Tasteful Idea

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile AI Native Dev AI Software Design AI Software Development 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 Design Systems 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 Eyes Family Fitness Football Founders Future GenAI Gender Equality Google Google Developer Google IO Google Labs Habits Health Hill Climbing HR Integrations JavaScript Jobs Jquery Jules Kids Stories Kotlin Language LASIK Leadership Learning LLMs 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 Soccer Software Software Development Spaced Repetition Speaking Startup Steve Jobs Stitch 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

  • October 2025
  • September 2025
  • August 2025
  • January 2025
  • December 2024
  • November 2024
  • September 2024
  • May 2024
  • April 2024
  • December 2023
  • October 2023
  • August 2023
  • June 2023
  • May 2023
  • March 2023
  • 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 © 2026 · Log in

Loading Comments...