Is there any information on when this API is projected to actually be done? By my count, it’s been a ‘project’ since 2013 (in case no one is counting, that’s five YEARS). I’m sure the userbase here would feel much more comfortable hearing an answer other than “I don’t know” or “As soon as it’s ready, you’ll know”. I do want to say, good job everybody, it’s been a long road coming, and it seems to finally be heading in a good direction with an end coming sometime soon. I keep hearing a lot of hype about it, just looking for hopefully a more concrete answer, please.
You will not get a “concrete answer”, unless you pay someone to work on this full-time who is able to give estimations. My monthly rate starts at USD 6000, I’m willing to give a little bit of discount since this is an open source project, so let’s say USD 5500. I estimate I should be done within 2 months of work, so please send me over USD 11000 and I’ll get this done.
If you don’t want to finance that, well, too bad. This work happens in people’s free time, and thus is, by definition, completely unpredictable.
I most certainly am not trying to be rude or downgrade your abilities, skills, or devotion to this project at all. Nor am I attempting to make light of the amount of work and dedication it takes to do such a project as build an API.
Are you serious though, it’s going to cost $11,000 to build this API system? By any chance, would http://deployd.com/ be of any help to you for this project? I can’t believe that you’re the sole developer working on this project, are you? Of course I can’t finance that, if I could, I’d have it done already and much more.
I just don’t understand why in all the posts where you and I have conversations, you just assume that I’m out to be cutthroat and disrespectful to people. If that’s what you believe of me, I’m truly sorry, and I do apologize.
But just to be brutally honest, if it’s 2 months worth of work, you’re the only dev, and you won’t do it for anything other than money, and you’ve been dragging this project on for five years, then just put the damn axe to it already and stop giving people false hope that it’ll ever be completed. With THAT said, I want to say THANK YOU, for all the heavy duty hard work you and your team have put forth. It’s been phenomenal, and better than most projects I’ve seen. You guys truly inspire me. I wish I had the mental capacity to be a coder myself, I’d certainly help as I have a technical background, just not coding.
Best wishes, hope you guys can make your dreams come true. API is just a small piece of the very large pie. You’re all gods to me.
Where have you heard hype about this?
I seem to remember about half a dozen separate occasions in which someone has said they would work on this. Sometimes they actually did do some work, sometimes they didn’t; but for one reason or another no one completed it. That’s something that happens in projects in which there isn’t full-time staff paid to work on particular projects. People’s circumstances change; or perhaps they lose interest; but they move on and often don’t say that they’re not going to continue working on d* for months, leaving others waiting for a feature that’s not going to be delivered.
The best idea you can get of how close a feature might be to delivery is to follow its progress. At the moment someone has picked up a dormant pull request and has started working with the previous developer (who had themselves picked up some abandoned code started on by yet another previous developer). It would be fantastic if this person completes the work; but without contracts and payments behind contributions, there can be no guarantees.
For that reason, there literally is no point posting on an issue to ask why it isn’t ready or how long it will be. You might possibly have read the recent post from the diaspora* HQ account about missing features, which includes the following:
And please don’t add a comment on a GitHub or Discourse issue just to say “I want this feature!” or “How long before we get this?” That just creates noise and never helps to move things forward. It’s not a lack of desire that holds things up!
I know it can be frustrating; it is to me, as a long-term user and someone who tries to help out; and I’m sure it’s more frustrating to those who are at the core of the development effort that promises by volunteer contributors are often unfulfilled. But I think you can’t be involved in an open-source project without learning to live with that and to manage those expectations.
Dead serious. You asked for a reliable estimate, and I told you that if I work 2 months full-time on the API, it will be done. Maybe I only need 2 weeks. Who knows. You wanted an estimate because you are not happy with "it’s done when it’s done’, you got an estimate.
Absolutely not, and in fact, I don’t have anything to do with the recent API progress at all. But you asked for an estimate.
You clearly didn’t get my point. This project is driven by people who do this work in their free time, without getting paid, and without any pressure. That’s how open source projects work. The side effect of that is, that I, as a kinda-project-manager, can provide absolutely no estimate of when a given task is done, because I am unable to tell people when they have to work, and thus I am unable to estimate how many hours per week I can calculate with. So, no, nobody will give you an estimate unless we have reliably working full-time staff, and you have to deal with that.
That does, by no means, equal to “it will never be done”. What you seem to be missing is the simple fact that diaspora* already managed to deliver more than anyone can build on their own. Right now, the project consists of approximately ~220.000 lines of code, and if we’re going by the approx. yearly dev-productivity of 3k LOC, that’s more than 73 years worth of development time. Now, cut that in half because some of this code is auto-generated, that’s still 36.5 years worth of effort. If we’d have to pay for that, diaspora*, for sure, would be a multi-million dollar software project. But that’s the fun of open source projects, lot’s of people get lots of things done. But don’t expect people to commit to anything, because that’s now how any of this works.
I actually asked for an estimate on time, not cost, but I do see and understand your point. To answer Goob’s first question, I’ve actually had five different sources that have told me they left diaspora specifically because it had no API, but promised an API for years, never was delivered on, but without an API, it’s extremely difficult to integrate Diaspora into many other online resources. Personally, I find that to be a falicy, Diaspora is amazing even without an API.
I’m going to drop the topic though, it’s not THAT important for me to argue on.
For the record, I’m going to quote the part you clearly skipped over:
On the money issue, a developer wanted to create the account migration feature and crowd-sourced enough for himself to live on for three months, which was his estimate of how long it would take to create. For various reasons, it has taken far longer than that. To his immense credit, he has stuck with it and found other ways to fund himself to continue working on it part-time until it is completed. But not everyone is that dedicated; or simply can’t find a means to continue when something takes longer than expected. So more complex code often gets uncompleted and then has to wait until someone else is keen enough (and perhaps brave enough) to take it on.
I don’t doubt that they said that; but the project has never made such promises. An API would be immensely useful to this project, and it’s been a long-term goal to implement it, but there can’t be promises about implementing something in a project such as this for the reasons that I and Dennis have mentioned. (He understands these things far better than I.)
I didn’t ‘skip over’ the positive things you said about the project. I was simply trying to answer your questions. It’s great that you feel positive about the network, and hope you’ll continue to enjoy using it.
By the way, it’s goob, not ‘goop’, but I don’t mind.
Yep, I noticed the Goop/Goob thing and edited it as soon as I noticed lol. I certainly don’t think it was ever promised, of course. It’s an open source project, and it’s been at least requested for five years, but never promised. I should’ve made note that that time frame and choice of words wasn’t mine, but was from another user who has since left the platform. personally, my opinion of them is, ‘good ridance’. I love the software, as said earlier, even without an API. And the reference about skipping over wasn’t to you, it was to Dennis. He and I seem to keep getting into heated conversations here and there, I just want him to know that I love him :*
Aw, shucks – get a room, you two.
But that room costs $11,000 and all I have is my -$1,000 bank account (legit) lol, jokes (but my account actually is in a bad position right now, because life sucks atm)
I’ve made the API my number one development priority for the time being but with travel and life stuff I don’t want to give a concrete final date estimate. I originally estimated 1-2 man months so overall LOE is in line with Dennis’s. Assuming I can keep up my horsepower I am hoping to tear through that before the end of the year, but that isn’t a guarantee. I am constantly updating the API Progress spreadsheet on the other thread you mentioned (here) on my Diaspora page (such as here) and on my blog (here). I’ve been on travel the past couple days and was hoping to get back to it today but looks like it will be more like tomorrow…
Quick update on the API (Google Sheet of the progress here):
- Fully feature complete endpoints with full external test harness interaction completed are: Comments, Conversations, Likes, Posts, and Streams (except for paging behavior).
- Ready for integration of the side branches into the main API branch. Working with Frank on getting setup for that and getting that done.
Once that work is done it’s going to be off to probably the Tags API. The remaining APIs didn’t have services underneath that could be leveraged for the development, as far as I can tell, so the existing controllers did a lot of the validation and other logic. Unless there is an objection from developers I intend to refactor the current main controllers so that the common logic is in a service object. Each controller will then be able to handle the formatting/handshaking for their respective formats and reuse the service object underneath.
I looked over your google sheet Hank, I love it. Very well organized and straight forward. Judging solely from your color key, it appears that you’re probably around 25% completion of the project with at least 8% more started/ongoing. I’m very impressed by your progress so far Hank, you’re doing awesome
THanks Eric! However, most of the work so far has been punching up the unit tests on code Frank Rousseau wrote and writing the external test harness. I have had to tweak the core code to get it working with the spec but I’d say 90% of the actual API code has been his so far. Granted the volume of code in the tests is far greater than the actual code being tested itself, which is often the case.
Just looked at your spreadsheet again, nice job, almost done man
Oh I haven’t been there since right around Christmastime. I forgot to update those cells. It’s all green now. It’s “done” as in primary coding is done and it’s in the Pull Request and real world beta testing. You (or anyone else) can create an account on the development test pod I stood up. Just be aware it’s meant for development and testing so all bets are off on reliability, uptime, data storage, etc. https://hanksdiasporadevtestpod.com/
There’s even the first real world dogfooding of it on my blog implementing a discussion timeline type system backed by Diaspora via the API: https://www.nequalsonelifestyle.com/2018/12/30/diaspora-api-blog-discussion-details/
SUWEET!!! Would you by chance have any example of how to integrated your api with ifttt.com’s Maker/Web function?
I.e. IF Facebook post THEN post on diaspora with message in the body.
I thought about playing around with that but decided I should move on to some other Diaspora development work. If you or someone else wanted to try that out I’d be more than happy to help people along with it. My blog has some other articles on crossing the chasm or the initial setup process. It’s no harder than on any other system like this but it’s multi-stepped so:
Part 1: Diaspora API Interactions Part 1: Authentication •
Part 2: Diaspora API Interactions Part 2: The First "Real" Interaction •
Again, open call out to assist anyone that wants to play with it. Feel free to reach out to me here, on D*, on IRC, etc.
I’ll take a look when I get my instance up and running again