12 ms·
A Personal API
- karma_fountain 7y agoIt's nicer vertically scrolling https://imgur.com/a/6Xw7quy https://imgur.com/a/6Xw7quy . Just compare the 2 op.
- dang 7y agohttps://outline.com/evxWSv https://outline.com/evxWSv also works. Please let's stop commenting on the scrolling now, and focus on what's interesting herre.
- peburrows 7y agoI'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.
- xwowsersx 7y agoI can't read this because I'm having trouble scrolling to the right. Just me? What's with the annoying horizontal scrolling?
- keb_ 7y agoHaving 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.
- DHowett 7y agoWhen 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.
- eightysixfour 7y agoYou have to scroll down to scroll right. What an awful design.
- JeffRosenberg 7y agoScrolling down has been overridden to scroll to the right instead. So just scroll up and down to read. ¯\_(ツ)_/¯
- xwowsersx 7y agoHaha finally figured that out by accident. Weird.
- danShumway 7y agoThe 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.
- NetOpWibby 7y agoI was honestly not expecting any comments regarding scrolling but as you've suggested, I think adding a toggle would be beneficial.
- danShumway 7y agoI 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.
- JMTQp8lwXL 7y agoI 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.
- Fauntleroy 7y agoI 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.
- jaquers 7y agoAlso breaks back / forward gestures on Mac.
- rhacker 7y agoWas going to say that!
- rahuldottech 7y agoAlso hijacks `ctrl + scrollwheel` zoom control. Ew.
- 52-6F-62 7y agoThere 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?). https://www.pressreader.com/canada/toronto-star/20191202/page/4 https://www.pressreader.com/canada/toronto-star/20191202/pag...
- deleted 7y ago[deleted]
- krisfreedain 7y agoCompletely agree. Doesn't even matter what the page says, the scrolling is so bad I left as quickly as I could.
- tudelo 7y agoIt physically hurts
- oever 7y agoThe 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. https://en.wikipedia.org/wiki/Solid_(web_decentralization_project) https://en.wikipedia.org/wiki/Solid_(web_decentralization_pr...
- jffhn 7y agoAlso reminds me of the Islet idea, from this Carl Hewitt talk: https://www.infoq.com/presentations/strong-types-actor-iot https://www.infoq.com/presentations/strong-types-actor-iot
- anon1m0us 7y agoI 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.
- keithwhor 7y agoHey Paul. Cool idea! Just wanted to say good luck, and we're here to help, if you want it. The Standard Library team knows you well. :)
- NetOpWibby 7y agoWhoah! That's cool, haha! Thanks!
- jascii 7y agoDid anyone manage to read enough of this to see whether this is more than a "wouldn't it be great if.." idea? Ideas are cheap..
- dang 7y ago"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- jascii 7y agoThanks for correcting me! (upvote -- not like you need them but I appreciate all your hard work!)
- NetOpWibby 7y agoI mention actually implementing it for my personal site, so yes.
- aleken 7y agoExciting idea! Makes me want to make my own
- NetOpWibby 7y agoDO IT
- a3n 7y agoScrolling: <comment type="annoying">Works for me.</comment> Roll the mouse and I get a vertical scroll. Linux whatever, firefox=latest pushed update from whenever
- fullstop 7y agoOn 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.
- kwhitefoot 7y agoWin 10, FF 70.0.1 left and right cursor control keys work fine.
- fullstop 7y agoLinux, 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.
- NetOpWibby 7y agoDamn, I didn't think of your use case. I'm on an iMac/MBP and use the Magic Mouse as my primary input device. I should add a button and/or keyboard shortcut to disable the horizontal scrolling.
- bdcravens 7y agoI 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)
- NetOpWibby 7y agoI think adding a toggle will be the best way forward. Thanks for sharing your experience!
- mikestew 7y agoI 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.)
- kwhitefoot 7y agoUse the cursor keys.
- NetOpWibby 7y agoI'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.
- mawalu 7y agoI'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
- keithwhor 7y agoYou 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). [0] https://code.stdlib.com/ https://code.stdlib.com/ [1] https://github.com/functionscript/functionscript https://github.com/functionscript/functionscript
- mawalu 7y agoI 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.
- keithwhor 7y agoNo 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 :).
- azinman2 7y agoSo 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?
- NetOpWibby 7y agoThat'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.
- azinman2 7y agoBut this personal API is still calling out to the same services, with the same restrictions.
- NetOpWibby 7y agoTrue, 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.
- Pigo 7y agoI 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.
- kwhitefoot 7y agoI rather like the horizontal scrolling. It was refreshing to see a site adapt properly to the vertical size of the viewport as well. Makes reading such pages much more comfortable on a wide screen like my 17" HP Omen.
- Filligree 7y agoUnfortunately it doesn't react to horizontal scroll events...
- lukifer 7y agoThe fact that Chrome maps left/right touchpad swipe gestures to Back/Forward basically makes proper horizontal scrolling unviable. :(
- Filligree 7y agoI'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.
- lukifer 7y agoMaybe they changed the default? I turned it off long ago: https://www.addictivetips.com/web/disable-swipe-to-go-back-in-chrome/ https://www.addictivetips.com/web/disable-swipe-to-go-back-i...
- ivoras 7y agoInteresting 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."
- neilalexander 7y agoThis kind of large-scale general purpose end-to-end reachability is what the Yggdrasil Network is designed to provide.
- paulddraper 7y agoNAT rules this world and all on it. Even moving to the cloud cannot seem to shake its networking presence. :(
- NetOpWibby 7y ago> wouldn't it be better to return to the original idea of the Internet with devices always connected and routable? Yes. However, I'd still like to do something in the meantime. There's no telling how long an overlay network would take to implement and release.
- neilalexander 7y agoSuch overlay networks exist today, albeit in early form, but functional none the less.
- NetOpWibby 7y agoCould you list the ones you know? I'm interested in learning more.
- 7y ago
- digisocialnet 7y agocheck out https://github.com/rigoneri/Syte2 https://github.com/rigoneri/Syte2
- NetOpWibby 7y agoThat's actually pretty cool, thanks for the link.
- digisocialnet 7y agoNo prob, I tried to refactor it in Vue and using Zeit Now serverless functions but moved onto other things. https://github.com/jake-101/Syte2-4-Zeit2.0 https://github.com/jake-101/Syte2-4-Zeit2.0
- cxr 7y agoMore 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.
- anchpop 7y ago> 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?
- cxr 7y agoPast experience from having seen quite a few yaks in my day.
- ocdtrekkie 7y agoThis is a project I followed a while ago that does this: https://github.com/danfang/me-api https://github.com/danfang/me-api In addition to providing you a profile/bio, it can pull in your content from various social media sites into a single central API for you to use.
- NetOpWibby 7y agoHMM, three-year-old project and it's still going strong. I find that quite promising.
- cxr 7y agoPerkeep (Camlistore) is also loosely related to this space.
- KirinDave 7y agoIt's interesting to me how no one here has objected to the idea stated that "we are all digital sharecroppers."
- NetOpWibby 7y agoI 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.
- KirinDave 7y agoNo, 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.
- NetOpWibby 7y agoAhh gotcha.
- marknadal 7y agoThis is all moving to the browser itself. Or an extension, thereof. 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 http://party.lol and in the http://gun.eco http://gun.eco (our decentralized Open Source Firebase alternative) community.
- gremlinsinc 7y agoI'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.
- NetOpWibby 7y agoThis sounds like a good idea for three modules someone could conceivably build.
- captainill 7y agoProps to the OP/author for both the article and receptivity to critique regarding UX here in comments.
- NetOpWibby 7y agoThank you! Just added a scroll toggle.
- eximius 7y agoI'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.
- anchpop 7y agoOne 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. [0]: https://unwalled.garden/ https://unwalled.garden/
- NetOpWibby 7y agoCost is definitely the primary blocker. Everyone wants free but "free" costs more than money. It's quite the pickle.
- Uninen 7y agoSimon Willisons Dogsheep is also a similar project: https://dogsheep.github.io/ https://dogsheep.github.io/
- caro_douglos 7y agokeybase.io does a great job of allowing you to "prove yourself" across a plethora of sites/services.
- iamaelephant 7y agoReally stupid scrolling, thanks.
- NetOpWibby 7y agoMan, 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.
- mstaylorwebb 7y agoGreat idea!
- karlicoss 7y agoI've got something like that, using python package as my personal API. Here are some examples https://beepb00p.xyz/mypkg.html#examples https://beepb00p.xyz/mypkg.html#examples . (the post is in draft stage and a bit rough, I will share it once it's done) And link to the package: https://github.com/karlicoss/my https://github.com/karlicoss/my
- lpellis 7y agoI 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. https://loftie.whoami.dev/activity https://loftie.whoami.dev/activity
- SonicDeathMnkey 7y agoIve 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.