How to create draggable widgets?
<h2>Background</h2>

<p>I am tasked with developing the front-end to an analytics product that presents the information to the user in a customizable dashboard like the one used by Google Analytics:
 - Dashboard is comprised of draggable widgets arranged in a grid layout
 - Widgets have a drag handle which can be clicked by the user to start dragging
 - Widgets can be re-ordered by dragging and dropping the widget</p>

<h2>Question</h2>

<p>Part 1. Using jQuery (or any other open source Javascript API) can anyone explain to me how such a feature is implemented, from a high level overview.</p>

<p>Part 2. Can you recommend any resources for me to read that may be relevant to implementing this feature, or any foreseeable related features? (books, links, api docs, tutorials)</p>
