Re: [FOSS] On the creation of Rev to Web tools

2010-09-16 Thread Rolf Kocherhans
Andre,

This all sounds phantastic !
Great idea !

I don't know if I can help, but I will if I can !

Please keep us up to date on this !

Cheers
Rolf


___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


[FOSS] On the creation of Rev to Web tools

2010-09-15 Thread Andre Garzia
Folks,

This is me revealing me some secret ideas I had in the last few years. I
kept this somewhat secret for many years because I wanted to implement it
but I came to the realization that I don't have the time to do it alone and
that is the exact kind of project that benefits from a FOSS initiative.

The project is to build a suite of tools to run inside Revolution IDE to
allow conversion of Stacks into a web scaffold that can be further tailored
and tweeked for deployment as web apps.

as Jerry, Sarah and Mary demonstrated it is possible to process a stack and
convert it to some other format. David Simpson also has conversion tools
built that can convert php and basic back to Rev and even more. All this
done with small teams. What a big team such as our community could build?
(-- rethorical question)

I remember talking with Mark Wieder and Richard Gaskin during a conference
in Monterey, I think I have found the pathway that would enable us some
quick conversion from Rev to the Web. The trick is not to try to convert a
common Rev stack, if you try to convert all kinds of Rev controls and stuff,
you end up basically reimplementing the engine, this is kinda hard. What we
need to leverage is not Rev engine and controls but Rev IDE using the tools
we like but not the standard Rev language and controls. I will detail below
the tools I think are needed:

TWO ENVIRONMENT FRAMES
First of all to understand this you need to understand an important concept.
For this system to work, there will be two different environment frames
running. One is the Rev IDE and Engine process which understands RevTalk and
is our development tool. The other is a background webserver that is the
target of our development tools and does not understand RevTalk but
Javascript. Actions on the development environment do not work directly on
the stuff we're developing but instead talk to the backend server that will
follow the orders.

WEB RUNNER CANVAS
Instead of creating stacks with all their complexity, we would create
something else that in the screen would appear like a stack, a floating
window for the user to drop and arrange controls. What would be running in
fact is a Rev coupled web server not unlike Ruby Web brick. This server
would be running in the background and we would be seeing its output on this
window inside the IDE. I have a Rev WebServer external ready for this
project. Thats the second environment frame that I've mentioned above. It
understands only Javascript.

WEB SAFE TOOLS PALETTE  INSPECTOR
Replacing the tools palette with a Web tailored one with tools that we've
scripted ourselves. They can mimic standard Revolution tools such as buttons
and fields but they are not in fact creating Revolution buttons and fields
but our own controls. We would also create our own inspector for setting
properties of our own self made controls.

When we drag a control to the WEB RUNNER CANVAS, we don't actually do
anything but talk to the underlining WEB SERVER saying we dropped such
control, the server then will instantiate the control a place it for us. So
in fact we're using Rev-like tools to talk to a web server that is building
javascript on the fly for us. When we drop a button on the web runner
screen, a POST call is made to the web server that picks this and creates a
button javascript object, this is transparent to the developer.

This way Rev becomes a HTML5/JS/CSS development tool. We don't have the
overhead of converting stacks to web because we're jumping that whole step
working directly with HTML5 and friends. This solves control placement and
interaction but does not solve script processing.

SCRIPT PROCESSING
We would define a subset of RevTalk and create direct conversions from
RevTalk to JS. As time went on we would implement more and more of RevTalk
but some minimal subset should be enough for a start. Javascript is a
wonderful language and converting scripts to it is the most safe option.
Running the frontend logic in something like FastCGI adds to much processing
to the server which adds to server load and to your costs.

The elegance of this approach is that we can begin with a fastCGI engine for
the script processing by directly executing RevTalk script on the FastCGI
process without translation, this way we could place all the other pieces
together before doing the RevTalk to JS work. By then we could simply put
our efforts on that translation.

We could build this and release under BSD license which would enable
business to use it in the commercial offerings and thus making it attractive
and incentive sponsorship. I would like to be paid to develop this free
solution but I think it is now time for us to work on this or risk being
left behind. This as it is defined needs no input whatsoever from the
mothership, it can all be done in Rev.

Any thoughts?





-- 
http://www.andregarzia.com All We Do Is Code.
___
use-revolution mailing list

Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread Malte Pfaff-Brill
Andre, sorry for hijacking this thread a bit...

I would be interested in how many people would really think they would be 
willing to invest some effort into various open source projects. I know David 
is a huge advocate of all things OSS. However, as Richmond pointed out pretty 
well, over the last 8 years I´ve spend in this community I have rarely seen OSS 
projects that took up momentum. I have been wondering why that is for quite a 
while now. My main thought is that it is not exactly easy to collaborate on rev 
Projects. This is partly due to the binary nature of stacks which makes it hard 
to use a version control system on rev projects, partly due to the lack of a 
place where projects like this could be hosted.

Current state: Everyone that tries to release stuff to the community is cooking 
her own soup. Though most people are very generous with sharing code on the 
lists and forums, there is no central repository where people can go to and 
collaborate on projects. We do have many sites spread all over the world with 
too many gems to dig out. 
Additionally we have revOnline. revOnline is a good place for consumers / 
prosumers though, not suitable for starting a collaborative effort to work on 
code. Especially libraries. Most of the stuff on revOnline is there for the 
visual stuff the stack does, or in a state where the lib is basically finished.

So the only things an author that uploads to revOnline can gain is 
- giving examples what can be done 
- help someone solve a problem with a complex stuff (requires a lot of 
coordination and is usually easier done by mail)
- show off what he has done. 

What an author usually can not hope for is to benefit from changes other coders 
have made once a stack is released into the wild. I have no idea how many 
people here would really willing to dedicate time into OSS projects (my last 
try was rather frustrating, though it has been a few years since I last tried.) 
I might be willing to test the waters again in a couple of weeks. More on that 
later.

All the best,

Malte



___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread David Bovill
On 15 September 2010 16:10, Malte Pfaff-Brill revolut...@derbrill.dewrote:


 I would be interested in how many people would really think they would be
 willing to invest some effort into various open source projects. I know
 David is a huge advocate of all things OSS. However, as Richmond pointed out
 pretty well, over the last 8 years I´ve spend in this community I have
 rarely seen OSS projects that took up momentum. I have been wondering why
 that is for quite a while now. My main thought is that it is not exactly
 easy to collaborate on rev Projects.


It's mainly due to the economics of cooperating in Rev - too easy to develop
solo, and partly due to the history of the community - it's average age is
pre-open source / more share ware - so the culture is not there, and finally
the community is a little small. For these reasons you need to do a little
bit more than simply than place code up on server and declare it open under
some undetermined license for a project to take off.


 This is partly due to the binary nature of stacks which makes it hard to
 use a version control system on rev projects, partly due to the lack of a
 place where projects like this could be hosted.


The version control problem, is effectively solved now that we can create
objects with IDs. It's a red herring anyway, as the majority of useful code
can be shared under version control without problem.

Current state: Everyone that tries to release stuff to the community is
 cooking her own soup. Though most people are very generous with sharing code
 on the lists and forums, there is no central repository where people can go
 to and collaborate on projects. We do have many sites spread all over the
 world with too many gems to dig out.
 Additionally we have revOnline. revOnline is a good place for consumers /
 prosumers though, not suitable for starting a collaborative effort to work
 on code. Especially libraries. Most of the stuff on revOnline is there for
 the visual stuff the stack does, or in a state where the lib is basically
 finished.

So the only things an author that uploads to revOnline can gain is
 - giving examples what can be done
 - help someone solve a problem with a complex stuff (requires a lot of
 coordination and is usually easier done by mail)
 - show off what he has done.


RevOnline does not work - it is not a collaborative environment, which is
why it is easier for people to post urls to downloadable stacks than
indicate there is a stack on revOnline. It should be replaced.


 What an author usually can not hope for is to benefit from changes other
 coders have made once a stack is released into the wild. I have no idea how
 many people here would really willing to dedicate time into OSS projects (my
 last try was rather frustrating, though it has been a few years since I last
 tried.) I might be willing to test the waters again in a couple of weeks.
 More on that later.


Not many. They would when it works. The hard part is not the many, its the
first 5. Ever tried to herd cats? Well there aren't any cats in the Rev
community - they are wolves. They growl a lot and are fiercely independent,
but are deep down secret pack animals even though they wont admit it in
public :) The mothership has a lot to answer for.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread wayne durden
Hi Malte,

I too have pondered the question.  I ended up feeling that the buy in
required by the commercial nature of the main product limits uptake by young
blood (generally poor) in numbers necessary to create open source momentum.

I have watched Ruby go from zero to being on the radar in the interim, and
few up and comers are going to latch onto runrev/livecode in the same way.
The no cost versions of the product are limited by commercial necessity and
those limits will always weigh on the balance of youngsters choosing between
the full package in a free language/IDE versus a reduced package here.

