i see no reason why the client app has to run on a pda, theres really no reason it cant be ported to other platforms. so long as the interface over the network is the same and the client app does the same job. the client app could be ported to java, c, c++, vb, lua, whatever. i could do a version for palm, pocket pc, or linux distros for pda and maybe cell phones. also i could have an x86 version for laptops, tablets, micro pc, which could be compiled on windows, linux, mac. those would be easyer to write actually because they would use the same codebase for the most part. the portables will be the hard part.
so far i have a few pcs, a laptop, an ipaq 3600, and an 5th gen ipod running rockbox (with hacks its possible to run an interface app with replacement firmware like ipod linux or rockbox through a serial connection). i could probibly get a surplus palm for real cheap, assuming i can find one with a network interface. as for operating systems, i have several versions of windows and some popular distros of linux on hand. so those are the platforms i will work with initially.
il probibly be using c++ for the most part. im still doing initial research into what libs i want to use. on the client side i really just need to be able to render graphics. i was looking at gapi, but id perfer to use sdl if i can get it to compile. supposedly theres support in the library's unstable branch for windows ce. but i will have to evaluate it better. ive never written network code before so any api suggestions are welcome.
i want support for either vector or raster images, and possibly both. vector would be used for low end devices and slow connections. for raster im probibly gonna use standard dxt formats, mainly dxt1, 5'6'5,' 8'8'8 and a couple other custom formats, like the 12 bit compressed format based roughly off dxt1. part of the init will be the host asking the client what it can do, client replies with info about its networking and graphics capabilities. then the user can set the options, like what resolution to use, what pixel format to use and how fast to send control updates and load a profile.
as for other uses, there would really be no limit to it. one of my ideas was to use it as a throttle quadrant, so i could set mixture and prop pitch for multiple engines. an idea of maybe creating an orbiter module to display mfds from the sim. the primary functions will be mainly for flight simmers. but if i can get mouse, keyboard and joystick to work, it would pretty much cover all the bases as far as input is concerned. figuring out how to implement virtual drivers for those devices on pultiple platforms will be another main challenge. the only virtual driver i know off the bat is ppjoy for joysticks. its windows only and closed source, but it does come with code to demonstrate how to access the driver. it supports 8 axes and 16 buttons.