Is Revolution what we need?

Got a LiveCode personal license? Are you a beginner, hobbyist or educator that's new to LiveCode? This forum is the place to go for help getting started. Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

Post Reply
Gavin
Posts: 3
Joined: Wed Apr 19, 2006 10:13 am

Is Revolution what we need?

Post by Gavin » Wed Apr 19, 2006 10:27 am

Dear all,
Our company is looking at building a series of major commerical applications. These will be a kiosk/training environment and will guide the user through a series of instructions accompanied with videos and screenshots before testing the user by asking him/her to carry out tasks on a "virtual computer" screen - for a very basic example, the user may be asked to click the Start button on a virtual Windows desktop.

We have previously been looking at other solutions such as REALbasic but have always come across stumbling blocks. Specifically, we currently have a problem with the scaling of applications to suit different resolutions. For example, we want to build an app that will look just as good on large widescreen resolutions as it does on 1024x768. Is Revolution able to deal with such problems?

I am interested in any comments as we are keen to know if Revolution can do what we want.

Thanks,
Gavin

[Perhaps I shouldn't have posted this in the Revolution Media category - if it's more suitable elsewhere, perhaps an admin can move it.]

marielle
Livecode Opensource Backer
Livecode Opensource Backer

Post by marielle » Wed Apr 19, 2006 11:05 am

There is one thing that is specific to runrev that may help you find a very *clean* solution to this problem. Custom Properties.

To any UI object on the screen, you can attach custom properties or custom property sets that can be read from any part of the program.

Imagine you have for each single UI element on the screen the following custom properties/property sets defined.

cRect["640x480"] = "35,40,120,60"
cRect["1024x768"] = "40,100,160,160"
....
cFontSize["640x480"] = "14"
cFontSize["1024x768"] = "18"
....

Then you can write a very short script that will read that information for each control on a card and overwrite the rect and fontsize properties

Somewhere in your script, you should have one of these lines. Note that the screenresolution is stored at stack level because it is a value valid across all objects and cards of a stack.

Code: Select all

set the screenresolution of this stack to "640x480"
set the screenresolution of this stack to "1024x768"
Then, at stack level, you have and handler similar to this (this is rapidly written code).

Code: Select all

on preOpenCard
  put the screenresolution of this stack into tScreenRes
  repeat with x = 1 to the number of controls on this card
    put the cRect[tScreenRes] of control x into tRect
    if the number of items of tRect is 4 then set the rect of control x to tRect
    put the cFontSize[tScreenRes] of control x into tFontSize
    if isnumber(tFontSize) then set the textsize of control x to tFontSize
  end repeat
end preOpenCard
... and the only thing you need is to create a view that works for each big step in screen resolution. You can rely on the geometry manager for minor screen resize.

This solution has the advantage that you can create a floating stack that lets you define the cRect, cFontsize (or whatever you need) for each UI element on the screen. You don't need to have cRect, etc. attached to each UI object. You could as well store that information in a xml file that you parse on the fly (the xul way). In fact, an xml file will have the extra advantage to make it easier to define and use styles for categories of objects, in the css way (you will need to ask as a separate post as I don't want to overflow this one). If the logic/code is well written, a problem that could appear as a nightmare to many UI designers could become a real piece of cake to manage.

This pretty technical and I don't know how familiar you already are with runrev. Don't hesitate to comment on this and I will do my best to rewrite this in a way you find easier to understand.
Last edited by marielle on Wed Apr 19, 2006 2:13 pm, edited 3 times in total.

Gavin
Posts: 3
Joined: Wed Apr 19, 2006 10:13 am

Post by Gavin » Wed Apr 19, 2006 12:55 pm

Marielle,
Thanks for this post, that's quite an interesting solution. We're going to spend some time trying out example projects in Revolution and see if it's up to the task but it looks promising so far and your help is appreciated.

I'd still be interested to hear from other developers who have used Revolution to create kiosk and/or full screen multimedia tutorial projects.

Thanks
Gavin

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Post by malte » Wed Apr 19, 2006 1:14 pm

Hi Gavin,

going Fullscreen in Revolution is very doable. It requires a fair amount of scripting knowledge and if possible, a good graphics artist. But when you get familiar with Revolution it is a really powerful solution.

You might be interested in looking at a free Revolution multimedia tutorial I have written (which may be expanded in size, but does not start in Fullscreen)

http://www.derbrill.de/tutorials_e.html

If you have any questions, please feel free to ask.

All the best,

Malte

marielle
Livecode Opensource Backer
Livecode Opensource Backer

Post by marielle » Wed Apr 19, 2006 1:52 pm

Gavin wrote:Marielle,
I'd still be interested to hear from other developers who have used Revolution to create kiosk and/or full screen multimedia tutorial projects.
Best is to take contact with one of the persons whose name appear on the Case Studies (aren't they gorgeous?)

In addition to Malte who contributed a nifty arcade engine to the community, two other persons I know to have developed applications in Kiosk mode are Tereza Schneider and Eric Chatônet. Check out for them in the memberlist, or click on one of these links to send them a private message: Tereza, SoSmartSoftware (Eric)

(beware though, that not everybody notice the little "message" item on top of the screen, if you don't hear from them rapidly, use email)

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Post by malte » Wed Apr 19, 2006 2:04 pm

Your case studies site is really nice marielle. Thanks for listing me there.

All the best,

Malte

Garrett
Posts: 386
Joined: Sat Apr 08, 2006 8:15 am
Contact:

Post by Garrett » Wed Apr 19, 2006 6:15 pm

I'm not the most proficient or a big proponent of Revolution, but! I can
say with all honesty that Revolution, whether Media or Studio, is far more
suited to what you need in your description above.

I've seen examples floating around the Revolution community for just
these things, Kiosks examples, Quiz progam examples.

I don't use the Media version, but I know Studio has a trial. If Media
does also, give it a try, check all the examples that come with it, and check
the many examples on the internet.

-Garrett

Post Reply

Return to “Getting Started with LiveCode - Complete Beginners”