EmbeddedRelated.com
Forums
Memfault Beyond the Launch

PDA as "X terminal"

Started by D Yuniskis October 11, 2010
On Thu, 14 Oct 2010, Jon Kirwan wrote:

> Date: Thu, 14 Oct 2010 16:45:18 -0700 > From: Jon Kirwan <jonk@infinitefactors.org> > Newsgroups: comp.arch.embedded > Subject: Re: PDA as "X terminal" > > On Thu, 14 Oct 2010 19:40:55 -0400, Spam@ControlQ.com wrote: > >> <snip> >> I can't understand the enthusiasm for Linux given the BSD platforms ... >> <snip> > > The FreeBSD kernel is a thing of sheer beauty. Linux is > definitely a stone soup, by comparison. Whole pieces of code > copied, pasted, and patched in places. But the herd goes > where it goes. > > Jon >
I suppose the real sheep are the Windoze users, but Linux is truly a cult. BSD has that *just right* feel to it, and its probably best to keep the loonies elsewhere ... Cheers, Rob.
On 10/14/2010 4:49 PM, Spam@ControlQ.com wrote:
> On Thu, 14 Oct 2010, Jon Kirwan wrote: > >> Date: Thu, 14 Oct 2010 16:45:18 -0700 >> From: Jon Kirwan <jonk@infinitefactors.org> >> Newsgroups: comp.arch.embedded >> Subject: Re: PDA as "X terminal" >> >> On Thu, 14 Oct 2010 19:40:55 -0400, Spam@ControlQ.com wrote: >> >>> <snip> >>> I can't understand the enthusiasm for Linux given the BSD platforms ... >>> <snip> >> >> The FreeBSD kernel is a thing of sheer beauty. Linux is >> definitely a stone soup, by comparison. Whole pieces of code >> copied, pasted, and patched in places. But the herd goes >> where it goes. >> >> Jon >> > > I suppose the real sheep are the Windoze users, but Linux is truly a cult. > BSD has that *just right* feel to it, and its probably best to keep the > loonies elsewhere ... > > Cheers, > Rob.
Meh. As someone who prefers Linux to Windows I already have a hard enough time finding software to do the things I want to do. Switching over to either of Linux's less popular cousins would seem to only aggravate the problem. -- Rob Gaddi, Highland Technology Email address is currently out of order
On Thu, 14 Oct 2010, Rob Gaddi wrote:

