[wp-hackers] GSoC Proposal: JSON REST API

Kevinjohn Gallagher kevinjohngallagher at hotmail.com
Sat Apr 13 01:04:43 UTC 2013


Having read through this discussion with great interest (we've just taken out our WP JSON layer for mobile apps), I don't think it's exhausting at all. I think this is the sort of discussion we need to see more of. Far too often on this mailing list we see people basically agreeing and congratulating each other on thinking the same thing. Hearing Mike, Ryan, et all discuss the finer points of something like this in great details is enlightening to all. I've learnt so much! If you're not enlightened by it, or are exhausted by it, stop reading :)
While not a fan personally, I absolutely see the real value of having a JSON API layer for Wordpress. But, it's something that needs to be done right, complying with RESTful API best practices, in a completely scalable way - that also plays very nicely with Wordpress's... quirks :)
I've not read anything from Mike, or anyone else here, that suggests Ryan couldn't do this - I don't think anyone has questioned anyone else' technical ability; but just because one can build something doesn't mean one should. This type of API needs to be done right, and it needs to be well planned, and it needs to be well managed - and bluntly, thats not my experience of Automattic/WP in GSOC.
We've been here before remember, with BBXF.org. I'm sure you all do...
Great developers, and we have some *amazing* developers working on core, are not always great architects, testers, managers or mentors. We on this list have a tendency to think "smart person + loves wp + writes code = can do anything".
As a non-developer, or a failed developer as my business card says, allow me to put my project manager hat on (something we don't see around here very often): A student with no years of full-time professional experience with real-world examples of high-traffic non-blog client sites, has to architect an API with limited knowledge of RESTful API best practices, in 40 working days (including planning, testing etc), and it's then going to be rolled out to 17% of the internet* as the definitive JSON API layer for the world's most popular CMS = RISK MANAGEMENT HELL.

Honestly, if Andrew Nacin or Mark Jaquith were to tell me they were going to plan/architect/write/test/iterate/release that in 40 days I'd still run around saying "Danger Will Robinson, Danger".
It's not about the person in anyway, or about what needs to be done, or whether it's part of GSOC or not... it's the combination. The question should be - "is this a small, manageable, and stand-alone piece of work that can be planned/architected/developed/tested and iterated on then released with the time frame in a manageable way?". Thats what GSOC should be about, and frankly this piece of work fails that test. It's too big.
We didn't get into GSOC last year because we did this in 2008, 2009, and 2011. Lets start with something genuinely small, modular, and stand-alone. Something challenging, but doable from an architectural point of view in 40 working days by a student with a small amount of mentoring. Lets get this year right, and maybe next year go for something bigger. But lets not repeat the same mistakes that had us not accepted last year!

Just my two cents.


Kevinjohn Gallagher    
+44 (0) 7788 718382 
KevinjohnGallagher at hotmail.com 
http://www.kevinjohngallagher.com 
http://www.linkedin.com/in/kevinjohngallagher 




> From: scott.c.taylor at mac.com
> Date: Fri, 12 Apr 2013 19:57:20 -0400
> To: wp-hackers at lists.automattic.com
> Subject: Re: [wp-hackers] GSoC Proposal: JSON REST API
> 
> Guys, this is exhausting. Mike, I think you being against this idea is clearly noted. Ryan's really good. Whenever the API gets built, he'll probably be at the forefront - main reason: he already showed up with a lot of good code. Whether it gets worked on in GSoC or Space Camp, who cares - he has given us a starting point that no one else really has. 
> 
> Sent from my iPhone
> 
> On Apr 12, 2013, at 7:11 PM, Mike Schinkel <mike at newclarity.net> wrote:
> 
> > On Apr 12, 2013, at 5:06 PM, Marko Heijnen <mailing at markoheijnen.nl> wrote:
> >> Not sure what kind of point you want to make here but it doesn't sound good.
> > 
> > The point is that we have a proposal on the table which I'm raising concern over based on process.  I think a JSON API for WordPress has too many ramifications to be constrained to a single developer operating on a fixed 2 month timeframe.
> > 
> > That said, you and I need not continue to debate unless there are unstated perspectives to present. If you believe my input is an annoyance rather than a valuable perspective informed of experience then feel free to ignore it. I believe that would be a mistake but that's obvious just my opinion.
> > 
> > What follows is simply a response your insinuations that I would prefer to clear up. 
> > 
> >> Also I find the tone of voice quite demeaning. A student can be more then capable to build such kind of API. And I'm sure Ryan is one of them. Yes support from lead developers is needed and that is something that also need to happen.
> > 
> > You find offense where none was intended.  I never once wrote "student" in any of my replies; I deliberately was very careful not to bring formal education status into the discussion.  
> > 
> > If I did somehow imply a student was not capable can you please show me where I did in case I am unaware? 
> > 
> >> Most GSoC projects have not made it into core, or even into common use, so I think this is a gross overstatement of likelihood.
> > 
> > From Ryan's initial proposal email:
> > 
> >> For this year's GSoC, I'd like to propose a JSON API for WordPress.
> > 
> >> ...
> > 
> >> To this extent, the project would also involve creating a proof-of-concept
> >> extension of the API for a specific plugin.
> > 
> > 
> > A follow up comment that Ryan gave to Filippo Pisano was:
> > 
> >> I've actually investigated the previous solutions somewhat, and they
> > 
> >> have several problems:
> > 
> > 
> >> 1. They aren't designed for core integration, and are intended to
> > 
> >>    always live as plugins. This is a problem for something that should
> > 
> >>    be in core.
> > 
> > 
> > Taken together they strongly imply that Ryan's goal for the project is to create a JSON API for *core*.  Further, considering that /wp-json.php in the root is not a proper approach for a plugin further implies this proposal was intended for core.
> > 
> > If the goal of this GSOC project were to just create a JSON API in a plugin then I would have no objection to it but your comments seem to be inconsistent with Ryans and given he named you as mentor I assumed you to had discussed the intention. No?
> > 
> >> Obviously the history of GSoC isn't good but we really should take the effort that more projects made them to core, the mobile apps or other projects.
> > 
> > Yet here you are saying you want more GSOC projects in core. Isn't this contradictory?
> > 
> > Bottom line from me; a 2 month scope with a single developer and only a few mentors is the wrong process for a JSON API. It's too short a timeframe with too few people involved for something with the potential affect on WordPress that a proper JSON API could and should have.  
> > 
> > -Mike
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
 		 	   		  


More information about the wp-hackers mailing list