Re: Wasm and the LC Roadmap

2021-02-17 Thread Richard Gaskin via use-livecode

David Bovill wrote:

> Anyone know the wasm plans?
>
> I’m Woking on a project in collaboration with a number of other
> platforms and partners that are using wasm. Would like to play
> in the same place with LiveCode.

Given the vast gulf between the browser DOM and LC's object model, and 
the limited role of WASM for GUIs as Andre reminded us, WASM output 
alone is likely an improvement but not likely a game-changer.


It may be useful to evaluate how your app performs and behaves under the 
current HTML output, and then imagine that with a bit shorter download 
and a bit better performance. I'd be surprised if it cuts either 
download or overall execution speed by as much as half.


How well does your app work when exported using the current LC HTML option?



Could there be a place in your plans for streaming apps, a net-savvy 
standalone that gives you nearly all the same benefits of web deployment 
outside the confines of a browser window?


True, it does mean a one-time install, but a web deployment means 
downloading the engine again and again every time you go to the page 
using it; easier but far more tediously impactful over the lifecycle of 
the user's relationship with your app.


Distributing LC-native stack files lets us deliver a dedicated user 
experience (e.g. relevant menus and no fear of the Back button), with 
ultra-rapid development cycles using the LiveCode we know and love 
today, with all the performance we enjoy in any LiveCode standalone.




Porting directly from desktop to browser is not an easy task. I can 
remember when the Apple Developer List exploded with rage demanding 
Apple add a feature to XCode to provide a one-click way to port iOS and 
macOS apps to the Web, and how everyone stopped using Swift and 
Objective C when Apple didn't deliver. ;)


--
Richard Gaskin
Fourth World Systems


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


Re: Wasm and the LC Roadmap

2021-02-17 Thread David Bovill via use-livecode
Wasm is a pretty mature target by now. Most of the projects I work with already 
have deployments using wasm on either the server side or the client side. 
ASP.NET and Blazer is making quite a stir. It’s not the sort of - let’s deploy 
it now thing - but when looking at a partnership between several institutions 
each with their own projects - wasm provides a relatively solid basis fir 
glueing the pieces together - regardless (more or less) of the language if 
choice of the collaborator.

   
 
   ***
   

   \\   //  
\\\//  ***
  \\\
   |||//   ,
   |__/
,,,//\,,o==o
;

Schedule a meeting using this link.
Writing and media work on Media Garden.

LinkedIn: David Bovill
Twitter: @fortyfoxes
On 17 Feb 2021, 15:44 +, Andre Garzia via use-livecode 
, wrote:
> Let me begin by saying that WASM is not a silver bullet. I know this doesn’t 
> happen on our community, and that David is not mentioning WASM as a magical 
> solution for HTML5 deployment.
>
> A bit of context is needed to understand why WASM is important and cool. In 
> the past, many C/C++ to Web solutions were based on emscripten which is a 
> toolset based on LLVM that can output C/C++ code in something called “ASM.js” 
> which is a very compact JavaScript source code that kinda does what the C/C++ 
> was doing. This is how people ported the “Unreal Engine” to the web for 
> example. Be aware that ASM.js doesn’t deal with graphics and stuff, that 
> still web technologies. It is just very good at number crunching and makes it 
> possible to reuse C/C++ code.
>
> The main drawbacks from ASM.js (which can be felt on the HTML5 deployment) is 
> that the file sizes are huge. Just imagine a compiler that instead of 
> generating native binary code is generating actual equivalent JavaScript 
> code. This presents two problems for the user, first is the lengthy file 
> transfer needed to download all that content to the users browser, second is 
> the time it takes for the JS engine to actually parse those large files.
>
> These problems are mitigated by WASM. WebAssembly grew out of the working 
> groups that were developing ASM.js. It is a bytecode format, so it is smaller 
> than the equivalent JS file. It is also a standardized VM, which means it 
> executes the same in all browsers that support it. Another cute trick it can 
> do is that is can start loading the bytecode in the VM while it is 
> transferring (aka loading while streaming) which means that by the time the 
> transfer completes, a huge portion of that code is already loaded.
>
> Not only this speeds up the user experience, but having a well-defined VM 
> makes it easier for language developers to target it instead of the ASM.js 
> hacks.
>
> The same toolset that produces ASM.js can produce WASM. It should be natural 
> evolution for the HTML5 deployment to switch from ASM.js based to WASM based. 
> This doesn’t make it magical though, this switch alone will not make LC work 
> on the browser beyond what they’re currently doing. It needs more work, but 
> it should yield smaller files which makes it a better experience.
>
> > On 17 Feb 2021, at 15:30, Graham Samuel via use-livecode 
> >  wrote:
> >
> > Well done Klaus, I was still Googling it! I am in fact looking at articles 
> > (e.g. https://blog.bitsrc.io/whats-wrong-with-web-assembly-3b9abb671ec2 
> > ) that 
> > suggest that despite some very significant users (Google Earth is one), 
> > wasm hasn’t exactly conquered the universe in the three years since it was 
> > launched.
> >
> > Would LC users benefit and/or would it be a massive diversion of scarce 
> > development effort? Anyone have any idea?
> >
> > Graham
> >
> > > On 17 Feb 2021, at 15:19, Klaus major-k via use-livecode 
> > >  wrote:
> > >
> > > To all who are also not familiar witht the gazillion abbreviations,
> > > David is talking about -> WebaSseMbly :-)
> > >
> > > > Am 17.02.2021 um 16:13 schrieb David Bovill via use-livecode 
> > > > :
> > > >
> > > > Anyone know the wasm plans?
> > > >
> > > > I’m Woking on a project in collaboration with a number of other 
> > > > platforms and partners that are using wasm. Would like to play in the 
> > > > same place with LiveCode.
> > > >
> > > > 
> > > > 
> > > > ***
> > > > 
> > > > 
> > > > \\ // 
> > > > \\\// ***
> > > > \\\
> > > > |||// ,
> > > > | __/
> > > > ,,,//\,,o==o
> > > > ;
> > > >
> > > > Schedule a meeting using this link.
> > > > Writing and media 

Re: Wasm and the LC Roadmap

2021-02-17 Thread Andre Garzia via use-livecode
Let me begin by saying that WASM is not a silver bullet. I know this doesn’t 
happen on our community, and that David is not mentioning WASM as a magical 
solution for HTML5 deployment.

A bit of context is needed to understand why WASM is important and cool. In the 
past, many C/C++ to Web solutions were based on emscripten which is a toolset 
based on LLVM that can output C/C++ code in something called “ASM.js” which is 
a very compact JavaScript source code that kinda does what the C/C++ was doing. 
This is how people ported the “Unreal Engine” to the web for example. Be aware 
that ASM.js doesn’t deal with graphics and stuff, that still web technologies. 
It is just very good at number crunching and makes it possible to reuse C/C++ 
code.

The main drawbacks from ASM.js (which can be felt on the HTML5 deployment) is 
that the file sizes are huge. Just imagine a compiler that instead of 
generating native binary code is generating actual equivalent JavaScript code. 
This presents two problems for the user, first is the lengthy file transfer 
needed to download all that content to the users browser, second is the time it 
takes for the JS engine to actually parse those large files.

These problems are mitigated by WASM. WebAssembly grew out of the working 
groups that were developing ASM.js. It is a bytecode format, so it is smaller 
than the equivalent JS file. It is also a standardized VM, which means it 
executes the same in all browsers that support it. Another cute trick it can do 
is that is can start loading the bytecode in the VM while it is transferring 
(aka loading while streaming) which means that by the time the transfer 
completes, a huge portion of that code is already loaded.

Not only this speeds up the user experience, but having a well-defined VM makes 
it easier for language developers to target it instead of the ASM.js hacks.

The same toolset that produces ASM.js can produce WASM. It should be natural 
evolution for the HTML5 deployment to switch from ASM.js based to WASM based. 
This doesn’t make it magical though, this switch alone will not make LC work on 
the browser beyond what they’re currently doing. It needs more work, but it 
should yield smaller files which makes it a better experience.

> On 17 Feb 2021, at 15:30, Graham Samuel via use-livecode 
>  wrote:
> 
> Well done Klaus, I was still Googling it! I am in fact looking at articles 
> (e.g. https://blog.bitsrc.io/whats-wrong-with-web-assembly-3b9abb671ec2 
> )  that 
> suggest that despite some very significant users (Google Earth is one), wasm 
> hasn’t exactly conquered the universe in the three years since it was 
> launched.
> 
> Would LC users benefit and/or would it be a massive diversion of scarce 
> development effort? Anyone have any idea?
> 
> Graham
> 
>> On 17 Feb 2021, at 15:19, Klaus major-k via use-livecode 
>>  wrote:
>> 
>> To all who are also not familiar witht the gazillion abbreviations,
>> David is talking about -> WebaSseMbly :-)
>> 
>>> Am 17.02.2021 um 16:13 schrieb David Bovill via use-livecode 
>>> :
>>> 
>>> Anyone know the wasm plans?
>>> 
>>> I’m Woking on a project in collaboration with a number of other platforms 
>>> and partners that are using wasm. Would like to play in the same place with 
>>> LiveCode.
>>> 
>>> 
>>>   
>>> ***
>>> 
>>>  
>>> \\   //  
>>>  \\\//  ***
>>>\\\
>>> |||//   ,
>>> |__/
>>> ,,,//\,,o==o
>>> ;
>>> 
>>> Schedule a meeting using this link.
>>> Writing and media work on Media Garden.
>>> 
>>> LinkedIn: David Bovill
>> 
>> 
>> --
>> Klaus Major
>> https://www.major-k.de
>> https://www.major-k.de/bass
>> kl...@major-k.de
>> 
>> 
>> ___
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


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


Re: Wasm and the LC Roadmap

2021-02-17 Thread Graham Samuel via use-livecode
Well done Klaus, I was still Googling it! I am in fact looking at articles 
(e.g. https://blog.bitsrc.io/whats-wrong-with-web-assembly-3b9abb671ec2 
)  that 
suggest that despite some very significant users (Google Earth is one), wasm 
hasn’t exactly conquered the universe in the three years since it was launched.

Would LC users benefit and/or would it be a massive diversion of scarce 
development effort? Anyone have any idea?

Graham

> On 17 Feb 2021, at 15:19, Klaus major-k via use-livecode 
>  wrote:
> 
> To all who are also not familiar witht the gazillion abbreviations,
> David is talking about -> WebaSseMbly :-)
> 
>> Am 17.02.2021 um 16:13 schrieb David Bovill via use-livecode 
>> :
>> 
>> Anyone know the wasm plans?
>> 
>> I’m Woking on a project in collaboration with a number of other platforms 
>> and partners that are using wasm. Would like to play in the same place with 
>> LiveCode.
>> 
>>  
>>
>>  ***
>>  
>>   
>>  \\   //  
>>   \\\//  ***
>> \\\
>>  |||//   ,
>>  |__/
>> ,,,//\,,o==o
>> ;
>> 
>> Schedule a meeting using this link.
>> Writing and media work on Media Garden.
>> 
>> LinkedIn: David Bovill
> 
> 
> --
> Klaus Major
> https://www.major-k.de
> https://www.major-k.de/bass
> kl...@major-k.de
> 
> 
> ___
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

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


Re: Wasm and the LC Roadmap

2021-02-17 Thread Klaus major-k via use-livecode
To all who are also not familiar witht the gazillion abbreviations,
David is talking about -> WebaSseMbly :-)

> Am 17.02.2021 um 16:13 schrieb David Bovill via use-livecode 
> :
> 
> Anyone know the wasm plans?
> 
> I’m Woking on a project in collaboration with a number of other platforms and 
> partners that are using wasm. Would like to play in the same place with 
> LiveCode.
> 
>   
> 
>   ***
>   
>
>   \\   //  
>\\\//  ***
>  \\\
>   |||//   ,
>   |__/
> ,,,//\,,o==o
> ;
> 
> Schedule a meeting using this link.
> Writing and media work on Media Garden.
> 
> LinkedIn: David Bovill


--
Klaus Major
https://www.major-k.de
https://www.major-k.de/bass
kl...@major-k.de


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


Wasm and the LC Roadmap

2021-02-17 Thread David Bovill via use-livecode
Anyone know the wasm plans?

I’m Woking on a project in collaboration with a number of other platforms and 
partners that are using wasm. Would like to play in the same place with 
LiveCode.

   
 
   ***
   

   \\   //  
\\\//  ***
  \\\
   |||//   ,
   |__/
,,,//\,,o==o
;

Schedule a meeting using this link.
Writing and media work on Media Garden.

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