avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday May 27, 2023, 9:37 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - VideoInPicture [ switch to compact view ]

Pages: [1]
Circle Dock / Circle Dock 0.9.2 Alpha 9 is Delayed
« on: November 12, 2008, 10:55 AM »
I have been busy with some life stuff lately and haven't had much of a chance to do much programming on any of my projects. Hopefully, I will get time to hunker down.


General Software Discussion / Ideas for New Captcha Implementations
« on: October 21, 2008, 06:04 PM »
Since it is widely know that the captcha implementations used by Yahoo, Microsoft, and Google can be broken by computers with a fairly high success rate (around 20-30%), I have been throwing around ideas in my head about a new captcha implementation. However, I don't have a workable or complete idea. I think I need to browse some math sites until something dawns on me.

Basically, I want to do away with image/text recognition and use pattern recognition instead since humans are much better than computers at pattern recognition. The pattern would be generated as an image by the host server on the fly to allow for an astronomically high number of possibilities. There would only be one pattern generated for each captcha request but the user is required to click on a series of points on the image that correspond to a pattern. The host server holds onto a set of coordinates that correspond to a correct sequence of mouse clicks and gives validation only if the user clicks on points close to this key pattern. The client side captcha is essentially a simple javascript that returns the mouse coordinates when the user clicks on the image of the pattern. This multiple mouse click requirement coupled with an image about 500x500 should provide a fairly high level of bot protection while keeping it simple to use.

The problem is that I need a method to generate patterns that can't be easily recognized by computers but is recognizable by humans.

Perhaps we should have some sort of captcha contest on DonationCoder to see who can come up with the best implementation? Also, let's get a list of new/innovative captcha implementations going so we can see what has been done.

Circle Dock / Circle Dock 0.9.2 Alpha 8.2 is Released
« on: October 13, 2008, 06:42 AM »
Download at https://sourceforge.....php?group_id=237160

A minor release that includes an important bug fix, some new language files, and a set of new icons.
(1) The bug of Circle Dock not taking focus sometimes when toggled by the mouse buttons is fixed with this release. Circle Dock is also now able to properly differentiate between X1 and X2 mouse buttons. This was fixed by rewriting a portion of the Orbit.Hook.dll file responsible for the mouse hooking. This new dll file is smaller (43kb) compared to the older Orbit.Hook.dll file (430 kb). I spoke too soon. This fix isn't working for some people. I thought it was working pretty well on my machine.
(2) New language files are included (ie: Spanish, German).
(3) A new set of "Planet" icons are included with the release, created by Nelson Muñoz. They look really good and are very realistic.

Other features are the same. Still working on Alpha 9. I have been busy with other things and university.

This release (Alpha 8.2) isn't posted on the Circle Dock website yet but I will do it soon. I just want to update the credits page on the website along with posting the link on it.

The file size for the download is at about 12 megs so I have to use my SourceForge account instead of Wikidot to upload the file to. This also means that people in China can download it without being blocked by the government firewalls. I wanted to keep it under 10 megs for easy of download but the graphics are taking up most of the space and they don't compress. Any suggestions to get it under 10 megs for download?

General Software Discussion / Apple Patents the OS X Dock!!!
« on: October 08, 2008, 02:24 PM »
The Register news article: http://www.theregist...le_patents_osx_dock/ says that Apple has finally received it's patent for the OS X dock and says that it could give Apple the ability to go after imitators such as Object Dock, Rocket Dock, etc. Apple's patent is shown here: http://patft.uspto.g...&RS=PN/7,434,177

This certainly interests me since I programmed Circle Dock. However, I think there is enough differentiation between Circle Dock and the OS X dock that I don't need to be concerned. Also, I know that there is an extensive list of prior pie menu launchers before I programmed Circle Dock so Apple's patent wouldn't apply in this case since there are so many cases of prior art.

However, it does bring concern about all the regular docking applications out there and whether their existence will continue. What do you guys think? Would Apple's patent apply to other docking applications out there?

General Software Discussion / Can You Run OS X on a Virtual Machine?
« on: October 05, 2008, 04:02 AM »
Since I've been playing around with Microsoft VirtualPC and the open source VirtualBox, I've noticed that they support hosting Windows, Linux and OS/2 as guest operating systems. What's missing in this picture is OS X. I've not heard of anyone running OS X on a virtual machine so I am wondering if it is possible to do it.

