Patent ID: 8924926

Claim:
A computer-implemented method comprising: generating, at a computing device having one or more processors, a visual programming interface that is displayed at a user device, the visual programming interface allowing a user to manipulate a plurality of visual pieces that represent computer instructions to generate computer code, a connection between visual pieces representing a relationship between corresponding computer instructions in the generated computer code, each visual piece including at least one connector, wherein visual pieces are connected when their corresponding connectors are aligned and their corresponding computer instructions are logically compatible; receiving, at the computing device, user input indicating a command to move a selected visual piece to a requested location in the visual programming interface; generating, at the computing device, a distance table storing locations of one or more other visual pieces with respect to the selected visual piece in the visual programming interface, the distance table being indexed by one of (i) X-coordinates of the other visual pieces with respect to the selected visual piece and (ii) Y-coordinates of the other visual pieces with respect to the selected visual piece; storing the other one of the (i) X-coordinates of the other visual pieces with respect to the selected visual piece and (ii) Y-coordinates of the other visual pieces with respect to the selected visual piece, wherein the one or more other visual pieces include the proximate visual piece; determining, at the computing device, whether the selected visual piece is connected to a proximate visual piece based on the distance table; when the selected visual piece is not connected to the proximate visual piece: i) determining a distance between the selected visual piece and the proximate visual piece, and ii) when the distance is not greater than a predetermined distance threshold, adjusting a position of the selected visual piece or the proximate visual piece such that the distance is greater than the predetermined distance threshold.