![]() |
Point of Sale
For anyone who is interested I have established a point of sale client application to which anyone using the 770 can open a touchscreen display and operate the POS app on the remote computer. You need only have openSSH installed and X forwarding enabled.
Let's first see if you can display our instance of "X Eyes" - xeyes - on your 770. If openSSH is installed, open the X terminal and type Code:
ssh -X viewtouch@demo.viewtouch.com xeyes If that works, close the terminal to close the xeyes display. Open it again and type Code:
ssh -X viewtouch@demo.viewtouch.com openterm when the password is entered the 770 will download some fonts and textures, then get a START screen. Any user ID from 1 to 5 is OK, then select FastStart and you should see the pizza menu. Any button that has '2X' on it is a double-tap or double-touch button. I'll await for feedback to finetune the demo. There is an entry in the Wiki that covers the setup for X terminal and OpenSSH. The demo works for anyone running a desktop with an X terminal and SSH, too, as long as SSH is configured to allow X forwarding. |
I got the openssh deb from here: http://maemo.org/maemowiki/Applicati...b23c6c80b9d4f2
From the description, it reads as if I need to be root to install it. 1. How do I become root? There's this thread http://www.internettablettalk.com/fo...ead.php?t=1098 about becoming root without flashing . 2. Is it really necessary to be root to install openssh or is the installer-workarounds mentioned in that thread above good enough? |
I don't know the answers to the questions about being root to install openSSH on the 770. I hope someone who knows the answers will step in here and provide that.
|
Same problem here. I'm not sure how to run ssh directly from XTerminal.
|
Reggie; If you have SSH installed and X forwarding enabled you just open the terminal window and type that command in. Thoughtfix was requesting that somebody explain how to create an icon that could run a script or execute a command. That would be another way to bring up a display to the remote app.
|
I have tried it but got this:
Warning: No xauth data; using fake authentication data for X11 forwarding. connect Connection refused at /usr/viewtouch/bin/vt_openterm line 128. |
Remote: I'll try this tonight, time permitting.
|
Connection refused at /usr/viewtouch/bin/vt_openterm line 128
This means that I had the program down for a couple of minutes to refresh some of the data in it. Sorry about that. Xauth I don't know about - something on your end. Are you sure that X forwarding is enabled? |
status:
installed Xterm deb (from maemo.org applications), fine. installed openssh deb (from maemo.org applications), fine. opened xterm (was in extras). entered /var/lib/install/sbin/setup-ssh.sh clicked enter. the keys were created, messages appeared, took about 15 minutes. switched off, and on again. Xterm again, entered ssh -X viewtouch@demo.viewtouch.com /home/viewtouch/bin/openterm error message, don't remember exactly, like "no ssh". I tried /etc/init.de/sshd start did not work, not found. My guess: I need more privileges to start ssh. But someone else might know more? |
Somebody from Marina Del Rey, California, was able to access the demo this morning. I'm accessing it from a Debian 3.1 desktop on an ongoing basis. Every little bit of info gets us closer. Thanks for your efforts so far. I think we'll have this nailed pretty soon.
|
ok, I finally got ssh to work by executing it from:
/var/lib/install/bin/ssh but I'm getting the same error: Connection refused at /usr/viewtouch/bin/vt_openterm line 128 |
ssh now works; X-connection not yet tested
Quote:
I'll try the X-connection later today; currently I have no connection from the 770. christianhauck @desktop. |
I understand that it's supposed to download some textures et cetera, but after putting in the PW I get a list of switches and it's sitting there (presumably downloading). I'm also unfortunately going to be late for work so I'll have to leave this connected as I run to the streetcar stop. Hopefully it works.
|
Quote:
It's running again now. Again, thanks to all who are being patient. |
Is a 5-10 minute wait normal Remote? I assume this is when the download is occuring, after I enter the password I get a list of switches and then it sits there. I'm not sure what's going on as I'm receiving no visual queues.
|
looks like I'm too stupid : when I type "ssh" in Xterm, I get help about using ssh, so I assume ssh is there. But when I enter the whole line "ssh -X viewtouch@demo.viewtouch.com /home/viewtouch/bin/openterm" I get "sh: ssh: not found".
|
Put a "./" in front of it (to execute from the current directory).
Looks confusing, sh (the shell) is telling you ssh doesn't exist :) |
Quote:
(This is corrected) The list of switches you see is from the POS demo program - you see it because there is no X display environment accompanying your logon request. I'll next be providing information on how to overcome this. |
No, the list of switches is from vt_openterm... I figured I'd try it from my Mac first to see what the performance was like (obviously a POS app would generally be on a LAN, rather than over home broadband):
andrew@willow:~ $ ssh -X viewtouch@demo.viewtouch.com /home/viewtouch/bin/openterm Password: Usage: vt_openterm [OPTIONS] <display address> OPTIONS: -c Close the terminal instead of opening it -C Clone an already open terminal -d <number> Number of drawers attached to terminal -D Enable debug mode -h Show this help screen -n <name> Terminal name -p <port> Remote port to connect to -P <printer> Printer host -r <remote> Remote host to connect to -t <type> 'kitchen' or 'normal' -T <printer type> 'epson', 'star', 'ithaca', or 'text' ...and then it just sits there. HTH, Andrew |
Quote:
------------ There's a shorter command now: Code:
ssh -X viewtouch@demo.viewtouch.com openterm Here's what we've learned... You get the switch (i.e., program arguments) info because the openterm program fails, and that's because your DISPLAY environment variable hasn't been set for the user you are at the moment. In other words, you are not the user who has the X display privileges on your 770 and your 770 is not going to give you a display built out of X primitives - the POS app. You must have su'ed to root, for instance, and root does not have an X display environment. If you are a user for whom the X display environment has been established, if you are the normal user, then ssh will then set up the forwarding channel, forward your X environment info and everything will be fine. On my own desktop I opened an X terminal console and an X terminal root console. When I executed the ssh command coming in from a root X terminal console it failed for me, too. When I executed it in a non-root X terminal console it worked. ---------- Yes, normally POS is done on a LAN, which means that there has to be at least one computer on the LAN. The significance of this test is that it is to be done on the WAN, which means that there will be no need for any computers on the LAN. Software without computers, but with only a handheld wireless X terminal like the 770, at least as far as any software user is concerned. In the past a user of software has always meant a user of computer hardware, too. A user of software will not necessarily continue to mean a user of computer hardware, too as soon as we're over this hump. If people like software but they don't like computers, then that's the target we're aiming at - to replace the computer the display is attached to with an X environment that the display is attached to. |
Confirmed (as root):
You must set the DISPLAY environment variable for X When I connected as 'user' I get: Warning: No xauth data; using fake authentication data for X11 forwarding. ...then it just sits there. *edit: This wouldn't have anything to do with needing to switch ttys would it? Seems like a window's jusrt not popping up. |
Quote:
I've also placed xeyes on the application host. Can you display that? If no then the problem is not the POS code and we can take the focus away from it. If yes, then it's our problem here and we can narrow our focus to it. It's been a good day - we're learning. Code:
ssh -X viewtouch@demo.viewtouch.com xeyes |
Beautiful!!! xeyes occupied the full window and would look wherever I touched the stylus to the screen. Dragging also mimicked the effect they normally exhibit with a mouse. So your host was doing all the background processing and the 770 was just responsible for the rendering? Good lord, I finally 'get' the ramifications of everything you've been saying. I think we'rein for some interesting times.
|
xeyes worked for me too! now, if we can try out the pos... :)
|
Eugene, just to let you know, when running xeyes, tapping the stylus on any part of the screen gives a second of delay before the eyes move. Dragging the stylus however gives around a quarter of a second delay. I'm not sure if this helps.
|
Quote:
I talked yesterday with someone who recently sat in his home with his wife & kids while he was putting four new items on the menu in the 80 restaurants operated by the company he works for, all across Canada, while the people in the restaurants were using their systems. He did not use a computer, by the way, he only used a touchscreen display that was connected to the network! He makes use of openVPN (along with my pos) to continuously connect to all of those locations, bypassing the traffic of the world wide web. He manages all the IT work for his company all by himself, part time. Nobody at any restaurant organization has ever even dreamed of creating the kind of efficiency and control he has achieved. Even the people running the organization he works for don't really comprehend what has been done. I've visited restaurant companies that have a staff of 12, 15 or more as they attempt something similar, and fail. I know of a restaurant organization not too much bigger that has spent over $20 million attempting this and has failed. I could tell you stories. In the 22 years since X first was created, nobody has ever built a handheld wireless touchscreen device before that ran X. Now that Nokia's done it the genie is out of the bottle. Not even Nokia understands what they've made possible, yet. More apps tomorrow and, hopefully, pos. Meanwhile, anyone who has ever added an application to the KDE or Gnome panels, or to a windows/apple desktop would now be thinking how to add an icon to the 770's display that can contain the ssh command to open a display to any remote X client application. As soon as someone does that then the 770 has a network-driven GUI, not just a device GUI, and the number of icons you can have in the GUI, the variety of client apps & storage that you can access with your 770 GUI is virtually unlimited - it's bigger than the world wide web because it includes the entire Internet, not just the www. One more thing - any app on that box you open a window to is running on FreeBSD 6.0. The eyes would look exactly the same if the box were running any Linux distro, or any other OS that X abstracts, so you wouldn't know or have to care because X means that not only is the remote hardware irrelevant, but so is the remote OS. And if the box got too busy instead of building a server farm we would just migrate the client application to a cluster (or grid) and move the storage to the network. |
I successfully ran xeyes at about 14:35 GMT and am trying the openterm now... I got the X11 forwarding warning both times. I'm just leaving it, assuming it's downloading a ton of stuff... Memory usage is low (two bars).
|
Remote, has anyone gotten the POS demo to work on a 770 yet?
|
ah, good old xeyes finally works ;
but I haven't got openterm to run yet. I enter the password, get the warning (no Xauth data; using fake...), which also appeared before xeyes came up, the cursor rests in the next line, and that's it. |
Out of curiosity, what happens if an app tries to display data bigger than the available screen size? For example, if the POS demo was 1024x768, would scroll bars appear?
XEyes filled up all of the available real estate on the screen... |
Quote:
|
Excellent, I'm looking forward to seeing it in action.
|
Quote:
Quote:
Quote:
Quote:
Something like NX, of course, could well be something interesting to play with. I've heard many good things about it but not seen a demo yet. I'd got the impression your plan was to provide handheld, wireless, X terminals as POS terminals within a larger premises, which hosted the X clients. The former is even more interesting, of course, especially if NX can get the latency down sufficiently for it to be suitable over a GPRS connection. Cheers, Andrew |
Quote:
Quote:
With regard to moving this beyond the LAN, my plan isn't to access any and all X apps, no, but simply to access my own X apps. Any X app written for the desktop by someone who has no interest in or knowledge of leveraging the remote display protocols of X is not going to do an especially adequate job of displaying over the WAN, or even the LAN, any more than John Smith can compete in a Formula Race just because he is allowed to drive a Formula Race car. The X app and network have to be built in such a way as to leverage what X and network technologies offer. If this is done then, yes, the WAN latencies are reduced below the point where you can perceive them - that's all you have to do. There is a step between the LAN and the WAN, don't forget - the MAN (metropolitan area network). MAN latencies are typically a fraction of the latency experienced on the WWW. And if you use a VPN, (which is free, thanks to projects like openVPN) then you can bypass the WWW and achieve latencies of 9-12 ms. It takes twice as long as that to blink your eye. There is much more to this, including how you render the GUI (because you certainly don't use bitmapped graphics) but I can't put it all here. The crowd that doubts it can be done has always been large. Nobody who 'knows' it can't be done is going to try to do it, are they? I've done many things that I didn't know could not be done. We're already doing WAN POS, though, without NX, so there's no question of whether it will work. We use it every day. With regard to this test, we're very small and very busy working with our largest client right now on a project (plus, I'm not a programmer myself) so we're setting up and tweaking this test with whatever time I can beg from a new hire during his lunch breaks. I very much appreciate the tips you've passed on. We'll go back at it sometime on Monday. |
Sorry for the terse post, but:
More! |
Bueller? Bueller? ... Bueller?
This was such a cool proof of concept, what's going on? |
They are still doing tests. I've been helping them run some things offline. No big updates yet but they are actively fixing some stuff. I'll report back soon.
|
Waiting on my 770
I ordered my 770 a week ago. It hasn't shipped yet. When I get it we'll be able to move forward on this. My hesitation since the 770 was first introduced at the beginning of November is the inability of Nokia to keep the 770 in stock and deliver promptly. My sole reservation about the 770 is that Nokia is still having serious difficulties in February in its fulfillment of orders three months after the 770's introduction. I usually avoid a product like the plague if it's chronically out of stock like the 770 is.
With all the positive reviews and awards that the 770 is getting the demand must be very high and still growing in comparison to the level of demand that Nokia thought they would be dealing with. Three months begins to be a long time for the company to not have been able to increase its production output to meet demand. At this stage Nokia is the bottleneck of this project. |
How are you able to avoid using the WWW, if you are doing something remotely? Isn't that data still going to the WWW at some point in it's life, once you move it beyond a LAN?
|
Quote:
Many people use the terms Internet and World Wide Web interchangeably but the Internet and the Web are not interchangeable terms. The Internet is a massive network of networks, a networking infrastructure. It connects millions of computers together globally, forming a network in which any computer can communicate with any other computer as long as they are both connected to the Internet. Information that travels over the Internet does so via a variety of languages known as protocols. The World Wide Web, or simply Web, is a way of accessing information over the medium of the Internet. It is an information-sharing model that is built on top of the Internet. The Web uses the HTTP protocol, only one of the languages spoken over the Internet, to transmit data. Web services, which use HTTP to allow applications to communicate in order to exchange business logic, use the the Web to share information. The Web also utilizes browsers to access Web documents called Web pages that are linked to each other via hyperlinks. Web documents also contain graphics, sounds, text and video. The Web is just one of the ways that information can be disseminated over the Internet. The Internet, not the Web, is also used for e-mail, which relies on SMTP, Usenet news groups, instant messaging, FTP and even the X Windows System protocol. So the Web is just a portion of the Internet, albeit a large portion, but the two terms are not synonymous and should not be confused. The X protocol is contained in the Nokia 770, and this is one of the very biggest reasons, in my opinion, why it is a breakthrough device. X is commonly thought of as a way to build pretty desktops for UNIX, Linux, BSD, etc., but it is actually a remote display transparent networking protocol. In the Point of Sale world it has been a great relief to us all to see the arrival of very small parallel port print servers that attach to the parallel ports of the printers and turn the parallel ports into wireless ethernet ports. It's a big deal when a printer no longer has to be regarded as a peripheral that is plugged into a PC and is, instead, a network resource. The big deal about X is that if you just had a little X terminal you could attach it to a display's video port and turn it into a network port. If you do this, and if you have apps that are built with X interfaces, then the display itself is no longer regarded as a peripheral that has to be plugged into a PC and is, instead, a network resource. Yes, that means that the PC can be done away with, if everything that used to plug into the PC can be plugged into the network instead. Now, find a very small X terminal that attaches to the video port. I've been looking for a long time and finally found one. And the apps built with X interfaces - I have those. I'm dealing right now with the fact that although the Nokia 770 has X, it has a somewhat crippled implementation of X in that many X tools are missing, things like xfontsel. My X apps use the old style 'X Core' fonts - ie server side (non TTF) ones like the ones the Nokia uses. The X Server on the 770 is quite stripped down and has had support for core fonts disabled. So I have to change to using the more modern client side TTF font rendering ( Xft ). It involves substituting our Xfont* calls to use XftFont instead. I have to do this at the same time that a lot of other projects are underway, so I can't spend that much time on it. Back to the original query: Be thankful that the Internet is much, much more than the Web. Be thankful that there are other protocols to make the Internet useful than those which drive the Web. And Be thankful that X, the network transparent display protocol used on the Nokia, is one of them. What does network transparent mean for the Nokia 770? It means that your GUI and apps can make use of not just the World Wide Web but also of the entire Internet, just as easily as your GUI and apps can make use of your individual 770 itself. You'll soon have Icons on your 770 that directly invoke the power and versatility of the entire Internet, not just of the Web, not limited to what browsers can do, which is just the Web. |
All times are GMT. The time now is 00:07. |
vBulletin® Version 3.8.8