Hacker News new | past | comments | ask | show | jobs | submit | more DGCA's comments login

I worked at an ed-tech startup that allowed teachers to use our bank of questions to create assignments for their students. We found that drag and drop came with a few issues, such has having to implement keyboard accessibility separately from the drag and drop mechanism, moving things when the number of items is big, and some general confusion around certain UX.

The solution we ended up with, which is similar to the OP, is what we affectionately called Pick n Plop. I.e. you select an item, the UI tells you where it can go, and you click again to place it. You get keyboard accessibility for free since it's just buttons.

Demo right here (sorry for the terrible quality): https://giphy.com/gifs/9KgZorKdwdsaolomxS/fullscreen


I always liked how Hearthstone (the digital card game) combines this style of interaction with traditional drag-and-drop. If you click and drag a card, you drop it by releasing the mouse button as you traditionally would. But if you click the card without dragging, the card is picked up and remains held until you drop it by clicking again. You can choose which interaction you want in the moment, and the combination feels quite natural.


Every chess program I can remember is also like that (xboard, lichess, chess.com).


Also, most strategy games use left button select, right button go-to, which is ~sort of similar.


The gnome aisleriot collection of solitaire games has something similar. Select menu item Control, then Click To Move. It's not quite as visual as what you describe, though. Once you get used to it, conventional drag and drop is a pain.

Another solitaire game did it even better -- more visually -- PySol maybe?

Although I am not a programmer, I "wrote" a program to allow rebar detailers to create bar lists and cut lists for bills of material for rebar fabricators. For moving whole line items, I required the user to:

* Highlight some portion of each of the lines to be moved. * Click a target line. * Enter A or B to move the selected line items above or below the target line. This allowed me to paste above the topmost line.

Now admittedly, while this is a bit clunky and woefully unconventional, I did this because I didn't want to stop and learn the drag and drop protocol for Tkinter -- again, I'm not a programmer. But there was also concern on my part that eventual users could misplace some line item in the middle of a big group of lines inadvertently, and not be able to easily reconstruct what had just happened.

Conventional drag and drop is seemingly designed to increase fatigue and error, and diminish patience.

I just wanted to make something I could use and perhaps polish it later for use by others. I scratched my immediate itch, and the secondary itch hasn't flared up for quite some time.


Yes indeed, love that too, "Click and Drop" is nice.


Not bad but I feel like a hover on the item would be nicer than having to click on the button. I guess the button is only for reordering right?


Yeah, the blue button in each question item is only for reordering. You can move questions without clicking on them first, btw; not sure if my demo communicated that.

I.e. If you click the question item (but not the blue button), the question is visible on the right. If you click the blue button in the list, the question goes into reorder mode. Those two things are separate from each other, so you can reorder a question that's not currently active.


I think a lot of heavily used UI tends toward this.

Like drivers license test kiosks and playing solitaire on life fitness machines.


> Pick and Plop

^^^ this is genius


I learned about this project by YDKJS author Kyle Simpson in the latest episode of JavaScript Jabber[1]. A few folks on the episode, Kyle included, seemed to hold a somewhat negative view of TypeScript, since they seem to like JS's dynamic typing (note, I do too), as well as other some other reasons they go into in the episode.

Kyle mentioned this project he's been working on (Github[2]) which aims to add type checking at both compile time and runtime. Curious what you all think about this project, and its merits of downsides over vanilla JS or TypeScript.

[1] https://devchat.tv/js-jabber/jsj-438-you-dont-know-js-yet-wi...

[2] https://github.com/getify/TypL


I've noticed that a lot of paid dev tools are just priced too high or that I run the risk of blowing my budget depending on scale. I wish more paid dev tools were aware that I don't actually know my usage up-front, and that I'm scared of potentially ending up with a ridiculous bill if I overlook something.

I totally get that it's on me, but things [like this](https://hackernoon.com/how-we-spent-30k-usd-in-firebase-in-l...) happen, and I'm way more apprehensive of services that make that a possibility. E.g. I'd love to use Auth0 for everything, but the risk of spending way too much on something I can roll myself is always on my mind.


This is something I'm hitting up against a lot at work currently. Our application is high volume, with a significant proportion of users who don't bring in any recurring revenue, which makes us very cautious about picking up new SaaS services which are billed on a per-user basis.

We went through the same process around Auth0, and eventually built our own solution for handling authentication because even with our current user volume all Auth0 would tell us on pricing was "contact sales", which tends to be the case with every product we look at these days.


Auth0 quoted us 25 - 50k a year for 7K MAU, we found this insanely high as we don't handle any sensitive data.

It seems we might use Amazon Cognito, which seems a bit rough / neglected when it comes to aws products but the difference is basically free up to 50K MAU.

Couldn't find a nice middle ground, Okta and the others were all prohibitively expensive as well.


If you don't mind sharing, what was it from Auth0's "call us" column for pricing that bumped you up to that tier? Middle one is still high, but under $25k, let alone $50k, for 7k MAU.


Bingo. Risk is what keeps me off anything without a cap on billing. If I spend $25/mo on Digital Ocean, that number's not gonna change unless I tell it to. My site may go down, but I won't accidentally run up a five-figure bill on a just-getting-started side project that's not guaranteed to ever generate revenue.

That and having to keep up with a bunch of different bills.


Auth0 has done some dirty pricing changes as well. They dropped pricing for a while then raised it a ton. Basically pinching everyone who started using their service.


Mixpanel was really frustrating in this regard


I would assume that the downvotes are because you're asking for a thread on the atrocities happening in Chile be hijacked to talk about something else. It's extremely insensitive.


Not loading for me, so here's a cached version: http://webcache.googleusercontent.com/search?q=cache:OJfXzqi...


Fixed. The website is working now


Works well for me, too


I use my road bike (~$1,500), a Wahoo Kickr Core ($900), and I pay for a Zwift subscription ($15/month).

I love a good spin class, but like my setup just as much. I can also take my bike off the trainer and ride it outside.



I'm yet to find a single AMP page that I didn't hate. Don't know why Google keeps pushing it on me. At least in my country, data is ridiculously cheap - I can't spend a few MBs on a page if I want to read it


Damned if you do, damned if you don’t.


Thanks so much, I was wondering why the page looked that much broken!


Thanks! Updated.


I use Outline to make stuff like this easier to read. It works on a ton of sites. Also lets you get around a lot of paywalls.

Just made this bookmarklet so you don't have to install any extensions -> https://codepen.io/dgca/full/BmNdmy/


Have a bookmarklet:

  javascript:(function()%7Bwindow.location.href %3D 'https%3A%2F%2Foutline.com%2F' %2B window.location.href%7D)()
It'll open the article using https://outline.com/. E.g. https://outline.com/xX7xe3


very nice, wish could've vote more :D

set as bookmark shortcut in Fx already :D


Wow


Link to v4 branch: https://github.com/ReactTraining/react-router/tree/v4

^ helped me understand what changes are coming.


Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: