• 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

Archives for June 2016

Protopia of the Web

June 24, 2016 Leave a Comment


At the Progressive Web App Dev Summit in Amsterdam Jeremy Keith asked a panel consisting of representatives across Google (Chrome), Mozilla, Microsoft (Edge), Samsung (SBrowser), and Opera about the dystopian future that the Web may find itself in.

What if the Web dies out entirely? What if it finds a niche but it akin to radio compared to the world of TV? Radio is a fantastic medium and podcasting has brought back a renaissance of sorts, however the time spent listening to pure audio is dwarfed compared to time spent watching video, especially given that the audio capability is there too.

The analogy breaks down of course, because the capabilities that the Web and native have overlap much more readily and this overlap is growing. There are trade offs between the user platforms, based on both the natural focus of capabilities and the fact that one is a meta platform that lives atop others. Both sides can try to take the best from each other, but there are some universals.

We then talked a little about the utopian future. The Web that rules all.

We love black and white, but it never matches reality.

Utopia can never exist. Everything in life is a result of trade offs, so how could you have the best of every side?

Kevin Kelly talks about the state of protopia:

Protopia is a state that is better than today than yesterday, although it might be only a little better. Protopia is much much harder to visualize. Because a protopia contains as many new problems as new benefits, this complex interaction of working and broken is very hard to predict.

The constant drive that society has to improve. In the present it is hard to feel the massive changes that are happening to humanity, and sometimes you could argue there are step backs, but he argues that we are heading in the right direction.

There are no large releases for our world. We don’t sit in stasis and then once a year ship World 1234.9.34 (we would use semver right? ;). In many ways we are running countless A/B tests:

“The future is already here — it’s just not very evenly distributed.” — William Gibson

The Web ties to reality unlike many other platforms. The browsers are shipping much more constantly, and there are many of them, allowing for more iterative change. Elsewhere you tend to have the larger release cycles.

The same is mimicked elsewhere in the ecosystem. The Web itself is changing constantly and A/B testing and updates are baked in to our way of working. Native apps are getting more capabilities here, and some developers have created work around to enable more seamless updates (whether via meta platforms such as React Native or WebView, or through DSLs that script native views).

Not having big releases can be a weakness. There is no WWDC unveiling of the future. The ecosystem has to deal with the constant change, which has a cost.

It also means that we need to highlight our important moments through history. Instead of “behold the next version” we end up with “look at what is now possible”. We peak at the future with standards and open source code. What we lose in surprise we gain in the fact that anyone can collaborate and participate much earlier in the process.

The protopias that we have in computing and in life in general is so very messy. We each see different realities and can our individual consciousnesses can only parse so much of them.

Now and then I certainly worry about what the future will bring our species, and the role that technology will play. Innovations can touch lives at unprecedented scale. This power is amazing as well as scary. I hope that we push forward together on the amazing journey to the protopian land.

There is no utopia, and that is ok, as long as we keep improving and crank the flywheel. The world is better than even in so many ways, but there is so much more we need to do for people.


It has been helpful to think about the path to a better future over the long run at a time where my mother land (UK) has gone through a painful vote on a topic that can have ramifications around the world. As saddened as I am at the result, I know that I must push on, and that this may be a kink in the road of progress.

Team Web

June 20, 2016 Leave a Comment

Jake Archibald’s brings Rick and Morty to the PWA Dev Summit

I am at the Progressive Web Dev Summit in Amsterdam, surrounded not only by my Chromies, but also great web platform folk from Intel, Mozilla, Microsoft, Opera, and Samsung. We are also joined by awesome developers from all over, and it is interesting to note the issues they are dealing with.

One of them asked me “are you on Team Web?” and I had to ask he thought that meant. It came down to:

  • Believing in the philosophy behind the Web platform
  • Engaging and building to make the Web ecosystem better.

You can argue that most want to just get their job done, and that a thriving ecosystem needs the correct incentive structure. You would be correct, and this is why many of us spend a lot of time trying to help the ecosystem so it can better support the various players within it.

However, it is important to be able to note those who are on team web and thus the incentives that they have versus others. It is hard to talk about this without feeling like there is judgement here, but this isn’t the point. It can help you understand some of the discussions (e.g. meta frameworks using the web as one projection vs. framework that only runs on the web etc).

What is different about the Web philosophy?

In the universe of computing platforms (of which there are few with momentum) the Web has always been special to me due to its open properties. A typical computing ecosystem will have (at least) a triangle of actors: platform (who sets the design? who gets to be an implementor?), developers who build products on top of the platform, and users.

With closed platforms there is often one controlling platform vendor who calls the shots and sets up the incentive structures and rules for the players. Good ones will make sure to take care of developers and users else they may not get too far, unless the platform is SO valuable itself.

We need to rely on competition between closed platforms in a given market to keep the power dynamic intact.

A great example of this was the early gaming console era. Read Console Wars for a reminder of how ruthless Nintendo was at its peak. They not only chose the games, but also the number cartridges you would get! We often complain about the rules of the app store, but this pales in comparison to other closed platforms.

Fortunately, there was room for Sega and others to find their own piece of the market. Being too strict will naturally allow for competition from a more open partner.

If we look at iOS, there were more forces at play. With the iPhone tied to AT&T, suddenly you saw a coalition of the willing; Verizon (and other carriers), Motorola (and other device manufacturers) are out in the cold when Google rocks up with Android. ⚡

Competing closed platforms can work, but you are relying on strong competition without players becoming too dominant.

The Web is an open platform with standards and multiple platform vendors (browsers) working together. To remain healthy you still require that no one vendor runs the entire show, but this is much easier to do with a meta platform. The meta platform has weaknesses, because it won’t be able to jump onto one new capability that is added to one system, but the long term trade off is that you can build experiences that run across more systems. This gives you a diversity in reach, which becomes more important when there are more competing platforms as the cost of rebuilding experiences is prohibitive.

Today, you have a desktop experience that normally means a certain screensize, with mouse and keyboard inputs (touch is already making headway too).

On mobile you have more constraints, whether it be screensize, network, storage or compute.

Fast forward a lil and the inputs will be separated. Screens will be everywhere, with projections onto walls and eyeballs, and sitting on your wrist. The compute and storage may all run from the mixture of you cloud environment and the super computer in your pocket. Voice and gestures will join touch, mice, and keyboards.

We will have to think so differently about delivering our services across all of these. Shits gunna get crazy.

Who will own the dominant platforms? I certainly hope that the Web will be a driving force.

I have been fortunate enough to work for companies that have a strong love of the Web: Google, Mozilla, and even Palm. I have also worked on startups and enterprises where I needed to think in practical terms on what would be best for my customers. This time has been important as it allows me to empathize with those who aren’t driven by platform ideology or philosophy.

Mozilla, as a mission driven organization fights for an open web. They fight for it similarly to someone who may fight for democracy. It feels like the best long term vehicle, yet as die hard as these people can be, they also tend to know its warts in detail.

Opera has always been a fierce driver of the Web, and it has been fantastic to see Microsoft’s recent work and plans. I am so excited to have all of these companies join the Progressive Web Summit this week, and I feel like people are really coming together and pushing the web platform along quickly.

The fact that no one entity owns the Web is what many hold as the most important value.

If you take a look at other single vendor platforms, you can see the differences. As a single gatekeeper, if the platform provider gets enough market share that developers feel like they need to target it, you end up with:

  • Charging a developer a percentage to get their experiences into the hands of a user
  • A series of rules can be setup, including those that favor the platform vendor, and they can always be changed
  • Censorship of content
  • A single place for a government to go to sue / get information

It is often the case that platform rules are such that end users don’t even understand them. For example, someone was complaining to me about the new Gboard keyboard last week. They were big fans of it, but mad at Google for not providing voice dictation. You can’t blame them, it feels like a big sacrifice compared to the default keyboard. Why didn’t Google just put that in? It isn’t as though they don’t have the technology to do so?

Technically though, there is no way to access the microphone, so it is impossible for a third party keyboard to offer this feature. You could argue that it may be in the name of security, but these type of systems make it very hard to break into certain services, and the platform owner weilds a large amount of power.

