236 pointsby theanirudh4 days ago20 comments
  • woleium4 days ago
    Are we intentionally reusing project names now? Lynx [1] is a fairly popular tui browser. I guess it doesn’t support ssl or tls, so is now obsolete? W3M [2] is a decent tui alternative that does. Or if you use kitty, awrit [3] is nice, with images and mouse support (it renders chromium in a terminal window)

    [1]https://en.m.wikipedia.org/wiki/Lynx_(web_browser)

    [2] https://w3m.sourceforge.net/

    [3] https://github.com/chase/awrit

    • huxpro4 days ago
      The Lynx project was originally named independently without thinking this far ahead. Since so much code and so many users already rely on it, we decided to stick with the name rather than change it just for open-sourcing.
      • DannyPage4 days ago
        Open-sourcing is/was the perfect time to change it. Otherwise it might be even more painful if a name change is needed later.
        • bangaladore4 days ago
          And why exactly would a name change be needed later?

          Names are just names, many people have the same names, and projects can too.

          • giancarlostoro4 days ago
            Every Go developer knows how awful a bad name can be. Just try to google anything Go related, you need to type "golang" instead.
            • reactordev4 days ago
              A go developer doesn’t Google go, they go to pkg.go.dev to get go’ing.

              /s

          • aaplok4 days ago
            Plenty of people have the same name, but if you call your child Brad Pitt, it will be interpreted as a reference to the famous guy bearing that name, and nobody will believe it is a coincidence.

            Lynx doesn't have a large user base (I think) but it is installed by default on many linux distros. Having to install two programs with the same name is a pain which is only resolved by renaming one of them (at the distro or the user level).

            • bangaladore4 days ago
              Bit misleading. The analogy is closer to naming your child "Genevieve" when another Genevieve exists in the school. Lynx is a fairly common and well understood word.

              > Lynx doesn't have a large user base (I think) but it is installed by default on many linux distros. Having to install two programs with the same name is a pain which is only resolved by renaming one of them (at the distro or the user level).

              This is a fault of the distros. At some point keeping niche software will cause issues and conflicts.

              • aaplok4 days ago
                > This is a fault of the distros. At some point keeping niche software will cause issues and conflicts.

                I am not sure I agree with this argument. This gives a vibe of "make place for me, away with the old guard!"

                What if someone called their program "vi" with the argument that noone uses vi anymore?

                Besides, who decides what is niche and what isn't? Is a program like lynx which offers better accessibility features than mainstream browsers not worth distributing because it's niche?

                Blaming the distros for already having software named like what you decide to call yours isn't terribly cooperative.

                Figurative "you" of course, not meaning OP here.

                • bangaladore3 days ago
                  You took my argument and basically butchered the main point.

                  Everyone and their brother knows what "vi" is. Many (presumably millions) use it.

                  How many people would know what Lynx is. My guess is very few.

                  > Is a program like lynx which offers better accessibility features than mainstream browsers not worth distributing because it's niche?

                  Its trivial to understand why this is a bad argument (appeal to emotion)

                  • aaplok3 days ago
                    > How many people would know what Lynx is. My guess is very few.

                    And mine is that it's more than you think. Especially when compared to the number of people who know what vi is. Neither of us have figures to prove our points. My indirect argument was that the fact that lynx is included by default hints that I am not entirely wrong. Your response to that is essentially that distros packagers don't know what they are doing. I won't get in a debate on the competency of people and accept this opinion as yours.

                    > You took my argument and basically butchered the main point.

                    This was absolutely not my intention. If I misunderstood your point, please correct me and tell me how I should have read it.

                    > Its trivial to understand why this is a bad argument (appeal to emotion)

                    No. The argument for including software that have specific accessibility features is not to appeal to your emotions. The reason for having accessible software is that, as niche as it may be it is useful. No one should care how non-disabled users feel about this, and certainly no one should care whether you or I think this is too niche.

          • michaelmior4 days ago
            Generally agreed. I think unique names for projects are nice, but unless the projects have very similar goals, I think having the same name isn't really a big deal.
          • nailer4 days ago
            SEO.
        • BrouteMinou4 days ago
          [flagged]
      • spl7573 days ago
        $ apt-cache dump | grep '^Package' | awk '{print $2}' | wc -l && apt-cache dump | grep '^Package' | awk '{print $2}' | uniq | wc -l

        152007

        152007

        You can call it lynx all day long, but it won't be lynx in the Ubuntu repositories as that name is taken, and as you can see above, there are no duplicates.

        • sanxiyn3 days ago
          Since it is a library, it won't be named lynx anyway even if there is no name collision. D3 is packaged as libjs-d3, for example.
          • spl7573 days ago
            Yeah that's true.
        • Kwpolska3 days ago
          Oh no!

          Anyway...

      • jaredwiener4 days ago
        Try running NextJS on your NeXT
    • fngjdflmdflg3 days ago
      >Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.

      Name collisions are so common that the guidelines tell us not to talk about them. Why would you assume that this is intentional? And then the rest of your post is just about different tui browsers? How is this the top comment?

      • woleium3 days ago
        oops, sorry!
        • fngjdflmdflg2 days ago
          Likewise sorry for writing what was on re-reading a rude comment.
    • nemothekid4 days ago
      >Are we intentionally reusing project names now? Lynx [1] is a fairly popular tui browser.

      The kids who built this are probably younger than the Lynx project and likely don't know it exists.

    • Klonoar4 days ago
      Project name reuse has been a thing since the dawn of projects.
    • tpoacher4 days ago
      It's not even a good name for a cross platform tiktok network.

      I would have stolen a name like Transmission, or Bing instead.

    • classichasclass4 days ago
      Lynx absolutely supports TLS (2.8 and later, possibly earlier).
      • zimpenfish4 days ago
        > Lynx absolutely supports TLS

        And has done (in various forms) since at least 2001!

    • jakereps4 days ago
      I can't tell if this is satire or a hidden advertisement for various tui browsers? A project that is a "popular tui browser" (for the literally dozens of people that use tui browsers?) does not have ownership claim to the name of a big cat genus which has 4k+ other results on GitHub with the same name.
      • FuriouslyAdrift4 days ago
        Lynx pre-dates Mosaic... "As of 2025, it is the oldest web browser still being maintained"

        https://en.wikipedia.org/wiki/Lynx_(web_browser)

      • jjmarr4 days ago
        It's not even the only TUI browser pronounced that way. See: links

        https://en.wikipedia.org/wiki/Links_(web_browser)

      • mftrhu4 days ago
        Lynx is a well-known project which has been around for far longer than Github even existed - since 1992, in fact - which is in any case irrelevant, since it's not developed on GitHub: the commits for ThomasDickey/lynx-snapshots are snapshots of the code from the website proper.
        • jakereps4 days ago
          Removed the star count as any sort of “evidence” to popularity - the point still stands though. It feels absurd to claim a name being “reused,” or implied stolen, when the name is a generic animal name.
          • whstl4 days ago
            Bikeshedding about names, article titles and tangential annoyances is HN’s favorite pastime, and an easy way to get karma. As old as the hills.
            • v9v4 days ago
              I believe it's spelled as "pastime" :)
      • woleium4 days ago
        i am not affiliated with any of the projects, its just what i use.
    • jamespo4 days ago
      Just tried to browse the web on my Atari Lynx.
    • Apocryphon4 days ago
      Indeed, they should rename it to Jaguar.
  • polyrand4 days ago
    I remember listening to a Syntax FM[0] with Zack Jackson from ByteDance, which mentioned this framework briefly. Some quotes and notes from that part of the podcast:

    - All ByteDance products, even native apps, are web-based

    - They have an in-house framework called "Lynx" which is essentially their version of React Native[1]

    - "All apps are Lynx apps. Everything is a Lynx app. It's all backed off the same stack."

    - This approach allows them to maintain a unified architecture while having specialized teams focus on different aspects (algorithms, compiler, kernel, etc.)

    [0]: https://syntax.fm/show/860/module-federation-microfrontends-...

    [1]: The one being released, in the podcast they confirmed they would be open-sourcing it this year

    • suzakus4 days ago
      I work at ByteDance (though not for long). Most of the "sexy" part of the app is native, or C++ crossplatform for things that would normally be in C++. I'm not sure I'm allowed to share what Lynx is used on, but it's a small subset of the app.
      • suzakus4 days ago
        I went to watch the podcast – he's heavily overplaying how much cross platform web dev is used on the native platforms. He doesn't seem to be in the biggest channels for both iOS and Android developers (the largest 'IOS'/'Android' release/global channels).
      • NoahKAndrews3 days ago
        Makes sense, the announcement blog said it was only specific screens, such as search.
      • polyrand4 days ago
        Thanks. What do you mean with "native" (vs. C++)?

        What I assumed from the podcast is that there's a lot of internal reusable tools in C++, and the web-based stuff is mostly about the UI layer.

        Is there a lot of WASM to use both at the same time?

        • suzakus4 days ago
          Native as in Swift/Objective C (iOS) or Kotlin/Java (Android). Probably 99% of the UI (and lower layers, outside of specialty cases!) is based in that. C++ is used for typical high performance cases; e.g. Video rendering (though there's more than that).

          There's a lot of internal tools. I don't know what they're written in. I would not be surprised if it's Lynx, but I'm a mobile developer on the TikTok app, and haven't ever looked into it.

          I haven't come across any WASM in my time here, but I'm not in a position to declare that it doesn't exist.

  • hnlurker224 days ago
    Apple and Google need to talk. They need to collaborate on something truly native to put an end to these bloated frameworks. My goodness the amount of engineering work being put into terrible mobile experiences is worse than how much Nasa is spending to look for water in space.

    Any mobile app designers out there think TikTok has good UX? I mean scrolling video is great, but everything else?

    • wiseowise4 days ago
      Google already did the talking for both of them. It’s called Flutter.
      • swiftcoder3 days ago
        Ah, yes, the framework from the dominant browser vendor, that happens to eschew everything good about the browser, to achieve marginally-improved typography, by rendering the whole site in a canvas tag. That should certainly be our #1 model for cross-platform development.
        • wiseowise3 days ago
          I don’t advocate for using web target, Flutter is much nicer than whatever clusterfuck Apple and Google call native toolkits.
      • ashishb4 days ago
        Does Google use Flutter for building Gmail, Google or other major mobile apps?
        • efxzsh4 days ago
          Yes they do. Google Pay or Google Earth are using Flutter. They also contribute to Kotlin Multiplatform and use it for Google Workspace (gmail, drive, etc)
          • hnlurker224 days ago
            Flutter and Kotlin Multiplatform are two different frameworks. Flutter is mainly for cross platform UI. KM is mainly for common-core (or common business logic). My point still stands that these are all bloated and ugly.

            Google products are an absolute mess. They create android, KM, and Flutter for mobile development. They also created MLKit, MediaPipe, and TensorFlow for AI. They're all over the place with their solutions

        • Alifatisk2 days ago
          Look for the headline "Flutter at Google"

          https://flutter.dev/showcase

    • endofreach4 days ago
      > Any mobile app designers out there think TikTok has good UX? I mean scrolling video is great, but everything else?

      You wouldn't ask a doctor if she thinks crack is great, right?

      • conductr3 days ago
        Silly nitpick but wouldn't this be more like asking a crack dealer if this particular crack is great? No matter what their answer, the fact there is a crack epidemic tells you the real answer. People aren't always wanting top shelf crack, some times the hood crack is the good crack.
    • nsonha3 days ago
      "We should repeat the same code in multiple languages" is a pretty weird thing for professional pride. Try to be a better engineer instead of promoting gate keepers' platforms and give up "quality" as their responsibility.
  • xnx4 days ago
    TikTok is impressively multi-device. It works well on Android, iPhone, Android TV, and web.

    Compared to Instagram, where the web version has always been behind the mobile version, TikTok really seems to make each device version the best possible.

    • vips7L4 days ago
      I'm pretty sure for Instagram it's by design, not because of their technical stack.
      • serial_dev4 days ago
        Instagram web is so bad that it’s the only logical explanation.
        • kridsdale14 days ago
          I have worked in the Instagram ios source. It is FUCKING AWFUL.

          They’re impressive in their business success given their code quality.

          • vips7L4 days ago
            I don’t think I’ve ever worked anywhere that had decent code quality
          • qingcharles4 days ago
            There isn't even a real iPad app (╯°□°)╯︵ ┻━┻
            • swiftcoder3 days ago
              Worth considering that this is an explicit business decision (not enough iPad users to justify the development effort), versus a technical one. There were various builds with proper iPad layout floating around internally, but no one ever got the management buy-in to polish it enough to ship.
      • noveltyaccount2 days ago
        They want you to use the app because it's harder to adblock in apps than on the web.
  • diggan4 days ago
    Got curious enough to wanting to give it a go, so on the quickstart page it says:

    > Lynx Explorer is a sandbox for trying out Lynx quickly.

    And then it asks me to use either the iOS Simulator or the Android Simulator, which based on experience, neither are made for anything resembling "quickly".

    Anyone know if there are any "pure-web" instructions around? Skimmed around the docs, website and repository but didn't find anything that looked like it was made for just web setup.

    • hkalbasi4 days ago
      > iOS Simulator or the Android Simulator, which based on experience, neither are made for anything resembling "quickly".

      It's not adb / avd or some device emulator. It's an app that you install on your device, and then it can load your app from your development device using a link. I was able to run it in 5 minutes without having android studio or any other android development kits on my laptop.

      • Oxodao3 days ago
        Thats neat. It makes me think of expo [0] that does it in the same way, pretty useful to try stuff quickly, but forces to go though their servers.

        [0] https://expo.dev/

  • andrewstuart3 days ago
    I recently looked closely at cross platform mobile mobile development.

    Despite distrusting Google and despite knowing react I chose flutter.

    I want something fast with close to total cross platform compatibility.

    Net Maui is not well spoken of. React native seems slow.

    The only real choice fir my needs is flutter.

    Let’s see how long it holds up.

    • stevev3 days ago
      Try ReactLynx first.
  • Nelkins4 days ago
    I see there's Lynx for Web[0]. Does that also adhere to the two-threads model (one for UI, one for background)? Also, is this something that React/Native may adopt itself one day? Curious to know if this is a technique that may be adopted by the React ecoystem itself, or if it's just too far outside the bounds of what React is supposed to handle.

    [0] https://github.com/lynx-family/lynx-stack/tree/main/packages...

  • gorbypark4 days ago
    Seems interesting. Coming from the react native world, competition is good! This seems to have a from scratch layout engine, which is pretty exciting. It looks like it supports some of the more recent/advanced CSS features. It also has a javascript engine based on QuickJS.

    I can't wait for a more technical deep dive into how this works and compares to react native.

  • pjmlp4 days ago
    I see very little native on that.
  • klabb34 days ago
    Native now means mobile only? That’s a depressing state of affairs. Cross platform and then not even mentioning you’re limited to 2 out of the 5 more popular OSs. Just say you rewrote React Native if that’s all.
    • SparkyMcUnicorn3 days ago
      Also supports the web, and it looks like they might intend to support more platforms.

      `readonly platform: 'Android' | 'iOS' | 'macOS' | 'pc' | 'headless';`

      > Not only is the core engine of Lynx framework-agnostic, but it's also agnostic to host platforms and rendering backends ... expand to even more platforms, such as Desktop, TV, or IoT devices.

  • qq994 days ago
    > However, Lynx isn't limited to React

    I think this could be huge! I'd love to see a SolidJS version

    • synergy203 days ago
      the code examples etc though is 100% react at this point. for me I would like to see a vue.js version.
  • tommica3 days ago
    Quickly tested it out, and gotta say that I enjoy being able to write just normal CSS to style things. The getting started process is really speedy.
  • x1unix3 days ago
    Interesting if Lynx uses host OS widgets like RN does or renders stuff itself like Flutter.
  • henning4 days ago
    https://lynxjs.org/ doesn't scroll smoothly.
    • exikyut4 days ago
      What browser/platform?

      Flutter apps don't scroll at 30/60fps on my aging Mate 20 Pro, but that website is fine for me in Chrome.

      • spookie3 days ago
        To be completely honest there is no reason for anything 2D on the web to run badly on any machine over 200 bucks released in the last 15 years.
      • henning4 days ago
        Chrome on a 2019 Intel Mac.
  • mytenthaccount4 days ago
    Support for CSS transitions (and animations) on a native UI thread would be huge. React Native Renanimated is cumbersome and painful to use everywhere.

    Sadly I finally ditched my MacBook for a Linux PC since Expo/EAS has liberated me from needing Xcode. I won’t be able to try this out for iOS development.

    • 3 days ago
      undefined
  • ksec4 days ago
    So it is basically a rebranded React Native? Or completely different?

    Or could someone ELI5 / TL;DR? The whole blog post is basically saying how good Lynx is and what problem it solves without telling me much technical details.

  • rubicks3 days ago
    No. No, it isn't. Lynx is a browser I use in the terminal. This is something else.
  • hackape4 days ago
    [dead]
  • ChrisArchitect4 days ago
    Not to be confused with Lynx Browser: The Land That Time Revived https://news.ycombinator.com/item?id=43119238
  • KaoruAoiShiho4 days ago
    Would be interested in using this if not for the lack of LLM support.

    Can you also explain what the advantages are over React Native?

    • lyu072824 days ago
      > Would be interested in using this if not for the lack of LLM support.

      I'm not even in the anti-LLM crowd, but that sentence made me shake my head in disgust

      • gejose4 days ago
        How so?
        • whoknowsidont3 days ago
          Primarily because the sentence doesn't even make any sense? It seems like rage bait.
    • hooverd4 days ago
      Lynx doesn't support LLMs or there's not documentation?
      • alaq4 days ago
        I bet they mean LLMs don't know the syntax, and won't be helpful in writing code for it.
        • swiftcoder3 days ago
          By this criteria, we can literally never release any new programming languages or frameworks ever again...

          If LLMs are going to be as useful as they claim, they have to be smart/flexible enough to adapt to new information.