Tuesday, May 11, 2010

How to implement Drag-drop?

The drag-drop feature is requested for our "SPELLit" project in the first NUI camp. How can we implement drag-drop with NUI  and least implementation effort in mind? With suggestion from surface team member of Microsoft (I assume they are the same team), we actually have three different idea on how it could be done using either surface toolkit or WPF behavior.
1. Using events built in the surfacelistbox:
   The Microsoft surface Tooklkit has nice built in control surfacelistbox, which expose dragdrop events to handle user input from either touch or tradtional mouse or keyboard. Utilizing the DragEnter, DragLeave, Drop and DragCompleted, we can implement the dragdrop based on custom logic.  Furthermore, cursor visual of Surface Toolkit can add frost on the application.  You can find the sample code in the SPEELitSurface project attached, which is essentially the replicate of sample here.
2. Using customized WPF behavior
  Another method is using Dragdrop behavior created by Edwin Foh, which is easier and can be used in SilverLight, Win Phone applications than the previous Surface Toolkit, which only supports WPF for now.
Please check out the SPELLitBehavior project, which borrow codes from here.
3 Using WPF manipulation and touch event
  If you equip with touch enabled wind 7 computer, you can try to take advantage of manipulation and touch events, which can give you a great freedom the implement your every own dragdrop feature.


you can find the solution here

Sunday, May 9, 2010

New Battle Land?

Short after IPad released, HP and Microsoft put their Slate and the Courier projects on hold. It seems that Apple won the first round. Recently,Microsoft's Deskerity Project was reveled. Is this going to be another round of competition?