26 ms·
Lessons learned from 15 years of SumatraPDF, an open source Windows app
- Loranubi 5y agoI have been using SumatraPDF on Windows for a long time. After opening a PDF file with it for the first time, I never went back to Adobe Reader. SumatraPDF is much faster, cleaner and less memory hungry.
- tolai 5y agoSame experience. Great piece of software, been using it for a long time as well. THANK YOU SO MUCH !
- ncpa-cpl 5y agoSame experience here too! It's one of the first apps that I install on every new system.
- Leparamour 5y agoSame experience here. It's one the first programs I install on every new system and have recommended it to friends for years. If any of the programmers involved read here: Thank you very much for all the hard work. It was worth it.
- criddell 5y agoI use the PDF viewer built into Firefox and Edge. Am I missing out on something?
- parsecs 5y agoIt's very noticeably slower and computationally intensive compared to Sumatra (or Okular) with larger files like 1000-page long reference manuals as well as massive textbooks, both of which I frequently use. On web browsers, it generally takes a whole few seconds to load if you scroll quickly past a few pages. I guess if you don't need to jump around in big pdfs, Firefox viewer is perfectly fine.
- deleted 5y ago[deleted]
- b3lvedere 5y agoTotally agree. SumatraPDF is an awesome reader. Been using it for many years.
- robtherobber 5y agoMy comment is bound to be redundant in this thread, but so have I. SumatraPDF is an excellent piece of software that has made life for countless people easier and without them having to pay anything in exchange. It's as simple as it gets (with a UI), it's fast, robust and reliable. I wish governments would set aside some generous budgets for this type of projects that are consistently useful and reliable, like they do for arts and education (well, some governments).
- krylon 5y agoI agree 100%, it is awesome. Also, it remembers the position in a file.
- michaelcampbell 5y agoOther readers likely have this feature, but one I love is that you can re-generate the PDF out from under it and it reloads the new content. As someone writing in LaTeX on emacs and constantly re-generating the PDF, this is very helpful.
- grungegun 5y agoPlus, when you double click a spot in a pdf you generated with latex, Sumatra opens up your default .txt application with the line highlighted.
- evanbubniak 5y agoYes! I often write LaTeX in vim under WSL with this setup and it works pleasantly. VimTeX re-compiles whenever I save the document, launches SumatraPDF on the first compilation, and SumatraPDF hot-reloads it without any extra effort on my part. I'm pleased to see a native Windows program and VimTeX under WSL interoperate so well.
- Markoff 5y agotried it for some time, but quickly moved away since it had problems with rendering, comments and I need to highlight and annotate PDFs, also ocasionally I sign there documents with my transparent GIF signature, I don't think sumatra can do any of these but I am adobe hater, didn't use their software for decades, now I am using for years Foxit reader
- marktangotango 5y ago> comments and I need to highlight and annotate PDFs, also ocasionally I sign there documents with my transparent GIF signature, I don't think sumatra can do any of these Indeed, it's a "viewer" not an "editor" :)
- tanto 5y agoWhen I open PDFs I often want to edit the filename to adjust it to the content. SumatraPDF is awesome and opposed to Adobe Reader and other PDF readers it does not take an exclusive lock on the PDF file so you can edit its filename. The fact that it is extremely fast is another big benefit.
- Semaphor 5y agoI sometimes work with Paged Media CSS, I’ll often need to generate a file multiple times after editing the CSS to see if it accomplished what I wanted. With Sumatra PDF it instantly updates the file when the new version is generated, it’s awesome.
- yetanother-1 5y agoAn inspiring story, and good decision making process as well. Congrats on the good work!
- hythyt 5y agoBest PDF reader ever!
- jstimpfle 5y ago> From the beginning my goal was to keep the UI of SumatraPDF as simple as possible. An 80/20 app: 80% of functionality with 20% of the UI. Come on, voices! Shout! "Worse is better" is the root of all evil. It's a virus, like C and Unix, and it is why most software is so miserable.
- michaelcampbell 5y agoSimple != Worse. Feature bloat is another reason software is miserable.
- jstimpfle 5y agoShould have added an </s> tag I guess...
- BugWatch 5y agoFrom what I can see, he's a great team player.
- approxim8ion 5y agoSumatra, alongside maybe Everything and IrfanView, is my favorite piece of software on windows. Incredible speed, great customizability and awesome compatibility. I really missed it when I made the switch to Linux, but not enough to consider installing WINE. Still, absolutely wonderful project deserving of the highest praise.
- krylon 5y agoPaint.NET is great, too. It's not open source, unfortunately (for valid if regrettable reasons), but it's free as in free beer. The memory of its GUI makes me sigh a little whenever I open GIMP.
- npteljes 5y agoHave you tried Pinta? Filled the niche for me after switching to Linux.
- pndy 5y agoPinta uses an older Paint.Net code - https://github.com/PintaProject/Pinta https://github.com/PintaProject/Pinta
- mananaysiempre 5y agoApparently the author was unhappy with someone re-releasing the software while erasing the original credits (multiple times?): <https://stackoverflow.com/a/1693549 https://stackoverflow.com/a/1693549>. Not sure why hiding the source code would help much, but oh well.
- Zababa 5y agoPinta crashes very frequently for me, usually after 2/3 operations.
- pizza234 5y agoI did, and unfortunately it's usable only for extremely basic cases. Images of a few megapixels will cause it to crash or hang on selection. Happened so many times that I am forced to use GIMP.
- Hublium 5y agoI still install Sumatra PDF on every Windows PC I have to work on. It's a habit I've kept from the days when Acrobat Reader took like 30 seconds to start.
- navane 5y agoDoes anyone know why it's never possible to just transfer money, but they ask for patreon or paypal? I live in the EU and as far as I know its super cheap to send money into a bank account. At least cheaper than what I suppose is patreon's cut.
- justusthane 5y agoBecause in the U.S. we don't really have a standardized way to transfer money to another bank account, at least not without knowing their bank routing number and account number, which isn't really information you want to share :) Silly, I know.
- mlukaszek 5y agoSorry this may be an obvious thing but I am genuinely curious (and I don't live in the US): why would one be afraid of sharing those? It's not like they're your credit card details or something. What am I missing?
- Falcorian 5y agoBecause the same two numbers (routing and account) are used to deposit money AND debit money. So if you post your account numbers I can pull all your money out. Now you'll likely get it back if you file a fraud claim, but that's an extra Hassel, and your out finds until they give you a provisional credit.
- Nextgrid 5y agoHow hard is it to get those debits reversed? Here in the UK while it's super easy to set up a fraudulent direct debit on someone else's account details, it's equally easy to claim those payments back (and the scheme guarantees you the right to be able to claim a payment back for any reason, doesn't even have to be fraud - the merchant can of course still chase you if you've declined a legitimate payment you owe them).
- Tomte 5y ago
- whoknowswhat11 5y agoSumatra 7mb Adobe Acrobat DC 2.4gb
- zamadatix 5y agoNot that it justifies 2.4 GB but the products are very different. One is read only while the other is everything you could ever imagine wanting to do with a PDF. e.g. Infranview is expected to be significantly smaller than GIMP too. For the most part that's perfect though. 99% of the time I just want to read a PDF so I just use the PDF reading tool not the PDF everything tool. That being said signing/form filling does bring me back to other solutions occasionally.
- willis936 5y agoIn fairness, acrobat is a full fledged editor of a hacked file format. My Acrobat Reader DC install is sitting st 384 MB and Sumatra is at 18.7 MB; only a factor of 20 larger. :)
- Markoff 5y agopersonally I use Foxit, I believe is smaller than AR while still very powerful
- SamuelAdams 5y agoThis app has gotten me through so many days of undergrad. It's one of the only windows apps that can handle textbook-sized pdfs well. I can search on text quickly too, while Adobe Reader can barely open any PDF larger than 100 pages.
- zamadatix 5y agoIt's amazing to see the drive of "I know what I want to make and I do it the way I want" carry the project for so long. More than any development ideology just having the passion to continue working on whatever it is you're doing is an extremely powerful force for creating useful software. And SumatraPDF is definitely useful software, has been for a long time. "ideology doesn't matter as much as doing" being said the syntax valid semantic invalid error at the end of this excerpt in the section on extensive tests being overrated gave me a chuckle: > Dogma is powerful. Sometimes in my corporate life I felt like writing tests was just going through motion. Maybe we should spend more time writing code instead, I though? In all seriousness I agree though. In a project where you write the majority of the code it is possible to overdo tests in a way that you are wasting more time than you're saving yourself and in a passion project efficiency isn't always as important as interest anyways.
- supz_k 5y agoOne of the pains of moving from windows to a Mac was not having Sumatra. I've been using it on Windows for so long. I have tried many options on Mac, but they just doesn't feel "right" (too many options in viewers like Acrobat, too less features compared to Sumatra in others). Any plans to create a mac version?
- ianbooker 5y agoI cannot compare it to SumatraPDF, but I really enjoy Skim: https://skim-app.sourceforge.io/ https://skim-app.sourceforge.io/
- supz_k 5y agoThanks this looks promising.
- soegaard 5y agoPDF Expert
- supz_k 5y agoTried. Good. Being used to Sumatra feels like missing the organising of documents, and features like "Sign" are really distracting.
- calvin_ 5y agoI'm perfectly happy with Preview.app; I'm curious what's not working for you?
- Macha 5y agoSumatra is pretty nice, and definitely an app I miss on Linux. I used to use evince, but it had more compatibility issues (it uses the Poppler library that Sumatra dropped) and I wasn't a fan of the UI redesigns for Gnome 3. These days I actually use Firefox as my Linux PDF reader.
- willis936 5y agoI just downloaded it and I'm quite impressed with the ease of use of the color options. Just a few lines in a text file. I can swap between dark and light modes easily. Does anyone know if the window background can be darkened at all? The window UI text color is controlled by the same setting as the pdf text color, so when using a dark background/light text mode the window UI text is very low contrast.
- 4gotunameagain 5y agoI have been using SumatraPDF in every job I've been "forced" to use Windows, but never knew it had a dark mode. Thanks :)
- evanbubniak 5y ago> I just downloaded it and I'm quite impressed with the ease of use of the color options. Just a few lines in a text file. I can swap between dark and light modes easily. Not just that, but you can change the settings file while the reader is open and it will update immediately. I use a one-line cmd script to switch quickly between light and dark.
- Zababa 5y agoSumatraPDF is one of the thing I dearly miss after having switched from Windows to Linux. It's just perfect for reading PDFs.
- majkinetor 5y agoSo far I used colibre's e-book viewer but after this blog post I am hooked :) I like people that know to say NO and produce obviously good thing on their own.
- mcc1ane 5y agoCan anyone give an opinion on the configuration file format? (compared with JSON and XML)
- michaelhoffman 5y agoI love SumatraPDF. I use Acrobat Reader for most stuff, but while working on TeX documents SumatraPDF is invaluable because it: - is fast AF - supports SyncTeX - doesn't unnecessarily lock the files it has open
- stjohnswarts 5y agoYeah it's pretty cool. I use it as a pdf/epub/etc reader in for calibre (which manages books/comics/etc)
- rahimnathwani 5y agoIt's one of the best epub readers for Windows.
- criddell 5y ago> The future of all software is as a web app. Why not bring the spirit of SumatraPDF to the web? That feels like a 180 after reading a couple thousand words extolling the virtues of small, fast code with minimal dependencies.
- xwolfi 5y agoBut he doesn't care about your opinion. As you can see he's not a great team player :D
- burself 5y agoI think "spirit of SumatraPDF" means that he wouldn't npm install 800K lines of code into his project 5 minutes after creating it. I look at the speed and efficiency of VSCode and it gives me hope that it's possible to write the high quality programs that we're used to from C/C++ using web technologies. It's just that right now we don't have enough good programmers creating good programs to incentivize the others to do better.
- criddell 5y agoI don't know that VSCode is a great example. I just started it and SublimeText and VSCode takes an order of magnitude more memory. If I watch the Task Manager as I type into each, VSCode also uses about 10x as much CPU which translates into worse battery consumption.
- badpenny 5y agoVS Code is neither fast nor efficient. I'm not hating on it as I like it more than most Electron apps, but I use it on a laptop with a Core 2 Duo P8600 CPU (among other things) and it's pretty sluggish.
- fomine3 5y agoIt's impressive that it barely works on C2D P8600.
- GeekyBear 5y agoI used Sumatra on a very old Windows laptop a decade ago, and became a fan because it was so lightweight that it rendered documents quickly, even on outdated hardware.
- edwinyzh 5y agoI LOVE SumatraPDF because is very fast! In the past I've used Adobe (so sluggish), Foxit reader (was fast).
- quyleanh 5y agoI have been using Sumatra for years and don't know the story behind this great app. Thank to dev for such a long journey.
- dexterhaslem 5y agolong time user of SumatraPDF, this was a good read. > Let's say I need to do a network request. I could include a monster library like curl or I could write 300 lines of code using win32 APIs. I wrote 300 lines of code. huh, reminds me of tangent I have been in the same exact boat and did the same. Then something came up with SSL and just dragged in curl and doubled executable size. I think things are better these days in WinHTTP..
- dataflow 5y agoAny chance it'll use subpixel smoothing one day? Grayscale smoothing makes me want to tear my eyes out. It's the main thing that prevents me from ever switching.
- AnIdiotOnTheNet 5y agoI see comments like this sometimes and wonder if people are born with super eyes or something and I missed out. I only notice the difference between the various HD standards and standard def if they're put right next to each other, don't even bother owning a monitor with >1920x1080, etc.
- dataflow 5y agoI promise you it's just as baffling to me that some people don't notice it! It seems clear as day to me and I don't even have great eyesight. Maybe it's something like font kerning where it's hard to notice but also hard to un-notice? Here's an example, can you not see the difference in sharpness clearly? - Sumatra (grayscale): https://i.imgur.com/wOP8hdX.png https://i.imgur.com/wOP8hdX.png - Acrobat (subpixel): https://i.imgur.com/YXRy1WJ.png https://i.imgur.com/YXRy1WJ.png (NOTE: Make sure you're viewing just the unscaled image by itself. You can download each and view it in a 1:1 pixel viewer to sure your browser isn't scaling it. Or run document.body.style.zoom = 1 / window.devicePixelRatio in Chrome.)
- AnIdiotOnTheNet 5y agoIf I flip between them I can see a difference, yes, but it doesn't exactly make my eyes bleed. Opened up a random PDF in Sumatra without something to compare it to and, now having seen it, still nothing jumps out. Then again, I grew up with bitmapped fonts in 320x200 on a CRT.
- optionist 5y agoI registered a HN account just to comment on this. Thank you so much for writing this small yet powerful software. I used it in grad school when I needed to write paper with latex and compile it with pdflatex. 2 features are killers: 1. auto reload the newly generated pdf. 2. double click on pdf and it jumps to the corresponding place in the tex file. It was such an productivity booster. Thank you!
- TonyTrapp 5y agoSumatraPDF is my absolutely favourite PDF reader, but I wish the author took security more seriously. At least for a long while there were no official releases for months, if not years, with known crashes in muPDF (for which I think known exploits and patches existed), but since SumatraPDF used a custom muPDF version, it required manual patching. Maybe things are better these days (I see updates are more frequent again), but with PDFs being a big attack vectors these days, it leaves a bit of a sour aftertaste.
- 41209 5y agoDoes it work for editing. Right now I'm paying $15 a month for primarily the privilege of editing PDFs. It seems every time I switch jobs, or have to send some documents, I need Adobe PDF writer.
- Krasnol 5y agoNo it doesn't edit but he's thinking about implementing it. And yeah...editing on Windows is a pain if you don't want to spend money.
- ufmace 5y agoUpvoted for a number of interesting and unconventional opinions. Rolling your own JSON, XML, etc parsers raises some eyebrows. I guess it's sort of okay if you expect to only be reading your local config files versus arbitrary web content. Maybe then it's okay to trade off raw speed for not handing a ton of formatting and syntax edge cases. Writing GUI apps against the native framework. Yup, it'll be a major pain to ever port to another platform. But if you don't care to do that, nothing's as fast and clean both to develop and for the end-user to use as every platform's native framework. Unit tests are sometimes overrated. IMO, they're much more suited to building apps in dynamic languages. Unit tests are a lot less important if you have a good type system and compiler checking things already. I've heard it described before that half of the benefit of unit testing in these languages is forcing yourself to structure code in testable modules with clean interfaces. But if you can just do that anyways, the actual tests are less important.
- jstimpfle 5y agoI think writing a JSON parser should be perfectly fine, it's quite a simple format (while imperfect and probably way overused). I would say 50 lines of header + 500 lines of .cpp file should be plenty to write a solid reusable implementation that parses to a generic tree (dicts, lists, float/string/bool literals). Should be doable in an afternoon. But if you disagree, you should try a particular, very popular JSON library for C++ (removed the mention of the name here, you can figure it out on your own if you want). Last I checked, a git clone of this library downloaded 260 Megabytes of data. The project consists of many many files, but most notably it is a C++ header-only library consisting of 24000 lines of header files to be included into every (transitively) dependent .cpp file. When you run "g++ -E" on it (to do the preprocessing step only) those 24000 lines will unfold to about 84000 lines. Just write a short test.cpp with #include <THIS JSON LIBRARY.h> in it and add a int main() { printf("Hello, world\n"); }. Compiling this with "g++ -c" takes about 1 sec on my laptop. Add a tiny amount of code that "parses" the string literal "3" (which I think is not valid JSON actually. But anyway) and compile + link. Takes 2 secs on my laptop. With -O2, I'm at 3.5 seconds. Imagine writing a larger project with many many .cpp file that include a header file that publishes such a dependency. Or just imagine compiling a project where multiple .cpp files directly include this thing. It's a truly sad time to be a programmer.
- rajandatta 5y agoJust want to come to give props to Sumatra PDF. Lovely product - lightweight, fast, portable. Mau not have every feature (not saying it does or doesn't - does what I need) but does a lot really well. Highly recommended.
- newlikeice 5y agoBest PDF for work, hands down. I don’t even download new I have had the same exe for like 5 years.
- mcguire 5y agoHere is a lesson you don't often see, but has worked every time I've used it: "I was able to incrementally convert program form using Poppler API to using Poppler via engine abstraction to using mupdf via Engine abstraction." Make major changes incrementally.
- jenkstom 5y agoSo is that Kowalczyk's Law of Software Design? "Small or fast, pick both."
- bluemix2 5y agoI really learned a lesson from this author and article. Probably my first comment here on Hacker News.