-
Notifications
You must be signed in to change notification settings - Fork 379
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
Document widget API / specs #1089
Comments
We need to get them off the cc @rxl881 |
Namespacing the widget types would also be incredibly helpful to ensure that widgets are interoperable between different clients and integration managers. Currently widgets, like Jitsi, require certain parameters to be specified in the URL so that riot-android and riot-ios can pick it up. Realistically, this shouldn't be hardcoded into the URL and instead should be specified in the Having the data standardized also helps integration managers work together instead of against each other. Dimension started off trying to support Scalar's widgets in a way where Scalar also could support Dimension's, but that fell apart quickly and ended up being a case where Dimension namespaced it's widgets to avoid breaking Scalar. While trying to remedy this, I got frustrated at the lack of spec, hence this long post. The last known spec for widgets is here: https://docs.google.com/document/d/1TiWNDcEOULeRYQpkJHQDjgIW32ohIJSi5MKv9oRdzCo/edit The only deviation from this that I'm aware of is a property named The widget types, and quirks, I'm aware of out in the wild are:
Dimension goes a step further and prefixes types with Assuming each specced type is prefixed with m.jitsi
Wrappers would be responsible for also asking for the display name, avatar url, and user ID as part of their templated URL. m.tradingview
m.spotify
scalar currently implements this, although under the m.video (replaces
Of course, comments are welcome on all of this. As stated at the top, this comes out of frustration for a lack of spec while working in the trenches of widgets. |
@turt2live - Firstly, many thanks for this write-up. It all sounds pretty sensible to me. However, we might need to split some of the suggestions out in to their own issues so that we can discuss some of the implementation specifics. Apologies for lack of progress on the spec. As I'm sure you can understand, we're a little constricted at the moment due to lack of resources (something that should become much less of an issue once the current funding round is concluded, hopefully in the near future). Right now I'm having to balance the resources of the Scalar team (just me at the moment) between bug fixes, feature requests, operational issues and trying to figure out how to progress widgets (and integrations generally) to make them successful and useful in the long-term. I think (and hope you'll agree) that we're making some really good progress with all of the recent new features, and I'm certainly starting to get a much clearer picture of how widgets and the integrations ecosystem will work, and what sort of features we're likely to want to support. Now that the shape of widgets is beginning to emerge from "the block of marble", there is definitely quite a bit of work to do to bring the spec. and widget APIs up to date. I'm really keen to work with the community on this (especially while the team is so small), so suggestions / proposals / updates for the spec. are really helpful. As you've suggested, it's becoming clear that moving a lot of the widget config. data from the URL into the 'data' object is a good idea and most/all of the newer integrations that I have been adding (TradingView, Spotify, Google calendar etc.) are starting to do this already. However, there are a couple of items (like widget URL template interpolation that still need to be addressed on mobile - element-hq/riot-meta#125) for this to be fully adopted. I have a couple of important feature items that I need to look at next, but once those are out of the way I will be coming back to look at this item - standardising the existing integrations and updating the spec. This is likely to be very similar to (if not exactly) what you have described. In summary, I'm very excited about the direction that widgets and integrations in general are taking. This is all bleeding edge stuff and I am very keen to work with you and the rest of the community working on alternative integration managers to get the new features in to the spec. and make sure that we're all working together. As ever please feel free to reach out at any time to ask any questions about any items that might not have made it in to the spec. yet. :) |
This ultimately became https://github.com/matrix-org/matrix-doc/issues/1236 - closing. |
Basically put https://matrix.org/blog/2017/08/23/introducing-matrix-widgets/ into a documentation document that we can point other project maintainers to and tell them: 'Please implement support for this, so we can use your Project inside Matrix' :-)
The text was updated successfully, but these errors were encountered: