Show HN: API Marketplace for Developers by Developers
askmacgyver.comAs someone with a research interest in such services maybe you allow me to ask a few questions (you don't have to answer all of them)
- What separates you from existing API Marketplaces (e.g. Algorithmia)
- What kind of run time environments do you allow?
- Do you have programmer APIs other than JS?
- From your blog I am assuming you use docker for running the algorithms? Will the docker images be made open too?
- How much effort do you think it would take me to transform an existing algorithm that I have to be available in your system?
> - What separates you from existing API Marketplaces (e.g. Algorithmia)
Macgyver differs from Mashape in that we host the program and actually run the program against the data (processing). This allows us to have more control over verifying the up-time as well as any changes to the program which might affect an end user's application (we do our own versioning so any new changes will be pushed as an incremental version) as to mitigate negative impact to clients already using the API.
We differ from Algorithmia in that we don't require you to learn our development tools or programming languages. We offer custom runtimes. We function by specifying -
1. How we will supply data to your program 2. The runtime you want us to use 3. How we expect the program to respond
But ultimately we don't care how your program does that or in what language it is programmed.
> - Do you have programmer APIs other than JS?
Not sure what you mean by this, the API takes and returns JSON but it can be used with any programming language.
> - From your blog I am assuming you use docker for running the algorithms? Will the docker images be made open too?
The programs are executed inside docker containers. We are still architecting the optimal workflow for our publishers and if that means making the macgyver docker image public we will do that but that is still TBD. We may just offer a sandbox environment for publishers to test in.
> - How much effort do you think it would take me to transform an existing algorithm that I have to be available in your system?
It's likely going to be easier than any other tool. We are going to work on providing more documentation and releasing the API docs very shortly - but the gist of the process is that you can move your algorithm program (or directory) into a folder in a standard linux box and from there you will just need to modify how you get your input data and how you format your output data, and specifying a runtime for macgyver to call on your main program file.
Thank you for the interest!
::Tim
> - Do you have programmer APIs other than JS?
He probably means SOAP, Corba, etc. not just REST/JSON.
The site is not browsable on mobile. A lot of the content on the main page is obstructed or unreadable.
Thank you, will address this week.
I'm getting OPTIONS pre-flight check errors for all calls to macgyver.services just fyi on Chrome so literally unusable
"No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://askmacgyver.com' is therefore not allowed access. The response had HTTP status code 502."
API went down, back up. Thanks.
Looks like it's back down, at least for me, none of the examples are loadable. Edit - user signup is down as well.
Looks good, but the frontend is buggy on Chrome.
Noted - Thanks.
Ok, so the signup and things are working now, how do I actually add an api endpoint?
You have docs for accessing it but I can't find any for me building an api endpoint. The docs also seem to suggest I use a client library called "kittn", which I'm pretty sure is wrong.
Your FAQ is empty.
Your blog has nothing (as far as I can see) to do with your product.
I've made a new program, but it's asking me for "the program file". What file? What formats, how do I specify dependencies, what API should I be building this against?
I'm trying not to be too negative, but I am really actually trying to use your product and am failing.
>You have docs for accessing it but I can't find any for me building an api endpoint. The docs also seem to suggest I use a client library called "kittn", which I'm pretty sure is wrong.
No you are absolutely right. The docs are not built out yet and you are seeing the template data. We will curate this process and provide documentation. But a quick overview is as follows.
The API endpoint is static.
POST https://macgyver.services
The payload is a dynamic JSON object that has the following properties.
program id, user key, program_data (as defined on the program input page)
It would look something like this -
{ id: "9s9z6J6b", key: "private-live-6w9c2p10G5p3b6y" program_data: {} }
As far as how the program should function I can just show you the addition program as example.
The program should be called "main" with a file extension that corresponds to the run time you want macgyver to call.
So the addition program is a javascript file called "main.js"
// user specified data format
var data = '';
var sum =0;
data = JSON.parse(data);
for(var i=0; i<data.values.length; i++){ sum += data.values[i]; }
var result = { "sum" : sum }
// This gets returned to the client
console.log(JSON.stringify(result));
The variable 'data' will have it's string content be populated with the clients payload send data at the time of execution.
https://askmacgyver.com/explore/program/addition/2c2c5w7W
There is some information on that here.
$.ajax({
...
key: "private-live-6w9c2p10G5p3b6y",
...
});
I haven't signed up, but if this is going in an ajax request, how do you prevent people from getting your key? Is this specifically meant for node where you can guard such things?I just changed that to take the public key, thanks!. Users get a private and public key, the private key will work in all areas but should never be exposed. The public key can be exposed and in the dashboard you can white list the allowed origins.
I have a side project that I host on Mashape, and I wouldn't mind looking into an alternative. However, the first thing I tried to find out is, how much does Macgyver cost? Mashape takes a % of what I charge end users, is this the same?
Also, isn't the name going to get you sued?
> how much does Macgyver cost? Mashape takes a % of what I charge users
We allow you to name your own price and that is how much you will receive from those who use your program. However the client facing price will be higher as we tack on our additional processing overhead and a fixed percentage fee.
Right, and that's the cost information I'm looking for.
Got it, we will add this information and post it when it's up.
If you visit the explore[1] page and click on any of the programs, it will give you the pricing for that program.
Very interesting and great name, however - should we expect a cease and desist order soon for using what is likely a trademarked name? There was a MacGyver film in the works a while back, though I'm not sure what the status of it is.
what can I do with program Id. So when I click on it. it says that it copied text, where and how can I use that?
I was here: https://askmacgyver.com/explore/program/general-optical-char...
Also why all have different pricing?
Also most of the things on website seems broken. Like there is a select dropdown on explore page But when selecting any item from the list, nothing happens. (Not sure whether that is intended)
You can demo the program, so for OCR if you want to run it against an image you can do that on the demo page.
Try this and see how well it fairs -
Program ID: 9t5A2G2a (General Optical Character Recognition)
Private Key: In your /account under "User Information"
Send Data:
{ "image_url": "https://askmacgyver.com/images/passport.jpg" }
____________________________________________
This will run the OCR program against the image below -
The image you are testing: https://askmacgyver.com/images/passport.jpg
Reminds me of Microsoft's newer offerings: https://www.microsoft.com/cognitive-services
Ya Google has a counterpart product to that - https://cloud.google.com/vision/
Regardless Google and Microsoft have offered a narrow slice of what can potentially be done in this space. They are still not seeing that we really need is a marketplace that has the ability to let machine learning specialists surface their work to businesses for a profit.
The "custom runtimes" link is broken at https://askmacgyver.com/algorithm-developers
Thanks - fixed.
I see you joining the bands of "serverless" computing - this is no easy feat - can you speak to what is in your backend and how you plan to support heavy workloads?
It shouldn't be an issue - the API currently sits on Google's Cloud Platform which provides the infrastructure and tools to scale the service. IMO Snapchat's usage of the platform really speaks to the stability and capability of it.
If I am going to trust you my API I want to know that you have top notch SLAs on your service, and since I am providing the code you are going to want to monitor the heck out of it so that you know that in case of failure whose fault it is.
Understood, we will work on finding that info and surfacing it on the site. As far as monitoring and errors go, the program is actually hosted by us in this case. So unless the program is faulty in some way any response issue is probably our fault.
Is the Explore page broken, or is it supposed to be empty?
It's back up now.
> Input Example
> { "image_url": "http : //i2.cdn.turner.com/cnnnext/dam/assets/160203182545-bitch-face-large-169.jpg" }
Eh?
Didn't notice the URL - I've changed it. Thanks.
Almost unbrowsable on mobile. :(
Although your front-end is a bit buggy, I did like the initiative.
All the luck for you guys.
Thank you, we are still ironing out many of the finer details. Feel free to let us know if you have any questions.
how is it different from http://market.mashape.com?
Site needs love for mobile styling