I wonder if this kind of reasoning might be why Mozilla keeps dropping features of Firefox I liked such as RSS, bookmark descriptions, FTP, while adding stuff I don't care about like Pocket and Hello. I've recently finally caved in and installed Chromium and Brave, to see if they might be worth switching because of the reasons I had for using Firefox are just not there any more. After 15 years using Firefox (and advocating for it and installing it on many of my families computers for many years) it's hard to switch, and with the state of privacy and tracking I feel like my only choice is to pick what type of poison I want to drink.
That's funny, because I remember Firefox starting as "Phoenix", a very lightweight browser free from the bloat of Netscape.
I also don't quite get people's attachment to FTP. FTP has always been a horrible protocol and only relatively tolerable back before the Internet got so widespread. The moment one went from a modem to say, DSL, one would quickly bump into the horrors of FTP under NAT. And even before then, FTP sometimes screw up hours of downloading with ASCII mode.
FTP is clearly a protocol made for command-line comfort, and was never a good fit for something like a web browser anyway. The directory listing is an atrocity because it's made for human eyes and requires a dozen different parsers for automation depending on variety. The mess with the passive/ASCII stuff requires the user to understand those are things that exist and what they may want. And the hacky anonymous download access was achieved by giving the user instructions in the login banner.
All those things are really not suitable for anything that aims to make it simple to download on click.
> FTP is clearly a protocol made for command-line comfort
GUIs did not exist when FTP was made. Frankly, the concept of user accounts didn't either, so the anonymous access hack was a product of its time and not an intentional design decision.
I am confused though, because FTP being a protocol means it is fairly standardized in terms of commands and expected output right? Are there FTP servers that spat out wildly different responses to typical commands? Because if so, SMTP/POP3 should suffer from the same thing, but I don't recall many email client developers complaining about it.
FTP's directory listing command provides the output of 'ls'. Or 'dir', if on Windows. Or a bunch of other variations.
That's because it was made to be shown to a human using a commandline client, and wasn't intended to be parsed. As a result, a FTP client like Firefox needs to parse about a dozen possible versions, plus there's a standard for actual machine-readable listings that may still not be universally supported.
Anonymous access was typically announced in the welcome message, with something along the lines of "Login as user ftp, pass ftp for anonymous access". Again, made for humans reading that.
And besides that, it has annoying design quirks like that "download done" is just closing the socket.
My point is that FTP is a remarkably annoying protocol for something like Firefox to implement. It involves figuring out how to parse stuff that wasn't made to be parsed, guessing common anonymous account names and passwords, and dealing with ASCII/binary active/passive modes. The nature of a program like Firefox clashes with the protocol badly.
Proper GUI clients show all the messages the FTP server is producing because sometimes it's just a necessity. It's always possible that there will be something the client won't be able to deal with automatically.
If you were a user of FTP/SMTP/POP3 software in the 90s, you definitely saw a regular stream of developer/operator complaints. The last 20 years saw a lot of diversity loss in popular protocols (DIEDIEDIE!) and we now use a narrow subset of them.
Does Brave keep these features that Firefox dropped? I know that Chromium doesn't (FTP, RSS, Bookmark Description).
You appear to have a choice between a browsers with feature parity, except one of them supports your privacy more.
Like "this type of reasoning" is what happens whenever you reach a point where you get resource constrained (even Chrome/Chromium has to pick how to allocate their resources). Eventually you need to pick what to work on, and what to keep maintaining.
They don't have those features either, so then I have to look at other features. Brave comes with a pretty good ad blocker out of the box (whereas in Firefox I have to install uBlock) it's also very explicit about the ads it shows, keeps a log, allows to opt out individually or altogether, and seems to stay away from shady features like Floc. To be honest, I'm not too convinced the change in paradigm will be an actual improvement over the old one, but I appreciate the transparency of the system. Some web applications that I use frequently work noticeably better in Chromium/Brave than in Firefox and in the end I want a good balance between ideals and quality of life.
To be honest the main reason I have to keep Firefox as my default browser is that I'm used to the developer tools and I like them better than Chrome's. But it's gotten to the point where I have to tell myself that it wouldn't make any sense to drop those, but I thought the same when they dropped all the other features, so I find it harder and harder to stay optimistic.
I haven't used Brave at all. I can appreciate wanting the ad-blocker being built in. I guess I've been using ad-block add-ons since... they first existed (I remember being excited about FF 2.0), so I'm actually kinda leary of built in ad-blockers (alignment of interests and all), but I can also appreciate with Brave is trying to do with BAT and all.
I guess I naturally stick with FF (despite being annoyed by many of their changes) since I can (or at least I think I do) appreciate the magnitude of what they're trying to do, as well as the realize that while it's okay to hold them to a higher standard, what it feels like is that a lot of people hold FF/Mozilla to a really high standard, and then Chrome/Chromium to different (typically lower) standard, and when FF comes short of their high standards, they just switch to Chrome/Chromium without actually directly comparing the two browsers to each other. Like if FF can't be the fantasy magical piece of software they want, they may as well just use Chrome/Chromium.
Rant over.
I hope FF keeps the dev-tools. I'd be in a pickle too if they went away.
I think you are right, the author does not discuss the ultimate question of their framework at all: "3. How will those users change?" That is, will the users become advocates of our products and recruit many more users, or will they become disillusioned and turn to competing products even for the heck of it. (Not every decision and outcome is logical either.)
Is "users will become advocates" a real thing that meaningfully drives market share at this point? Sure there's anecdotes floating around of this happening, but I've never been able to tell whether it actually has an impact or if it was just power users justifying why they should be considered disproportionately important.
I was commenting from a more general point of view: It might or might not be significant for Firefox at this point, but it's weird that all the author says about the question is that you multiply by the answer ("Multiplying 1x2x3").
Certainly marketing people care about the net promoter score, and it would be good to have an idea how its changes affect growth.
When it comes to any of the major browsers I really doubt power users drive any significant market share. But is it the same for a niche browser? Mozilla have been trying to chase shiny features to drive adoption yet they somehow keep losing more and more market share. Why can't they at least listen to some of the people who are actively trying to use their browser... have they decided they're going all in and they'll either have it their way or they'll die trying? I would be really sad to lose my favourite browser like that.
My guess is that power users are picky and opinionated. If one of their favorite features gets cut back or dropped they may loudly complain on the way out.
Mainstream users don't care about any of it. The only reason Firefox or even Netscape were ever mainstream was because they were undeniably better than alternatives. User advocates got the word out, but it was the clear advantages carried the day.
Now that browsers are all mostly the same for the laymen there's no reason to change the default. Or if they change it's only to whatever's most familiar.
Something like this should be part of every engineering curriculum. As a small anecdote, I've several times ran into engineers who spent inordinate amounts of time to make the system just a tiny bit more type safer, and when I ask how many bugs would this have fixed during the last year they don't know. When I do the work and send them the single, low-impact bug their efforts would've fixed, they still go through mental gynastics to justify their efforts.
A thing to keep in mind in these situations is that making the system a bit more type safe may be more personally satisfying for the engineers. They may see that as a more worthy goal than fixing `n` additional bugs.
Same thing with premature, or otherwise unnecessary, optimization. Sometimes it's just fun!
Author here. I fully support prioritizing a project because it's fun! We need to own that rationale though.
In OP's situation, it sounds like their counterpart is trying to argue that this project is a "good thing to do" for the user/system. In reality, it's a bit of code hygiene that makes it more fun to do work (still important [1]).
That dissonance hides the true value of the work and makes it difficult to reason about.
Thanks for the note! Doing opportunity sizing early in the product life-cycle definitely helps with this type of situation. Though, I've found it only really helps when it's a forward looking analysis or (rarely) when part of a no-blame retrospective.
This is one of those “Product Management 101” things that engineers are surprisingly bad at. I couldn’t agree more that this is an essential skill for engineers (especially sr engineers), whether they’re working on infra, growth, or product.
At least in my experience, management tends to break engineers of this 'skill'. They usually just want us to build whatever they say. Never mind if we could tweak the underlying business process to make the technical system better and even save the business money.
Not just bad managers. At large companies the processes and leadership structure are sometimes too focused on meeting dates (usually arbitrary) and sticking to the initial plan/design. I get that we won't change course for everything or we will end up with scope creep or in a loop of refactoring, but it would make sense for the items with the largest benefit or clear net value-add.
This is a really good (initial) framework for thinking about what new features should or should not be built.
But I would advise against using it (alone) as a tool for deciding which existing features should be removed (as other readers suggest may be happening).
With new features, it's a binary choice - build or not.
With existing features, there is a third choice - continue development, stop development (but maintain), or remove feature. Removing features has costs that might not be worth the savings.
Google lost a lot of goodwill over the last few years by unceremoniously dropping products. Mozilla, over the last year or so, seems to be making some of the same mistakes.
Chromium is terrible enough that users don't really have an alternative - at the moment. But goodwill is really hard to get back after it's been squandered.
One sure thing is when you actually finish a project it might be worth trying to market it or just wait a little to see where it can go. See Firefox OS, or how we could have had an android independant alternative phone os and how Mozilla could have been financially independent thanks to revenues that are now going to KaiOS.