<div class="rss-widget"><ul><li><a class='rsswidget' href='http://wordpress.tv/2013/09/12/sean-mcginnis-link-building-techniques-that-work/' title='     '>WordPress.tv: Sean McGinnis: Link Building Techniques That Work</a></li><li><a class='rsswidget' href='http://feedproxy.google.com/~r/WordpressTavern/~3/BXtFdghE2VM/ryan-mccue-on-creating-the-json-rest-api-for-wordpress' title='In the not too distant future, the WordPress core is going to incorporate a powerful new API that will open new doors for the platform to be part of the interactive web. Long time WordPress hacker, Ryan McCue is busily creating a JSON REST API that will pave the way for outside applications to be able to communicate more easily with WordPress.  A Quick Introduction to Ryan and JSON Ryan first got involved contributing to the WordPress core about 6 years ago. Back in the day you could find him helping out in the #wordpress IRC channel and answering questions. This eventually led him to start making patches to core for issues. He’s now creating a JSON REST API for WordPress as part of his Google Summer of Code project.  Ryan the WordPress hackstar You might be wondering, as I was, what in the world is a JSON REST API? As I’m not an engineer, I did not have the foggiest grasp of what this API can used for before chatting with Ryan over email. I asked him to school us in the basics and he obliged: JSON is a data format based on Javascript’s representation of objects, but it’s widely used because it can be easily represented in almost every programming language. The project uses JSON as a format since basically every language can understand it, and it’s extremely easy to work with. The project additionally uses REST semantics, which is a way of building applications that make full use of the web and existing tools. The benefit of both of these is that any program which can access the web can use the API, leaving developers only the WordPress-specific code to write. For comparison: the current mobile apps use the XML-RPC API, and up to 40% of their code is just to understand the XML properly, whereas JSON support is built-in to iOS and Android natively. The JSON REST API Will Affect Everyone Who Works With WordPress I asked Ryan how the JSON REST API will affect WordPress users and developers. It seems that while the API is not readily visible to users, they will experience the benefits of more interactive WordPress websites. Developers will also have an easier time creating this experience. He believes that it will impact everyone: The JSON REST API is a simple but powerful way to interact with WordPress. Mobile, desktop and web applications can get data from WordPress and do anything you can do via the admin panel. It’s like the admin panel, minus the UI. This project will affect everyone who works with WordPress. Mobile and desktop applications can move past restrictions on WordPress’ existing APIs and start working with WordPress in much deeper ways, while themes and plugins can become much more interactive. The availability of this as a core feature also means less time spent by developers creating something similar, and more time spent creating actual features. In simple terms, for developers, this is going to be like upgrading all the old tools in your garage to be power tools, so you can focus on building. McCue calls it a whole new generation of tools: As Matt noted in the recent State of the Word, WordPress is beginning to transition to a point where we’re building not just sites, but applications. Themes have taken us this far, but we’re moving to a web with much more user interactivity and we need a new generation of tools in WordPress to support these uses. Practically speaking, what will the JSON REST API be used for? I asked Ryan how he anticipates that developers will use the new API. He related a few practical use cases:  * The upcoming O2 theme by Automattic (intended as a replacement for     P2) includes a similar API to power the live reloading, commenting,     infinite scroll, frontend posting and other features. Once this     plugin is in core, the O2 developers will be able to replace their     custom code with this API (which I hear is a significant portion of     their codebase)  * Mobile apps will be able to replace the clumsy XML-RPC-powered APIs     with a much smaller set of tools for dealing with this API, enabling     them to spend more time working on cool features and less time     fixing issues My eventual hope is that a lot of the customised admin-related Javascript and backend code can be replaced with API-powered code, but that’s a pretty long-term goal. Overall this is going to be a giant step forward for developers who are having to try to create a similar API from scratch in an attempt to build interactive features. JSON REST API Proposed for WordPress 3.8 McCue has proposed the API for 3.8, but the GSoC restrictions require that 100% of the code has to be written by him. These restrictions do not lend the project much collaboration at this point. Very soon the Summer of Code will conclude and McCue plans to form a team to work on the plugin and get it ready for integration.  Although it may not be ready for WordPress 3.8 due to time constraints, McCue hopes to see it in the core in some form in one of the next few major releases. He’s very eager to get new contributors involved and would appreciate any feedback on the project. Before talking with Ryan I was clueless about the importance of the project he’s working on but now I’m excited about the possibilities that the JSON REST API will open up for WordPress developers. Ryan’s work is currently housed within a plugin. If you’d like to test it and check it out, you can download it from github or wordpress.org. If you need help getting started, check out the docs Ryan has created or get in touch with him on Twitter. '>WPTavern: Ryan McCue on Creating The JSON REST API for WordPress</a></li><li><a class='rsswidget' href='http://ma.tt/2013/09/hunter-joins/' title='Hunter Walk is Not Just a WordPress User, Now Also an Advisor to Automattic. Really excited to have him involved!'>Matt: Hunter Joins</a></li><li><a class='rsswidget' href='http://feedproxy.google.com/~r/WordpressTavern/~3/R93N3tZE-IY/what-good-is-plugin-compatibility-data-if-users-are-not-participating' title=' It’s a fear many WordPress users had in 2009 and it’s one that continues to be near the top in terms of reasons why people won’t upgrade their sites. It’s the fear that their plugins won’t be compatible with the new version of WordPress. Back in October of 2009, the WordPress core team tried to address these fears by adding a plugin compatibility section to the WordPress.org Plugin repository.  Developed by Michael Adams, the plugin compatibility section worked on the simple premise of selecting which version of WordPress was being used with which version of the plugin and clicking on either a broken or works button. The only people who could vote were those who had a WordPress.org user account. After voting, a bar was displayed showing two percentages. If there was no data to be shown, a yellow bar was displayed saying no data. A complaint heard from plugin developers at the time was that the percentages had no clear meaning.  For example, taking the Google XML Sitemaps plugin shown above, what does 88% really mean? That it *will* work on my setup? Or only 88% of the time? Or I have an 88% chance of it working? The % doesn’t mean any of those things, of course. The only certainty that I would take from the percentages is that a proportion of users who voted (12% in this case) *decided* that it didn’t work with their version of WordPress. But suppose the incompatibility is to do with a conflict with another plugin, rather than with WP itself? How thoroughly did the voter confirm the source of the problem before voting? – Comment By Ade On The Post – Are Your Plugins Compatible? Making The Broken Button More Meaningful One of the biggest complaints from plugin developers was that when a user would select broken, it wouldn’t trigger a box to provide feedback as to why they thought it was broken. Plugin developers found themselves with users reporting their plugin to be broken with no idea as to why they were arriving at that conclusion. Although I can’t find the specific time and date when it happened, at some point after that conversation, the behavior of the broken button changed so that if it was selected, a support topic creation screen would show up. It didn’t force users to submit feedback but if the plugin was considered broken to the user, the next logical step would be to create a support thread.  Four Years Later, Still A Lack Of Data Out of curiosity, I decided to take a look at all of the popular plugins listed on the front page of the plugin repository thinking they would have the most data based on their popularity. It turns out, that was not the case. Most of the plugins had 50 reports or less. It’s important to note that with each plugin version bump, the compatibility data resets. I even reviewed the previous versions to view their data and for the most part, it was less than the most recent version. It’s my conclusion that few users are reporting working plugins let alone, broken ones. What’s Happening With The Data And Where Do We Go From Here? I got in touch with Otto as he works for Audrey.co and is part of the WordPress.org team to figure out what is going on with the data and if there are any plans to implement ways to get more user’s to participate in the reporting process. According to Otto, “the compatibility data is shown on plugin upgrades. If there is data there to display, then you’ll see a message like this: Compatibility with WordPress 3.6: XX% (Y “works” votes out of Z total). With some numbers to fill in those spaces, of course. I believe that it displays a different message if the plugin has been explicitly marked as tested-up-to the current version in the readme file, or “unknown” if there is no data to display. With the 2 year cutoff, this data has become less useful, since a lot of plugin authors are updating their plugins and keeping that information relevant.” “Additionally, the original idea was that you’d mark plugin version X as compatible with WordPress version Y, but since we would prefer that all people run the latest WordPress version and keep things like plugins up to date too, then the whole thing starts to not make a lot of sense anymore. Obviously, the ideal is for “version” to just disappear, what with auto-upgrade and the like. Chrome has a version number too, but do you know what version your browser is? Or care?” According to the author, this plugin was 100% compatible with WordPress 3.6.1 I then asked Otto if no one is providing enough data to make the feature useful, then what’s the point in having it? Well, yes, if nobody uses that to provide the data, then the information isn’t useful. But in the same sense, this is like ratings. We need to find a way to make it useful, or ditch it, or rethink the whole thing. For ratings, we integrated them with reviews. So that in order to leave a rating, you have to leave a review. For compatibility, we have not done quite the same thing yet. However, if you select that a version is incompatible, then it forwards you to the support forum form where you can leave a support forum post about it. Since doing that a couple of years back, this has resulted in a slight increase in support threads for plugins, so in that sense I consider it useful. A simple “this doesn’t work” is not as handy as “this doesn’t work and here’s why” to a plugin author. Has there been any talk regarding that feature perhaps to make it easier to report? Granted, once someone installs a plugin and it works, that’s the last time they visit the plugin page unless they need support. Has there been any thoughts to possibly send a nag or notification to the user after a set amount of time to ask them if the plugin works or is broken? Although I could see that as being a huge annoyance. I am not aware of any discussions along these lines at present. I cannot imagine that we’d want to add any form of “nag” like that to core. That’s a strong disincentive to this sort of thing. On the whole, while these metrics are nice to look at, I’m unconvinced of their usefulness all by themselves. The compatibility feature is nice and shows some interesting data, but not particularly useful data. There is no incentive for people to click the “it works” button, and clicking the “it’s broken” button doesn’t provide useful feedback. I’d kinda prefer to somehow surface reviews and support threads at the time where you’re updating or reading about a plugin. I don’t know how doable this is at present though. The case for “make it easier to leave feedback” is a problematic one, because it opens a backdoor that we really don’t want to have. See, currently you have to be logged in to WordPress.org in order to do these various things. This is so that we can prevent spamming of the stats, essentially. Some people have still tried, of course. But you don’t have to be logged in to WordPress.org, or even have a forums account, to see the data on your own install. So displaying something outside our site that they can click essentially means that we can’t have the login requirement anymore, since it could be anybody, and then you open that door for abuse. Some consideration has been given to using OAuth for this, so that you can login and leave that feedback that way, securely, but this is fraught with problems, and anyway it’s a heck of a thing to do just for this sort of feedback. At the end of the day, with all things considered I wanted Otto’s thoughts on that specific feature of the plugin repository. In the long run, a redesign of the plugins/themes directories are in order, and in that process, maybe we’ll change things up, integrate things better, come up with more methods for incentivizing that sort of useful feedback. But that is ultimately a human psychology problem. Not my area of expertise. I’m a coder. I write code. Last but not least, I asked Otto if he was able to see a timeline or history of compatibility data that’s been reported? Something like trends from 2009 when it was introduced to 2013? I was curious as to whether the amount of data received by users has stayed roughly the same for the past few years. The data is not time stamped, so no, there’s no way to compare it over a time range. My Thoughts I’ve been reading posts about the feature when it was introduced in 2009 and thought the comments back then were interesting. At that time, it seemed like the biggest request was to have the ability to say whether a plugin works or is broken from the Installed Plugins screen. This way, it would be quick to mark all of the plugins that work without having to browse to the individual plugin pages to provide that feedback. We still don’t have anything like that in core. I wonder if a simple change like that would get more people to provide compatibility data? If I could mark a plugin as works from the installed plugins page, I’d do so. Having people provide feedback after they say it’s broken was a huge step towards making the whole process useful for plugin authors. I agree with Otto in that a drop down box selecting a WordPress version is dumb at this point as all versions of WordPress “should be” or “assumed to be” the latest version and it’s just whether or not the plugin works or is broken. The WP version number becomes less of a factor when auto updates for core come around. At this point, it looks like any future enhancements of the plugin compatibility feature will be rolled into a to-do list for the plugin repository redesign. It’s not something that is of utmost priority so that would make sense. However, I’d like to hear from both plugin authors, and users to find out what would make the plugin compatibility area more useful and if you had the chance, how would you get users to supply the information needed to determine whether certain versions work, or are broken? '>WPTavern: What Good Is Plugin Compatibility Data If Users Are Not Participating?</a></li><li><a class='rsswidget' href='http://wordpress.tv/2013/09/12/brennen-byrne-employing-best-security-practices-for-wordpress-sites-2/' title='     '>WordPress.tv: Brennen Byrne: Employing Best Security Practices for WordPress Sites</a></li></ul></div>