{"id":383481,"date":"2024-06-29T04:56:11","date_gmt":"2024-06-29T04:56:11","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=383481"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=383481","title":{"rendered":"<span>\u00abLook what I have!\u00bb \u2014 how we made the feature of screen sharing in the mobile video conferencing app<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/5b7\/a16\/ff4\/5b7a16ff482917889df6587e92dae3ee.jpeg\" alt=\"User flow\" title=\"User flow\" width=\"1605\" height=\"1122\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5b7\/a16\/ff4\/5b7a16ff482917889df6587e92dae3ee.jpeg\" data-blurred=\"true\"\/><figcaption>User flow<\/figcaption><\/figure>\n<p>Hi\u00a0Habr!<\/p>\n<p>I would like to share the experience of how we implemented screen sharing feature in our app, the difference in implementation for the end-user between iOS and Android and usage compared to other feature in our app. There will be a lot of cool pictures and insights.<\/p>\n<h3>Introduction<\/h3>\n<p>I am a product manager working on the development of a mobile video conferencing application. Since the world has become a bit isolated, video conferencing apps like Zoom, Teams and Google Meet have become more popular. It worked for us and we found our niche and users.\u00a0<\/p>\n<p>So, we are smaller, but we have made an excellent and stable media server which includes: a good video resolution, an up-to-date video codec, good audio quality and a good UI. What&#8217;s next? Look at the needs of users and narrow the gap from competitors! I began to study the needs of users and saw a large number of requests for the screen sharing feature.\u00a0<\/p>\n<p>Who are our users? We have very different user segments &#8212; IT employees, healthcare workers, students in educational\u00a0institutions, students in sports schools (I&#8217;m talking to you who answered our survey that\u00a0you\u00a0use\u00a0our app in dojo). Our users want to show something they have on their phone,\u00a0whether it is\u00a0their homework, photos, notes, etc.<\/p>\n<p>So, the feature is cool, it&#8217;s time to implement it! We groomed this feature with the team and surprisingly it turned out to be quite fast in\u00a0terms of\u00a0implementation. I researched how it\u00a0was\u00a0implemented by\u00a0our\u00a0competitors and we began to create\u00a0design.<\/p>\n<h3>UI and Flow<\/h3>\n<ol>\n<li>\n<p>Where to place the feature control?<\/p>\n<\/li>\n<\/ol>\n<p>It depends on the\u00a0UX\u00a0of the app. We\u00a0have primary and secondary controls,\u00a0and\u00a0decided to separate the implementation on mobile phones and tablets. On mobile phones, we put a feature in the &#171;More menu&#187;. On the tablets\u00a0it\u2019s\u00a0a separate primary control.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/c56\/011\/531\/c56011531f2217a56f0c820c8e43eecf.jpeg\" alt=\"Mobile view\" title=\"Mobile view\" width=\"943\" height=\"950\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c56\/011\/531\/c56011531f2217a56f0c820c8e43eecf.jpeg\" data-blurred=\"true\"\/><figcaption>Mobile view<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/650\/fac\/f4c\/650facf4c62c33307eeeeaa92caff2d2.jpeg\" alt=\"Tablet view\" title=\"Tablet view\" width=\"1251\" height=\"936\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/650\/fac\/f4c\/650facf4c62c33307eeeeaa92caff2d2.jpeg\" data-blurred=\"true\"\/><figcaption>Tablet view<\/figcaption><\/figure>\n<ol start=\"2\">\n<li>\n<p>What system permissions do we need?<\/p>\n<\/li>\n<\/ol>\n<p>We need screen sharing permissions and they are works a bit different for iOS and Android. Useful links\/guidelines how screen share works on\u00a0<a href=\"https:\/\/developer.android.com\/guide\/topics\/large-screens\/media-projection\" rel=\"noopener noreferrer nofollow\"><u>Android<\/u><\/a>\u00a0and\u00a0<a href=\"https:\/\/developer.apple.com\/documentation\/replaykit\" rel=\"noopener noreferrer nofollow\"><u>iOS<\/u><\/a>.\u00a0On Android, we have to open the system settings screen for the user to switch the toggle. On iOS, we show a standard recording screen. The text at the top of the screen cannot be customized.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/89e\/1b3\/c40\/89e1b3c40f26816db51eb1411a81fe0e.jpeg\" alt=\"Android permission flow\" title=\"Android permission flow\" width=\"1355\" height=\"959\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/89e\/1b3\/c40\/89e1b3c40f26816db51eb1411a81fe0e.jpeg\" data-blurred=\"true\"\/><figcaption>Android permission flow<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/116\/a06\/5a8\/116a065a8180779ce7ba099a1f705415.jpeg\" alt=\"iOS permission flow\" title=\"iOS permission flow\" width=\"1347\" height=\"1158\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/116\/a06\/5a8\/116a065a8180779ce7ba099a1f705415.jpeg\" data-blurred=\"true\"\/><figcaption>iOS permission flow<\/figcaption><\/figure>\n<ol start=\"3\">\n<li>\n<p>What will the indication of the active screenshare look like and how to stop it?<\/p>\n<\/li>\n<\/ol>\n<p>It may seem strange at first glance, but we do not show the incoming video from cameras to the user when he has an active screenshare. There are several reasons why:<\/p>\n<ul>\n<li>\n<p>The user who turned on the screenshare wants to show the content on his phone, that is, outside the app.<\/p>\n<\/li>\n<li>\n<p>To make a more explicit indication of the active screenshare and give the easiest ability to stop it.<\/p>\n<\/li>\n<li>\n<p>It\u00a0might be\u00a0uncomfortable for other participants\u00a0to look at themselves on someone else&#8217;s screenshare (for example,\u00a0FPS\u00a0rate\u00a0on screenshare is\u00a0lower).<\/p>\n<\/li>\n<\/ul>\n<p>We ended up with this minimalistic design with a clear accent button in the middle of the screen. The user has the ability to stop the screenshare in three ways: by pressing the button just below the middle of the screen,\u00a0from\u00a0the menu (\u201cmore\u201d\u00a0menu or media panel) where they\u00a0launched it, and also\u00a0from\u00a0the status bar (by tapping in the upper left corner).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/9f2\/8f3\/b8f\/9f28f3b8fee39a1629a54385cac72d61.jpeg\" alt=\"Mobile active screenshare\" title=\"Mobile active screenshare\" width=\"1175\" height=\"1167\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/9f2\/8f3\/b8f\/9f28f3b8fee39a1629a54385cac72d61.jpeg\" data-blurred=\"true\"\/><figcaption>Mobile active screenshare<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/588\/e6e\/a88\/588e6ea88d56d9358785d61685753d09.jpeg\" alt=\"Tablet active screenshare view\" title=\"Tablet active screenshare view\" width=\"1449\" height=\"1088\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/588\/e6e\/a88\/588e6ea88d56d9358785d61685753d09.jpeg\" data-blurred=\"true\"\/><figcaption>Tablet active screenshare view<\/figcaption><\/figure>\n<ol start=\"4\">\n<li>\n<p>How to navigate\u00a0outside the app during an active screenshare?<\/p>\n<\/li>\n<\/ol>\n<p>We added a notification right after user hides the app. Notification helps the user not to forget that he is now showing his screen and may accidentally show sensitive content.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b09\/8bc\/778\/b098bc7785a145f4ff75a65fc0baf3d2.png\" alt=\"Notification about active screenshare\" title=\"Notification about active screenshare\" width=\"876\" height=\"408\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b09\/8bc\/778\/b098bc7785a145f4ff75a65fc0baf3d2.png\"\/><figcaption>Notification about active screenshare<\/figcaption><\/figure>\n<ol start=\"5\">\n<li>\n<p>Abilities outside the app during an active screenshare?<\/p>\n<\/li>\n<\/ol>\n<p>We&#8217;ve moved on to the fun part! The fact is that there are more abilities outside the app on Android,\u00a0and you can make a widget! We made a widget with the\u00a0essential\u00a0functionality &#8212; mute\/unmute, the ability to annotate and stop the screenshare. If you are interested in how we made annotations (including on top of the desktop screenshare) &#8212; please leave a comment\u00a0and I will write an article about it.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/ff6\/80a\/c5e\/ff680ac5e71fcc64e079ce5d9305d229.jpeg\" alt=\"Screenshare and annotation tool\" title=\"Screenshare and annotation tool\" width=\"650\" height=\"695\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ff6\/80a\/c5e\/ff680ac5e71fcc64e079ce5d9305d229.jpeg\" data-blurred=\"true\"\/><figcaption>Screenshare and annotation tool<\/figcaption><\/figure>\n<h3>Analytics and usage<\/h3>\n<p>We made a cool feature. It&#8217;s time to look at the analytics. The conclusion I quickly came to was that users didn&#8217;t notice the new feature in the\u00a0\u201cmore\u201d\u00a0menu. We had to implement onboarding\u00a0via\u00a0a\u00a0GIF, which we showed immediately after the connection to the meeting.\u00a0Featureusage\u00a0has grown a lot. Below is a comparison chart with the &#171;send emoji reaction&#187; feature\u00a0\u2013\u00a0the one\u00a0used\u00a0by engaged participants. Engaged participants are\u00a0those\u00a0who actively use various features of the app, and not just come to listen\u00a0to others\u00a0and close the app as soon as possible.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/471\/f6e\/f85\/471f6ef85e63113b507095863c2558ba.jpeg\" alt=\"Usage\" title=\"Usage\" width=\"1107\" height=\"917\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/471\/f6e\/f85\/471f6ef85e63113b507095863c2558ba.jpeg\" data-blurred=\"true\"\/><figcaption>Usage<\/figcaption><\/figure>\n<p>Interesting insight &#8212;\u00a0the\u00a0number of users\u00a0who join from a tablet\u00a0is 5-6 times less than the number of\u00a0mobile phones\u00a0users, but the number of screenshares launched is almost the same, which means that the needs and engagement of the audience of mobile\u00a0vs\u00a0tablets are a bit different.\u00a0<\/p>\n<h3>Conclusion<\/h3>\n<p>We have implemented a screensharing feature for users who want to share content from their\u00a0tablets and\u00a0phones. What insights have we\u00a0had?<\/p>\n<ul>\n<li>\n<p>Sometimes it&#8217;s worth separating design for tablets and mobile phones, as audiences may have different needs.<\/p>\n<\/li>\n<li>\n<p>The flow of permissions sometimes is different, in our case Android forced us to open the system settings screen in the middle of the flow.<\/p>\n<\/li>\n<li>\n<p>The capabilities of screenshare on Android are currently higher than on iOS, and we were able to make a widget for more convenient control.<\/p>\n<\/li>\n<li>\n<p>If you add a feature to a\u00a0\u201cmore\u201d\u00a0menu without any\u00a0indication of something new, the\u00a0usage will be low. Create onboarding and obvious indication!<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/698368\/\"> https:\/\/habr.com\/ru\/articles\/698368\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption>User flow<\/figcaption><\/figure>\n<p>Hi\u00a0Habr!<\/p>\n<p>I would like to share the experience of how we implemented screen sharing feature in our app, the difference in implementation for the end-user between iOS and Android and usage compared to other feature in our app. There will be a lot of cool pictures and insights.<\/p>\n<h3>Introduction<\/h3>\n<p>I am a product manager working on the development of a mobile video conferencing application. Since the world has become a bit isolated, video conferencing apps like Zoom, Teams and Google Meet have become more popular. It worked for us and we found our niche and users.\u00a0<\/p>\n<p>So, we are smaller, but we have made an excellent and stable media server which includes: a good video resolution, an up-to-date video codec, good audio quality and a good UI. What&#8217;s next? Look at the needs of users and narrow the gap from competitors! I began to study the needs of users and saw a large number of requests for the screen sharing feature.\u00a0<\/p>\n<p>Who are our users? We have very different user segments &#8212; IT employees, healthcare workers, students in educational\u00a0institutions, students in sports schools (I&#8217;m talking to you who answered our survey that\u00a0you\u00a0use\u00a0our app in dojo). Our users want to show something they have on their phone,\u00a0whether it is\u00a0their homework, photos, notes, etc.<\/p>\n<p>So, the feature is cool, it&#8217;s time to implement it! We groomed this feature with the team and surprisingly it turned out to be quite fast in\u00a0terms of\u00a0implementation. I researched how it\u00a0was\u00a0implemented by\u00a0our\u00a0competitors and we began to create\u00a0design.<\/p>\n<h3>UI and Flow<\/h3>\n<ol>\n<li>\n<p>Where to place the feature control?<\/p>\n<\/li>\n<\/ol>\n<p>It depends on the\u00a0UX\u00a0of the app. We\u00a0have primary and secondary controls,\u00a0and\u00a0decided to separate the implementation on mobile phones and tablets. On mobile phones, we put a feature in the &#171;More menu&#187;. On the tablets\u00a0it\u2019s\u00a0a separate primary control.<\/p>\n<figure class=\"full-width\"><figcaption>Mobile view<\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption>Tablet view<\/figcaption><\/figure>\n<ol start=\"2\">\n<li>\n<p>What system permissions do we need?<\/p>\n<\/li>\n<\/ol>\n<p>We need screen sharing permissions and they are works a bit different for iOS and Android. Useful links\/guidelines how screen share works on\u00a0<a href=\"https:\/\/developer.android.com\/guide\/topics\/large-screens\/media-projection\" rel=\"noopener noreferrer nofollow\"><u>Android<\/u><\/a>\u00a0and\u00a0<a href=\"https:\/\/developer.apple.com\/documentation\/replaykit\" rel=\"noopener noreferrer nofollow\"><u>iOS<\/u><\/a>.\u00a0On Android, we have to open the system settings screen for the user to switch the toggle. On iOS, we show a standard recording screen. The text at the top of the screen cannot be customized.<\/p>\n<figure class=\"full-width\"><figcaption>Android permission flow<\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption>iOS permission flow<\/figcaption><\/figure>\n<ol start=\"3\">\n<li>\n<p>What will the indication of the active screenshare look like and how to stop it?<\/p>\n<\/li>\n<\/ol>\n<p>It may seem strange at first glance, but we do not show the incoming video from cameras to the user when he has an active screenshare. There are several reasons why:<\/p>\n<ul>\n<li>\n<p>The user who turned on the screenshare wants to show the content on his phone, that is, outside the app.<\/p>\n<\/li>\n<li>\n<p>To make a more explicit indication of the active screenshare and give the easiest ability to stop it.<\/p>\n<\/li>\n<li>\n<p>It\u00a0might be\u00a0uncomfortable for other participants\u00a0to look at themselves on someone else&#8217;s screenshare (for example,\u00a0FPS\u00a0rate\u00a0on screenshare is\u00a0lower).<\/p>\n<\/li>\n<\/ul>\n<p>We ended up with this minimalistic design with a clear accent button in the middle of the screen. The user has the ability to stop the screenshare in three ways: by pressing the button just below the middle of the screen,\u00a0from\u00a0the menu (\u201cmore\u201d\u00a0menu or media panel) where they\u00a0launched it, and also\u00a0from\u00a0the status bar (by tapping in the upper left corner).<\/p>\n<figure class=\"full-width\"><figcaption>Mobile active screenshare<\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption>Tablet active screenshare view<\/figcaption><\/figure>\n<ol start=\"4\">\n<li>\n<p>How to navigate\u00a0outside the app during an active screenshare?<\/p>\n<\/li>\n<\/ol>\n<p>We added a notification right after user hides the app. Notification helps the user not to forget that he is now showing his screen and may accidentally show sensitive content.<\/p>\n<figure class=\"full-width\"><figcaption>Notification about active screenshare<\/figcaption><\/figure>\n<ol start=\"5\">\n<li>\n<p>Abilities outside the app during an active screenshare?<\/p>\n<\/li>\n<\/ol>\n<p>We&#8217;ve moved on to the fun part! The fact is that there are more abilities outside the app on Android,\u00a0and you can make a widget! We made a widget with the\u00a0essential\u00a0functionality &#8212; mute\/unmute, the ability to annotate and stop the screenshare. If you are interested in how we made annotations (including on top of the desktop screenshare) &#8212; please leave a comment\u00a0and I will write an article about it.<\/p>\n<figure class=\"full-width\"><figcaption>Screenshare and annotation tool<\/figcaption><\/figure>\n<h3>Analytics and usage<\/h3>\n<p>We made a cool feature. It&#8217;s time to look at the analytics. The conclusion I quickly came to was that users didn&#8217;t notice the new feature in the\u00a0\u201cmore\u201d\u00a0menu. We had to implement onboarding\u00a0via\u00a0a\u00a0GIF, which we showed immediately after the connection to the meeting.\u00a0Featureusage\u00a0has grown a lot. Below is a comparison chart with the &#171;send emoji reaction&#187; feature\u00a0\u2013\u00a0the one\u00a0used\u00a0by engaged participants. Engaged participants are\u00a0those\u00a0who actively use various features of the app, and not just come to listen\u00a0to others\u00a0and close the app as soon as possible.<\/p>\n<figure class=\"full-width\"><figcaption>Usage<\/figcaption><\/figure>\n<p>Interesting insight &#8212;\u00a0the\u00a0number of users\u00a0who join from a tablet\u00a0is 5-6 times less than the number of\u00a0mobile phones\u00a0users, but the number of screenshares launched is almost the same, which means that the needs and engagement of the audience of mobile\u00a0vs\u00a0tablets are a bit different.\u00a0<\/p>\n<h3>Conclusion<\/h3>\n<p>We have implemented a screensharing feature for users who want to share content from their\u00a0tablets and\u00a0phones. What insights have we\u00a0had?<\/p>\n<ul>\n<li>\n<p>Sometimes it&#8217;s worth separating design for tablets and mobile phones, as audiences may have different needs.<\/p>\n<\/li>\n<li>\n<p>The flow of permissions sometimes is different, in our case Android forced us to open the system settings screen in the middle of the flow.<\/p>\n<\/li>\n<li>\n<p>The capabilities of screenshare on Android are currently higher than on iOS, and we were able to make a widget for more convenient control.<\/p>\n<\/li>\n<li>\n<p>If you add a feature to a\u00a0\u201cmore\u201d\u00a0menu without any\u00a0indication of something new, the\u00a0usage will be low. Create onboarding and obvious indication!<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/698368\/\"> https:\/\/habr.com\/ru\/articles\/698368\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-383481","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=383481"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383481\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=383481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=383481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=383481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}