5,586 karma · joined December 1, 2011
OK.
> 2. Shut down the standardmarkdown.com domain, and don't redirect it.
Don't redirect it? Seriously?
> 3. Apologize.
This guy is actually a prick.
EDIT: OK that was unfair. If I was in Gruber's position, maybe I'd be angry, and maybe I would have demanded an apology; it doesn't make him a prick. But the "don't redirect" thing seems petty.
Documenting your own Markdown flavour will be easier if you can say "It's Standard Markdown, plus/except these features...", instead of "It's part of the soupy world of 'Markdown', but here are the features that some/all other implementations don't have...".
> He did copyright everything. Explicitly.
I didn't realise that. In that case he can force them to change it if he doesn't like it, right? I don't get why people are talking about honour/decency.
If you want a halfway house, I've just remembered this little jQuery plugin, not well known at all, but it is the best thing available:
http://threedubmedia.com/code/event/drag
For me this plugin was a bridge between using DnD libraries and writing raw mouse listeners. It basically just fires off events at key points during a drag sequence, and it's up to you to update element styles to move them around... ie, you can't see anything physically happening on the page unless you update the DOM yourself (not difficult). It's basically sugar around mouse events to make them a lot less intimidating, eg, on each move it gives you the mouse position relative to wherever the drag started, so you don't have to keep track of this yourself.
Compared to any regular DnD library, it's better performing and miles more flexible. It's almost as good as doing it with raw mouse events. Look at the demos and view the code, they are impressive. It's old though. Hope it still works with modern jQuery.
Do not fear making your own drag interactions from raw mouse events. I avoided it for ages, then discovered it is easier than I expected, and satisfying because what you produce is so much better quality. It's just combinations of mousedown, mousemove, mouseenter, mouseleave, and mouseup, and the confidence to attach/detach listeners for those events on the fly during the interaction. Also by thinking about the whole event sequence on a lower level you will often realise a better way to design the UX of the interaction.
Look at the Backbone.js annotated source [1] (the stuff on the left is just the comments pulled out from the original source JS). The comments make it much, much quicker to grasp what's going on, even though many of them just state exactly what the corresponding code does, which according to the Haskell docs' advice is pointless and to be avoided.
Of course lots of designers make the wrong decisions about which functionality they have openly on display vs. which functionality they hide away in menus. They often lazily shove a new feature in a menu, rather than find a way to properly integrate it with the design of the app. But that's not the same as saying "menus=bad".