It seems a by-product of the necessity of RunRev/Kevin/Markula/unknown
ownership interests et al. needing to earn a return on their investment.  I
have been discouraged in concluding that while the base may grow it probably
can never capture the explosive exponential growth phase that the truly
successful open source languages have that only come with a couple orders of
magnitude of extra sets of eyeballs in the mix.

The product remains a wonderful secret weapon but will always languish
behind the frontier of the evolving landscape.

I really wish that a wealthy benefactor like Bill Gates would buy the whole
thing and release it all and let a thousand variations bloom and weed
themselves out...

Until it is absolutely no cost for the full version you simply won't get
teens on board in number, the ones with unlimited time and no commercial
obligations, and otaku like devotion to tackle the next new thing...
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread Andre Garzia
Malte,

Is my firm belief that if the project will save or make people money right
away then they will help...

:D

On Wed, Sep 15, 2010 at 12:10 PM, Malte Pfaff-Brill
revolut...@derbrill.dewrote:

 Andre, sorry for hijacking this thread a bit...

 I would be interested in how many people would really think they would be
 willing to invest some effort into various open source projects. I know
 David is a huge advocate of all things OSS. However, as Richmond pointed out
 pretty well, over the last 8 years I´ve spend in this community I have
 rarely seen OSS projects that took up momentum. I have been wondering why
 that is for quite a while now. My main thought is that it is not exactly
 easy to collaborate on rev Projects. This is partly due to the binary nature
 of stacks which makes it hard to use a version control system on rev
 projects, partly due to the lack of a place where projects like this could
 be hosted.

 Current state: Everyone that tries to release stuff to the community is
 cooking her own soup. Though most people are very generous with sharing code
 on the lists and forums, there is no central repository where people can go
 to and collaborate on projects. We do have many sites spread all over the
 world with too many gems to dig out.
 Additionally we have revOnline. revOnline is a good place for consumers /
 prosumers though, not suitable for starting a collaborative effort to work
 on code. Especially libraries. Most of the stuff on revOnline is there for
 the visual stuff the stack does, or in a state where the lib is basically
 finished.

 So the only things an author that uploads to revOnline can gain is
 - giving examples what can be done
 - help someone solve a problem with a complex stuff (requires a lot of
 coordination and is usually easier done by mail)
 - show off what he has done.

 What an author usually can not hope for is to benefit from changes other
 coders have made once a stack is released into the wild. I have no idea how
 many people here would really willing to dedicate time into OSS projects (my
 last try was rather frustrating, though it has been a few years since I last
 tried.) I might be willing to test the waters again in a couple of weeks.
 More on that later.

 All the best,

 Malte



 ___
 use-revolution mailing list
 use-revolution@lists.runrev.com
 Please visit this url to subscribe, unsubscribe and manage your
 subscription preferences:
 http://lists.runrev.com/mailman/listinfo/use-revolution