I will always have a special place for Team Web as it embodies a long term experiment that balances the forces better than anything else I have seen. These platforms have such leverage and global reach that it is important to keep that balance working for all.

So, thank you to everyone who self identifies as a member of Team Web, as well as those of you that are doing great work for the Web regardless of the philosophy.

Our Web Obesity Epidemic

June 8, 2016 Leave a Comment

We have a digital obesity epidemic that is mirroring the real-world obesity issue facing many of our civilizations around the world.

These things creep up, and a subtle misalignment in the balance of the force lets one side run away. In the case of our diets there are arguments over the cause: sugar? carbs in general? The science seems pretty clear that the “fat” boogey man was just that. It had a poor name and Ancel Keys happened to do too good of a job selling it as the enemy.

On the Web our page weights keep growing. With more pixels on our screens we use larger assets. With richer applications we throw down more JavaScript. Business threw in more JS SDKs to show more ads.

We looked at South Korea and their fiber lines, and kept eating away thinking that the network and desktop machines were such that our pants were stretchy and we would be AOK.

But then mobile happened and we found ourselves trying to squeeze into our wedding dress or tux from 10 years ago. Oops. It doesn’t work.

Now we find ourselves as a population looking to get back to a stable healthy midpoint. Now, we aren’t all in the same camp, and it is important to empathize with the fact that every person is on their own stage of the journey to their ideal weight, optimized for their health.

For those who are obese and are ready to make a change, they are looking for the right path. So many of us look for a quick fix when it comes to weight and a pill to save you.


AMP is a prescription drug and vitamin all in one. It does give you a quick path for certain use cases. You will have real constraints, but it can be a great choice to get going. Start taking the pill and you will have content that is bonafide fast. Chances are that you will want to add a richer experience for engagement, and that is where you will want to go beyond AMP. Fortunately, Alex Rusell laid out the connection on how to put AMP and PWA together.

If AMP is the pill, PWA is the path to a healthy web lifestyle.

Whether you take the pill or not, today is the day to start a healthy lifestyle, making sure that your entire experience is fast, safe, resilient, and engaging.

When someone is on this journey it is important to encourage and support them. This is another reason why we set a bar with PWA and Lighthouse, but we cheer on every step in the right direction. We cheer Flipkart for coming back to the Web, making a great experience that has fantastic business metrics, and they keep going by growing the reach. Was it ideal that the first version didn’t support iOS? Sure. But they came through and supported UC, then Safari, and we will soon see support added for Firefox and Edge.

If someone stops on the journey, that is the time that we need to step in and keep pushing them. If they finish up with a pwa.foo.com side that only works on mobile, we push them. But if they are still moving and progressing, we shouldn’t pre-judge.

That being said, if we see someone taking the wrong path, such as going all in on a low-fat diet that we know is a hoax, we should step in. We should do everything we can to educate people and help them make the right choices.

The best way to fight this is to start early. If we can get our youth on the right path from day one, they won’t have to go through the legacy pain to get back on track. To this end we need to setup the green field projects so they are fully responsive, on http2, and follow the best practices that we have to offer. There is still a lot of work to do here.

When a developer starts a new project, which diet do they choose? Which one is The Right One?

There will always be choices, which makes it more important to use data. We need to set the bar and hold choices accountable. If your framework choice ends up with something that passes lighthouses tests, GREAT! These diets and frameworks are a means to an end, not the end itself.

The measures that you choose are then very powerful and important. Is BMI the perfect metric? No. But it may be a nice general measurement for the masses, and for the individual you should go deeper. Once you get to a decent BMI you can then go deeper and get more measurements that tie to yourself. These will be very different depending on your goals. Are you looking to be good at a certain sport or lift heavy weights? Or are you a long distance runner? Are you looking to be a high engagement entertainment site, or a transactional market that wants to help users get in and out as fast as possible? Measure what is right for you.

We are in interesting times. I think we all acknowledge that we have a serious problem. Fortunately, we have the capabilities in the platform to be healthy, the masses just aren’t there yet.

As someone who has been on the literal health journey, and is still fighting that fight, I know that it isn’t easy…. but it is life and death. Let’s do this.

Next Page »

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...