It's quite possible that OS X has been crippled by Apple to only run on hardware that contains one of their chips that say it's an Apple machine and I fear that this is a very high possibility from my knowledge. OS X uses the PC architecture so there is no real reason it can't run in a virtual machine.

Any one know?

Circle Dock / Easy Unicode Paster 2.1 is Released
« on: October 03, 2008, 08:09 PM »
  • Version 2.1 of Easy Unicode Paster is released.
  • There are two primary improvements: (1) I have modified AMS.Profile.dll so that it can now read the full range of unicode characters from the .ini character files without having to type in their XML/ANSI number equivalents. (2) When you click on the tray icon to toggle the visibility, the previous window you were working with will be brought back into focus, just like as if you used the hotkey to toggle Easy Unicode Paster.
  • The source code for Easy Unicode Paster 2.1 is not released yet because I'm seeking permission from the original author of AMS.Profile.dll to allow me to post my improvements to the AMS.Profile.dll source code.

You can download the new version at the website:

Edit: Removed attachment. Download the latest version from the program website.

Circle Dock / Elliptical Circle Dock Works!
« on: September 23, 2008, 01:08 AM »

I've modded the code for Circle Dock 0.9.2 Alpha 8 to do an elliptical shape and I have to say, I think it looks much better as an ellipse shape!

(I was taking a diversion from thinking about Alpha 9.)

Circle Dock / Circle Dock 0.9.2 Alpha 8.1 (Minor Update) is Released
« on: September 22, 2008, 09:01 PM »
Circle Dock 0.9.2 Alpha 8.1 is released with some updated language files: Serbian, Croatian, Simplified Chinese 1, and French. There are also a few new backgrounds included that were posted on this site. The executable portion of Circle Dock is the same so you do not need to upgrade everything if you already have Alpha 8.

Thanks to Lingku, Igor Stanisic, [email protected], and Boba-Fett for providing updates and to anyone that I may have missed. I have updated the credit list on the Circle Dock website and noted it on the download page, but I have not changed the CircleDock.exe file with any updates yet because I don't want to change it just yet. I will update it in a future release:

For people who are having trouble accessing Wikidot, you can grab an alternative copy of CircleDock at

I've been doing a bit of development on Alpha 9 by through coding a new program, Custom Desktop Logo: (Translations for this program are welcome. It is multi-language compatible like Circle Dock is.) I've been experimenting with multi-threading and I have solved one of the location issues with the alpha blending function by rewriting so that I can now move a dock icon and resize it at the same time without jerky movements. Every alpha blending function I've seen on the web has this glaring bug in it and I'm will be posting an article somewhere about how to do proper alpha-blended graphics. I just can't believe how many people have this bug in their program and why they don't fix it.

Living Room / What Sports Do You Participate In?
« on: September 22, 2008, 03:49 PM »
I'm an avid bicycle racer on the road. What sports are people around here involved in?

Circle Dock / StandaloneStack on Circle Dock
« on: September 18, 2008, 03:09 PM »


Currently, Circle Dock does not have plug-in support for docklets, but you are able to replicate one of the most popular docklets out there using StandaloneStack by Chris 'n' Soft. Download here: Instructions for using it on Circle Dock are at

Thanks to R Alperen Torun for the heads up.

Eric Wong


  • This is an executable that operates in read only mode and has all of it's menus disabled. It is meant for use on public computers where you do not want changes made to the dock and you want to lock down the system files.
  • The Kiosk Version requires that you change the dock settings and items using the regular version of Circle Dock and then replace the regular Circle Dock exe file with the Kiosk Version executable.

To close the Kiosk Version of Circle Dock, you have to do it through the Windows Task Manager. The source code has also been uploaded for the Kiosk Version and is the same as the regular version except for the parts commented out to disable operations that can result in changes of the dock. You can safely make the Circle Dock directory read only and the dock will easily work.

Circle Dock / Circle Dock 0.9.2 Alpha 8 is Officially Released!
« on: September 14, 2008, 09:57 PM »

I recommend all Circle Dock 0.9.2 Alpha 7 users to upgrade to Alpha 8 because of all the bug fixes and some new features added. Alpha 8 includes some new language files and backgrounds thanks to the people listed on Visit the Circle Dock homepage to see examples of the new backgrounds:

Please note that there is a new recommended way of upgrading from Alpha 7 to Alpha 8. Please see the information at It is important you follow the instructions listed there or the program may not start properly and give you an error message.

Note that some language files are not up to date. They will still load but you will get "?????" in place of missing translations.

From the Change Log:
September 14th, 2008

  • Circle Dock 0.9.2 Alpha 8 Official Release is made available.
  • Many bug fixes and some new features added.
  • There is a new recommended way of upgrading to Alpha 8 - see How to Upgrade
  • Added the ability to run multiple docks at the same time by allowing multiple Circle Dock instances to run from separate folders.
  • Circle Dock will now seek the target file for shortcuts dropped onto the dock.
  • Added ability to lock the dock at a specific position (Settings Panel -> Location).
  • The .ini file reader for Circle Dock is now unicode compatible with non-western script characters. This solves the problem of garbled language files.
  • There are new language files included, such as Chinese, Indonesian, and Hungarian. Some language files have not been updated. Missing translations will show up in Circle Dock as "?????".
  • New circular backgrounds are included.
  • Added an "Item Properties" panel for each dock item to allow you to edit the link properties.
  • Added an option in the right-click menu for the centre object, background, and the tray icon to temporarily pause the mouse toggling for gamers or other people that need it.
  • The screen edge toggling has been improved. Circle Dock won't toggle the visibility if you are holding a mouse button down near the screen edges. There is also a new option for the dwell time required.
  • The "Toggling" and "File -> Icon Associations" panels in the "Settings Panel" have been simplified.
  • Added ability to turn off labels.
  • Added a new format to the circle shape option in Settings Panel - Dock Shape (maximum number of items that can be fit on a circle without overlap).
  • Added option to use the same rotation angle for all dock folders under Settings Panel -> General.
  • Added a numeric box to finely adjust the rotation angle of the dock under Settings Panel -> General.
  • Added a "Portability Mode" option to Settings Panel -> General. With this option selected, Circle Dock will automatically try to find the links of the dock item by using the drive letter of the Circle Dock directory. This is meant for USB thumbdrive usage where the drive letters may change but you want Circle Dock to self-reference files.
  • Added a "Always on Bottom" option to Settings Panel -> General. Note that this mode is not fully completed since there are a few bugs to be worked out. Mostly there is a flickering issue. It is recommended to use the "Topmost" or "Normal" modes for the z-level.

Circle Dock / Circle Dock 0.9.2 Alpha 8 is Released for Translation
« on: September 11, 2008, 10:57 PM »
Circle Dock 0.9.2 Alpha 8 is available at for the language translators and for people who want to grab it early. This is not listed on the Circle Dock website yet and I haven't written up the change log for it. Note that you will need updated language files. I have included the updated English.ini file in the Languages folder and I hope the language translators see this message.

The previous language files are included but the language translators will have to update the lines that show ?????, which indicates a new translation is needed.

Circle Dock / Easy Unicode Paster 2.0 is Released (Major Update)
« on: September 05, 2008, 01:14 PM »

September 4th, 2008
  • Version 2.0 of Easy Unicode Paster is released.
  • The structure of the program has been changed. The Config.ini file is now separate from the character sets used.
  • Includes over 100 different character sets.
  • Access all the character sets from within Easy Unicode Paster.
  • Utilizes a table of "buttons" for better performance and a cleaner look.
  • Program will automatically change the layout of the table according to how much space is available. It makes it so that you only have to scroll vertically when there is not enough room to display all the items.
  • Has support for pasting multiple characters with one button. See the "Example Character Set.ini" file in the "Character Sets" folder for details.
  • The items on the toolbar and the context menu have been tweaked. Gone is the option to make EUP not topmost because this was not a very useful option in practice.

With this release, I firmly believe that Easy Unicode Paster is one of the best and easiest to use unicode character maps out there and can compete with products that charge for something similar. All the other character maps I have tried have failed in their ease of use or how the program operates. Easy Unicode Paster pastes unicode characters in whatever document you are working with using just 1 click for one character.

Circle Dock / New Language Files for Circle Dock 0.9.2 Alpha 7.6
« on: September 03, 2008, 10:54 AM »
Circle Dock 0.9.2 Alpha 7.6 is now ready for download off This is a minor update that includes two new language files: Italian and Dutch. This means that Circle Dock now has French, English, Portuguese, Russian, Italian, and Dutch language files.

Thanks to all the translators for their work!

Circle Dock / Circle Dock 0.9.2 Alpha 7.5 is Released
« on: September 02, 2008, 04:00 AM »

  • Circle Dock 0.9.2 Alpha 7.5 is released for bug fixes.
  • Fixed the hotkey problem where you could not change the hotkeys.
  • Fixed the bug where if you set the number of key presses per rotation to 0, the dock would not load properly.
  • Included a new background image of double rings courtesy of Syllabus.
  • Language files included now are: French, English, Portuguese, and Russian. Thanks to the translators.
  • All language and settings .ini files are now encoded in unicode to enable greater support for languages with non-standard characters.

I seem to remember someone creating some new orb icons for Circle Dock but I can't remember where I read about it. If you know what I'm talking about, post a message here.

Alpha 8 should be due sometime this coming Sunday or close to it. After Alpha 8, I'll be focusing my efforts to port the code from the WinKibaDock project into Circle Dock to enable better animation and lower CPU usage. I'll be expecting that to take about 2 weeks.

Eric Wong

This is very good news. I remember briefly glancing at the WinKibaDock project a few weeks back: http://sourceforge.n...rojects/winkibadock/

This was a project to port the Linux Kiba Dock to Windows but it was abandoned well before they got it all working.

The good news is that the got the animation aspects right and it performs quite well from the last executable they released (2006). What's more, they are also using a child objects -> background -> parent architecture like Circle Dock is using so lots of the code should be applicable with some understanding and conversion to a usable form. Even better is that it is written in C#, the same programming language that Circle Dock is written in! This greatly accelerates the progress of the project since much of the animation engine is already coded! I'm just briefly playing around with the program and browsing the source code, but it is very encouraging.

I hope to try out the WinKibaDock animation engine after I complete Alpha 8 this coming Sunday. It should make for some smooth animation that I think would be up to the quality of Rocket Dock or Object Dock!

Eric Wong

Circle Dock / Circle Dock 0.9.2 Alpha 7 Discussion
« on: August 25, 2008, 08:12 AM »
Circle Dock 0.9.2 Alpha 7 has just been released (August 25th, 2008). Get it at

This is a major update and there is now a new settings panel with many options to customize.

I will be updating the Circle Dock homepage with more details about this release as I get time.

For know, I would like to point out this new feature:
Change the image used for the dock icons with the easiest method out there: Just set the program to "Icon Replacement Mode" in the right-click menu of the centre icon and you can change all the icon images by just dragging and dropping new PNG images onto them! Huge time saver when you are customizing your dock!


Circle Dock / Video In Picture for Windows Vista 0.2.9 is Released
« on: August 21, 2008, 03:45 AM »

This release removes the nagging multi-monitor warning and when the program exits, it will minimize all the target windows in the preview windows instead of showing them. Also, this release was compiled to target the .Net Framework 2.0 instead of .Net Framework 3.0 like in the previous versions. For the end-user, this means that the program will more likely run on Windows computers that don't have the lastest Windows Updates installed.

Confirmed is that Video in Picture 0.2.9 works in both 32-bit and 64-bit Windows computers that can run .Net Framework 2.0 or higher (Vista). Even though this release is only 0.2.9, it is fully featured and I think it is very close to a 1.0 release.

Here is what Video in Picture for Vista allows you to do:

Watch videos in a "picture in picture" type box. Very useful for online videos where you have lots of content you don't want to be shown while you watch videos.
Create live thumbnail previews that stay put. Close them by double-clicking on the preview.
Resize the thumbnail previews by dragging the borders.
Crop thumbnail previews by holding down the Ctrl key and dragging the borders. Get rid of all that white space around your YouTube videos you watch!
Move the previews around and dock them to any edge of the screen.
Make the previews stay on top of all other windows.
Make the previews transparent, both visually and to input. This means that you can see through the previews and click on items beneath it! Very useful when you want to watch a video while doing other work in another window.
Create these special thumbnail previews easily by using a tray icon or even easier, by just minimizing the window!

