On January 12, 2005 6:08 am, Su Shaw Bank wrote: > May anybody just explain to me the basic flow to build a > software which work like the win-hand? The programme should work like > can real time control the desktop of the computer. I am using the > Tungsten C with wi-fi.
That is no simple task you've set yourself. Investigate the VNC protocol and various implementations for every operating system. It's well known and widely used. TightVNC seems to be on the leading edge (with update push vs. poll and improved compression) while OSXvnc, WinVNC, and a variety of others are also available. See also PalmVNC [http://palmvnc2.free.fr/]. Clients and servers are, literally, available for every platform. Question one: Is there really a need for yet another remote control application? Or can you implement what you want as additional features on PalmVNC? (I've re-written a large portion of it for my own use.) If you wish to continue your project, palm-side there are several things which are needed for a remote-control program: 1. A TCP/IP protocol to transfer bitmap graphics to the Palm, and generic events to the PC. 2. A way to decompress the incoming image stream. ZLib is nice. 3. Trapping keyboard events and tap events for encapsulation. 4. Connection management / bookmarking. 5. Possible protocol handler for application sub-launch. 6. Multiple resolution support, with scaling. This includes 16-bit color. An interesting option to cut bandwidth use is, on 320x320+ devices, implementing an interlacing system. I.e. 160x160 double-scaled or interlaced would remove 3/4 the bandwidth. 7. Ideal would be multiple-protocol support with PC-side extensions. Best would be a combination of the following: - VNC (it's completely open) - RDP/Windows Remote Desktop/MS Terminal Server (there are open implementations, but currently none are very good) - A custom, highly optimized solution for wireless (Bluetooth) access. By "generic events", I include capability detection palm-side, including such properties as display resolution, keyboard capabilities (on-screen, handwriting, or external), PC-side, several things would be really, really nice. 1. Resolution switching (8-bit, for example) and desktop background removal. 2. Push vs. polling of the screen for updates. See: TightVNC. 3. Limited area polling. (i.e. the 320x320 or whatever viewing area. Updates outside this area do not re-send the viewport to the handheld. This is one major problem with many of the existing solutions.) 4. Secure connection management via daemon, server process, or system tray application. Secure = hopefully more than a simple plaintext password. Dual-direction popup authentication would be nice, with live generated passwords for each. Possibly with e-mail (or other) invitations. See the palm-side protocol handler (to handle links or e-mail attachments) idea. 5. Windows-only support is no longer acceptable. Linux should also be a priority (as many folks who use remote access applications are more than simple users) and MacOS would be almost trivial. See OSXvnc. 6. Open source would make people happy, commercial would instill the trust of corporate users, and hopefully pay back the cost of implementation and advertising. As there are already many of these applications available, both free and commercial, there is very little space remaining for a non-compatible solution. 7. Server-side scaling. This would give opportunities for optimization of bandwidth, as well as pretty anti-aliasing. ^___^; Any others' ideas would be greatly appreciated. ;-) Strangely enough, I, a long time ago, created a compression scheme for animated video. Wrote a complete dirty rectangle / threshold / keyframe frame extractor using PNGs for the destination, and a player. PNGs are nice. Enjoy! -- Matthew Bevan, Margin Software - Re-inventing the wheel, every time. Finagle's Eighth Law: If an experiment works, something has gone wrong. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
