I've browsed hundreds of thousands of websites and used a computer daily for the better part of my life...and it took me ten seconds to figure out how to even scroll the horizontal version. PLEASE stop breaking scrolling, people.
The Solid project by Tim Berners Lee has the same idea. People have a personal data POD with an API to interact with. Social websites pull data from there.
I think this is the way of the future and it's exciting to think about. Who you are is yours, not some other social media sites. You control what is and is not available. That would be good.
More prior art: pfrazee.hashbase.io has been working on this sort of thing in unwalled.garden, but was last seen going off into the weeds to focus on yak-shaving and schema-polishing.
The predecessor to unwalled.garden (fritter.hashbase.io) also bears some resemblance to the author's Socii. It would be neat to see Socii "rebased" onto Dat and Fritter, but also made to work for legacy plebs still on the legacy web, and then trying to organically grow "A personal API" out of that, instead of the sort of top-down, second-system thing that happened with unwalled.garden.
> More prior art: pfrazee.hashbase.io has been working on this sort of thing in unwalled.garden, but was last seen going off into the weeds to focus on yak-shaving and schema-polishing.
As far as I can tell right now the author is mostly working on UI/UX improvements right now, what gives you the impression that he's yak shaving?
I'm toying around with this idea myself. After some thoughts I created a simple node.js app that provides services like a http server and a spotify api client to module that are autoloaded from some folder.
Whenever I feel like it I can very easily extend this platform by just writing a new javascript file. Currently there are thinks like
* An endpoint to show my currently playing track on spotify
* An endpoint that renders one of my todoist lists as html (my whislist)
* A reporting module that receives webhooks from different backup scripts and sends me a report by mail every day
* Move new songs from a spotify playlist to an archive playlist after a few weeks to keep the playlist "fresh"
I always wanted to create a bigger project based on my learnings but I'm not yet completely happy with the technical implementation
You should check out Code on Standard Library [0], we do exactly this - turn JavaScript files into APIs via the open source FunctionScript specification [1]. We’re a Stripe-backed company and we do a lot of other stuff, too (handle auth between multiple providers... etc.), but building APIs easily is where we started.
We have a lot of new tooling coming soon, so if this is of interest to you please reach out! You can e-mail me directly: keith at (our domain).
I signed up to stdlib a while back because it sounds like exactly what I want and looked really cool. I don't remember what through me off exactly but I will take another look.
No worries! We’re improving all the time. The problems we solve within organizations revolve around connecting APIs together (like Stripe and Slack), but the system we’ve built to manage that is effectively a fully-functional API registry and module management system you can use on your own :).
So I love the ambition - especially as a way to decouple services and encourage interop. But in the end, isn’t this kind of thing typically a lowest common denominator approach? For example, Spotify or iTunes specific features/integrations either get lost or get added as an extension, to the point where you’re only worse off the main service’s APIs (which will be always up to date and are still required to be up, and will have dedicated devops teams unlike your VPS).
The case of updating your website again is pretty specific and niche... the majority of people’s personal sites these days are their FB/IG pages. And this does nothing to create APIs for locked down 3rd parties like WhatsApp or Messages.
Rather than being a simple wrapper / bridge, is there the possibility of doing something more new that isn’t possible with a variety of SDKs? Like a personal API into my health or routines, that either creates inferences or is able to intelligently control a variety of devices/services?
I really wish more people had personal sites that were interesting or just off-the-wall crazy. The web was so much more fun when people didn't know what the rules were, so they didn't follow them.
That's an interesting idea but unfortunately we're limited by the walled gardens of the devices and platforms we use. We'd need sufficiently strong outside sources to entice companies to give us raw access to our health and things like that.
Until then, this personal API concept is the best thing I could think of.
True, but these services are just a stop gap (for me). I am slowly building replacements for the services I use. The end goal is to be a publisher of my stuff, using my own services.
Interesting idea - but it boils down to being a workaround for the lack of persistently connected and pervasively VPN-ed personal devices around us.
Yes, we could have a VPS per person being our fixed point on the Internet (and a fixed address...) but wouldn't it be better to return to the original idea of the Internet with devices always connected and routable? It might take an overlay network such as a DHT-like thing, it might be something IPFS or Torrents eventually lead to, but the end game is "everyone always on-line."
Im doing "this" using the chrome codebase and using DHT and torrents for content distribution.
The chrome codebase mostly help me for the multi-process IPC communication and reusing the UI compositor for UI and Web.
I wont say much more, because i want to keep some idea of novelty for when i launch this here on HN.
For me is what a mix of what a Browser + App platform should be, with the idea of people owning their data, devs distributing without centralized control, and without forcing you to use some hardware or specific OS.
I've thought about this on and off for a long time. Urbit, Solid, Mastodon (anything ActivityPub), SecureScuttleButt, Matrix servers, etc.
The biggest problem as I see it is cost. While I might want to have this for $60/year (or own my own hardware for a little more), the vast majority of people (whose adoption you need), don't want to pay for this.
There are countless other UX and technical challenges, all interesting and largely tractable.
But I'm not sure how to deal with the cost problem. It underlies the failure of essentially all anti-centralization efforts.
One of the main devs from SecureScuttleButt is working on something called Unwalled Garden [0] which is very similar to this but decentralized (you can host your site from your home computer and other people can seed it so it's still available when your computer is turned off).
If you have a few friends who will seed your page for you out of the goodness of their hearts, I imagine your site will have pretty good uptime without anyone having to buy a VPS.
I started building something like this for my personal site*, the idea was I already had accounts at Github/Instagram etc, why not use that to keep my site up to date?
Some of the services (looking at you Instagram) are making it harder to get your data out though, its a bit of a challenge.
Hoping to eventually make this available for other people to use.
I'd like something like this but for communications w/ search, and automation.
Think of an inbox for all your starred/saved convos on discord, slack, etc... and all starred emails on gmail... and saved reddit comments or threads.
Then being able to schedule maybe once a month posts to slack / reddit job boards that you're 'forhire'... And being to see all messages/replies from reddit and search across all types of messages.
I think my usage of horizontal scrolling is the big objection at the moment.
Do you have qualms with that line? IMHO we provide content for a number of social networks with questionable returns. Yes we have community and can connect on shared beliefs and learn something new but lately it seems that we'd be better off tending to our own spaces and sharing with the larger networks should we choose to do so.
No, but in general if you say to folks around here, "The idea of renting things is worse for people than ownership" all sorts of patriotism comes into play.
Man, I wish it was possible to sticky comments. Anyhoo, for those of you who had issues with or plain disliked the horizontal scrolling, I've added a site-wide toggle.
I intend to write more and post here so at least for future posts the convo can be on the content.
Ive been looking for something like this, but with the usecase to dump to github. Including all the personal knowledge base type stuff a la Evernote, OneNote, snippets, bookmarks.
I know we're supposed to be reading something on this page, but the scroll UX is so amazing I don't think anyone's going to be able to look past it.
There's no world in which you can: make your website scroll horizontally, disable horizontal scroll, make vertical scrolling actually scroll horizontally and have users be okay with it.
There is one: Pressreader. I think it does a decent job of it, and doesn't break the gestures. You just may need to exit the "scroll" part of the page (think microfiche reader?).
Until HN I wasn't aware it was a problem. Of course, I didn't conduct user studies either. I use a Magic Trackpad on desktop and basically the same thing on my MBP so it felt natural for me to implement.
What's your preferred method of input and platform?
The majority of this scrolling implementation is pure CSS. It's reasonably elegant code, even if I'm not sure that the effect is worth pursuing. I think I like this page more as an engineer than I do as a user.
If you disable Javascript, it's a lot more consistent because the Javascript is only there to swap vertical scrolling for horizontal. Without JS it's still horizontal scrolling, but you scroll left/right the same way you would expect to, and for the most part the page just handles it -- it'll even resize correctly as you change the browser height.
The quick, dismissive comment I could give is that I don't think I like this as a user, so the author should just give the entire thing up. But it's kind of interesting, and I can see why someone might want to pursue a strange effect like this, and there might be ways to make it more tolerable. I think overriding vertical scroll controls was a mistake; maybe it's better to lean into the fact that it's horizontal, use pure CSS for the core, and only use Javascript to make horizontal scroll speed a bit faster or add shortcuts or something. Let the browser handle scrolling horizontally.
Cool or not, the effect seems to distract from the content though. Since the CSS is fairly nice and clean, something simple like a button that toggled between horizontal/vertical modes would not require overriding many rules, and would head off a lot of these kinds of comments.
I want to stress, regardless of my lukewarm feelings towards the UX, the engineering side of how this page is implemented is great.
It's using a few overlooked properties like CSS columns that get around needing to use JS to dynamically calculate height, and it's using Flexbox to get rid of any weird padding issues. I haven't tested, but I assume this will work in pretty much any modern browser (and even a few older ones like IE11) and degrades wonderfully when Javascript is disabled. It's screenreader accessible, it doesn't require messing with the HTML layout. It's some really pretty CSS.
When it does scroll (which you must do using vertical scroll instead of horizontal, apparently) it's slower than standard vertical scrolling and it repeatedly jumps back and forth before you hit the rightmost edge of the page. It doesn't even respond to standard pagination keys.
I didn't try scrolling vertically until I saw the other comments posted here. I would presume whomever implemented the scrolling didn't personally own a mouse or touchpad that has horizontal scrolling functionality.
Having the same issue. I've always understood horizontal scrolling to be a big web design no-no. On this page, it's especially awful because it scrolls painfully slowly for me, using latest version of Firefox.
I'm using Chrome right now, and it doesn't seem to do that? I can't confirm that horizontal scrolling works at all, admittedly; I'm having trouble finding a website that lets me force it to not fit horizontally.
So it isn't a "server" that is running that a webapp talks to, instead, it is that the webapp talks to your "localhost" or similar (browser extensions are easier).
Then the apps are decentralized from the start.
We're already doing something similar (alpha) with http://party.lol and in the http://gun.eco (our decentralized Open Source Firebase alternative) community.
On a laptop without any sort of mouse wheel / scrolling capabilities. It sucks -- pressing space doesn't scroll to the next page. Page up and page down don't work either.
I use the Magic Trackpad and had a bit of a different experience than others suggested, but I still couldn't scroll all the way (I had to go the actual scrollbars)
Linux, FF 70.0.1, and left / right cursor keys work.. but only if I click on the content first. I have no idea where focus is when the page loads, but it's not where I want it.
I don't whether this was posted because the submitter has a particular interest in a "personal API", or if it's discussion fodder for "here's how NOT to do a web UI".
Seriously, do so few people ever say, "hey, honey, come here for a minute and try something for me..."?
(On the off chance that the page author comes to their senses, or a different URL is offered, the current link goes to a page with horizontal scrolling that will wear out your scroll wheel if you try and use it to navigate. One tick of the wheel = one pixel of movement.)
I'm OP and author of the post so I shared this out of interest that others here might be interested. If you still want to read it, the horizontal scrolling is turned off on mobile devices or if your window width is less than 1000px (might have to refresh the page).
I'm gonna be adding a toggle for visitors who wish to do away with the polarizing scrolling.