Circle Dock / Windows Start Menu Shadow Residue Bug
« on: August 19, 2008, 08:09 PM »
Here's a bug I have not been able to figure out. If you have Windows XP or Vista and you have enabled the "Show shadows under menus" style in your visual styles, then the Windows Start Menu leaves a persistant shadow on the desktop when Circle Dock is used to open it. The screen shot below illustrates my point:


The code I'm using to call the Windows Start Menu is quite simple (C#):

IntPtr StartMenuHandle = (IntPtr)Pinvoke.Win32.FindWindow("DV2ControlHost", null);
IntPtr taskBarWnd = (IntPtr)Pinvoke.Win32.FindWindow("Shell_TrayWnd", null);
IntPtr startWnd = Pinvoke.Win32.FindWindowEx(taskBarWnd, IntPtr.Zero, "Button", "Start");

Pinvoke.Win32.SetWindowPos(taskBarWnd, IntPtr.Zero, 0, 0, 0, 0, Pinvoke.Win32.SWP_NOSIZE | Pinvoke.Win32.SWP_SHOWWINDOW |
Pinvoke.Win32.SetWindowPos(startWnd, IntPtr.Zero, 0, 0, 0, 0, Pinvoke.Win32.SWP_NOSIZE | Pinvoke.Win32.SWP_SHOWWINDOW |
Pinvoke.Win32.SetWindowPos(StartMenuHandle, IntPtr.Zero, StartMenuBestPos.X, StartMenuBestPos.Y, 0, 0, Pinvoke.Win32.SWP_NOSIZE |

The StartMenuHandle is the handle to the start menu itself and the other handles are for the start button and the taskbar. I think this may actually be a bug with Windows itself. Any thoughts or solutions?

Does anyone know of some software that can allow you to simulate multiple monitors on a single screen? I think this would help me A LOT in my debugging of code I write so that it is multi-monitor compatible.


YouTube video of the program:

Download the Program and Source Code at:

This is my second submission for the Donation Coder Programming Contest. It is the world's first open source circular and spiral dock.

What Circle Dock Allows You to Do:

Drag and drop your files, folders, and shortcuts onto a circular or spiral dock.
Rotate the dock with either your mouse wheel or the keyboard arrow keys.
Change the image shown for the icons and change the skins (compatible with icons and skins for Rocket Dock, Object Dock, etc.)
Ability to run the program from a portable USB memory stick and have the links in the dock point to the documents on the USB memory stick.
Ability to synchronize the links on the dock with the files, folders, and shortcuts on your desktop or other folders in real-time.
The dock appears where your mouse is by pressing a hotkey.
Works on computers with multiple monitors.

The Idea Behind Circle Dock

The idea behind Circle Dock is that the dock should appear where your mouse is instead of you having to move your mouse to the dock like with other programs. This is accomplished by making the dock a circular or spiral shape so that it can be placed anywhere, even near the edge of the screen. The offscreen portions of the dock are easily reached by just scrolling with your mouse wheel or arrow keys.

A user defined hotkey combination is used to make the dock appear and disappear. By default, this combination is CTRL-WINDOWS KEY. You can change it in the settings area of the program.

If you have a mouse with extra buttons or you want to make one of your mouse buttons activate the dock, I recommend you use the program from http://www.highrez.c...useButtonControl.htm and use it to remap your mouse buttons. This makes it very convenient to toggle Circle Dock.

The current version of Circle Dock is 0.9. It is not feature complete when compared to the full fledged docks out there, such as Rocket Dock and Object Dock, but this program was coded in under 2 weeks for a programming competition at so there was not enough time to investigate every standard dock feature and code it. As the program develops, more standard dock features will be added.

Well, it seems that CamSpace,, is in Beta3 mode and they sent out invites to the people that signed up (I never got mine, though. Anyone got theirs?).  Here's three videos of someone trying to use CamSpace to emulate a mouse:,, and here is a video of someone using it on Google Earth type application: Note that these videos appear to be from people who have actually gotten copies of the program and are not promotional videos.

Some of you may remember the WebCam Signature program I submitted for the DC Programming Contest that contained an experimental webcam mouse mode ( From coding that program and watching these videos, I feel that I can provide some useful information for people that haven't gotten an invite yet.

From reading CamSpace's wiki and watching CamSpace demo videos, I can conclusively say that CamSpace primarily tracks colors (like WebCam Signature) to determine where to move your controls.  One piece of supporting proof is their colored wheel printouts at

The advantage of this method is that it is fairly simple to program and does not require any complex mathematics. You tell the CamSpace program what colors you want to track by holding up your colored object in certain positions that the program specifies. This is what allows you to use “any object” as your control to your computer. More on the “any object” part later in this posting.

The program tracks the areas of the blobs of colors to determine the z-depth.  However, the problem with this method is that it is difficult to impossible to distinguish if you are actually pulling your controller back/forwards or whether you are just tilting forwards  are an angle so that your controller has a smaller projected frontal area. Also, I’m not sure how useful the z-depth tracking will be in a real world setting because in order for it to work properly, the whole of your controlling object must be visible to your camera at all times or you will get jerky tracking. This arises from the fact that a camera has a limited field of view and as you move an object in the z-direction, you may inadvertently move out of the field of view. I will have to get the beta to test before I can judge how well the z-depth tracking works in their implementation.

They track the rotation of the blobs of colors to determine the angles. They do not appear to track the exact shape of the object because you can use objects of various shapes. Instead, they appear to track the longest axis of the colored blobs to determine the angle of orientation of your colored objects. In some videos, you can see a shorter axis that is perpendicular to the longest axis of the colored blobs. This is used to find the center of the blob. This center point appears to be what is used to calculate the position of your controller in the X-Y plane.

The program is most likely written in Microsoft Visual C++ from the screenshots I've seen, so don't hold your breath for a Linux or Mac version any time soon.  I’m deducing this from the program icons seen on http://www.camspace..../Emulation_Authoring. If you are a Microsoft Visual Studio user, you will recognize the familiar program icons in the top left of the windows. They most likely used Visual C++ to gain as much of a performance advantage as possible due to the inherently high cost of image processing in real time.

In the first three videos listed at the beginning of this post, you can see someone trying to use CamSpace to emulate a mouse. The first video shows that CamSpace can be made to work smoothly and allow you to move windows around by using a pinching motion of your fingers with colored plastic on them. However, there is a major hurdle that must be overcome before you can use a webcam as a general mouse. This major hurdle is that you must design a control scheme to signal to the computer when you want to select an object, move it, click, double-click, right-click, middle-click, scroll, and for those of you with extended mouse buttons, how to control the 4-th and 5th buttons. The implementation must allow you to move the mouse accurately while allowing you to execute the above commands. You will most likely have to use two hands to successfully emulate a standard mouse. One hand would be used for moving the mouse and the other would be used for signalling the other commands. It is difficult to do this with just one hand because as you move and shift your hand to create a different gesture, you will likely shift whatever it is on your hand that the program is tracking to position the mouse. This makes clicking on a button a frustrating affair let alone a text link.

The second video listed above shows some inherent problems of color based tracking methods. It shows that sometimes, the performance of this method can be quite slow as indicated by the less than 10 fps frame rate seen while trying to track three objects. I’m not sure whether this is due to the emulation used, lack of processing power, or a problem with the CamSpace program. Either way, if you are playing a game that already taxes your computer’s resources, you will have to upgrade to a better computer if you want decent tracking and a game frame rate. From coding WebCam Signature and playing around with other webcam tracking programs out on the web, I estimate that CamSpace will likely use around 20-30% of the processing time of a middle of the pack duo-core CPU, such as an AMD Athlon 64 X2. Ram usage should be fairly low, probably under 50 megs when running.

During the second video, you will notice that you can see the colored hand (being tracked) of the person but not the body of the person himself. At the end of the video, you can see the person come in front of the camera and his shirt (normally black) becomes white and is pixelated around the edges. This highlights the problem that the ability to track “any object” is in fact the ability to track “any object with a color that is not similar to colors seen in the background.” Similar colors will fool the program as well as shiny objects that are used for controllers. Changing light conditions or sunlight shining on your tracking object will also have adverse effects. Sunlight is bad in particular because it contains a good deal of near-infrared light that is not visible to the human eye but is picked up by many webcams. This creates noise in the colored blobs that affect the accuracy of tracking and may introduce jerky motions. Evidence of this can be seen by looking at the constantly changing pixelated edges of the colored blobs on the person’s hand in the second video.

From comments I have seen on CamSpace’s site and others, many people are calling CamSpace as a Wiimote killer and a gaming revolution. I believe these people are wrong. I do not believe you will be able to obtain tracking as accurate as you can with a Wiimote nor will it be anywhere as responsive. The Wiimote uses a specialized infrared camera coupled with dedicated hardware that allows it to outperform the vast majority of webcam/computer combinations out there. It is also much more resistant to lighting changes and is not affected by similar colors. The Wiimote just has to track two infrared LEDs that provide a much more predictable and reliable method of control than trying to emulate human vision. I also do not believe this will revolutionize gaming because there are already other virtual reality systems out there that allow you to track objects with greater accuracy than is possible with a color based system. Some of them are commercial systems with dedicated hardware, but some are open source like

You are inherently unable to provide the accurate and fine tracking that a standard mouse can with a webcam system and current PC hardware because the vast majority of webcams have a maximum resolution of 640x480 (0.3 megapixels) whereas most monitors have a resolution that that is much greater, such as 1440x900 (1.3 megapixels) and up.  This means that the position of your mouse on the screen must be interpolated from a 0.3 megapixel image, not even considering the issue of processing power. Most likely, you will be using a resolution of 320x240 to enable your system to track at a high enough frame rate to prevent lag.

 Even if you used a camera with a resolution equal to that on your monitor, you will still not have a usable system because the processing requirements will be enormous. Think of trying to process a DVD movie frame by frame in real time and you will have an idea of the power needed to equal the resolution that can be provided by a standard mouse.

This is not to say the CamSpace is bad. In fact, it appears to be an excellent piece of software and it is about time that someone has made use of the webcam and make computer vision a useful thing. However, we must be aware of the inherent limitations of computer vision systems and not get carried away thinking that we are ready to throw away our mouse and Wiimote.

One thing that I hope CamSpace will do is release their software under an open source licence so that others can analyze the code and use it. While I was writing Webcam Signature, I did some extensive searching for example code that demonstrated computer vision in a useful manner. Something more useful than turning on a security camera. Well, the field is very sparse and most of the programs people are writing are proprietary and there is very LITTLE sharing going on. If computer vision is to advance to a useful state, we must share code so that new ideas can be readily implemented and old ones improved upon. This was the primary reason why I made Webcam Signature open source and I hope CamSpace will be open source as well.

Well, that is a long enough article for now. I’m sure there are some spelling mistakes and I’ll fix those in after a bit. I’ll write more if I have something to add.

Stay tuned for my second program that I’m submitting for the DC Programming Contest. It’s a good one.


What Webcam Signature Does
Ever had a document on your computer that required your signature before sending it back to someone? Well, Webcam Signature allows you to write your name on your computer by using your webcam and a pen! No drawing tablets/cameras/scanners required.

Benefits of Using Webcam Signature
Natural: It is much more natural to write your name using a pen than a mouse.
Smooth: Your signature comes out smooth, unlike when you use MS Paint to draw something. It won't look like you visited Jittery Joe's!
Convenience: Allows you to write your name on your computer by just using your webcam and a pen! Capture signatures anywhere.
Reusable: Save your signature to an image for future use. Or, save the data points of your signature for future manipulation.
Simple: A very clean interface that is easy to use and takes no time to learn.
Versatile: In a pinch, you can use Webcam Signature to draw diagrams. Useful if you are taking classes and take notes with a laptop.

How to Use Webcam Signature
With the program opened, hold down either the CTRL or SHIFT key and then proceed to write your name in front of the webcam. Release the key you are holding down to stop writing. Press the CTRL or SHIFT key again to start writing again.
Copy your signature to the clipboard or save it to file to further manipulate it in a drawing program.
Save the data points of your signature so that you can retrieve it in the future to apply different colors and line sizes.

How Webcam Signature Works
Webcam Signature tracks the colors seen from your webcam to determine where your pen is. To obtain good results, the color of your pen should not be similar to the colors of your background. You can adjust what range of colors Webcam Signature tracks from within the program.

Compare for Yourself
On the left is a signature created using Webcam Signature and on the right is the same signature created using a mouse and MS Paint. Notice that the Webcam Signature output is much smoother and looks more natural whereas the one created in MS Paint is all jagged and looks like you have an unsteady hand. If you are signing documents for a client, it would not make a good impression to use the signature created in MS Paint. The difference is even more pronounced when you use thinner line sizes.



The source code will be send to mouser and veign after some people check it out to make sure it is working properly.

Pages: [1]