• 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 Development

The holy grail of a Web SDK

June 7, 2022

As I sit here watching WWDC, I get that same feeling. Everything is vertically integrated. The layering of the SDKs, with much that is shared, and then differences for iOS vs. Mac vs. tv, etc. You can’t hope but look at the Web and think “oh man, the paradox of choice over here… with so much evolving and changing to keep up with!”

The old analogy comparing dictatorships vs. democracies continues to ring somewhat true.

I have made the mistake in the past of wanting to chase the holy grail of a Web SDK that has the benefits of a unified stack that takes care of everything. However, I have learned that this is a holy grail in the sense that it can’t actually exist on the Web in the form that you think of.

The quest is wrong. We shouldn’t try to be like Apple, and compete in the same way with a history and ecosystem that isn’t setup to succeed in that form.

Well, what is the right quest?

  • We should embrace the ecosystem, and the players lower in the stack (e.g. browsers shipping the web platform) should embrace the fact that so much evolution happens on top. Plan for this. Be malleable and modular, and allow for shifts and changes. Most of all, be enablers for the stack on top.
  • The web platform can absolutely do better with undergrounding gains that come from the evolution in user space. The Web is a meta-platform that ships with browsers. Anything in user space is fairly costly, but has the trade-off where it can evolve quickly (downloading libraries / updating libraries).
  • It is a fair criticism that the Web has many primitives baked in for documents, but leaves much of app development to user space. If you build something truly app-y, you can end up somewhat frustrated. It’s improving all the time, and there are things that are amazing about building web apps, but there is a ton to improve here.
  • In general, there is value in seeing what primitives are needed to help the various types of experiences that users choose on the Web. It’s so broad, and the needs for content, commerce, apps, and games are different and yet share a lot.

I am seeing a lot of progress in areas that push us forward:

  • WebAssembly as a lot level runtime for client AND server that can change the game, opening up a TON of room for the ecosystem to innovate.
  • Massive CSS improvements with container queries and new helpful syntax bumps, and losing the need for preprocessors for obvious changes (this is all good undergrounding!!)
  • Apple hiring and catching up with app related APIs (e.g. Web Push, making PWA not be somewhat broken). There is still so much that is needed here, both in WebKit catching up and also the entire Web pushing forward. Dogfooding with Active Recall is very humbling!

Let’s lean in. Platform folks work together and build hooks and capabilities that those on top can innovate with. App devs and framework/library folks, share what you need. Together, push on where we want the Web to go and use the fact that it isn’t run by one company.

Agency developers are underrated

April 21, 2022

You hear about the developer who created Wordle, or who went on to found a large company, or contributed an open source project to the commons. You don’t often hear about the agency developer, and they are both important and often on their own journeys.

The Value of Agency

Agencies, and consultants, are out there helping make businesses a reality. They deliver expertise when it doesn’t exist in house. They quickly expand the workforce and when done right, leave employees better equipped for growth.

By working at multiple companies in a domain, they can bring learnings, just as employees do when they change companies as they journey through their career.

I have found that high quality agencies are true experts who have bet their business on your platform, understand your competition, and know what your users really want. They build true empathy on what it takes to be successful.

If a platform company doesn’t have programs that include agencies as a tier one cohort they are probably doing it wrong. Ask yourself:

  • Am I training the developers at agencies to have a great understanding of what my platform or product offers? If they are asked, or are given freedom to choose, what solution to build on… would they choose you?
  • Are these developers external advocates in the community? Is there a community for them to show their chops, be rewarded for their knowledge, and celebrated?
  • Does the business team at agencies understand your offering and are you supporting them so they can be an extended sales force for you?
  • Do you have agencies not only servicing customers directly, but also through self-service opportunities (e.g. building apps / extensions / themes)?

At Shopify for example, our agencies are a vital part of our ecosystem, working with us on a joint mission to be merchant obsessed as a way to improve commerce for all. As I have dived into the ecosystem I am constantly finding agencies who deeply understand commerce and our platform, and are at the heart of delivering for our merchants to make their experiences unique and high quality.

We often talk about learning the tech, and the product, but learning commerce is an important key, and agencies have a lot of that knowledge. And once you understand the domain, competition, and environment, opportunities are unlocked.

The Entrepreneurial Path

Many of the solo or small team entrepreneurial developers that I have met came from a past life working at a merchant or at agencies. That was the training ground for their knowledge.

I have seen some common patterns when getting to know our developers, including one very strong one:

“I worked at an agency working on commerce sites for $YEARS. I started to notice that several of our clients were asking for $FEATURE, so I decided that I would build a Shopify app that delivers the feature and enables any merchant the ability to unlock it!”

— Pat

This takes so much risk away from your app development. For one, you can do work for clients directly to prove things out, and this gives you a direct line to a customer with the clear need (else they wouldn’t pay!) Then by working with other merchants you can learn what needs to be customizable, and then when ready an app version unlocks scale. It’s nice to get paid decent money from a merchant to do guaranteed work, and it’s nice to get money whenever someone installs your app.

This is yet another example of the power of de-risking app development with Shopify.

Thank you agencies, and those of you working at them. You are at the heart of it all.


Others in the series:

  • Tech writers are underrated
  • Project managers are underrated
  • QA engineers are underrated.

Web Developers are Shopify Developers

March 29, 2022

tl;dr By staying close to the Web platform, web developers can use all of their web knowledge, and use the latest features as they become available. There is a difference between using the web platform vs. web technologies, a subtle difference I have seen in the past. If we are doing it right, anyone can learn the technical side of Shopify quickly as it’s so familiar, and I have seen developers start as tinkerers through themes and small apps… but also see how the key component isn’t learning the tech, but learning commerce.


The Shopify Platform and Ecosystem is very aligned to the Web. We want to empower our merchants to be long term successful, and that means using all of the channels available, but ultimately driving the LTV with their customers, which means building the brand connection to them vs. aggregators such as Amazon. To do this, merchants need to differentiate, which is where developers come in. They make their commerce sites come to life. They empower the merchants through tooling. And this can be through the developer ecosystem providing functionality through their apps and themes, or through agencies helping customize directly, or with in house developers doing that work.

How can we enable this to work for our merchants and developers?

Stay close to the Web platform

The largest developer community in the world is the web developer community. It is as broad as is the Web itself, offering experiences from content to commerce to apps and even games. We want any web developer to look at building on the Shopify platform and instantly feel at home. You know how to work with backend APIs and JSON. You know how to handle layout. You know how to build on the Web.

If we are close to the web platform itself, Web developers have fewer technical details to learn before being productive, and spend more time on their commerce offerings.

And as the Web evolves, Shopify developers can quickly use new platform primitives without having to wait for the Shopify platform itself to use them.

Losing your Mojo

I have seen how this manifests in past lives. One example that tells the tale is the Mojo framework that you used to build the first applications for webOS. While it used JavaScript, CSS, and HTML, you couldn’t rock up with your jQuery and node knowledge and build something. You had to learn Mojo.

It’s tempting as a platform to build these abstractions, because you want to bake in knowledge of the platform into a “happy path” framework. But, be careful, as you are throwing away a huge number of advantages. One of the first things I did was hack webOS to allow me to just render a “normal” web application within the Mojo lifecycle.

With Shopify you can bring the knowledge of the Web with you.

Approachability

Mistakes the CSSWG wishes they could undohttps://t.co/Y4k9IAgjL2

I appreciate this honesty and transparency, it's humanizing and great for me (or any dev) to learn from

— Adam Argyle (@argyleink) October 22, 2019

Some of us, who have seen the Web evolve over a couple decades, may bemoan parts of the platform. But I still contend that it’s the best platform to approach and start playing with. Part of this is because of the various entries to “development” on the Web.

I know a huge number of developers who started by hacking on some HTML. Some took their WordPress site and played with the themes. Then they built some plugins. And their journey continued from there. I often did this myself! The first version of SeekingAlpha was WordPress. Then we hacked on it to become a blog network. I was new to PHP at the time, and although it didn’t tickle my brain like Ruby and Perl did before… I had to see what it was about, and I couldn’t argue that it wasn’t productive.

We have this approachability at Shopify. You can start tweaking the theme for your store, or you can create your own one. Liquid is a templating library that is simple to use. You can go a long way in making your stores your own through themes, and then installing and customizing apps… including your own custom apps.

And for when you truly need customization that you aren’t able to get through the online store, you can build custom storefronts and reach for our own Hydrogen or other web frameworks. It’s all just talking to an API and building a web frontend after all!

We will always want to make building commerce experiences as simple as possible, giving you the canvas to bring your vision to life. We have so much more to offer here, as we open up the platform in new ways.

As I work with the developer community, I find that while the platform can and will improve, the key isn’t learning the tech, but instead…

Learning Commerce

If you think about an average shopping website, you quickly see that they are often quite different, and have many custom flows and options… they can be complex. I find commerce deceptively deep and broad, which is exactly why there are opportunities for so many merchants and developers, and so many niche use cases that can be large niches indeed.

When jumping into Shopify for the first time, you will want to put effort into understanding commerce and all of the surfaces that Shopify opens up for you.

It is important for us to help you learn the structure *and* opportunities of commerce.

There are many paths to get into Shopify development. As I meet more in the community I see agencies with commerce experts, former merchant developers, as well as entrepreneurial developers who dive in with passion to enable merchant growth and help make commerce great for everyone. 

I will talk more about the magic of agency developers in another post, but for now… if you are a Web developer, Shopify is here to enable you to leverage your web skills directly.

One reason I am so excited about the Shopify opportunity is that I think we can legitimately bring it to a massive population. Shopify can be both the most approachable platform for anyone new to development, and also offer all of the knobs and platform customization to let you build the most custom experiences imaginable.

/fin

Next Page »

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • The holy grail of a Web SDK
  • The rise of the extensible app platforms
  • Active Recall now out of beta and open for all learners!
  • Agency developers are underrated
  • Web Developers are Shopify Developers

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 Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Family Fitness Founders Future Gender Equality Google Google Developer Google IO Habits Health HR 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

  • 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

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

Dion Almaer

Copyright © 2022 · Log in

 

Loading Comments...