Live data from Hacker News

Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

blog.kowalczyk.info

51–60 of 175 posts

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#51
post #35
post #2

I use SumatraPDF almost every day and I love it. It is very rare these days to have an application that is all of the following: - Small and fast - Hand-crafted for a particular platform - Not bloated with oddly specific UI menus and configuration settings It has one job and it does it very well. Thank you for it.

> It is very rare these days to have an application that is all of the following... Yep. On Windows there's: - IrfanView for image editing - foobar2000 for mp3s They've been on my "must have" install list for ~20 years. There's also Ditto for managing multiple clipboard entries. It's a good example of how a small open source tool with an optimized UI for 1 thing ends up being 100x better than the same feature MS trie…

I use Imagine for image viewing. It has an amazing little feature: when you press the "Next Image" (or "Previous Image") button and the window resizes/moves to keep its size consistent with the new image's size, the mouse cursor is automatically moved to still be over that "Next"/"Previous" button.

It most likely takes about 5 lines of code to implement but what's important that the author actually thought about and took care about this scenario.

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#52
post #20

Earlier quoted context omitted.

Adobe’s goals for Acrobat Reader are almost diametrically opposed to yours.

You would think "reading PDFs without annoying the user" should be the first and golden goal. So much software in the modern era has horrible UX because the vendor's goals aren't aligned with the users' goals, where really the users' goals should be the only thing you care about as a company. At my $DAYJOB you could fire 80% of the R&D staff and refocus efforts onto what our users actually want, and we would probably…

> So much software in the modern era has horrible UX because the vendor's goals aren't aligned with the users' goals, where really the users' goals should be the only thing you care about as a company.

That is the failure of market optimization nobody wants to talk about.

It's an undeniable fact that competitive pressure and desire to make money incentivize people to solve other people's problems, leading to products that get cheaper and better-aligned to customers' needs over time. A fact that's often brought up in defense of free markets and entrepreneurship. What is however ignored or left unsaid is that, it's true up to a point.

The same feedback system that initially aligns producers and consumers doesn't have a stop condition for "the most value for customers". There is no local minimum there either. That's because the market process is not actually optimizing for providing value in the first place. It happily blows past the point of being optimal to the customer, and continues to optimize for profitability by making things worse and worse for the consumers, until the end result is just "worst possible thing that's still marginally fit for purpose".

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#53
I've been very happy using SumatraPDF on Windows, because it redraws the PDF after the file has been written over. (This is especially useful with LaTeX on Windows.)

When I have the PDF open with Adobe Acrobat, my LaTeX compiler can't write over the open PDF file.

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#54
Simplicity vs Customizability is something I wish more software in general understood.

FOSS in particular tends to lean into the Customizability aspect far too much; I'm a big fan of it, but it took (for example) GIMP years to actually shift it's interface to being single-window by default and making it less easy to close the default side-panels (which unless you knew how those were put together were also basically impossible to get back, so the thing most people did was either stop using GIMP or wipe their installation, hoping that a reinstall would restore the windows).

A lot of that comes down to the rather... weird relationship FOSS has with depreciation; most projects will gladly break people's workflows because "it's just better to do it that way" and at the same time, you have some obscure workflow nobody but the dev who wrote it still relies on, so you can't update a default that should have been changed 3 years ago because then they start complaining (and usually gets to keep the defaults fucked because of project seniority, which in my experience tends to matter far more than anything else in FOSS projects).

There's a balance to keeping things simple with the advanced tools needing to be deliberately sought out. SumatraPDF in my experience manages to walk that balance very well. It's the kind of software where just using it feels intuitive; I've been able to let elderly people install it and use it without needing to spend hours educating them on how it works. It just shows documents and the basic icons make immediate sense.

(On the other extreme end, proprietary software can come across as almost completely nannying nowadays to the point where I stop using it because I feel like I'm getting lectured like I'm a 5 year old. Again, there should be a balance.)

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#56
post #40
post #28

Earlier quoted context omitted.

It’s missing dark mode that other low-key projects have adopted. It’s an app that’s lovely to use, but it sure does give your eyeballs a suntan when it’s open. Yes, there are custom settings you can set, but for simple software, I just want a simple switch.

I actually prefer a textfile to change the colors, especially for a pdf reader I don't like white text on the "#000000" black that a lot of apps use. Instead I use "BackgroundColor = #ECECEC" which is much better for the eyes imho.

Webapps and mobile apps really need two dark modes - the one you like, i.e. light grey text on dark grey background, and another one for AMOLED screens, that's actual light grey or white on pure black.

On AMOLED displays, that #000000 not only looks nice, it also saves battery, as it shuts the given pixel off. The difference is substantial - with modern UI trends that waste most of screen space, a "grey on pure black" color scheme can often keep more than 50% of the pixels off! Meanwhile, a typical "grey on grey" dark mode will keep 100% of them on.

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#57
post #35
post #2

I use SumatraPDF almost every day and I love it. It is very rare these days to have an application that is all of the following: - Small and fast - Hand-crafted for a particular platform - Not bloated with oddly specific UI menus and configuration settings It has one job and it does it very well. Thank you for it.

> It is very rare these days to have an application that is all of the following... Yep. On Windows there's: - IrfanView for image editing - foobar2000 for mp3s They've been on my "must have" install list for ~20 years. There's also Ditto for managing multiple clipboard entries. It's a good example of how a small open source tool with an optimized UI for 1 thing ends up being 100x better than the same feature MS trie…

7-zip has already been mentioned, but I want to mention Notepad++. It's not as featureful as a full-on IDE or most modern extensible text editors, but it's fast and has a simple classic UI. When I just want to edit a basic text file I tend to use N++, as long as I'm on Windows and I don't want to boot up VSCode, let alone a full IDE.

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#58
I find it interesting that he repeats the mantra 'be like water', which seems to partially equate to 'give users what they want', while also discussing the mozilla/firefox history.

It hints at what I think is a natural cycle of software. Software evolves with its user base, its existence and modification over time proving its value. Then, there comes a time where the weight of its history (and feature set) becomes too much of a burden to its current user base. At that point, something happens to shed the weight.

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#59

> I learned about how Plan 9 C code had non-traditional scheme of #include files where they don't put #ifdef wrappers in each .h file to allow multiple inclusion and .h files don't include other .h files. As a result .c files have to include every .h file they need and in the right order. It's a bit of a pain and no other modern C++ codebase I know of maintains such discipline. I've always thought this is exactly how…

You can accomplish most of this by using forward declarations and the pimpl idiom as Scott Meyers recommends. Performance can be greatly improved with precompiled headers. Headers without pragmas or ifdef's sounds like masochism.

Re: Lessons learned from 15 years of SumatraPDF, an open source Windows app (2021)

#60
SumatraPDF author here. Glad people like the software for the reasons I thought the would (small, fast).

If you haven't already: use Ctrl + K (Command Palette), a better way to operate the program than menus etc.

Also I'll plug my latest project: I "ported" notepad2 to web:

https://onlinetool.io/notepad2/

It's 85% done i.e. some functions are not implemented.

On Chrome / Edge it can even read / write files from your computer (needs File System API). Otherwise files are stored in the browser in IndexedDB.

Not sure if it makes sense but here it is.

Post reply on HN