Comment by davisr

Comment by davisr 16 hours ago

51 replies

No one should need JS to see the soups when that could be handled perfectly fine with CSS. I wish restaurants would just make their homepage a PDF of the menu.

venturecruelty 12 hours ago

No one should need an entire PostScript interpreter to see the soup of the day, either. A restaurant menu is text and images. HTML and CSS are perfect for text and images.

  • andai 9 hours ago

    Nobody should need 60 million lines of code (Linux Kernel 30M + Chromium 30M) to render some text and images ;)

    • BrenBarn 4 hours ago

      640K ought to be enough for anybody.

      • lioeters 2 hours ago

        I bet that's part of the reason why microcontrollers, embedded programming, and retro computing are all popular hobbies these days. A return to a simpler time, when programs are compiled to a few kilobytes and run as fast as the hardware allows. Graphics? Unicode? Who needs 'em, just a stream of ASCII and integers for me thanks.

        • ale42 an hour ago

          I'm waiting for restaurants I can telnet into to get the menu (because SSH is too heavy).

hunter2_ 16 hours ago

I agree with no JS, but why PDF over HTML? Hard-wrapping for letter-sized paper (ok, a PDF doesn't need to be letter-sized, but most menus are approximately that) with crapshoot reflow options for soft-wrapping in certain viewer apps is pretty dicey on a phone, mitigated only slightly by rotating the phone sideways.

The only benefit I can think of is if it leads to more frequent updates by the restaurant, due to limited skillset.

  • ok123456 13 hours ago

    If the restaurant doesn't have anything besides a menu, /index.pdf is fine—no web design required; reuse the menu they're printing anyway.

    The trade-off is that they'll have to pinch/zoom if they have a small display. It's a minor inconvenience to make the exact information they want available instantly.

    • vector_spaces 10 hours ago

      index.pdf won't tend to play nicely with screen readers and also sucks for people on crappy mobile networks, so it's a minor inconvenience for some, and straight up unusable for others

      • ok123456 8 hours ago

        > index.pdf won't tend to play nicely with screen readers

        The horrible Wix sites most restaurants end up using are likely less accessible than a PDF. The Adobe PDF reader can reflow text.

        > also sucks for people on crappy mobile networks

        The average wysiwyg site builder produces bundles that are an order of magnitude larger than a PDF menu. Also, the PDF is easier to cache correctly and can be easily saved for offline access.

        • mpweiher 6 hours ago

          Why is Wix horrible...or why does it create horrible sites by default?

          Curious, I haven't tried it.

      • hyperhello 10 hours ago

        But you can easily serve a desktop version or a small screen version.

  • parpfish 9 hours ago

    Because they can make one nice pdf formatted to get printed out in the restaurant and then reuse it to display on the website

  • pastel8739 10 hours ago

    I vastly prefer looking at a PDF menu over an HTML one nearly all the time. PDFs are usually nicely formatted, and I don’t mind zooming and panning to see everything. HTML is frequently terribly formatted, interspersed with ads, slow, etc

    • foogazi 9 hours ago

      > HTML is frequently terribly formatted, interspersed with ads, slow, etc

      You can put ads into terribly formatted PDFs too

      • saghm 8 hours ago

        In theory, yes, but the parent comment is talking about what they've frequently encountered in practice. Maybe there's reason to expect that having a lot more PDFs of menus might not result in a similar experience, but it doesn't seem obvious to me at least

  • neuroelectron 14 hours ago

    The complexity between the modern web and a pdf is marginal. PDFs do get printed for menus. Editing a PDF and uploading it to the site, integrating prices and syncing between the site, online ordering, PDF menus is just part of the business. There are lots of platforms that help with this such as Slice.

victorbjorklund 14 hours ago

PDF:s are not great on mobile. And you can’t easily translate them (I often translate restaurant menus when they are on a website with just 2 clicks)

  • AlotOfReading 13 hours ago

    Translating anything that renders on my screen is the same two clicks to open an LLM with the screen contents. I expect that will become an increasingly universal experience as LLM features get shoved into every nook and cranny of tech.

    • refactor_master 11 hours ago

      There's been a translate button for years which hooks deep into every nook and cranny of the website's HTML. It works great, it's built in and many restaurants even advertise it for tourists, because it's a zero-effort translation of their existing menu. Plus, it's low-data when you're inside a 1-bar basement restaurant.

      Using an LLM to translate the visible part of a PDF on a mobile... seems like the worst possible solution to the problem.

      • noosphr 9 hours ago

        It's the worst solution, apart from the fact it works better than all the other solutions.

    • jmyeet 11 hours ago

      Translating PDFs is more complicated than that because the strcture of a PDF document doesn't lend itself well to this kind of thing.

      For example: if there's a dish name with a 2 line description below it and some allergy symbols below that, in HTML you can imagine the document structure that produces that. In PDF terms that might be 4 separate objects and, in particular, the eyes can see the two lines are adjacent so they fit together but the document structure doesn't really represent it taht way, necessarily.

      This might also not work with translation because the lines are set for the size of the text they contain. Same for resizing the font.

      Put another waay, PDF should be viewed as a typeset and layout format, not a document format.

      • AlotOfReading 11 hours ago

        I think you're misunderstanding what I'm describing. It's getting a screenshot of the visible portion of the rendered document, not the document itself with all the tags and nastiness inside. The same feature works with a photo of handwritten text, where obviously no digital document exists. It's not perfect, but usually adequate for menu translation.

fullstacking 15 hours ago

To be fair this project uses zero 3rd party npm modules for runtime. The total runtime JS it uses is 1.76kB in size.

  • Groxx 9 hours ago

    It also works just fine without JavaScript, so I'm not sure what they're trying to do with that comment.

    • hunter2_ 8 hours ago

      No, the comment correctly points out that the "Soup" button (and all of its siblings... the food categories) is inoperable when JavaScript is disabled. You're stuck with "All" instead of nice filtering. There are ways to achieve this without JavaScript.

dugmartin 16 hours ago

I agree. There are lots of free AstroJS themes for restaurants that generate static html that you can host somewhere like Firebase hosting for free.

- https://astro.build/themes/details/astropie/

- https://astro.build/themes/details/astrorante/

- https://astro.build/themes/details/tastyyy-restaurant-websit...

  • burningChrome 13 hours ago

    All of my static sites that I've built lately have been done on Netlify. Super easy to hook up to Github and the form handling is a breeze. I've known Mathias going back to when he was personally answering emails and promoting JAMSTACK so you can say I'm a bit biased. lol

    Netlify is a great company that I'll always support.

  • adzm 16 hours ago

    I love Astro; there is so much you can do with it.

  • bryanhogan 13 hours ago

    I was going to recommend the same! Astro + Astro theme + an LLM will get you very far these days.

    • riveralabs 12 hours ago

      I used to be all in on Jekyll. Now all I use is Astro + Tailwind + Claude, and it’s magic. No need for a theme with this combination.

DoctorOW 5 hours ago

What an exhausting solution to a made-up problem. This is exactly the kind of functionality JS was made to provide. There's a lot more JS in the PDF.js renderer modern browsers, and if you're not using a modern browser it likely wouldn't render at all. As others have pointed out, you're asking restaurants to throw away mobile traffic, screen readers, anyone not on a mainstream desktop browser to save ~20 lines of code in a programming language you don't like.

[removed] 7 hours ago
[deleted]
ErroneousBosh 14 hours ago

PDF is an enormous pain in the tits to view on a phone and has significant accessibility issues for people using assistive technologies.

It's not even about blind people. People with ADHD or dyslexia use assistive technology, which frequently makes an absolute horlicks of interpreting PDF. It's one of the reasons I'm trying to move a lot of documentation at work away from PDF and onto just straight HTML.

Plain old HTML, with thin CSS on it to make it not be black-and-white Times New Roman. Kicking it oldschool.

  • nottorp 5 hours ago

    > People with ADHD or dyslexia use assistive technology

    Wait for 2 more iOS redesigns and everyone will use assistive technology on Apple devices :)

ThomasMidgley 5 hours ago

I wish restaurants would just make a homepage with menu _and_ opening hours.

In my area most restaurants have no website.

If they have a website it's often very hard to find their opening hours. Under 'contact'? Nope! At the footer? Nay! Maybe somewhere hidden in the menu PDF? With luck... Outside their homepage at google maps? Maybe. On their Tripadvisor page? Hahaha! Funny! Not.

stronglikedan 16 hours ago

A PDF can't get the user halfway through the delivery process before seeing the soups.

glxxyz 12 hours ago

Remember during Covid where every restaurant's menu was a QR code on the table that linked to a PDF in S3?

mvdtnz 15 hours ago

No one is browsing the internet without JS today (within margin of error). Whether or not this "should" be the case, it is.

  • spartanatreyu 12 hours ago

    This is the wrong way of looking at it.

    Making a website's basic functionality work without JS isn't just for the random users who switch off their browser's JS runtime.

    It's also for the people who have a random network dropout or slowdown on a random file (in this case a JS file).

    • handoflixue 12 hours ago

      > It's also for the people who have a random network dropout or slowdown on a random file (in this case a JS file).

      Does that really apply when the javascript is only ~2kb?

      • spartanatreyu 9 hours ago

        Yes, any request can get stuck at any time.

        That is what's happening any time you've seen a website that randomly decides to load without styles, or with a missing image.

        The good thing is that it's very apparent when that happens and you can just reload the page.

        But it's not immediately obvious when it happens with a JS file.

        That's half the reason why you shouldn't re-implement css features in a js file. (the other half is performance)

      • justsomehnguy 7 hours ago

        Do the end user should troubleshoot if that was a network dropout, some browser incompatibility or just a crappy code by a crappy coder?

        > the javascript is only ~2kb?

        It can be even 200Mb if it's not loaded properly and now a website doesn't even function.

    • lmm 7 hours ago

      Then why does that same logic not apply to the CSS file?

  • lmm 7 hours ago

    From a business perspective you can go further: the people who are browsing the internet without JS are people who are going to cost you more to support than they'll ever bring you in revenue. Just like trying to support Linux gamers, excluding them is a net positive.

samdoesnothing 12 hours ago

Nobody should need a PDF renderer to see the soups.

Actually, nobody should need an XML parser to see the soups either.

fullstacking 12 hours ago

No one should need PDFs to see the soups when they can be handled perfectly fine with CSS scoped to print and save to PDF....

/s