HN user

Dashron

30 karma

Aaron Hedges, API Product manager, and web developer by night. Fascinated by developer experience in web frameworks, API SDKs, and APIs themselves.

Posts0
Comments23
View on HN
No posts found.

When I switched from engineering to product, I tried a bunch of different user insight tools. They all had their strengths and weaknesses, but they always felt... off. They gathered feedback well but it wasn't easy to answer the questions I was asking, and it was a huge chore to keep it organized.

So I hacked on https://inputbuffer.io and just opened it to a wider audience.

You hook up your user feedback source (via widget or API) and it will organize everything by content category (e.g. billing) or target (e.g. a specific page, API endpoint, CLI command etc).

Categorization isn't rigid, InputBuffer does its best to put feedback where it belongs and gives you a clear triage flow if you want the added control.

Once organized you can learn more via a quick analytics dashboard or by interrogating the data directly, chatting with InputBuffer to gain a stronger understanding of your product, with clear citations to all feedback.

I have had success on both small and large amounts of input, on traditional SaaS platforms, developer tools, open source projects and more.

Next up: automatically gathering user input from other platforms (like GitHub issues), and more research tools.

I've tried a lot of different app, and mealime is the only one that clicked with me.

1. I'm reminded to pick meals on Sunday 2. I select a couple of interesting recipes and it creates a grocery list. The recipes are varied but not too varied to induce choice paralysis. Dietary restrictions are automatically applied from your account settings. 3. It has its own cooking mode with great features like "every step tells you exactly how much of an ingredient you need" and "hold your hand over the screen to progress" so I don't get crap on my phone.

I've been using it for over a month now and am still happy with it.

Node.js 13.0 7 years ago

I looked at the code (but didnt try it) and I think this only affects console output, not any return value that you would parse.

Ah, I read that phrase differently, but think I see your point now. There's definitely a type of "plan" that can be very micromanagey, and problematic.

I've lucked out and most plans I've worked with are super, super high level and gives everyone a lot of freedom.

He goes in more details about product management here: http ://blairreeves.me/2018/10/16/whats-a-senior-product-managers-job/

I don't believe his view conflicts with yours.

I think it's very possible to have someone present to help define value and priorities, and focus on the people part of getting shit built, while giving engineers a lot of creative involvement and ownership.

Business logic should be hidden behind the API and the representation. Just like a website, actions are presented when the business logic allows it.

Other API calls depend on the purpose. If its part of the business logic, it's probably back end and hidden as described above.

If the other API call simply powers the UI, you might keep it in the client. One example is autocomple for facebook friends. The client can call facebook for a list, let the user select their friend, and then send that friends info to your API.

With that said, I'm not sure how either of those are "non-RESTful" so maybe I missed the point of the question?

Looks like Steam has similar conditions: http://store.steampowered.com/subscriber_agreement/

"YOU AND VALVE AGREE TO RESOLVE ALL DISPUTES AND CLAIMS BETWEEN US IN INDIVIDUAL BINDING ARBITRATION."

"You grant Valve and its affiliates the worldwide, non-exclusive, right to use, reproduce, modify, create derivative works from, distribute, transmit, transcode, translate, broadcast, and otherwise communicate, and publicly display and publicly perform, your User Generated Content, and derivative works of your User Generated Content, in connection with the operation and promotion of the Steam site."

One key difference is which services this applies to.

Steam: "in connection with the operation and promotion of the Steam site"

Oculus: "in connection with the Services". Where services are defined as "use of physical goods, platform services, software, websites, applications, and content"

Dropbox Chooser 14 years ago

One bonus is that the transfer from Dropbox to a web service is going to be way faster than from your computer to that same service.

Additionally, the user can navigate away from the page, close their browser, lose internet, etc. and the transfer will still happen.

I messed with a couple of highlighters and they all had issues highlighting everything correctly.

I might turn them all into gists, but I am going to talk with the rainbow.js author before I do.

Hopefully this will be fixed soon!

Wow, Resource-View-Presenter is exactly my framework.

Except I call my presenter layer "resources" and my resources "models".

The state machine in my framework is a system within the view layer so you can asynchronously re-route through the "presenter" and re-use code.

I might be reading the blog wrong, but it seems he is using the MVC view (templates separated from the logic and sent to the user) and the user interface interchangeably. These are two very different things.

The interface the client uses is always going to be some sort of state transfer system, moving between different pieces of content and displaying elements to transfer between content.

Handling these views on the back end is an entirely different issue.

State machines are useful on the back end, but it can not be used between requests without causing headaches.

I have been experimenting with state machines in a node.js framework to handle asynchronous sub-views (https://github.com/Dashron/roads). It makes development incredibly simple, and breaks up the code so that you can have traditional, or single page apps with the same codebase.

I don't think a state machine would be useful at a higher level than this (in the backend) but I will put more thought into it.

Put is supposed to be Idempotent (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1...).

calling "PUT a=b&c=d" three times should be identical to calling it once. So any time you let the system generate an ID for the resource you should use POST.

PUT works in creation when you know the id beforehand.

I have not worked with amazon s3 but I hear they handle this well. You PUT a file to a url containing the file name. The first PUT creates the file on their end, any future PUT updates that file.