Live data from Hacker News

Bring Your Own Client

geoffreylitt.com

201–210 of 262 posts

Re: Bring Your Own Client

#201

Earlier quoted context omitted.

> Reddit replaced Usenet Many things replaced Usenet. Usenet is more of a protocol (that uses NNTP) than a social media platform. If you're any way a systems thinker, you would know that protocols are more resilient than services .

When making the point that protocols are more resilient than services, consider including an example of a protocol that has at least .0001 as many users as Reddit does.

It's also not the _same_ users, which may not matter but probably does.

Re: Bring Your Own Client

#202
post #196

I've got lots of small tweaks I'd love to incorporate into a Twitter client. Unfortunately, I think many of them would violate the developer TOS. For example: hiding avatars completely or generating replacement avatars using the username to remove any chance of internal bias associated with an account's avatar. Another one: hiding images by default and forcing you to click to expand/open to see them (no previews). A…

Couldn't you accomplish that with a browser extension?

I think OP maybe made a meta point about a (company/team/project) having carte blanche ability to, or perhaps restated to not give you the ability to restrict someone from, modify your initiative towards your existing end users (who may prefer your setup) in a way which threatens your survival.

Extending the analogy to absurdium, should (CompanyX/Twitter) be allowed to have ToS against a (browser extension/etc) which would reduce it's revenue to $0, and theoretically force it to shut down and lay off all the (engineers/employees)? If no, what rights does Twitter have to decide alterations to it's product if any, and where do they begin? If yes, who makes that decision: a government, a regulatory body etc?

What if the ToS said "don't circumvent our API rate limiting" and someone made a browser extension doing just that. Is it okay to have it in the Google chrome store? If it got in, should it stay up?

Note, against my points, the Supreme Court decision on scraping in the LinkedIn case.

Re: Bring Your Own Client

#204
BYOC for shopping online would be nice. Exchange formats for product aggregators sort of solve one part of the equation. But ordering is still an unsolved issue.

It shouldn't be that hard to do. You may need maybe 5 endpoints. Get all product data for the whole stock, get individual product images, get order requirements (can include terms and conditions, desired information for the order, payment options, human contact info, etc.), post an order, get order status.

On this API you can easily create a fully featured 3rd party online shopping clients. Some shopping experiences these days are atrocious.

Some hugely popular platforms have product lists hidden like 4 screens bellow the fold, separated by tons of crap, that just gets in the way. Category selection is placed such, so that categories slide away, when you get to the product list after selecting one of the categories, and if you want to switch category, you just have to scroll all the way up again. No options for selecting alternative views, like in a file manager (large icons with a ton of detail, list view, etc.)

Each new eshop you have to learn how to navigate it, and collecting information about the ToC and payment/delivery methods is a hassle.

Could be so much better if there was some simple web protocol for this, and it could be exposed in addition to existing website, too.

In the simplest implementation, everything but the POST could just be some static json files uploaded to the http server. And POST /order could just be sending an e-mail to someone.

Re: Bring Your Own Client

#205

The competitive advantages of owning both the application and the data are so high that don't see widespread BYOC ever happening without government intervention. I'd like to see an enforced separation in law between commercial application providers and storage providers. So, if someone writes an app like Google Docs, they can't just store the data opaquely on their own cloud servers. They legally have to integrate wi…

[deleted]

Re: Bring Your Own Client

#206
I went with the BYOC route for my current side project: https://inter.tube

It’s a music locker service with a custom web client. Instead of writing my own native app I implemented the Subsonic protocol: http://www.subsonic.org/pages/api.jsp

It’s awesome to have a polished native app for “free” (eg. play:Sub on iOS is really nice) but it’s such an underspecified and loose spec that implementing it was a huge pain in the ass. For example, clients will choke on results missing values that are specified to be optional in the spec. The spec imposes integer offsets for pagination but my database wants string continuation tokens. It’s specified as XML but there’s an option to make it JSON with zero information on how to deal with discrepancies. Some clients use GET, some POST, some mangle the URL or capitalize random paths. I just had to reverse engineer pre-existing servers to figure out what clients can handle and there’s still a few clients that are mysteriously broken. I’m going to have to test as many as possible and create a list of recommended ones.

I’m happy I went with BYOC but I highly recommend to plan for it from the start so you can deal with the protocol’s weaknesses sooner than later.

Re: Bring Your Own Client

#207
post #206

I went with the BYOC route for my current side project: https://inter.tube It’s a music locker service with a custom web client. Instead of writing my own native app I implemented the Subsonic protocol: http://www.subsonic.org/pages/api.jsp It’s awesome to have a polished native app for “free” (eg. play:Sub on iOS is really nice) but it’s such an underspecified and loose spec that implementing it was a huge pain in t…

Looks neat. Mind shooting me an email matt@engn.com?

Re: Bring Your Own Client

#208
post #207
post #206

I went with the BYOC route for my current side project: https://inter.tube It’s a music locker service with a custom web client. Instead of writing my own native app I implemented the Subsonic protocol: http://www.subsonic.org/pages/api.jsp It’s awesome to have a polished native app for “free” (eg. play:Sub on iOS is really nice) but it’s such an underspecified and loose spec that implementing it was a huge pain in t…

Looks neat. Mind shooting me an email matt@engn.com?

Thanks! Just sent one.

Re: Bring Your Own Client

#209
This isn't to detract from what the author has said, but Google Docs does have a public API now. I wanted to mention this because the public API is fairly new, and people may not know about it. I am not sure if the API is rich enough to achieve what the author is describing though. It's also not built on any kind of standard, like email, or other examples that are described.

Re: Bring Your Own Client

#210

Earlier quoted context omitted.

When the iPhone originally came out in the US it was locked together with a 2 year contract with AT&T.

(Deleted my identical but less detailed comment) Then again, this was never the case in the EU, where bundling handsets with a GSM subscription was banned. But yes, we don’t have to imagine - and the change certainly didn’t come out of the goodness of the carrier’s hearts!

> this was never the case in the EU, where bundling handsets with a GSM subscription was banned.

It is not: https://en.wikipedia.org/wiki/SIM_lock#European_Union

Last time I was looking for a phone (~8 years ago), in France, I had to check which ones were simlocked.

Post reply on HN