Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider dropping support for the embedded web library #596

Open
tnajdek opened this issue Feb 5, 2025 · 0 comments
Open

Consider dropping support for the embedded web library #596

tnajdek opened this issue Feb 5, 2025 · 0 comments

Comments

@tnajdek
Copy link
Member

tnajdek commented Feb 5, 2025

We currently have experimental support for building a web library version that can be embedded on third-party websites (part of #446). It has never been officially supported or documented, is not actively tested, and is unlikely to be used anywhere. Based on this experiment, I have concluded that the web library is not a good fit for embedding. The main reasons are:

  • It is heavily dependent on screen size and input type, attempting to offer the best UX for a given device. To achieve this, it installs global event listeners and expects the web library to take up the entire width of the window.
  • There isn't enough space on small screens to make the embedded version work on mobile devices.
  • It uses routing that is reflected in the URL, meaning the embedded version cannot support the browser’s back/forward navigation.
  • It includes multiple features that cannot be easily separated from the bundle but would effectively be dead code in an embedded version.
  • It has features that depend on Zotero’s server architecture, which is not available in the embedded version.
  • Potential issues with font license.
  • Maintaining both the normal and embedded versions increases code complexity.

Therefore, I propose canceling the idea of producing an embedded web library. Instead, I suggest building something from the ground up, focused on meeting the requirements for an embedded Zotero library—or at least a subset that we can realistically support. To avoid duplication, components and utilities that are universal enough to be used in both versions could become part of web-common.

The immediate benefit would be that it would make #571 much simpler. Also, #457 (required for #584) would most likely require changes to the embedded variant of non-URL-based routing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant