rebol and kiosk systems embedding ...
[1/15] from: petr:krenzelok:trz:cz at: 12-Oct-2002 9:51
Hello,
part of our project is gonna be - KIOSK systems. We just looked into
some at Invex computer show. They are pretty expensive, so we will
eventually produce few kiosk systems ourselves. However - the questioin
is - software. We can go several routes:
1) by some 3rd party software - but we are not sure they will sell us
without their kiosk system.
2) build such sw ourselves. What is needed?
a) customized browser, which will run in full screen mode and will
prevent user of touch screen to leave the environment back to OS
desktop. Such environment has to provide us with the ability to display
virtual keyboard, which would allow to enter urls, fill in forms, etc.
b) it has to allow for the admin to enter allowed urls, etc. - we
don't want to let ppl to browse the whole web, right? :-) (maybe kind of
a proxy would be needed?)
c) maybe to allow even visual mixture with Rebol code, - dialog
appearance - but can we have forced (modal, non-modal - I never know
which one represents what, but you surely understand :-) rebol based
window in the front of other screen content?
Several ways to implement 2)
A) do everything in rebol and forget browser - not too much acceptable,
as I would lost ability to delegate design work to designer, who is not
fluent with VID (although he will learn it in the future). The idea is
to allow combination of e.g. browser, dialog boxes in rebol, full-screen
rebol content, Scala Multimedia content etc, we will see how it can all
be combined
B) use browser - but as I said - we would have to be able to adapt
browser's environment, to allow some custom buttons for the kiosk
purpose, virtual keyboard display, etc. We would definitely go with
Mozilla (cross platform) and probably XUL, but I am not sure yet, if it
will allow us to customize UI to our liking. If anyone is experienced in
that area, I would appreciate some input here ...
some XUL references:
http://www.mozilla.org/xpfe/xulref/ - programmer's guide?
http://www.xulplanet.com/ - portal ...
C) what we saw during the show was - external configurable environments,
with embedded browser (mostly IE I think). I tried to look into Mozilla
embedding API, but it seems pretty complex to me. Well - I am not sure I
want to create cross-platform rebol browser anyway (although it could
help IOS a lot, as it misses just that kind of integration - no ability
to display embedded html content). I would like to ask, if anyone tried
to embed external app into View face? Is that even possible technically?
Simply not linking Rebol to Mozilla API, but to tell Mozilla to run
inside defined window. But I am not sure it would be sufficient, as
parameters would have to be exchanged between those two anyway (virtual
keyboard entry e.g.)
Embedding Mozilla API link (for those, who are skilled enough and would
provide rebol community with a gift of getting ability to display web
content into View layout. Mozilla is free and cross-platform, so no
problem on that side, what would be needed to distribute is just Mozilla
run-time and rebol wrappers :-)
http://www.mozilla.org/projects/embedding/embedapiref/embedapiTOC.html
Well, as always, I will appreciate any kind of input.
Thanks a lot,
-pekr-
[2/15] from: petr:krenzelok:trz:cz at: 12-Oct-2002 10:29
Just replying to myself but maybe as a reference for others - there seem
to be more to the mozilla than one could think - it seems to become a
platform rather than being simple browser :-)
http://www.mozdev.org/projects.html - what a bunch of projects ...
I don't know why, but e.g. XUL XML UI description language seems to me
rebol like - clean, simple enough, well though out (especially chrome://
- they use port-like principle we use in rebol :-)
http://www.xulplanet.com/tutorials/xultu/
Well, talking to myself here in the morning ... everybody seem to be
asleep :-)
-pekr-
[3/15] from: bry:itnisk at: 12-Oct-2002 11:43
>C) what we saw during the show was - external configurable
environments,
>with embedded browser (mostly IE I think).
Well IE did make an initial push towards developers for the KIOSK
market, tied in with Windows CE I believe, so that would be logical.
A propos XUL, I started with that when it first came out but dropped it
cause namespaces were not being handled correctly, i.e you could not
bind the namespace to a prefix but had to use the xul prefix all the
time. Would be interested in knowing if that's fixed.
[4/15] from: petr:krenzelok:trz:cz at: 12-Oct-2002 12:05
bryan wrote:
>>C) what we saw during the show was - external configurable
>>
<<quoted lines omitted: 9>>
>bind the namespace to a prefix but had to use the xul prefix all the
>time. Would be interested in knowing if that's fixed.
I don't know - according to following site, there is also easier way -
but still some options don't seem to work.
http://tln.lib.mi.us/~amutch/pro/mozilla/
I also got to the article describing how Borland faked embedding Mozilla
into their Kylix - they run mozilla process with -width and -height
parameters and just assured that Kylix can communicate with mozilla
process to exchange keyboard focus info, etc. Something like that could
be sufficient - I would run Rebol top and bottom bar, easily do virtual
keyboard, but command-line switches don't work for me here yet.
As you can see, old Communicator feature kiosk and super-kiosk modes -
http://developer.netscape.com/docs/manuals/deploymt/options.htm
Mozilla doesn't and my suspicion is - the way to solve it is to use XUL
or some other tweak ...
List of Mozilla's command line options are here:
http://www.mozilla.org/quality/browser/front-end/testcases/cmd-line/index.html
-pekr-
[5/15] from: greggirwin:mindspring at: 12-Oct-2002 10:16
Hi Pekr,
Two things come to mind. They aren't answers to your questions, but just
some thoughts based on my experience.
1) For debugging purposes, you want to be ablel to plug in a keyboard and
get to the OS very easily.
2) If you're planning for it all to be touch screen based, everything they
use to navigate and enter data has to be *large* and with more space
between. Finger tips are much larger than the mouse pointer, and you can't
see exactly where it's going to land until you press the screen. This
greatly affects how much you can fit on the screen (especially if you have
an on-screen keyboard), but it is also probably the most important lesson I
learned from the one kiosk project I worked on.
--Gregg
[6/15] from: yeksoon:myrealbox at: 13-Oct-2002 0:46
At 09:51 AM 10/12/2002 +0200, you wrote:
>Hello,
>part of our project is gonna be - KIOSK systems. We just looked into some
<<quoted lines omitted: 3>>
>1) by some 3rd party software - but we are not sure they will sell us
>without their kiosk system.
Couple of years back (almost 5 years back), I use a software called Lexitech.
I believe they are known as NetKey now. ( http://www.netkey.com )
Back then, their software allows us to "lock" the browser (MSIE) and define
starting page etc.
I'm sure they have more to offer now.
Just a suggestion.
YekSoon
[7/15] from: jason:cunliffe:verizon at: 12-Oct-2002 12:17
Hi Petr
I will read your post more carefully.. but my first reaction since I have also
thought about REBOL and kiosks is:
REBOL - invisible back-end network and database engineering
FLASH - visible front-end user interface
With Oldes' %make-swf.r you can use Rebol to dynamically a lot of Flash also.
Running through a flash interface would allow you to *filter* urls in many ways.
You can even run a REBOL Web server or rugby as a router service and have flash
urls go through that. Flash interface can be full screen but also a single entry
form or invisible dot on a web page.
The MSIE SDK kit I tried out a couple of years ago was made for kiosks and it
let one disable lots of stuff, customize the iconographics etc. Then it was a
free download, but needed an application form to get them to send you the CD.
Perhaps now Mozilla would be a much better replacement for it , perhaps not. One
very good advantage of MSIE6 which I have been learning about is that it has an
excellent XML/XSLT processor built in it. XSLT is quite rebolistic though it
does not appear so at first look. Your post certainly prompts me to catch up on
Mozilla Kiosk potential.
FlashMX might handle what you need without a browser, running as standalone.It
can still launch a browser.
The third-party wrappers for Flash allow much more control and access to the
operating system.
It is very interesting problem. I hope your keep the list regularly posted on
the project.
Good luck!
./Jason
[8/15] from: jjmmes:yah:oo:es at: 12-Oct-2002 19:14
> Back then, their software allows us to "lock" the
> browser (MSIE) and define
> starting page etc.
> I'm sure they have more to offer now.
Pekr,
There is a pretty good solution for free from M$, if
you can afford to use Windows
The steps to get your custom solution n. 2 working
are:
1) Get the IE Administration Kit
http://www.microsoft.com/windows/ieak
2) Make sure you sign up for the Intranet mode license
(free) which allows the customizations above and
anything that IE can do.
Check the docs on IEAK Profile Manager, wich allows
you to fix/customize any settings. You might find the
IEAK deployment guide helpful to get this done
3) Now the interesting part: With Rebol/View/Pro you
can drive the IE Component the way you want (Gregg
might now about this as I've seen his Clipboard code).
I am very interested on this part although I am mainly
a Linux developer so I can only help providing info
and pointers. My interest is in talking to IE via
rebol for View+IE apps and other cool things.
Unfortunately don't have the time/money to learn
VisualC++ but feel capable of hacking via rebol
There is also someone in the list from neoplanet.com
which might have lots of technical info as they used
to (or still might) provide a browser based on the IE
component
The options are: a) Get a kiosk mode configuration
with IEAK or b) use IEAK and then plug into the IE
component using rebol library access
Unfortunately there is no good mozilla kit for this.
Nestcape used to have a similar kit but am not sure
where that stands today.
If you need more info on this ping me via IOS
Regards
[9/15] from: petr:krenzelok:trz:cz at: 12-Oct-2002 19:34
Jason Cunliffe wrote:
>Hi Petr
>I will read your post more carefully.. but my first reaction since I have also
<<quoted lines omitted: 6>>
>urls go through that. Flash interface can be full screen but also a single entry
>form or invisible dot on a web page.
OK, I know flash is the option - the problem is that I don't have
designer fluent at Flash right now. Anyway, thanks for the tip. OTOH I
think that flash is overhyped, well - that's just me :-) If I would use
something for really cool presentations - I would go with Scala. One has
to see it first to believe it - viva old good Amiga days :-) You can
learn Scala in few hours to do basic stuff, all scripts are just that -
editable scripts, etc.
I would like to get Rebol working with 3rd party tools, but it is not
capable of that and noone can tell (except RT probably), if we can get
other app window (output) working in some View face.
I will answer to IE in another mail :-)
>It is very interesting problem. I hope your keep the list regularly posted on
>the project.
>
I will - I am still in the investigation period ...
Thanks for the tips,
-pekr-
[10/15] from: petr:krenzelok:trz:cz at: 12-Oct-2002 19:52
jose wrote:
> > Back then, their software allows us to "lock" the
>>browser (MSIE) and define
<<quoted lines omitted: 5>>
>There is a pretty good solution for free from M$, if
>you can afford to use Windows
We probably can affor Windows. If we will be pressed for the time with
the schedule, we will use Windows definitely, as I never installed Linux
myself and I would have to ask someone else to set-up machine for me ...
>The steps to get your custom solution n. 2 working
>are:
<<quoted lines omitted: 6>>
>you to fix/customize any settings. You might find the
>IEAK deployment guide helpful to get this done
I will look for what it offers, but the last thing I want MS to get my
support is to use their WindowsOS. Call me a former Amiga freak, but I
kinda like a freedom of choice. Mozilla is the way to go for me, if
possible. What is more - IE is NOT cross-platform and in the case we go
for Linux we are lost anyway ...
>3) Now the interesting part: With Rebol/View/Pro you
>can drive the IE Component the way you want (Gregg
>might now about this as I've seen his Clipboard code).
>
I am not sure. I have yet to read it, but isn't IE using some ActiveX,
COM, DCOM etc. stuff? The problem is, that there is no solution
available in Rebol, which wraps such complex stuff as technologies I
mentioned. There is also btw ActiveX component for Mozilla ....
>I am very interested on this part although I am mainly
>a Linux developer so I can only help providing info
>and pointers. My interest is in talking to IE via
>rebol for View+IE apps and other cool things.
>Unfortunately don't have the time/money to learn
>VisualC++ but feel capable of hacking via rebol
>
Maybe we could try to embed mozilla? That way our Rebol apps could
feature faces, which would be able to display web content, including
plug-ins. Rebol browser anyone? :-) Well, - what is more - Mozilla is
cross-platform and pretty feature rich for what is needed. There is no
advantage in using IE nowadays, even for browsing ...
> Unfortunately there is no good mozilla kit for this.
>Nestcape used to have a similar kit but am not sure
>where that stands today.
>
I don't need visual C++ kit or anything like that - what we need is
wrapper, but I am not sure we can handle it, if we have no skilled C,
C++ man here. I saw Ruby provides such binding e.g.
Thanks anyway,
-pekr-
[11/15] from: jjmmes:ya:hoo:es at: 12-Oct-2002 20:22
> Maybe we could try to embed mozilla? That way our
> Rebol apps could
<<quoted lines omitted: 5>>
> needed. There is no
> advantage in using IE nowadays, even for browsing
That is a lot more interesting project, if there is a
c++ programmer with plenty of time to build the xpcom
- rebol interfaces. I'd love to hear about this if you
build it !
IE advantage I mentioned was for administration (if
you needed a quick solution) but understand mozilla is
better solution long term
[12/15] from: andy:flyingcat at: 12-Oct-2002 16:36
Hi Petr:
If you don't mind only running your Kiosk on Linux, you can make most of
the browsers (or other applications) full screen/no borders/no gadgets
with controls under rebol program control by customzing a window manager
(like TWM) and using that with the X Window system.
Andy
[13/15] from: chris:ross-gill at: 12-Oct-2002 17:51
Hi Petr,
> I will look for what it offers, but the last thing I want MS to get my
> support is to use their WindowsOS. Call me a former Amiga freak, but I
> kinda like a freedom of choice. Mozilla is the way to go for me, if
> possible. What is more - IE is NOT cross-platform and in the case we go
> for Linux we are lost anyway ...
Another alternative is Opera which is cross-platform. You can apply style
sheets specific to full screen mode and still embed Netscape plugins and
IFrames.
Here's a quickie demo -- load in Opera and hit 'F11':
http://www.ross-gill.com/demo/
- Chris
[14/15] from: jason:cunliffe:verizon at: 12-Oct-2002 18:54
Petr Krenzelok wrote:
> OK, I know flash is the option - the problem is that I don't have
> designer fluent at Flash right now. Anyway, thanks for the tip. OTOH I
I'm available if you are interested..
> think that flash is overhyped, well - that's just me :-) If I would use
> something for really cool presentations - I would go with Scala. One has
> to see it first to believe it - viva old good Amiga days :-) You can
> learn Scala in few hours to do basic stuff, all scripts are just that -
> editable scripts, etc.
I remember Scala - ran it on Amiga4000 early 1993.
A company has just reinvented some aspects of Scala for Flash. It's called
RoboDemo:
http://www.ehelp.com/products/robodemo/whatsnew.asp
I feel that if Flash has been overhyped, it is also vastly under-appreciated.
FlashMX which emerged this summer has some great stuff. An entirely new event
model for one. Anything/Everything can be a button with dynamci behaviors aand
more..
If you know Javascript then you can program FlashMX. Among the excellent new
features relevant to kiosk apps are 'shared object' and 'local connection
object'.
Shared object is a cache support system for flash to enable persistence across
sessions.
Local Connection Object allows message passing between any flash movies being
server from the same server. You can call functions between separate flash
movies on separate machines in close to real-time.
Both of these onlly require a few lines fo code to implement.
A community of opensource flash scripts and components including 'prototypes'
[reusable class extensions and customizations]has blossomed in the past year:
http://www.actionscript-toolbox.com/
http://www.tatsuokato.com/flash/
http://www.layer51.com/proto/default.aspx
http://www.rubberduck.nl/projects/flashcomponents/index.html
http://www.flashcomponents.net/
In addition the Flash6 player can access video.still cameras and
audio[microphone inputs]. Video/audio chat requires some serious bandwidth and
more complex server installtion. But you can still use these stand-alone to
remarkable effect.
For example I did a very quick demo using two cameras connected to my Win98se
laptop:
1. Logitech webcam on the USB port
2. Sony DV camcorder on firewire port.
Flash detected both imediately. I am able to mask and drag live local video
images around on screen and do motion detection in half a dozen lines of code!!!
Combine that with local connection object and you have some killer kiosk
features :-) AMybe not what you need now, but don't underestimate the scope and
simplicity of flah now for interfaces. Plus you can generate a fully standalone
executable in seconds, no licensing headaches. XMLsocket allows a dierct
connection to remain open to any XML server anywhere. Bypass the http dance. Use
it for sending non-XML data even :-)
I think MM have a linux flash6 player out now, but not tested it yet. If so
would likely run in Mozilla too! Best of all worlds maybe...
Anyway, here the actionscript for two buttons to initialize, activate, and
display two video cameras with rollover and motion detection. No need to fuck
with ports [USB, Firewire], it takes care of all that. Just ask for Camera 0,
Camera1 etc..
//VIDEO
cam0_btn.onPress = function(){
cam0 = Camera.get(0);
video_txt.text = cam0.name;
v.video1_obj.attachVideo(cam0);
};
cam1_btn.onPress = function(){
cam1 = Camera.get(1);
video_txt.text = cam1.name;
video0_obj.attachVideo(cam1);
};
cam0_btn.onRollover = function(){
cam0 = Camera.get(0);
video_txt.text = cam0.name;
cam0.onActivity = function(mode)
{
status_txt.text = mode;
};
};
cam1_btn.onRollover = function(){
cam1 = Camera.get(1);
video_txt.text = cam1.name;
cam1.setMotionLevel(10, 500);
cam1.onActivity = function(mode)
{
status_txt.text = mode;
};
};
./Jason
[15/15] from: rebol-list2:seznam:cz at: 15-Oct-2002 21:42
Hello Jason and Pekr,
Sunday, October 13, 2002, 12:54:35 AM, you wrote:
JC> Petr Krenzelok wrote:
>> OK, I know flash is the option - the problem is that I don't have
>> designer fluent at Flash right now. Anyway, thanks for the tip. OTOH I
JC> I'm available if you are interested..
me too
>> think that flash is overhyped, well - that's just me :-) If I would use
>> something for really cool presentations - I would go with Scala. One has
>> to see it first to believe it - viva old good Amiga days :-) You can
>> learn Scala in few hours to do basic stuff, all scripts are just that -
>> editable scripts, etc.
I think that Scala will be a little bit expensive (but maybe I'm
wrong), Flash files I can make for free using my own Rebol's dialect:-)
JC> Shared object is a cache support system for flash to enable persistence across
JC> sessions.
JC> Local Connection Object allows message passing between any flash movies being
JC> server from the same server. You can call functions between separate flash
JC> movies on separate machines in close to real-time.
JC> Both of these onlly require a few lines fo code to implement.
I'm not such a FlashMX fun (I still rather do code compatible with
Flash5 but I've already explored some of the new features as well:
http://oldes.multimedia.cz/swf/mx-sharedobject.html
http://oldes.multimedia.cz/swf/mx-localconn.html
....
JC> I think MM have a linux flash6 player out now, but not tested it yet. If so
JC> would likely run in Mozilla too! Best of all worlds maybe...
I was using Flash5 with Netscape under RedHat6.1 few months ago and on my old PC on
233Mhz it was faster than under M$ WinNT (in my opinion the fastest M$
OS). If I would like to make kiosks, I would use Linux for them!
cheers Oldes
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted