{"id":464,"date":"2024-06-24T02:43:53","date_gmt":"2024-06-24T02:43:53","guid":{"rendered":"https:\/\/www.yellowfalconmedia.com\/blog\/2024\/06\/24\/wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash-wp-tavern\/"},"modified":"2024-06-24T02:43:53","modified_gmt":"2024-06-24T02:43:53","slug":"wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash-wp-tavern","status":"publish","type":"post","link":"https:\/\/www.yellowfalconmedia.com\/blog\/2024\/06\/24\/wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash-wp-tavern\/","title":{"rendered":"WordPress Reverts Live Preview Button on Plugins After Developer Backlash &#8211; WP Tavern"},"content":{"rendered":"<p>Sarah Gooding<br \/>Last week WordPress meta contributors <a href=\"https:\/\/meta.trac.wordpress.org\/changeset\/12931\">implemented a &#8220;Live Preview&#8221; button<\/a> for plugins in the official directory, with the intention of allowing users to safely test any plugin in one click. The button went live across all of WordPress.org&#8217;s 59,000+ plugins but took plugin developers by surprise as it was pushed through without any communication or input from stakeholders. <br \/>The implementation was premature and failed to take into consideration the many different types of plugins that appear to be broken due to inadequate support in the Playground testing environment. <br \/>Five weeks ago, Automattic-sponsored Meta team contributor Steve Dufresne <a href=\"https:\/\/meta.trac.wordpress.org\/timeline?from=2023-09-07T00%3A29%3A45Z&amp;precision=second\">commented<\/a> on the ticket, &#8220;Adding that it&#8217;s likely still the case (someone else can confirm), not all plugins work in the Playground so we should build in an opt-out mechanism.&#8221;<br \/>This suggestion was roundly ignored by other participants on the ticket and the Playground previews went live. It became immediately apparent that this was done without thorough testing as many plugin authors reported the previews created an unfavorable, broken experience for users. <br \/>&#8220;Who decided to release Preview without posting on <a href=\"https:\/\/make.wordpress.org\/plugins\/\">make.wordpress.org\/plugins\/<\/a> with some advanced warning to plugin devs?&#8221; WordPress developer Alan Fuller asked, starting a <a href=\"https:\/\/wordpress.slack.com\/archives\/C02QB8GMM\/p1696523391533419\">discussion<\/a> in the #meta Slack channel. &#8220;Was that a #meta decision? Can it be reverted and due notice given?&#8221;<br \/>Retired Plugins team rep Mika Epstein identified three major use cases that were missed, which she estimates will impact 30-40% of plugins not working in the Playground environment: <br \/>Participants noted that DEBUG is also set to True, allowing unrelated warnings and notices to be displayed to the visitor.<br \/>&#8220;It stinks to work really hard on a plugin and then have some preview show up that makes it look totally broken when it&#8217;s not,&#8221; WordPress developer Ben Sibley said.<br \/>&#8220;This feature is a neat idea, but it needs a lot more work. We&#8217;ve gone decades without live previews; why was there suddenly a rush to launch this today when it&#8217;s demonstrably unreliable?<br \/>&#8220;As others have stated, this should be rolled back immediately and switched to an opt-in feature. Once it&#8217;s rolled back, work on giving plugin devs information about how the preview works so we can decide if it&#8217;s right for us or not. There is no rush to release this without proper communication and testing!&#8221;<br \/>Newsletter Glue co-founder Lesley Sim requested the feature be opt-in, contending that the average user won&#8217;t have patience if something appears broken and will assume there is a problem with the plugin, not the directory or the playground.<br \/>&#8220;So it ends up reflecting badly on the plugin developer, which can be really stressful for them if it means a loss in (potential) revenue\/installs (yes, I understand that many people think this shouldn&#8217;t be a key concern, but it is the reality for many small plugin devs) or if they have additional support burden as a result of this feature, which is completely out of their hands,&#8221; Sim said.<br \/>After others echoed these concerns, Automattic-sponsored contributor Alex Shiels, who implemented the feature, <a href=\"https:\/\/meta.trac.wordpress.org\/timeline?from=2023-10-06T02%3A26%3A06Z&amp;precision=second\">said<\/a> he didn&#8217;t expect it would be controversial and <a href=\"https:\/\/wordpress.slack.com\/archives\/C02QB8GMM\/p1696571100525509?thread_ts=1696523391.533419&amp;cid=C02QB8GMM\">said<\/a> he was &#8220;over-optimistic about how smoothly it would work.&#8221; He deployed a commit that <a href=\"https:\/\/meta.trac.wordpress.org\/changeset\/12933\">added an opt-out toggle<\/a> so plugin committers could disable the Live Preview button.<br \/>&#8220;The reason I didn\u2019t communicate prior to deploy is, there was discussion on the ticket for a month prior; and because Playground has been live for several months now,&#8221; Shiels said. &#8220;Every published plugin in the directory has already been available for running in the Playground since well before this ticket. All I did was make it easy to get there with a single click. Apologies for catching you all off-guard.&#8221;<br \/>Others requested WordPress.org implement a customizable Demo link url in the readme file, instead of turning Playground previews on for all plugins, along with many more suggestions for making the environment better for showcasing  plugins.<br \/>After continued pushback urging Shiels to make the feature opt-in instead of opt-out, he <a href=\"https:\/\/meta.trac.wordpress.org\/changeset\/12934\">removed the button<\/a> on Friday, October 6. <br \/>&#8220;I do want to emphasize that a lot of the worry and concern wasn\u2019t about the fact that a plugin was broken in Playground,&#8221; plugin developer Aurooba Ahmed said. &#8220;Most of us know if our plugin works in playground or not, it was that a very apparent feature was pushed to the plugin repo that affects how users evaluate plugins, without discussion and feedback from enough of the key stakeholder audiences.<br \/>&#8220;I look forward to seeing how the feature is iterated upon (because ultimately it\u2019s a fantastic concept) so that it can be useful in all the right ways for all stakeholders.&#8221;<br \/>In the meantime, users who enjoy having quick access to Playground may want to check out the Chrome browser extension created by LUBUS, a development agency. It <a href=\"https:\/\/wptavern.com\/new-chrome-browser-extension-enables-one-click-plugin-and-theme-testing-with-wordpress-playground\">adds a Playground\u201d button to theme and plugin pages<\/a> on WordPress.org so users can test drive extensions with one click.<br \/>When adding the opt-out toggle, Shiels commented on the ticket that plugins broken in Playground were broken before the ticket was opened and will remain that way even if the plugin does not opt into the Live Preview button.<br \/>&#8220;I know the Playground team is hard at work on addressing bugs and compatibility issues there,&#8221; Shiels said. &#8220;And I intend to further improve the Live Preview support in the plugin directory to make things better for users and plugin developers alike. Many of your concerns can be addressed using <a href=\"https:\/\/wordpress.github.io\/wordpress-playground\/blueprints-api\/index\">Blueprints<\/a>\u00a0which will allow configuring and installing dependencies, importing demo content, and other neat things. I&#8217;ll work on making Blueprint support available as soon as I&#8217;ve confirmed some engineering details with the Playground team.&#8221;<br \/>There is more work to be done before this feature is ready for rollout. The live preview button is currently disabled while contributors iron out compatibility issues.<br \/>SHARE THIS:<br \/>LIKE THIS<br \/>Another example how techy\/dev\/coders are put to be more important than the end-user, the customer, the consumer. Put consumers FIRST!<br \/>Most of them won\u2019t spend the time testing plugins in their environment as all of them knows that after installing a plugin and removing it, there is a lot of junk in terms of files\/database entries that is left behind.<br \/>This is one more example how the environment is self-serving coders instead of CONSUMERS.<br \/>We need to put consumers\/customers FIRST!<br \/>There are no consumers on the WP.org site as everyone is an open source contributor.<br \/>Having said that, how is it a good thing for someone evaluating a plugin to try to evaluate it with playground and it doesn\u2019t work and thus get a bad impression of that plugin and possibly WordPress in general?<br \/>It should have been opt-in from the start and there would have been no backlash.<br \/>This isn\u2019t really the point, but I just have to say that there absolutely are consumers (if you define that as people who are using the open source WordPress software without actually contributing open source code themselves) on WP.org.<br \/>The approach should be OPT-IN.<br \/>Two things as the consideration:<br \/> &#8211; Playground is in development<br \/> &#8211; Playground hasn&#8217;t been fully introduced, and there is no period of time allowed for the plugin author to adapt\/make the change<br \/> &#8211; Each plugin have its requirements such as dependency and demo dataset<br \/>I fully agree on dependencies here.   I do not mind uploading a specific theme like DIVI to test a DIVI theme related plugin out but if a plugin needs elementor installed for it work well it better install it as well.<br \/>That\u2019s too bad.<br \/>The Playground feature was perfect to showcase the back-end and the available plugin settings. I had no issue with any of my 14 plugins in the WordPress repository.<br \/>As a part-time plugin developer, juggling it with ongoing freelance client work and just\u2026 life in general, I had no idea until this article that the Playground even existed. It\u2019s an extremely tenuous position to be a small solo developer trying to build a business on this platform when just trying to keep up with the activities of the core team is becoming a full-time job.<br \/>The execution was poor. I think that\u2019s the most concerning part of this. The intention was good, though. Opt-in would be ideal.<br \/>Commercial plugins should hesitate to use it. There is value in having folks visit the website for additional context, and a more personal experience for the demo.<br \/>Could any other wp.org contributor, that is not sponsored by Automattic, have made such a decision without warning, feedback or consultation that affects EVERY plugin in the repo?<br \/>I think we all know the answer to that question\u2026<br \/>This was a bad idea, IMHO. Plugins are not like themes and some plugins won\u2019t even work without [another] plugins. Like some plugin that extends another plugin. How would wp.org expect to have a \u201cPlayground\u201d that would load every dependency available to mankind.<br \/>Plugins SHOULD ALL have a demo link. why would you build a plugin and then HOPE that people understand how to use it just by reading the readme text you have injected into the WP repo for your plugin page. ALWAYS add a demo link. Usually the last sentence in the description is where I add mine. why not. It can\u2019t hurt and it is much better to create a bunch of sub-domains or sub folders on one of your hosting instances; this way people know you have tested it and that you are supporting it in a very \u201ccustomer first\u201d manner.<br \/>Enter your email address to subscribe to this blog and receive notifications of new posts by email.<br \/> \t\t\t\t\t\t\t<label \t\t\t\t\t\t\t\tid=\"subscribe-field-2-label\" \t\t\t\t\t\t\t\tfor=\"subscribe-field-2\" \t\t\t\t\t\t\t\tclass=\"screen-reader-text\" \t\t\t\t\t\t\t> \t\t\t\t\t\t\t\tEmail Address\t\t\t\t\t\t\t<\/label> \t\t\t\t\t\t\t<input \t\t\t\t\t\t\t\t\trequired=\"required\" \t\t\t\t\t\t\t\t\ttype=\"email\" \t\t\t\t\t\t\t\t\tname=\"email\" \t\t\t\t\t\t\t\t\tclass=\"no-border-radius has-20px-font-size has-#d8d8d8-border-color\" \t\t\t\t\t\t\t\t\tstyle=\"font-size: 20px;padding: 15px 23px 15px 23px;border-color: #d8d8d8;border-radius: 0px;border-width: 1px;border-color: #d8d8d8; border-style: solid;\" \t\t\t\t\t\t\t\t\tplaceholder=\"Email Address\" \t\t\t\t\t\t\t\t\tvalue=\"\" \t\t\t\t\t\t\t\t\tid=\"subscribe-field-2\" \t\t\t\t\t\t\t\t\ttitle=\"Please fill in this field.\" \t\t\t\t\t\t\t\t\/>\t\t\t\t\t\t<br \/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"action\" value=\"subscribe\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"blog_id\" value=\"9006382\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"source\" value=\"https:\/\/wptavern.com\/wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"sub-type\" value=\"subscribe-block\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"app_source\" value=\"\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"redirect_fragment\" value=\"subscribe-blog-2\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"lang\" value=\"en_US\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"b69f1fe32b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash\" \/><input type=\"hidden\" name=\"post_id\" value=\"149982\"\/>\t\t\t\t\t\t\t<button type=\"submit\" \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"wp-block-button__link no-border-radius has-20px-font-size has-#d8d8d8-border-color\" \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: 100%;font-size: 20px;padding: 15px 23px 15px 23px;margin: 0; margin-left: 0px;border-color: #d8d8d8;border-radius: 0px;border-width: 1px;border-color: #d8d8d8; border-style: solid;\" \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"jetpack_subscriptions_widget\" \t\t\t\t\t\t\t> \t\t\t\t\t\t\t\tSubmit\t\t\t\t\t\t\t<\/button> \t\t\t\t\t\t<br \/>WordPress Tavern is a website about all things WordPress. We cover news and events, write plugin and theme reviews, and talk about key issues within the WordPress ecosystem\u2026<br \/>\u00a9 All Rights Reserved. Powered by <a href=\"https:\/\/wordpress.org\">WordPress<\/a>, hosted by <a href=\"http:\/\/pressable.com\/?utm_source=Automattic&amp;utm_medium=rpc&amp;utm_campaign=Concierge%20Referral&amp;utm_term=concierge\">Pressable<\/a> <br \/>Subscribe now to keep reading and get access to the full archive.<br \/> \t\t\t\t\t\t\t<label \t\t\t\t\t\t\t\tid=\"subscribe-field-3-label\" \t\t\t\t\t\t\t\tfor=\"subscribe-field-3\" \t\t\t\t\t\t\t\tclass=\"screen-reader-text\" \t\t\t\t\t\t\t> \t\t\t\t\t\t\t\tType your email\u2026\t\t\t\t\t\t\t<\/label> \t\t\t\t\t\t\t<input \t\t\t\t\t\t\t\t\trequired=\"required\" \t\t\t\t\t\t\t\t\ttype=\"email\" \t\t\t\t\t\t\t\t\tname=\"email\" \t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\t\tstyle=\"font-size: 16px;padding: 15px 23px 15px 23px;border-radius: 50px;border-width: 1px;\" \t\t\t\t\t\t\t\t\tplaceholder=\"Type your email\u2026\" \t\t\t\t\t\t\t\t\tvalue=\"\" \t\t\t\t\t\t\t\t\tid=\"subscribe-field-3\" \t\t\t\t\t\t\t\t\ttitle=\"Please fill in this field.\" \t\t\t\t\t\t\t\t\/>\t\t\t\t\t\t<br \/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"action\" value=\"subscribe\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"blog_id\" value=\"9006382\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"source\" value=\"https:\/\/wptavern.com\/wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"sub-type\" value=\"subscribe-block\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"app_source\" value=\"\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"redirect_fragment\" value=\"subscribe-blog-3\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" name=\"lang\" value=\"en_US\"\/> \t\t\t\t\t\t\t<input type=\"hidden\" id=\"_wpnonce\" name=\"_wpnonce\" value=\"b69f1fe32b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/wordpress-reverts-live-preview-button-on-plugins-after-developer-backlash\" \/><input type=\"hidden\" name=\"post_id\" value=\"149982\"\/>\t\t\t\t\t\t\t<button type=\"submit\" \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"wp-block-button__link\" \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"font-size: 16px;padding: 15px 23px 15px 23px;margin: 0; margin-left: 10px;border-radius: 50px;border-width: 1px;\" \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"jetpack_subscriptions_widget\" \t\t\t\t\t\t\t> \t\t\t\t\t\t\t\tSubscribe\t\t\t\t\t\t\t<\/button> \t\t\t\t\t\t<br \/><a href=\"#\">Continue reading<\/a><\/p>\n<p><a href=\"https:\/\/news.google.com\/rss\/articles\/CBMiXmh0dHBzOi8vd3B0YXZlcm4uY29tL3dvcmRwcmVzcy1yZXZlcnRzLWxpdmUtcHJldmlldy1idXR0b24tb24tcGx1Z2lucy1hZnRlci1kZXZlbG9wZXItYmFja2xhc2jSAQA?oc=5\">source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sarah GoodingLast week WordPress meta contributors implemented a &#8220;Live Preview&#8221; button for plugins in the official directory, with the intention of allowing users to safely test any plugin in one click. The button went live across all of WordPress.org&#8217;s 59,000+ plugins but took plugin developers by surprise as it was&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-464","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/posts\/464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/comments?post=464"}],"version-history":[{"count":0,"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/posts\/464\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/media?parent=464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/categories?post=464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yellowfalconmedia.com\/blog\/wp-json\/wp\/v2\/tags?post=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}