> Meh. As someone who prefers Linux to Windows I already have a hard enough > time finding software to do the things I want to do. Switching over to > either of Linux's less popular cousins would seem to only aggravate the > problem. >
No doubt. Linux offers much in the way of device support which was lagging in the 'BSDs, but that has changed lately, and most applications which run on Linux will also run on 'BSD, and they are likely to have ports or packages. Of course, it depends upon what you want to do ... FreeBSD may be less popular than Linux amoung users, but it is in no way a "lesser" OS, and PC-BSD (based upon FreeBSD) is rapidly becoming my favourite desktop over Ubuntu, Suse, Debian, etc. Full support for Flash, right out of the box, and a choice of desktop (this improves in the next release, because PC-BSD is heavily KDE slanted just now -- and while I prefer Gnome to KDE, I'm looking closely at Enlightenment 17 which seems to be nearing release FINALLY!). Cheers, Rob.
Nobody wrote:
> On Mon, 11 Oct 2010 19:18:20 -0700, D Yuniskis wrote: > >> Ah, but *I* write the applications. We're not talking about a >> general purpose appliance -- rather, a "remote display for >> product 'foo'". No need to support multimedia, font service, >> etc. > > From what you've said, I would still be inclined to go the VNC/RDP route, > although maybe that's just because I don't know enough about the specifics.
<shrug> I can try it on the beta site (40 "clients") and see just what sort of a resource hog it is. I am pretty sure it will choke at 40 -- and definitely at 1,200 :-/
> The application server is probably running off mains, while the PDA is > running off batteries. If the PDA is mostly idle, to me that's "conserving > battery life" rather than "wasting processing capacity".
The PDA is only "active" when it is updating a display. I suspect battery life won't be affected -- in significant terms -- by the difference in computational load for one "communication protocol" vs. another. I.e., the time spent sleeping over the course of an 8 hour shift will be virtually the same (?).
> Also, server-side processing power is a commodity; requiring a > given level of PDA-side processing power may reduce the choices and/or
Having to move to a server *farm* (when you run out of CPU and/or bandwidth) really complicates the design and maintenance of the *system* (what happens if *a* server goes down -- how do you migrate those active clients to another server, how do you manage the configuration, backups, etc.). As you add clients, this becomes more and more inevitable. If, OTOH, each client brings horsepower with it, then you can scale more gracefully on a given server size.
> increase the price. And graphics processing power is a fairly cheap > commodity nowadays; I'd guess that an 8400GS with 256MiB of RAM could do > the rendering for 100 clients @800x600 both faster and more cheaply than > upping the PDA spec to a version with accelerated graphics.
This will be *really* easy to test! Set swap to 0 and load clients until it panics. I can probably try that with the existing application and just hook up 40 "PC's" to act as those 40 clients. Assuming xrdp ports cleanly to NBSD...
On 2010-10-14, Jon Kirwan <jonk@infinitefactors.org> wrote:
> On Thu, 14 Oct 2010 19:40:55 -0400, Spam@ControlQ.com wrote: > >><snip> >>I can't understand the enthusiasm for Linux given the BSD platforms ... >><snip> > > The FreeBSD kernel is a thing of sheer beauty. Linux is > definitely a stone soup, by comparison. Whole pieces of code > copied, pasted, and patched in places. But the herd goes > where it goes.
Gnu Herd runs on PDAs? -- Grant Edwards grant.b.edwards Yow! But was he mature at enough last night at the gmail.com lesbian masquerade?
Hi Rob,

Spam@ControlQ.com wrote:

>>>> Ideally, I'd prefer a BSD platform (decades of experience there). >>>> But, I can adapt, if need be. >>> >>> Who wouldn't? >> >> <grin> There appear to be *lots* of folks in that "wouldn't" camp! :-/ > > I can't understand the enthusiasm for Linux given the BSD platforms ...
<shrug> "Weenyism"? :> I suspect most folks aren't aware of the origins/differences, etc. (AT&T vs. the BSD morph)
>> Personally, I the HP 3900's seem the best candidate so far. >> They feel "substantial" (plus the expansion sleeves are a >> win). But, I think they would only "fit" use by a "man" >> (using that as a stereotypical term) -- too meaty for a >> smaller framed man or "woman" to have to lug around all >> day long. >> >> If I had to make a decision *today*, I'd opt for the HP >> hx4700 based on size/weight/features/etc. It seems more >> manageable in terms of size/weight. The CF slot is >> built-in instead of being provided by the sleeve. Battery >> seems ample (I would have to see how it fares after long >> term use and repeated partial charges, etc.). It's a >> 600MHz PXA270 so has more than enough balls to "draw >> displays". (Accessing the stylus is a bit of a pain -- but, >> that will be removed so it's not germane to my needs.) >> >> I'll have a look at some of the tablet products and see >> if any will give me the expansion capability in the right >> size range. >> >> If OBSD is supporting the PXA's, I suspect NBSD does, as >> well? I'll poke around both sites and see what turns up. > > I don't disagree with your asessement. I have in front of me an HP IPAQ > 2410, and a Palm TX (both PXA270's), as well as an old Pilot 5000 (no
I like the T3 as a reasonably compact PDA. But, in this sort of application, it loses out to the hx4700 ergonomically as well as architecturally.
> wireless). Here's a link to the Handhelds.org site which has an > assessement (likely out of date) of the state of Linux on various models. > > http://handhelds.org/moin/moin.cgi/SupportedHandheldSummary
Thanks. Yes, I'd already been there. But, it's all Linux-centric. I suppose I could peek in the Linux kernels for anything that isn't supported in NBSD and just port the differences without violating the letter of the law (seems like everyone copies everyone else in the OSS OS camps -- just different implementations)
> The Zaurus is supported pretty well by OpenBSD, and even does a nightly > build -- no really, OpenBSD doesn't like cross compilation for platform > support, they have a zaurus which builds makeworld in the lab.
Ouch! I have a friend who used to do the VAX builds for one of the camps. Had a serious impact on his electric bill, I'm sure! (and couldn't have been fun in our hot weather!)
> There is a very talented young individual, Marek Vasut(?sp)? who worked > on his thesis getting both Linux onto Palm, and putting OpenBSD there, > but he has had a bit of a falling out with Theo, the details of which I
<frown> TdR seems to be at the center of most of the disharmony in the *BSD camps. No personal experience with him so I can't comment other than "coincidental observations". IMO, disorder (in *BSD as well as *Linux) is the only thing that keeps MS in command of the market. You can't develop a real product with no *imposed* sense of direction :-/
> am unsure. As for NetBSD support ... start with the Zaurus and work > from there, I guess ... > > I have been hopeful of making older PDA's useful for hacking and such, > particularly given the 802.11 support, but in spite of getting Linux and > other operating systems running on them, their viability is limited.
A friend had, long ago, suggested using the original Palms as UI's. I.e., treat them as *terminals* accessed via the serial port on their docking connector. Seemed a good idea, at the time. Of course, they have progressed far beyond that in terms of i/f's (witness my desire to use them as GUIs with their attendant higher bandwidth and processing requirements). I think most handhelds are more useful *not* repurposed to some other OS. Simply because the lack of appropriate applications to run on them (I don't believe you can port a desktop application to a handheld without giving serious reconsideration to the entire UI as the physical environment is so very different!).
> I've had some degree of success with a Nintendo DS and the Homebrew > movement for raw (on the hardware) hacking, also with 802.11 support. > > At this point, I'm probably going to deal my old PDAs off, and move to an > Android tablet ... possibly an Archos, or a Witstec A81E ... but who > knows what will be announced next week. I can wait a week or two ...
Again, I think you will find that the sorts of applications that you might want to have available to you just won't "fit" with the tablet's ergonomics. By way of example, note how hard it is to play/port most *common* games to something like an iPad -- the "controls" are just "wrong". Wanna run gdb(1) on something without a *real* keyboard? Perhaps... *if* you redesign the UI to exploit the sorts of controls that are more viable on the tablet... :-( This is very evident if you deal with designing for disabilities. Many in that "community" profess that it "doesn't cost anything" (more) to design for disabilities. But, this just isn't realistic. Forget the fact that most folks ("designers") are ignorant of the multitude of different "disabilities" and the consequences of each... it's just not *practical* to design "greatest common divisor" interfaces to address everyone's shared/common capabilities. As a thought experiment, consider how you would *actually* interact with the applications that you would like to port to that handheld (tablet, etc.). You might later find that you are disappointed in the utility of those tools :-/
Hi Rob,

Rob Gaddi wrote:
> On 10/14/2010 4:49 PM, Spam@ControlQ.com wrote: >> >> I suppose the real sheep are the Windoze users, but Linux is truly a >> cult. >> BSD has that *just right* feel to it, and its probably best to keep the >> loonies elsewhere ... > > Meh. As someone who prefers Linux to Windows I already have a hard > enough time finding software to do the things I want to do. Switching > over to either of Linux's less popular cousins would seem to only > aggravate the problem.
I make no bones about using Windows-based tools for much of the "activities" related to work. I'm not going to build *a* particular (obsolete) kernel just for the *privilege* of running AutoCAD on a non-windows platform. Why? It works quite well where it is. With a wide variety of peripherals (as opposed to a few that "kindof" work with it). Ditto DTP, PCB, schematic, multimedia authoring, etc. etc. etc. I use my BSD boxes to write most of my code. My databases are hosted there. As is my web server, etc. OTOH, I typically interact with those things from a Windows front end! I am not excited about having to build 30 damn libraries just to have a GUI toolkit available for a utility to run *under* BSD -- when the same utility already runs reliably under Windows (and I can install it in a few minutes!). I rely on the UN*X boxen for verifying my devices "play nicely" with other network facilities. MS has bastardized so many protocols that they aren't worth supporting -- especially when they keep *changing*! If MS had developed DNS (WINS?), everyone on the planet would have to rewrite their URLs yearly as MS decided to make things case sensitive, then change ':' to ';', then list domain components in reverse order (e.g., com.google), then switch to UTF16 encoding for everything, etc. They're all just tools. Pick the ones that best suit what needs to be done. Amusing that you don't see carpenters becoming religious zealots over the brand of *hammer* they use! :-/
Hi Rob,

Spam@ControlQ.com wrote:
> > On Thu, 14 Oct 2010, Rob Gaddi wrote: >> Meh. As someone who prefers Linux to Windows I already have a hard >> enough time finding software to do the things I want to do. Switching >> over to either of Linux's less popular cousins would seem to only >> aggravate the problem. > > No doubt. Linux offers much in the way of device support which was > lagging in the 'BSDs, but that has changed lately, and most applications > which run on Linux will also run on 'BSD, and they are likely to have > ports or packages. > > Of course, it depends upon what you want to do ... > > FreeBSD may be less popular than Linux amoung users, but it is in no way > a "lesser" OS, and PC-BSD (based upon FreeBSD) is rapidly becoming my > favourite desktop over Ubuntu, Suse, Debian, etc. Full support for > Flash, right out of the box, and a choice of desktop (this improves in > the next release, because PC-BSD is heavily KDE slanted just now -- and > while I prefer Gnome to KDE, I'm looking closely at Enlightenment 17 > which seems to be nearing release FINALLY!).
I got on the NBSD bandwagon with 0.8 in '92 or '93 (? memory for this sort of detail fades after a few decades :> ). Then, quickly moved to FBSD 0.9 (which was contemoraneous with NBSD 0.8 but the FBSD folks wanted to look like they were "ahead" :-/ ) as the x86 port of FBSD was more stable than NBSD's (since FBSD *only* supported x86 while NBSD had many ports). [<frown> read "port" as "platform" soas not to confuse it with FBSD's early notion of "port" vs. "package" vs. "apps"] But, at around 2.2, FBSD started trying to be a Linux-wannabe (concentrating on new features with little regard for making existing features *work*!) so I jumped back to a more mature NBSD. Which is where I've stayed, since. [I have looked at OBSD from time to time but never saw any real reason to go that route over NBSD -- the three camps freely steal/share code/ideas so why switch if you don't have to? :> ] I think there has been some politics in the NBSD camp in recent years (in-fighting?) so my next upgrade might find me reevaluating that decision, again. :< Any comments you can add in that regard?
On Thu, 14 Oct 2010 22:23:17 -0700, D Yuniskis wrote:

