BBEdit: Where Respect Is Due
apps.apple.com
apps.apple.com
I remember when BBEdit came out. It was revolutionary at the time. It was a fun challenge to find "large" files to test it on, and for a while nobody was sure how it did the magic it did.
It shipped with a really clean UI and it gave me my introduction to regular expressions. Its "light" theme is still so good that I occasionally try to clone it into environments (unsuccessfully).
When Mac development shifted from the THINK ecosystem over towards Metrowerks, CodeWarrior's IDE was such a pig that you'd figure out how to do the editing in BBEdit and the debugging and compiling in MWCW.
BBEdit also shipped with a rare (again, at the time) ability to open and juggle loooooots of windows, and with a little bit of Applescript we'd try to open an entire directory of files just to see if we could make it faceplant. It almost never did.
I have a huge amount of respect for Rich and having stuck to doing one thing and one thing well for so long. (Well, kinda. TextWrangler was okay, and MailSmith was pretty good but got sold.)
I experienced this first hand when asking Rich to restore the "hard wrap to window width" feature in TextWrangler[1] (it had also been removed from BBEdit).
He quickly and kindly replied that while "We don't have any plans to restore the 'Window Width' option for hard wrapping" I could "describe how this would be useful to you" for him to "give it some thought".
I simply downgraded to restore the desired functionality, as I did not want to waste the author's time arguing over the utility of a feature that had been included for ages.
Since then, I've purchased BBEdit licenses, but use other editors when I need to hard wrap text to window width.
[1] https://tinyapps.org/blog/201807150700_hard_wrap_window_widt...
BBEdit is incredibly scriptable and extensible. You could have written a short script in AppleScript, Perl, Ruby, Python, etc. to perform this task without leaving BBEdit.
1. I want to change the highlight colour. It is too dim to recognize.
People in the forum asked: hey I don't want hidden settings. Can you make the highlight colour adjustable?
A: No. We won't do it. [1]
[1] : https://groups.google.com/g/bbedit/c/yz_StJa9HVA
2. I forgot if it is the print function or what, it just don't have despite in the year of 2022. Oh wait maybe that is the function "export to pdf".
People in the forum asked: Where can I do that thing?
A: We don't know either. Go find other editor if you want it.
Or maybe it is actually a lack of print functionality and you’re remembering export to pdf cause it came up in that conversation?
I would test myself but I don’t have the app installed right now.
I'll admit I've never used said print functionality, so I can't rule out that it's missing something that some people consider important.
I tried to argue for this feature but was politely refused. The argument was: "It is not so much that the code can not co-exist as that the combination of user experiences causes confusion. The two states (hard wrap while typing) and soft wrapping have the same visual result and would tend to cause considerable confusion. Because of this we removed the first when we added the second."
It's 22 years later and the feature has not been restored. I wonder how many times its been refused.
We say some very similar variant of this where I currently work, and also at previous places. Personally, I've never been able to understand this in any other way than:
a.) our users are idiots, we developers know much better then those poor souls
b.) our users are idiots, adding a feature without taking away a marginally-similar feature would be so confusing for them, poor souls
And I think it's why BBEdit gets this historical puff piece that reads like an in-flight magazine piece congratulating Madonna on still being able to dance at this late stage of her career.
I used BBEdit 1.0, and probably every version after that -- including the OpenDoc component[1] version!! -- but I finally stopped paying for it after version 13, after realizing I only ever used it for dealing with my Japanese bank's legacy-encoding CSV files. (Which I still do, to be fair, but the free version works for this.)
I don't think BBEdit has maintained legitimate relevance, in terms of writing most kinds of code, or even more complex text-processing workflows (for which it is better-suited relative to coding), and IMHO that's basically because of this attitude of "our users are dumb! we must protect them, poor little lambs!"
For instance, despite having had rectangular selection quite early, when it was rare (20 years ago? memories get hazy...), I don't think they ever made the jump to Sublime-style multiple cursors and discontiguous selections/insertion-points (later made 9 quintillion times more popular by VS Code) -- arguably the most significant advance in text editors since the introduction of multiple windows.
Likewise language servers and basically everything since 2013 or so.
I might be wrong, though; I look at text editors from the writer-of-software perspective, mainly. TFA references people using BBEdit to write English, and as that endeavor has gotten more complicated ("just write it in Markdown" somebody once said to my father, and he threw a spiny squash at their head) maybe BBEdit's niche has shifted. I don't think it is relevant today as a source code editor, but maybe as a blog post editor, or applied statistics prompt editor, etc?
That’s hard to do and I would guess that their ability to distinguish between what users ask for and what they need is a big part of the software’s longevity.
True, but it's also necessary. As Henry Ford (supposedly) famously said "If I had asked people what they wanted, they would have said faster horses."
I say imagined, because any actual horse owner would tell Ford they don't want a faster horse - they want a horse that's stronger, eats less, and shits less, as those were the real constraints of the horse platform[0].
(There's also a healthy dose of condescension in assuming "most people lack the (...) problem understanding". This may be true when you're thinking up a new class of a mass-market product. It's definitely not true when you're playing with some specialized product people already use productively.)
Also note the context here is pushing a new product category on the mass market. It's not about making an incremental improvement to existing product category, nor making an incremental improvement to existing product - two scenarios which most companies operate in, and in which this quote is most misapplied. In those scenarios, your users - again, note, not prospective clients, but existing users - most likely know the problem space way better than you do. They may have problems communicating the details of their feedback, so you need to actually try and understand what they're saying. Talk to them. Have them show you how they work.
--
[0] - Strength translates to work/carrying capacity, eating less would give exponential savings on logistics to large horse operators, such as militaries, and as for the last part... suffice it to say that in Ford's times, horse manure was a bigger and more immediate health problem than air pollution is today.
When I suggested using a more appropriate mix of drop-downs, checkboxes and radio buttons they readily accepted.
It turns out they thought radio buttons would be easier for me to implement. They aren’t stupid people, they just don’t have any idea of how things work outside their domain.
And it sounds great, and makes you laugh the first time you hear it (but yawn the next 9,999 times...)
But think it through: how many customers really would have actually said that?
Wow, you guessed correctly! It was indeed, four guys, out of all the customers Ford had. If he had asked them, which he said he didn't.
But how many of those four would have really said that if they didn't happen to be drunk?
Wow, correct again! Indeed, zero.
So in fact this whole pithy little quote -- regardless of whether he said it or not -- is just shorthand for HAW HAW USERS DUM AS SHIT BRO LMAO
Yojimbo is a kind of catch-all database where you can cram stuff and organize it. Kind of like a Pinterest for all kinds of things, not just images. With the family pack, everybody can have access to the same lump-o-stuff.
Way back in the day, they had Mailsmith, which was, more or less, a POP mail client with BBEdit crammed in. (This was back when pretty much all email was text and not HTML.) If you used email a lot, and needed to do clever things with it, it was fantastic. It never made the jump to IMAP AFAIK, so it kind of died out. I really liked it, but in today's world where a lot of email doesn't come multipart MIME, just HTML, it would be less useful.
But BBEdit is just great. Much like emacs, once you get immersed into the ecosystem, you find leaving it difficult. You end up with a collection of snippets and widgets and scripts and bits and bobs that become your workflow. And you can script all of it as well. It continues to chug along with ridiculously large files, even back when you might work on files bigger than the amount of RAM in your machine.
I'll remain a Mac user for as long as BBEdit works on it. While I can use other editors, if I have the choice I'll work in BBEdit.
Weirdly behind feature set still
Scanning a doc into DT and then immediately shredding the paper is one of life's little pleasures.
I find that ignoring mail which lacks a text/plain part makes for a pretty decent spam filter.
They used some version of Outlook. Don't know if it was in-house or the Microsoft hosted service or what. Plus whatever gimcrack spam filters they might use in house. I've seen some nonsense on the Internet, but this was a first for me. Absolutely bonkers.
The UI hasn't changed much, which is both good and not so good.
Neovim will continue to be my daily driver but I'm glad to support a small, local (to where I live) developer who's been making great Mac software for a long time.
BBEdit is like an insurance policy just in case…
I'm curious to understand how proprietary software can act as an insurance policy against open source software. I can understand how the reverse would be true.
This is exactly what I meant.
But BBEdit, while proprietary software, doesn't make proprietary files. They're just text files. So if BareBones went insane and turned BBEdit into a front-end for TikTok, your files will still just be text files. Even BBEdit's "Project" file is just a text file.
Now I just use IntelliJ and VSCode. Don't really have to think about it, plugin system has grown enormously, and I rarely need to spend time futzing with my configs because excellent themes are free and plentiful. Progress!
- LSP support - code actions, hover, gotos, linting.
- Fuzzy finding with previews (with syntax highlighting thanks to bat)
- Integrated Git
- Integrated Terminal
- Integrated Debugger
It's a real shame that IntelliJ and VSCode users scare beginners off from trying out all the amazing editors like Vim, Barebones, Nova, etc. with this FUD that they won't get anything done. I've seen people swap between editors like SOs in high school and I've been able to consistently stick with Vim my entire career, so maybe the FOTM editor crowd are really not seeing the gains in productivity they believe they are getting by always picking the "out of the box" editor.
Then I read back my own words and invariably insert the 'I' as I realise it doesn't make sense.
"Never eaten a Carolina Reaper pepper, but I'm looking forward to my first time."
"Never eat a Carolina Reaper pepper; you'll regret it."
Wiktionary has a few dozen irregular verbs that could produce an ambiguity like this one:
https://en.wiktionary.org/wiki/Appendix:English_irregular_ve...
"Never miscast Magic Missile ..."
"Never shut a door on someone's finger ..."
"Never preset the thermostat to 90 °F before going on vacation..."
"Never put an irregular verb in a position where readers might interpret it ambiguously..."
("... but there's a first time for everything, I guess" / "... you won't be happy with the results")
From my experience SublimeText handles large files fine, but I never really tried to open multi-gigabyte size files.
I love SublimeText, it’s my favorite text editor and also multiplatform, so I have the same experience and tools on macOS, Windows & Linux.
I never understood why there was so much love for BBEdit on Mac and so little love for UltraEdit on Windows.
They were both released around the same time, selling to the same audience just on different platforms.
This was also during a time where there was many options.
Then upper management forgot they employed engineers and did not renew the license.
Now I’m stuck with VS Code which chokes when I open a 20 MB file.
It's still my editor of choice but it's a shame that they switched to a subscription model.
Thank you, BBEdit.
Also, you’re low-key responsible for my lifelong unrealized quest to give my Linux workstation sane keyboard shortcuts.
Oh heck, you've just dredged up some absolutely horrific repressed memories of that pile of junk. It was impressive how unstable it was.
It's funny too, these days I'm in embedded development again, and it's a markedly different experience to those days, though still amusingly unstable at times too.
I've recently been writing my first real app for Mac OS 9, using C++ (MacZoop framework) and Codewarrior Pro 5 on a G4. There's some features I miss from my modern developer environment (decent version control!), but other than that it's been a thoroughly enjoyable experience. Certainly I've had no stability issues at all with the IDE.
AFAIK the current CodeWarrior is based on Eclipse, if they're still updating it.
Again, in spite of my current experience I don't doubt for a second that you had a lot of issues. Software was just a lot worse back then, and having now dipped my toes in the frameworks and languages used in the circa 2000 period, I'm not really surprised why. There's 0 references to automated testing in any of the programming books or documentation I've looked at, and as far as I can tell absolutely no support for it. Version control is extremely rudimentary. I didn't programme professionally until early last decade, and some of what I can infer to be have been normal is just baffling for me.
I’d always heard Rich’s name tossed around as a developer’s developers, but learned a lot more about him and his thinking from this article.
Toggling between BBEdit and the CSS Zen Garden. Those were the days.
Very happy to see Apple paying recognition!
It’s been more than 30 years, since BBEdit was released.
I use it a lot.
I never warmed to any of the alternatives.
It really takes an exceptional product to last eons and remain relevant.
BBEdit feels more like a product of love than oriented for-profit.
I would interpret that to say for-profit is applicable though, having had projects that lasted a long time (not thirty years!), I can say that sticking with it that long is always, also, a labor of love.
The Search and Replace feature of bbedit is absolutely the best ever. When I am forced to use another editor, I am appalled by contrast. Since I use this 1000 times a day, I will never change. bbedit forever!
I can't imagine choosing to give up those decades of custom features I've built into my workflow. Nor can I figure out how I would work the practicalities. I would say that it is literally impossible for me to change editors at this point.
And, I consider this all to be a tribute to bbedit's flexibility, speed, and solid, hard core reliability. I love that program. If they offered a paid release every year, I would ante up happily.
Based on reading discussions on HN over the last decade or so, it seems that a lot of people on HN don't choose editors because it's the best tool for the job, but because of the same factors that affect the fashion world: Flash, style, color, trend, posturing, and peer pressure.
I've banged out code on everything from a green-screen Wyse terminal to Panic's Nova, and there's nothing better for reducing productivity than changing and reconfiguring your tools in the middle of a project.
Somewhat surprising, but props to Rich, that is some impressive work, above what I already thought was impressive work!
I use Neovim a lot more and then perhaps VSCode, as I live in a world with a lot more going on and a lot more integration with other tools, a very different world to that which makes BBEdit a go-to app. Also, I don’t think it’s that impressive with large files. Still, gotta respect a hit.
Power to Rich Siegel.
That's not utmost respect, but condescension when you think you always know /can figure out better than the user
For a gentle non-scientific introduction: https://www.forbes.com/sites/leoyeykelis/2018/05/10/why-its-...
If you actually want to know more, a very accessible textbook: https://books.google.nl/books/about/Interaction_Design.html?...
> Good UX research, however, does not ask people what they want. That’s because people find it difficult to put themselves in imaginary situations, especially in cases where they need to picture a future with products and technology that do not currently exist.
But this is a text editor, gazillions of those exist, with various UI paradigms and features, it simply makes no sense to claim that all users, even those very experienced in alternative apps (so nothing imaginary about that), don't know better than BBEdit's small design team, thus it's ok to ignore their explicit asks because you know "what they really need"
Like in the example cited above with removing hard wrapping, the quoted argument "The two states (hard wrap while typing) and soft wrapping have the same visual result and would tend to cause considerable confusion. " is patently false as there exist editors with very clear separation of the two (and those being confused can always disable either). But then if you think you know better, you keep being "utmost-respectfully" wrong for years
For the article, the relevant part was: “ In general, a researcher will first ask a customer to walk through how they currently solve a particular problem. As part of this investigation, they will probe at the user’s pain points and existing workarounds”. What is the hard wrapping used for? Maybe there’s a better way of solving the same problem to begin with, and hard wrapping is just a band-aid instead of the proper solution to the underlying goal?
By the way, UX research doesn’t claim that designers cannot get anything wrong or that users can never get anything’s right - that’s a silly simplification of course. But I don’t think the the BBEdit author was trying to promote such an absolutist view.
There were a bunch of "does it do PASV" conversations. Because, FTP is sufficiently old-school (like telnet) that it believed in archaisms of how to open a distinct data port to a command port, and it made firewalls very unhappy unless you could use "passive mode" which was firewall friendly.
We wrote our own CMS using DAV (in Apache), and I wrote a push-publish engine which was on the "inside" master and would push out via rsync a checked out state respecting symlinks. It was kind-of like "stow" but for the networked web from a repo.
the BBEdit users weren't happy, they had their own idea of a CVS tree using "tortoiseCVS", we had many fine arguments about how to do it (most of the web was theirs but a small portion was not, and was in fact Apache::Perl rendered which was in a code repo, and combining multiple sources of authority over web state is always a very confusing place to be)
I am also confused by what point you are trying to make regarding FTP? "Web devs wanted to upload files via FTP" sounds pretty normal for a website 15-20 years ago? Of course it also unclear when your story takes place...
BBEdit integrated some publish/checkin features as I understood it but you had to have enough CVS fu to manage some of it "outside" the tool.
(and, what I read suggests CVS was something you had to actually install on the MacOS of that day, from some repo or another, probably whatever proceeded XCode. the developer tool bundle?)
It was entirely normal to do FTP 15-20 years ago. The problem was, that FTP was bifurcated into two forms. "traditional" FTP with two channels one of which was a back call to the client and PASV mode which was the one which worked through firewalls better, where the server set up a path for the client to call into.
Maybe you never had these issues. I know a lot of people at the time (like me) fought with FTP services and connecting clients who couldn't enable PASV, or didn't know how to turn it on, or whose firewall admin wasn't up to speed with enabling things to make FTP work.
I forgot to note that the permission set needed to make XHTML and like functions work meant setting the execute bit on some uploaded content, sometimes. It wasn't adequate to just mark a file as .xhtml always, for things like SSI to work let alone CGI scripts. You can do that in FTP if you can issue the commands, or you can ask FTP to preserve state for you, but again from hazy memory CVS didn't always like chmod state of files checking things in and out.
My story takes place around 1999/2002-3. If I mis remember forgive me. I had already been working 17 years online by the late 90s, and this BBEdit stuff is now 20 years ago for me. I forget more than I remember.
They saved my butt last year when my old Mac Mini melted down. I had another old Mac Mini a friend gave me and when I contacted BBEdit they gave me a copy to get me back up and running without any hesitation even though I couldn't give them my serial number.
Nothing but respect for them.
Discovering the command line tools was a very good day for me. I really like the built-in (two way) diff, and it’s my $EDITOR of choice on mac.
I've moved on to VSCode which has so many more features than BBEdit - it's not even close.
That all said, nice of apple to write a little puff piece about it and it's author. BBedit was a workhorse for many and continues to be for many. It's one of the few very successful mac apps that apple didn't just steal (like watson).
BBEdit is a big misfit for me and how I use editors. It’s great at transforming text and zillion of other features but I get my work done in VSCode or PyCharm. My true preference was Atom. RIP
Even with this all, I still install BBEdit on every device I can.
Other apps are much better at large files. The APFS filesystem has a maximum file size of 8 Exabytes and plenty of other text editors can handle file sizes that large without any issues.
- the multi-file search and replace,
- the diff tool,
- shell worksheets
and so much else.BBEdit has always been a fundamentally fast and reliable text multi-tool and I've used it since 1994 when I first started poking around HTML and learning Perl.
> BBEdit 14
>
> It doesn’t suck.®
Dang, I love it. The feature list looks good enough to back the claim. It almost sounds like an editor for Linux. And I'm also curious if there are any Linux alternatives?BBEdit / TextMate has the Mac feel that I enjoy editing long-form text in (recently, a lot of latex manuscripts); meanwhile, vscode is where I write code. I don't know what contributes to this difference exactly, but they occupy a different part of the market as of now.
Great program!
I was on a Mac constantly from 1989-2009, I'd became a bit of a free software zealot and moved from an iBook to a ThinkPad. It's funny, because a lot of people were making the opposite move, and as I understand it the early 2010's are looked at as a bit of a by-gone golden age for Apple now. Can I ask why you chose to move?
Find yourself typing this thing over and over? Just create a snippet, the interface is just very few clicks away.
Need a bit more power? Turn it into a command, and use whatever scripting language you’re comfortable with.
Want to change the color scheme? Here is a nice declarative way to select precisely the syntax elements you want.
(I think part of this was that they had a bunch of short videos on their site showing you how to do this, and then a well-written documentation to accompany it for the details.)
Sadly, with TextMate 2.0, the interface for these things got quite a bit clunkier, and then I left. (I also discovered my preference for modal editing.)