7 comments

  • codedokode 56 minutes ago
    Egui is pretty bad idea. It uses "immediate mode" rendering which means whole window is redrawn on every mouse move. I ran PhotoCraft (built in Rust + egui) in a VM wihout a GPU and the UI felt like it was running on 3 fps. If you use egui, try running it without a GPU before releasing.

    Egui is definitely not what you want to use on a 4K screen. It is only good for tiny screens of embedded devices.

    Why there is no reactive UI that tracks all dependencies and redraws only what needs to be redrawn? (not React, it also re-calculates (but not redraws) everything on every change).

    Also why does it visually look like bad version of Telegram? And Telegram can run without a phone present.

    • LoganDark 15 minutes ago
      > Why there is no reactive UI that tracks all dependencies and redraws only what needs to be redrawn?

      Nowadays the focus seems to be on video game-style interfaces that redraw every frame. The justification for this is typically that computers are so fast they can now come up with the entire interface every frame, so why not take advantage of that and forget all this retained-mode complexity?

      They don't realize that this is a classic case of the developer's machine fallacy, where the developer has a machine so vastly more powerful than any of their users' that they produce a terrible experience for said users. This is also why games these days typically require upscaling even on 5090, because developers usually have that or something even more powerful and they think the bleeding edge is pushing even THAT machine to its knees.

      Developers should be testing their software on the most entry-level, bottom of the barrel Chromebooks from 2015, running the heaviest and most bloated operating system they can think of. If people still optimized their software for that, then maybe computers would still feel almost as fast as the Apple II from 1977.

      https://danluu.com/input-lag/

      • codedokode 10 minutes ago
        And obviously all computers have infinite capacity batteries to maintain game-level power consumption.
    • fastball 54 minutes ago
      React doesn't re-calc on every change either if you use memoization and such properly.
      • codedokode 41 minutes ago
        To use memoization you must use immutable structures (otherwise React is unable to detect changes) which are a pain to use and are slow if not designed properly. Do not believe me, try designing for example an algorithm that accepts a huge immutable sorted list with keys, a large sorted list of bulk deletes/inserts and produces a new sorted list with minimum operations. I made 2 or 3 prototypes and they still are not good and not even working properly.

        In my book, a good UI framework simply attaches to a mutable model made of arbitrary objects, detect changes and displays it with minimum number of operations. Doesn't require to use any proxies or immutable data or store data in components. Shouldn't be difficult. Why nobody made it, I do not understand.

        • asdf88990 19 minutes ago
          This is incorrect. You don’t need to use immutable structures to have stable references which is what matters.

          Use context liberally instead of plumbing things through prop’s needlessly and you’re halfway there.

    • todo-laterx 15 minutes ago
      [flagged]
  • tombh 1 hour ago
    In their own README:

    > Using an unofficial client may be against WhatsApp's terms of service and could get an account suspended.

    Same for all of these unofficial clients.

    • cube00 1 hour ago
      It's irresponsible that the warning is hidden down in "Acknowledgements" and if you go via the homepage to download there's no warning at all.
    • jedbrooke 1 hour ago
      It’s really a shame that all of these unofficial clients are like this. APIs are APIs, if they’re on the public internet why can’t anybody call them? If there’s potential for abuse then that should be secured server side anyway, since needing a unofficial client isn’t going to stop hackers
    • atonse 1 hour ago
      Dammit. I installed it, it worked beautifully, and now I don't want to risk it.
  • codedokode 37 minutes ago
    Also, I looked at how dates are written in a screenshot and thought that "2 days ago" would be so much better than "Tuesday". Because you do not have to compute in your head how many days ago Tuesday was.
  • aeontech 1 hour ago
    Looks great, but... how can one trust it with credentials/communication? (nothing against the developer, more the principle of the thing)
  • dangoodmanUT 33 minutes ago
    it seems like we're entering the next phase of "written in rust": UIs
  • loremdifr 47 minutes ago
    dont get me wrong, I like the extra performance, but every single alternative whatsapp client has the same issue where it's missing enough core features that you end up needing to go to the browser version often enough to be a nuisance and I end up just using the browser instead (which I hate, I really really would prefer a performant client instead!)
  • nianzhibai 1 hour ago
    It's a bit basic. I installed it and then uninstalled it.