-- 
http://www.andregarzia.com All We Do Is Code.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread Andre Garzia
there goes my thread :-(

On Wed, Sep 15, 2010 at 12:27 PM, wayne durden wdur...@gmail.com wrote:

 Hi Malte,

 I too have pondered the question.  I ended up feeling that the buy in
 required by the commercial nature of the main product limits uptake by
 young
 blood (generally poor) in numbers necessary to create open source momentum.

 I have watched Ruby go from zero to being on the radar in the interim, and
 few up and comers are going to latch onto runrev/livecode in the same way.
 The no cost versions of the product are limited by commercial necessity and
 those limits will always weigh on the balance of youngsters choosing
 between
 the full package in a free language/IDE versus a reduced package here.

 It seems a by-product of the necessity of RunRev/Kevin/Markula/unknown
 ownership interests et al. needing to earn a return on their investment.  I
 have been discouraged in concluding that while the base may grow it
 probably
 can never capture the explosive exponential growth phase that the truly
 successful open source languages have that only come with a couple orders
 of
 magnitude of extra sets of eyeballs in the mix.

 The product remains a wonderful secret weapon but will always languish
 behind the frontier of the evolving landscape.

 I really wish that a wealthy benefactor like Bill Gates would buy the whole
 thing and release it all and let a thousand variations bloom and weed
 themselves out...

 Until it is absolutely no cost for the full version you simply won't get
 teens on board in number, the ones with unlimited time and no commercial
 obligations, and otaku like devotion to tackle the next new thing...
 ___
 use-revolution mailing list
 use-revolution@lists.runrev.com
 Please visit this url to subscribe, unsubscribe and manage your
 subscription preferences:
 http://lists.runrev.com/mailman/listinfo/use-revolution




-- 
http://www.andregarzia.com All We Do Is Code.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread David Bovill
On 15 September 2010 15:31, Andre Garzia an...@andregarzia.com wrote:

The trick is not to try to convert a
 common Rev stack, if you try to convert all kinds of Rev controls and
 stuff,
 you end up basically reimplementing the engine, this is kinda hard.


Agreed that would be hard short term, and probably doomed to fail long term.


 TWO ENVIRONMENT FRAMES
 ... Actions on the development environment do not work directly on
 the stuff we're developing but instead talk to the backend server that will
 follow the orders.

 WEB RUNNER CANVAS
 ... I have a Rev WebServer external ready for this
 project. Thats the second environment frame that I've mentioned above. It
 understands only Javascript.


I don't see any need for this approach? perhaps you need to explain a bit
more. What is wrong with getting the RevIDE to do all this client side? The
only reason to do this server side that I can see is to build a business
case around it. The RevIDe can do all this at lower cost - bandwidth etc,
and there are no real maintenance issues with distributed rev tools
nowadays. Don't get this.

WEB SAFE TOOLS PALETTE  INSPECTOR
 Replacing the tools palette with a Web tailored one with tools that we've
 scripted ourselves. They can mimic standard Revolution tools such as
 buttons
 and fields but they are not in fact creating Revolution buttons and fields
 but our own controls. We would also create our own inspector for setting
 properties of our own self made controls.


I think this is almost right, except that the logic of replicating Rev
controls is the wrong way round. Frankly the web controls are out of date,
and less sophisticated no than those you find in JavaScript libraries. Also
the audience and market is larger for people familiar with these existing
JavaScript interfaces than the tiny Rev market. What is needed is to emulate
the best and most robust JavaScript controls with Rev widgets - not the
other way round.

... When we drop a button on the web runner
 screen, a POST call is made to the web server that picks this and creates a
 button javascript object, this is transparent to the developer.


Again I can see absolutely no reason for the web server to do this - it's
more work, and what is the benefit? The dragging components onto the canvas,
can be done in the IDE. I demoed this at the last conference with widgets
that are under version control on the server.

This way Rev becomes a HTML5/JS/CSS development tool. We don't have the
 overhead of converting stacks to web because we're jumping that whole step
 working directly with HTML5 and friends. This solves control placement and
 interaction but does not solve script processing.


In MVC terms (as you say) - the controllers and models can be on the server.
This server side code could be on On-Rev, but equally there is no reason
when any good robust server code could be used in any language, we just need
to wrap so that the RevTalk based IDE handles it for us in the background.

As an aside, the code I've been working on is based around the idea that we
can have a more robust Rev based workflow (which speeds up native Rev
development), and has the side effect of producing server based controller
code - that can be ftp'd / transferred to the server and work there in
exactly the same way as it does locally. The aim is to enable the sharing of
this portable abstracted code, and build it into intuitive workflows so that
it is generated in a natural way as part of coding in Rev.

SCRIPT PROCESSING
 We would define a subset of RevTalk and create direct conversions from
 RevTalk to JS. As time went on we would implement more and more of RevTalk
 but some minimal subset should be enough for a start. Javascript is a
 wonderful language and converting scripts to it is the most safe option.


Yes - I think we are on the same page here. I see a sub-category of shared
code, which could be translated into JavaScript or other languages. People
would do this in order to allow their projects to work with existing online
frameworks, while allowing local prototyping in RevTalk. The workflow is
natural, and allows for gradual evolution of code bases based on incremental
incentives that benefit the end user. I think it could work, especially if
it were part of an explicit open source / open content strategy by RunRev,
in which they took and supportive but indirect role.


 The elegance of this approach is that we can begin with a fastCGI engine
 for
 the script processing by directly executing RevTalk script on the FastCGI
 process without translation


I still don't see any advantage to this - maybe I am missing something? And
FastCGI is AFAIK not the way to go now anyway?

We could build this and release under BSD license which would enable
 business to use it in the commercial offerings and thus making it
 attractive
 and incentive sponsorship.  This as it is defined needs no input
 whatsoever from the mothership, it can all be done in Rev.


It does not need 

Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread Andre Garzia
David,

I think I was misunderstood on the two environment part. When I say web
server and Rev IDE I am not saying remote web server in the sense of a
server far away but a little process running alongside the IDE on the same
machine. Not unlike the mongrel/ruby coupling.

You'll be working all on client side. No wasted bandwidth or extra CPU power
required.

You need, in my opinion, the server running to be able to develop in an
environment that is equal to your deployment option so that you don't end up
with cycles such as:

1 - build stuff in Rev
2 - convert it to web
3 - run it and it does not work or does not layout right
4 - back to Rev


If you're constantly building and tweeking inside a HTML5 enabled window,
you get the following benefits:

1 - You avoid any conversion need since you are already on the deployed
environment
2 - WYSIWYG approach, what you see on the canvas is exactly what the client
will see, no need to compile or translate anything

This way we maintain one of the strongest features of Rev which is being
able to develop incrementally avoiding the overhead of compile-debug-code
loops.

So in summary:
1 - the server is there because we need something to output as
real-as-possible data to a RevBrowser window inside Rev IDE where the
development will be done.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread David Bovill
Aha - got you. Good plan for offline development - though secondary in terms
of priority I'd say to having remote server based solution? NB - is the
external based on one of the C based open source server projects?

On 15 September 2010 17:19, Andre Garzia an...@andregarzia.com wrote:

 David,

 I think I was misunderstood on the two environment part. When I say web
 server and Rev IDE I am not saying remote web server in the sense of a
 server far away but a little process running alongside the IDE on the same
 machine. Not unlike the mongrel/ruby coupling.

 You'll be working all on client side. No wasted bandwidth or extra CPU
 power
 required.

 You need, in my opinion, the server running to be able to develop in an
 environment that is equal to your deployment option so that you don't end
 up
 with cycles such as:

 1 - build stuff in Rev
 2 - convert it to web
 3 - run it and it does not work or does not layout right
 4 - back to Rev


 If you're constantly building and tweeking inside a HTML5 enabled window,
 you get the following benefits:

 1 - You avoid any conversion need since you are already on the deployed
 environment
 2 - WYSIWYG approach, what you see on the canvas is exactly what the client
 will see, no need to compile or translate anything

 This way we maintain one of the strongest features of Rev which is being
 able to develop incrementally avoiding the overhead of compile-debug-code
 loops.

 So in summary:
 1 - the server is there because we need something to output as
 real-as-possible data to a RevBrowser window inside Rev IDE where the
 development will be done.

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: [FOSS] On the creation of Rev to Web tools

2010-09-15 Thread Andre Garzia
On Wed, Sep 15, 2010 at 5:15 PM, David Bovill da...@vaudevillecourt.tvwrote:

 Aha - got you. Good plan for offline development - though secondary in
 terms
 of priority I'd say to having remote server based solution? NB - is the
 external based on one of the C based open source server projects?


The external is based on mongoose.




 On 15 September 2010 17:19, Andre Garzia an...@andregarzia.com wrote:

  David,
 
  I think I was misunderstood on the two environment part. When I say web
  server and Rev IDE I am not saying remote web server in the sense of a
  server far away but a little process running alongside the IDE on the
 same
  machine. Not unlike the mongrel/ruby coupling.
 
  You'll be working all on client side. No wasted bandwidth or extra CPU
  power
  required.
 
  You need, in my opinion, the server running to be able to develop in an
  environment that is equal to your deployment option so that you don't end
  up
  with cycles such as:
 
  1 - build stuff in Rev
  2 - convert it to web
  3 - run it and it does not work or does not layout right
  4 - back to Rev
 
 
  If you're constantly building and tweeking inside a HTML5 enabled window,
  you get the following benefits:
 
  1 - You avoid any conversion need since you are already on the deployed
  environment
  2 - WYSIWYG approach, what you see on the canvas is exactly what the
 client
  will see, no need to compile or translate anything
 
  This way we maintain one of the strongest features of Rev which is being
  able to develop incrementally avoiding the overhead of compile-debug-code
  loops.
 
  So in summary:
  1 - the server is there because we need something to output as
  real-as-possible data to a RevBrowser window inside Rev IDE where the
  development will be done.
 
 ___
 use-revolution mailing list
 use-revolution@lists.runrev.com
 Please visit this url to subscribe, unsubscribe and manage your
 subscription preferences:
 http://lists.runrev.com/mailman/listinfo/use-revolution




-- 
http://www.andregarzia.com All We Do Is Code.
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution