About

Tesseract is a Lemmy UI that is designed to be sleek, responsive, mobile friendly and media-rich.


Feature Highlights

The following features are unique to Tesseract:

Full Media Support in Feed and Posts

  • Spotify
  • YouTube/Invidious/Piped
  • Soundcloud
  • Vimeo
  • Bandcamp
  • Odysee (as of 1.2.8.1)
  • odesli Song Link / Album Link (as of 1.2.8.1)

Community Browser / Enhanced Discovery

  • Browse the communties of other instances and seamlessly load and subscribe to them. No more of that obnoxious copy/paste, search, wait, search again, subscribe hokey-pokey dance.
  • Post and comment menus let you browse the communities of the originating instance

Code Syntax Highlighting

Code blocks and inline code can be syntax-highlighted.

Image/Media Proxying and Caching

Privacy conscious users have long requested media be proxied through Lemmy. While I can’t add that to the API, I can add it to the UI. Additionally, since the media is already flowing through Tesseract, it made sense to optionally cache the proxied media for re-use.

  • Enhance user privacy, reduce bandwidth to other instances, and speed up serving content to your users.
  • Can cache any media proxied through it. Tesseract can act as a caching proxy for your instance as well as cache media originating on other instances as well as outside resources (Giphy, Catbox, Imgur, Yarn, etc).
  • Administrators must explicitly enable this module, and users must enable media proxying in their app settings.

Fediseer Integration

  • See any endorsements, hesitations, and censures given to instances you’re interacting with.

Highlights

Check out !gifs@lemmy.world or !videos@lemmy.world as seen through Tesseract.

Take a Test Drive

If you want to connect Tesseract to an instance of your choosing, we host a public instance at https://tesseract.dubvee.org. It loads to DubVee by default, but you can change the guest instance or login to any Lemmy server you want.


Additional Features

Designed for desktop and mobile.

Install as a PWA on either or just use it through the web.

Multiple Account Support

You can add multiple accounts and easily switch between them. Accounts can even be on different instances if the administrator chooses not to lock Tesseract to theirs.

Multiple Hosting Options

If you host your own Tesseract instance, you can use it as a frontend for any Lemmy instance. Instance admins can host Tesseract on a subdomain or even replace Lemmy-UI with it. You can even run it on localhost if you want, though image uploads will not work due to CORS.

Highly Configurable

  • User-configurable image/video sizes in feed and posts
  • Full Lemmy server config options.
  • Most aspects of the UI can be configured by the end user. Server admins can set default preferences via env vars.

Better Moderation Tools than Lemmy-UI

  • Can access moderation actions from the feed without having to click into the post as with Lemmy-UI
  • Local instance admins have full moderation control of the instance as with Lemmy-UI
  • Modlog support on both desktop and mobile.
  • Can simply click “reply with reason” when taking moderation actions to send the user a message with the removal details. Template is user-configurable.
  • Enhanced modlog filtering.
  • Community- and user-specific buttons that will pre-filter the modlog automatically.
  • edric
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    This is interesting! I’ll try this on desktop tomorrow. I’m an Alexandrite user so it’s great to see alternatives come up to compare. Thanks! I’ll circle back with feedback.

    • Admiral Patrick@dubvee.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Awesome!

      I used Alexandrite and Photon before I started this, and Tesseract is something of a blend of what I liked about both, minus some things I didn’t like, plus some unique features I wanted but didn’t see implemented elsewhere.

      If you have any questions, feel free to ask or open a Github issue/discussion. The docs are fairly comprehensive but still a little scatter-brained at the moment. I’m slowly getting them refined.

      • edric
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        1 year ago

        Hey! So some quick comments based on a couple of minutes of playing around the UI and settings. Note that this is coming from the perspective of someone using it primarily on desktop and not mobile.

        • Dark mode is nice and sleek! I haven’t really used Photon and just noticed that Tesseract is similar to (or based on?) it.
        • The “return to feed” and “scroll to bottom/top” buttons are nice touches, as it gives a seamless feeling of returning to the feed and not losing your place without clicking on the browser’s back button.
        • It would be great to also have a “return to top” button on the main feed as well since the only way to change the List Type and Sort is to go back to the top.
        • The current number of posts displayed per page seems a bit too low. Not sure how complicated it is to implement endless scroll, but maybe consider loading more posts at a time.
        • So I know this is a consequence of designing one interface that works for both desktop and mobile (and please don’t take this as negative criticism), but the UI doesn’t maximize screen real estate as much as a pure desktop UI could (like Alexandrite’s 2-column layout), especially with both sidebars closed. I feel like the compact layout can still be more compact and minimize further the spaces between posts and spaces within the post elements (thumbnail, title, details) itself. Not sure how more compact you can get without impacting the experience in mobile.
        • Lastly, I think it might help if the default public instance has a more neutral url like phtn.app or alexandrite.app so it’s not confusing for new users who might assume it’s only for dubvee.org. It will also give it its own identity so users don’t associate it to a specific instance only.

        Overall it’s a nice and sleek UI! I’ll start using it regularly and see how I feel about it in a couple of weeks. Congrats on the UI and great work! I’ll definitely keep an eye on further development.

        • Admiral Patrick@dubvee.orgOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Thanks for the feedback!

          Dark mode is nice and sleek! I haven’t really used Photon and just noticed that Tesseract is similar to (or based on?) it.

          It’s forked from an older version of Photon, yeah. We’ve both kinda gone in different directions since then. Tesseract used to be my custom build of Photon until it was easier to just fork it and do my own thing.

          The “return to feed” and “scroll to bottom/top” buttons are nice touches…

          Yep. They’re also optional so hopefully everyone’s happy. lol. I like them since they make it easier when using it as a PWA. Glad someone else appreciates them :)

          It would great to also have a “return to top” button…

          That’s a good idea. I’ll add it to my to-do list. Will be easy to implement. Implemented in 1.2.8.3

          The current number of posts displayed per page seems a bit too low…

          I think there’s a hard limit of 50 posts per page from the API, and Tesseract returns 20. I’ve thought about either increasing that and/or letting it be a user option but just…haven’t I guess. lol. Either/both of those is easy to implement. Infinite scroll has been on the backburner for a while, but it’s certainly doable as well. When I work on that part next, I’ll probably work on adding both and letting the users decide.

          Added user option to set number of posts per page. Can choose 20 (default), 30, 40, or 50. Implemented in 1.2.8.3. Infinite scroll still in workshop.

          So I know this is a consequence of designing one interface that works for both desktop and mobile…

          Yeah, I hear ya, and you’re right: that’s exactly why things are how they are. I’ve tried to minimize dead space best I can, but trying to have one interface for both kinda limits what I can reasonably do. I’ve got a “list” style in mind which would be kind of like Alexandrite’s but, like you said, mobile is the stumbling block. I’m going to try some CSS tricks to only allow that on desktop and let mobile be compact/card only. I’ll have to play around with that and see what works.

          Lastly, I think it might help if the default public instance has a more neutral url…

          Agreed. I just ran out of domain names that aren’t for other projects. I’ll work on budgeting for a dedicated domain and virtual server for the public instance of it. I still recommend users either host their own if they can or ask their instance admins to offer it as an option.