> As you add clients, this becomes more and more inevitable. If, OTOH, > each client brings horsepower with it, then you can scale more > gracefully on a given server size.
But if you're running the application on the server, you run into the same issues sooner or later. Performing the rendering on the server will move the cut-off point (by how much depends upon how much of it you can push onto the GPU).
>> increase the price. And graphics processing power is a fairly cheap >> commodity nowadays; I'd guess that an 8400GS with 256MiB of RAM could do >> the rendering for 100 clients @800x600 both faster and more cheaply than >> upping the PDA spec to a version with accelerated graphics. > > This will be *really* easy to test! Set swap to 0 and load > clients until it panics. I can probably try that with the > existing application and just hook up 40 "PC's" to act as > those 40 clients. Assuming xrdp ports cleanly to NBSD...
I wasn't suggesting running an X server per terminal. If the entire stack is custom code, I'd rather have one normal X server for use as a rendering slave, and each instance of the application mangage its own frame buffer (e.g. OpenGL FBO, GLX pixmap or X pixmap) and RFB/RDP connection, with one copy of fonts, icons etc shared between all clients. If you want a more vanilla X environment, you could give each terminal a normal window and use a compositing manager, so that each window has a dedicated framebuffer and you don't have to worry about fitting the windows onto the screen. There's already a VNC-like package which is implemented as a compositing manager on the application side, so that each window gets its own native window on the terminal side rather than one big window for the desktop. But I have forgotten what it's called.
D Yuniskis <not.going.to.be@seen.com> wrote:
> Can I configure it and the PDA so that it *locks* into this > mode? I.e., nothing short of reflashing the device (or > something with a similarly high bar) can turn the browser > *off* (and, presumably, the browser *never* crashes)
Depends on what you run on the PDA of course, but I don't see why not. Assuming you can put Linux on the PDA, you just run NetSurf (or whatever) in your init script. Then disable any keypresses to get into boot menus etc. "Browser" and "never crashes"? Hmm, don't think I've ever seen one of those ;-)
> JavaScript would only be necessary if I couldn't have some > other processes running alongside the browser (this would > be a kludge). I am more than happy just pushing "drawing > primitives" at the handheld and waiting for input events.
That sounds like VNC... you don't have to use any particular windowing system over VNC, there are libraries to push drawing primitives through it. So you just say 'rectangle here', 'rectangle there', getting back 'mouse click here' etc, and it's up to you to render pixels in the rectangles, deal with UI events etc. Theo

Memfault Beyond the Launch