Although this article is a bit too extreme and an overreaction, I must say that as a non-Chrome user it seems more and more websites only work in chrom{e,ium}. At least once a week I have this experience (I use Safari.) Thread →

lwn.net/SubscriberLink…
The contemporary idea of a web browser is an abstraction layer for technology to allow some document or software to be available to anyone using a web browser. If your website only works in Chrome it’s really not different from say only working on macOS.
There’s a cost to everything and with web development a big chunk of cost is in quality (making a UI reliable and behave the way a user expects it to.) An increasing cost area is also writing & testing browser-specific code and that seems really backwards to me.
If you spend 30% of your time on UI quality and 20% of your time writing the same code 3 times for chromium, Safari and Firefox, are you really spending enough time on what makes your software unique and special? Aren’t we kind of hamsterwheeling technology in a way?
Back when we started Spotify, in 2006, web browsers didn’t have as many APIs as they do today so we decided to build OS-native apps instead. Some people thought it was a mistake but let me tell you, it was more cost effective than any web app I’ve worked on ever.
Just like—when developing a web app—writing module X for Chrome, Safari and Firefox, and logic for UI component Y to behave nicely on Windows, macOS and Android, you end up doing the same for OS-native but with cleaner separation.
Instead of your ScrollView code being 10000 lines of raggedy JavaScript with scattered branches to work around different browser behavior, you end up with something more similar to libraries or modules for diff OSes. Posix threads, Win threads, Mach sockets, etc.
At Spotify this meant we had ONE C library that comprised 95% of the Spotify app. It had a few small OS-specific “modules” (directories of source files) and it could build on pretty much any OS and arch. Old ARM with thumb mode? No problem. PowerPC? Why not!
Embedded TI inside a speaker? “Hold my beer...”
The UI was a layer on top, written in a platform’s native UI toolkit. This is how we were able to ship an iOS app in mere months (when it was totally new tech; a new OS entirely! Hat tip to @nevyn who really made it possible)
How about an Android app? Done. Nokia Series 60 OS? Took a few months and maybe three people, including custom UI design.
I think that we sometimes don’t think very long or much at all and just reach for web as the platform for an app. In some cases it is the best choice. Figma for example would be faster and use less energy as an OS native app but the distribution and quick viewer access \
of the web platform was (and still is to some degree) more important in the case of Figma.
Really, pick the technological path that will give you the biggest budget for what really sets your software apart. If you’ll need a lot of scrolling views, menus or device-specific stuff like color accuracy, consider if maybe an OS-native path is more effective for you :–)
Huge arms up the sky to @strigeus & @arrelid who together wrote the first version of this AND both a native Windows app and native Cocoa macOS app in a few months. Hugely impressive. I’ve seen more time spend on making context menus work in web apps.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Rasmus Andersson

Rasmus Andersson Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @rsms

19 Jun 20
We're growing our Editor engineering team here at @figmadesign. This is an amazing opportunity to work on OS-level engineering challenges together with a wonderful, small and diverse team of passionate humans.

More details here: jobs.lever.co/figma/b3721c76…

Also, thread:
Are you a person who identifies with a group that is often underrepresented in software engineering? Then we are particularly interested in talking! We strongly believe that diverse minds, opinions and perspectives makes for a better life and better software.
Here's is a short summary of life at Figma: figma.com/careers/
Read 7 tweets
11 Jun 20
@fionaosaurusrex @figmadesign Sharing some of mine
@fionaosaurusrex @figmadesign Another example from Figma's initial community & plugins launch in 2019. One file with one page that documents every part of the design, synced daily between PM, Eng and D.
@fionaosaurusrex @figmadesign Some more diagramming examples from the community & plugins Figma feature from 2019.
Read 4 tweets
28 Apr 20
Some thoughts
To me, “design” is a very broad subject. In the case of industrial design—what my peers usually think of when we say “design”—is mainly about constraints. Here’s another way of viewing the practice:
Here’s an overly idealized view of what you might thing design is:
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!