Re: LC Server- Optimum setup

2020-10-20 Thread Richard Gaskin via use-livecode
When you are, you're in good company. Just let us know if you get stuck 
on anything and we'll get your server running in no time.


'Tween now and then, you might want to check out this blog post on a 
nice addition to LC Server added a couple years back, letting you use LC 
as a general purpose command-line language in addition to how most 
people use it as a PHP replacement:

https://livecode.com/livecode-server/

This blog post may help spark ideas for how to put LC to work on system 
monitoring and other tasks:

https://livecode.com/keeping-an-eye-on-your-server/

--
 Richard Gaskin
 Fourth World Systems


William Prothero wrote:

Thanks, Richard. Good info. I’m not quite ready to jump in on this yet, but 
soon, and probably with Trevore’s Levure app.
Best,
Bill

William A. Prothero
https://earthlearningsolutions.org


On Oct 19, 2020, at 11:03 AM, Richard Gaskin via use-livecode  wrote:

prothero wrote:

> I’ve been thinking about experimenting with Livecode server. I have
> a vps and root access, but I’m wondering what are the speed and user
> consequences of installing it at root level, or as a cgi. The cgi is
> fairly large and I’m concerned about both speed and memory issues when
> multiple users are accessing it.
>
> I know this has been discussed in the past, but would appreciate any
> advice based on recent experience.

CGIs are CGIs, whether configured for all users via admin access to Apache 
config, or for individual users on a shared host via .htacces.

Also, the size on disk is not reflective of real-world RAM requirements. You 
can check RAM requirements in Terminal by calling the engine with a simple 
script using the timing tool located at /usr/bin/time:

 /user/bin/time -v /path/to/your/lcserver somescript.lc

The -v flag is for "verbose", listing a wide range of runtime stats including "Maximum resident set 
size" and "Average resident set size", with "set size" referring to physical RAM used.

For example, running that on the script I posted earlier for my example CGI 
yields:

   User time (seconds): 0.02
System time (seconds): 0.02
Percent of CPU this job got: 97%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.04
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 19728
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 1526
Voluntary context switches: 1
Involuntary context switches: 0
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0


Separate from anything to do with LC, there is a modest performance difference 
between using .htacess and making those directives available to all users in 
Apache config: if you don't enable mod_rewrite, Apache doesn't need to scan 
folders for .htaccess files.  This is a VERY minor difference, however, and if 
you need the flexibility of mod_rewrite you should use it.

But FWIW most production servers set things up in Apache config, and since 
you're not limited to the issues with shared hosting you might as well do it 
the standard way.  It's more work, and you'll be using sudo a lot since 
permissions are tighter.  But for a production server, more restrictive 
permissions are exactly what we want.

--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

Ambassador at FourthWorld.comhttp://www.FourthWorld.com




___
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: Question about Windows 10 for Surface

2020-10-20 Thread Richard Gaskin via use-livecode

jbv wrote:

> But what about devices like Surface tablets that run Windows 10 ?
> Can a LC app compiled for windows run on these devices ?

The Microsoft Surface is an awesome piece of hardware. If it wasn't 
notoriously difficult to install Linux on (needs a lot of specialized 
drivers which are included with Windows but not Linux) I'd have bought 
one long ago.


They use Intel's Core series CPUs, so any LC app built for 64-bit 
Windows should run fine on them.  They're full-featured computers, 
probably better thought of as a laptop with a detachable screen than a 
tablet with a docking keyboard.


The only two areas I'm not certain of hopefully others who have a 
Surface can chime in on:


- High-res screen: Not sure how gracefully LC's latest builds provide 
resolution independence on desktop OSes (Surface is 220 PPI).


- Touch input: While modern desktop OSes have been extended in recent 
years to support multi-touch gestures, LC only handles multi-point touch 
inputs on Android and iOS.  Windows does a good job of mapping many 
gestures to discernible keyboard sequences where practical, so your app 
can respond to some gestures via rawKeyDown.  But if you need true 
multi-touch support, we'll have to wait for the engine team to add that 
to the LC desktop engines.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: LC Server- Optimum setup

2020-10-19 Thread Richard Gaskin via use-livecode

prothero wrote:

> I’ve been thinking about experimenting with Livecode server. I have
> a vps and root access, but I’m wondering what are the speed and user
> consequences of installing it at root level, or as a cgi. The cgi is
> fairly large and I’m concerned about both speed and memory issues when
> multiple users are accessing it.
>
> I know this has been discussed in the past, but would appreciate any
> advice based on recent experience.

CGIs are CGIs, whether configured for all users via admin access to 
Apache config, or for individual users on a shared host via .htacces.


Also, the size on disk is not reflective of real-world RAM requirements. 
You can check RAM requirements in Terminal by calling the engine with a 
simple script using the timing tool located at /usr/bin/time:


  /user/bin/time -v /path/to/your/lcserver somescript.lc

The -v flag is for "verbose", listing a wide range of runtime stats 
including "Maximum resident set size" and "Average resident set size", 
with "set size" referring to physical RAM used.


For example, running that on the script I posted earlier for my example 
CGI yields:


User time (seconds): 0.02
System time (seconds): 0.02
Percent of CPU this job got: 97%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.04
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 19728
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 1526
Voluntary context switches: 1
Involuntary context switches: 0
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0


Separate from anything to do with LC, there is a modest performance 
difference between using .htacess and making those directives available 
to all users in Apache config: if you don't enable mod_rewrite, Apache 
doesn't need to scan folders for .htaccess files.  This is a VERY minor 
difference, however, and if you need the flexibility of mod_rewrite you 
should use it.


But FWIW most production servers set things up in Apache config, and 
since you're not limited to the issues with shared hosting you might as 
well do it the standard way.  It's more work, and you'll be using sudo a 
lot since permissions are tighter.  But for a production server, more 
restrictive permissions are exactly what we want.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Textsize of label of copied btn changes

2020-10-19 Thread Richard Gaskin via use-livecode

ELS Prothero wrote:

> Yes, if my memory doesn’t fail me, it was in italic. Hmmm, I guess I
> was supposed to know that meant it wasn’t set and the value shown was
> a default?

Yes, more or less, though to be precise it's not so much default per se 
as inherited.


As Jacque noted yesterday, values italized in the Inspector are 
inherited, where the control being inspected has not had that value set.


Many visual properties are inherited, including textFont and textSize, 
in a scheme more or less conforming to the inheritance path of messages.


In your case it seems the textSize value is inherited from the card.

If you want a consistent font and size for all cards in a stack, clear 
any such card properties and set them in the stack.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Textsize of label of copied btn changes

2020-10-19 Thread Richard Gaskin via use-livecode

ELS Prothero wrote:

> Yes, I realize that. However, when I first created the button, on the
> source card, I expected that the text size and font would be what was
> displayed in the ide. However, none were actually set. Confusing for
> one who trusts that the ide displays the actual properties of the
> object.

Was the text showing the textFont size in the IDE's Inspector italic?

http://lists.runrev.com/pipermail/use-livecode/2020-October/262040.html

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: SSL cPanel mySql setup

2020-10-19 Thread Richard Gaskin via use-livecode

Neville Smythe wrote:


On 19 Oct 2020, at 3:00 am, use-livecode-request at lists.runrev.com wrote:

Dreamhost never did install LC ... but several of us have made it work.
Just get the right server executable and permissions.
I could never get it work account wide but it rocked for individual web
site installation.


Ah. I got the distinct impression I would need a dedicated server account on 
DreamHost, not a shared environment, to instal LC Server; for this user’s site 
that would not be worth the cost.

To quote the reply from DreamHost:
-
Unfornately we no longer support LiveCode server on our servers at this
time. Looks like current install steps require root/admin access to some
apache config files, which is not something we allow on our managed
server types. 


You could install that on a Dedicated server, or DreamCompute instance if
you wish to, but that would be something you or your developers would
want to do using root on that service. 
-


I'm not sure what that DH rep is going on about, because the same set of 
LC Lessons that describe how to set it up via Apache config also include 
one on setting it up via .htacces on shared hosts.


I can understand why they don't *support* LC, is in provide technical 
support for it, since LC isn't theirs to support.  There are too many 
languages in this world to expect a vendor to train their staff in all 
of them.


But there's nothing special about setting up LC Server that's much 
different from setting up any scripting engine to work as a CGI under 
Apache. IMO a shared host wouldn't be worth using if they turned off CGI 
support altogether, and thankfully DH hasn't.


Many of us have been using LC Server on Dreamhost shared servers for 
many years. And just to make sure nothing has changed, I just did a 
fresh install into a new folder on one my servers - try this:


https://fourthworldlabs.com/lcs-test/test.lc

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Textsize of label of copied btn changes

2020-10-18 Thread Richard Gaskin via use-livecode

Check the card properties.

All evidence reported to date is fully explained by the textFfont being 
set on the source card.


--
 Richard Gaskin
 Fourth World Systems


William Prothero wrote:

Richard:
I found that when I created a button, the textsize property had not been set, 
even though the IDE showed it to be 13. I then went to the IDE to click the 
size up to `4, then back down to 13 and then, when I did:
put the texsize of btn “mybutton”, it showed the textsize correctly.

It’s just one of those frustrating mysteries one encounters. The copied btn 
textsize was probably picking up the textsize from the fields that I had 
already imported.

I’d have to call it a bug, I guess??

Best,
Bill

William A. Prothero
https://earthlearningsolutions.org


On Oct 13, 2020, at 10:59 AM, Richard Gaskin via use-livecode  wrote:

William Prothero wrote:

> I am copying a button from one card to another. The font size of the
> label changes from that of the original to a large font and I can’t
> figure out how to change the textsize of the label. I keep getting an
> error.

set the textSize of btn "SoAndSo" to 14

The curious part is that it changed when you pasted it.  If you have a textSize 
specified for the card it came from but not the card it was pasted in, that 
would govern all controls that do not have their own testSize property 
explicitly set.

--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web

Ambassador at FourthWorld.comhttp://www.FourthWorld.com



___
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: SSL cPanel mySql setup

2020-10-18 Thread Richard Gaskin via use-livecode

Neville Smythe wrote:

> So I need some middleware. LC Server would have been ideal, but
> Dreamhost no longer install it ;-(. I particularly could have used
> LC Server to drive mailman distribution list
> subscription/unsubscription tasks from the database for which I do
> not have a good solution at the moment.

I've been a Dreamhost customer for more than a decade, and I don't 
believe they ever offered a hosting configuration with LiveCode 
preinstalled.


But many of us have been using LiveCode Server on Dreamhost for a long 
time.  LC Server runs under CGI, a standardized convention for allowing 
just about any command-line program to be used to augment an Apache web 
server.


On shared hosts, the directives used to tell Apache to handle certain 
requests by passing them to another program like LC Server are 
established in a .htaccess file in the folder those LC files are in.


Give this lesson a go, and let us know if we can lend a hand on any 
details to get you up and running with LC Server on Dreamhost:


http://lessons.livecode.com/m/4070/l/36655-how-do-i-install-livecode-server-with-apache-via-htaccess

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: SSL cPanel mySql setup

2020-10-18 Thread Richard Gaskin via use-livecode

Sean Cole wrote:


Since then I've added DocuSign, MS DynamicsCRM integration


Are you at liberty to describe what that integration involved?

Specifically, do you use MS' REST API?  And if so, how were you able to 
set up the app registration in Azure for successful authentication?


I have a request from a client for integration with Dynamics via REST, 
but we're stuck in the maze of options in Azure's admin panels with 
regard to the app, groups, roles, flows, and other components come into 
play for successful authentication.


I keep hoping we're missing something obvious.  Perhaps we are. I'm 
eager to learn how you accomplished that.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Odd data in message box

2020-10-18 Thread Richard Gaskin via use-livecode
True, but what would anyone go out of their way to write an error 
handler that provides less useful information than what LC provides if 
left alone?


And some of the error info I see shared in the forums is from newer 
users, who seem unlikely to have ventured into the relatively arcane 
world of custom error processing.


I hope I simply misunderstand what I've been seeing, that perhaps there 
isn't something broken in recent versions of the IDE's error handling.


In Dan's message from yesterday he wrote:

  1. Why didn't the debugger throw an error?  Instead, it put this error
 chunk in the message box?

@Dan: Do you have a custom errorDialog handler in your message path?

--
 Richard Gaskin
 Fourth World Systems



J. Landman Gay wrote:
If there's an errorDialog handler, errors bypass the IDE. That's one way it 
could happen.


--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
On October 17, 2020 4:06:03 PM Richard Gaskin via use-livecode 
 wrote:



J. Landman Gay wrote:

On 10/17/20 12:13 PM, Dan Friedman via use-livecode wrote:

Where did Jacque get that list of codes?


 From a plugin Richard and I wrote some years ago. It dynamically loads the 
 error list based on
the version of LC you're using. You can look up individual codes, or paste 
in a list of errors

which is what I did with your report.


Tools like that can be useful at runtime to help fill out logs and such.

But I've been seeing a surprising number of conversations here and in
the forums suggesting that people are seeing raw error info in the IDE.

If that's true, what broke with the IDE's more guided error handling?

--
 Richard Gaskin



___
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: Odd data in message box

2020-10-17 Thread Richard Gaskin via use-livecode

J. Landman Gay wrote:

On 10/17/20 12:13 PM, Dan Friedman via use-livecode wrote:

Where did Jacque get that list of codes?


 From a plugin Richard and I wrote some years ago. It dynamically loads the error list based on 
the version of LC you're using. You can look up individual codes, or paste in a list of errors 
which is what I did with your report.


Tools like that can be useful at runtime to help fill out logs and such.

But I've been seeing a surprising number of conversations here and in 
the forums suggesting that people are seeing raw error info in the IDE.


If that's true, what broke with the IDE's more guided error handling?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Interface Resolution

2020-10-15 Thread Richard Gaskin via use-livecode
These workarounds are great for helping John get back to work right 
away, but if the IDE isn't respecting Windows' resolution that would be 
a bug and I hope someone's reported it.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Textsize of label of copied btn changes

2020-10-15 Thread Richard Gaskin via use-livecode

William Prothero wrote:

> After the button is copied to the destination card, I do:
>
> set the textsize of btnRef to the textsize of srcBtnRef
> the contents of btnRef is:
>
> btn "doNext2" of card "WhatsTheMystery-2" of stack "/Users/AfilePath
> /PlateTectonics.livecode"
>
> srcBtnRef is pretty much the same thing with the card that holds the
> object library.
>
> It has no effect. But then, I’ve been known to screw up these
> references, but since the copy works, I think it’s ok.
>
> What’s odd, is that it seems to be picking up the fontsize of some of
> the other fields on the destination card. So, for now, I’ve given up
> and use a field for a button, which I like better anyway. I’ll look at
> this again to see if I made a stupid mistake.


No need to give up and use an object type you didn't want.

This is an opportunity to analyze so we can find the right solution.

Given that assigning the textFont of the new button to that of the old 
one has no effect, I'd wager that if you examined the textFont of the 
original you'd find it's not been assigned.


And we see that font settings for various objects look one way on one 
card and different on a different card.


This suggests the card the original button is on has a textFont set, and 
setting the textFont of the new card to match will give you a matching 
appearance for controls.


Or perhaps simpler, if you want all cards in the stack to have the same 
default textFont and textSize, you can set those properties in the 
stack, clear those for each card, and then you have consistency 
throughout the controls in your stack.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Textsize of label of copied btn changes

2020-10-13 Thread Richard Gaskin via use-livecode

William Prothero wrote:

> I am copying a button from one card to another. The font size of the
> label changes from that of the original to a large font and I can’t
> figure out how to change the textsize of the label. I keep getting an
> error.

set the textSize of btn "SoAndSo" to 14

The curious part is that it changed when you pasted it.  If you have a 
textSize specified for the card it came from but not the card it was 
pasted in, that would govern all controls that do not have their own 
testSize property explicitly set.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Canvas Limited to 32767

2020-10-06 Thread Richard Gaskin via use-livecode
I'm all for more freedom, but the RAM requirements make any practical 
use of extended coordinates a less trivial problem.


Most programs handle this by paging. It may look like one contiguous 
region on screen, but as you're scrolling it's dumping chunks that fall 
out of view and rendering chunks coming into view, so the total viewable 
space is well within practical memory limits.


The DataGrid shows one example of how to virtualize a scrollbar, using a 
non-scrolling group with a separate scrollbar, and some clever coding to 
make them work in sync.


With that, you can do like other programmers do, paging in an out the 
parts you need when you need them. Only we get to do it in script.


If done in the engine it's the same algo, which AFAIK is very different 
from how groups are buffered now.


So "just" changing from 32k to 64k isn't as easy as putting the word 
"just" in front of it might make it seem. :)  It would require the 
engine team to write a very different buffering algo, a lot of extra 
work for a few edge cases not handled by what's in place now.


No doubt the team could do it, but I don't think it would be simple.

And given the low ROI relative to other priorities, if it went into the 
work queue I wouldn't expect to see it for a long time.


Maybe Mark Waddingham can chime in if I'm overestimating the difficulty, 
but I suspect scripting you own paging system with a virtualized 
scrollbar is something you could do yourself in a fraction of the time 
it would take to wait for it from the engine team.


--
 Richard Gaskin
 Fourth World Systems



Ralph DiMola wrote:


Richard,

This design was done for one not to involve a lot of coding (App was free
development but we get a cut of each sale and it has worked out well for
us). Also there could be a reason to see the entire list but of course there
are other ways to do this as not to hit the limit. As far as device memory
is concerned I don't want to go to 2^31 but I am missing the cut by a couple
thousand pixels. If we had 2^31 it would be up to the developer to keep the
performance under control rather than apps breaking for 2 pixels over the
limit.

Ralph DiMola
IT Director
Evergreen Information Services
rdimola at evergreeninfo.net


-Original Message-
From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On Behalf
Of Richard Gaskin via use-livecode
Sent: Tuesday, October 06, 2020 2:50 PM
To: use-livecode at lists.runrev.com
Cc: Richard Gaskin
Subject: Re: Canvas Limited to 32767

Glad it's not the funky mobile field workaround.  That's such a horrible
experience for developers that even the act of documenting it should have
been a red flag to go back and refine the field buffering for the few cases
where that put-it-in-a-group recommendation is actually needed.

In your case, you have a huuge canvas, with users expected to scroll a
region about 32 feet.  That's a lot of scrolling.

So in addition to the memory hit of buffering such a large region (32767
* 32767 * 4 + whatever other overhead comes into play with buffering), in
most layouts it would be a usability impairment to ask users to keep
scrolling that much.

So maybe the team could switch the address from 32 to 64, but it still leave
us with the question:

- Would a user have that much RAM?

- Would the user be able to use such a large canvas without acquiring
   RSI? ;)

I don't know your layout, but I do know you, and you're not the type to make
things hard for users, so I'm assuming there's something about this
uncommonly-large scrolling that fits well with the app's requirements.

But what we do know is no monitor can show it all, so the content is already
effectively paged into view as-needed.

Could the content paging be provided through some other UI? For example, if
those controls fit into logical groupings, might different sets of them be
placed into separate physical groups, perhaps accessed via tabs or a list?

If it's truly necessary to have one vast plane to hold everything, could you
handle paging internally while still providing the appearance of a
contiguous group, similar to how the DataGrid does it?

--
  Richard Gaskin
  Fourth World Systems



Ralph DiMola wrote:
 > Desktop and mobile. It's a scrolling group with many sub-groups each
 > with 1 or more fields. Sometimes the height of the main group > 32767.
 >
 > It's the result of a proximity search and in dense areas users are
 > getting hosed by this limit. Customer is screaming (but don't they
 > always).
 >
 > Ralph DiMola
 > IT Director


-Original Message-
From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On 
Behalf

Of Richard Gaskin via use-livecode

Ralph DiMola wrote:

 > I just ran head first into this. Could someone explain why other than 
   > moving from an int16 to an int32 this is such a challenge? This 
should  > have been addressed during the refactoring of the engine.


Is 

Re: Canvas Limited to 32767

2020-10-06 Thread Richard Gaskin via use-livecode
Glad it's not the funky mobile field workaround.  That's such a horrible 
experience for developers that even the act of documenting it should 
have been a red flag to go back and refine the field buffering for the 
few cases where that put-it-in-a-group recommendation is actually needed.


In your case, you have a huuge canvas, with users expected to scroll 
a region about 32 feet.  That's a lot of scrolling.


So in addition to the memory hit of buffering such a large region (32767 
* 32767 * 4 + whatever other overhead comes into play with buffering), 
in most layouts it would be a usability impairment to ask users to keep 
scrolling that much.


So maybe the team could switch the address from 32 to 64, but it still 
leave us with the question:


- Would a user have that much RAM?

- Would the user be able to use such a large canvas without acquiring
  RSI? ;)

I don't know your layout, but I do know you, and you're not the type to 
make things hard for users, so I'm assuming there's something about this 
uncommonly-large scrolling that fits well with the app's requirements.


But what we do know is no monitor can show it all, so the content is 
already effectively paged into view as-needed.


Could the content paging be provided through some other UI? For example, 
if those controls fit into logical groupings, might different sets of 
them be placed into separate physical groups, perhaps accessed via tabs 
or a list?


If it's truly necessary to have one vast plane to hold everything, could 
you handle paging internally while still providing the appearance of a 
contiguous group, similar to how the DataGrid does it?


--
 Richard Gaskin
 Fourth World Systems



Ralph DiMola wrote:
> Desktop and mobile. It's a scrolling group with many sub-groups each
> with 1 or more fields. Sometimes the height of the main group > 32767.
>
> It's the result of a proximity search and in dense areas users are
> getting hosed by this limit. Customer is screaming (but don't they
> always).
>
> Ralph DiMola
> IT Director


-Original Message-
From: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] On 
Behalf

Of Richard Gaskin via use-livecode

Ralph DiMola wrote:

> I just ran head first into this. Could someone explain why other than 
  > moving from an int16 to an int32 this is such a challenge? This 
should  > have been addressed during the refactoring of the engine.


Is this for the weird recommended mobile workaround of putting a text 
field into a group just to have it scroll, or something else?


--
  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: Canvas Limited to 32767

2020-10-06 Thread Richard Gaskin via use-livecode

Ralph DiMola wrote:

> I just ran head first into this. Could someone explain why other than
> moving from an int16 to an int32 this is such a challenge? This should
> have been addressed during the refactoring of the engine.

Is this for the weird recommended mobile workaround of putting a text 
field into a group just to have it scroll, or something else?


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Modal stacks cpu usage

2020-10-01 Thread Richard Gaskin via use-livecode

Neville Smythe wrote:

> Typically LC cpu usage shows about 34%  (presumably of 1 core).  When
> a modal stack is opened it immediately ramps up to 99% ; the fan kicks
> in, and if left for a while the OS boosts the kernel_task daemon which
> I have been told is a protection device to prevent overheating. This
> has the effect of very markedly slowing down all apps as they get less
> cpu time.
>
> If the stack is opened in non-modal mode, cpu usage stays around 34% .
> I don’t understand why a modal stack should be a cpu hog, indeed it
> seems like a bug to me.

Confirmed here on macOS 10.14.5.  The CPU load is indeed quite dramatic 
with modal dialogs.


I also checked on Linux (Ubuntu 18.04), and LC does not exhibit the 
problem there.


Have you opened a bug report on this?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Accessing files on a local network file server - BEST PRACTICE?

2020-09-25 Thread Richard Gaskin via use-livecode
The shell command "net use" should return a list of currently available 
network volumes.


In LC:

  put shell("net use")


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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


Back to School: Raspberry Pi fork?

2020-09-24 Thread Richard Gaskin via use-livecode
I had yet another conversation this morning with a colleague who would 
love to use LC in his school district, but the two crasher  bugs prevent 
him from doing so. Now he's had no choice but to start looking into 
kid-friendly Python environments.


We have that conversation every year. This was the sixth time we've had it.

Surely somewhere in our community or beyond it we can find the resources 
to bring the LC Community build for Raspberry Pi up to 9.6.1.


Who can we hire, and how much would it cost?

If we can find the resource, I'll bet we can come up with the money to 
pay for that programmer's time.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Converting from unicode to ASCII

2020-09-23 Thread Richard Gaskin via use-livecode

For an ongoing need like that on a substantial project, I'd automate it:

She works on her master copy, then presses a button.  Done.

The button saves the stack, copies it to the munged name, and uploads it 
for her, even verifying the integrity of the upload afterward (machines 
don't mind the extra work).


--
 Richard Gaskin
 Fourth World Systems


J. Landman Gay wrote:

On 9/23/20 1:26 PM, Richard Gaskin via use-livecode wrote:
My only suggestion was to change how the existing munger works to satisfy the two problem areas 
identified: that names not be too long, and that any munger not remove so many characters as to 
make the file name non-unique or empty.


There's one more consideration though. The file name must be recognizable so that it can be 
replaced or updated on the server easily by a human. Hashes, UUIDs, html entity numbers, HEX, 
etc. would all be workable if that weren't the case.


But consider the case where my client has made a few edits to the text in a stack and wants to 
replace the existing one. With descriptive names, the file is easy to find in the AWS bucket. 
But comparing long sequences of indecipherable text is cumbersome.


I'm drifting toward the idea of removing non-ascii characters. That might satisfy all 
requirements, at least for now. We don't do Sanskrit or Chinese yet. Or alternately I could 
bite the bullet and convert my build tool to insert metadata into the clickable lists. That 
isn't terribly difficult, I was just wondering if there was a different way using what we 
already have.


Devin, Paul and Scott suggested variations on the "removal" approach. I haven't tested much, 
but it looks like converting to UTF8 will quickly remove any non-ascii characters. Duplication 
of file names is unlikely given the way various product files are separately stored on AWS.


But I'm still pondering. When I first asked the question, I wondered if there was a quick way 
to do what I want, though I didn't expect much. What I got back from this amazing list is a 
wealth of ideas and a very interesting discussion.


--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software   | http://www.hyperactivesw.com



___
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: Converting from unicode to ASCII

2020-09-23 Thread Richard Gaskin via use-livecode
No lookup table is needed at all if the relationship between the 
original string and the resulting munged file name never needs to also 
work the other direction.


If bidirectional derivation is needed, given the limitations imposed by 
AWS' naming limitations I would see no way to avoid requiring a lookup 
table.


But so far I haven't read anything requiring this to work in both 
directions.  Did I miss something?  Does she also rely on an unmunger 
function?


--
 Richard Gaskin
 Fourth World Systems


Bob Sneidar wrote:

Understood, but if it were reversible, it would eliminate the necessity of a lookup table as an intermediary. 


Bob S



On Sep 23, 2020, at 11:26 AM, Richard Gaskin via use-livecode  wrote:

If I understand her problem correctly, file identification need only be in one 
direction.

As far as I can tell from the description, everything that needs to determine 
which file to access does so by using a string from which the hashed file name 
can be derived.

That she already has a munger to derive the file name seems to reinforce that.

My only suggestion was to change how the existing munger works to satisfy the 
two problem areas identified: that names not be too long, and that any munger 
not remove so many characters as to make the file name non-unique or empty.

In some respects the benefits of a hash in this case are similar to using a 
UUID.  But UUID is arbitrary and therefore requires establishing and 
maintaining a lookup table. In contrast, a hash is directly derivable from the 
file name, providing the same benefit as UUID for this case but without the 
need for a lookup table.

Like the old saying goes, "There are two hard problems in computer science: cache 
invalidation, and naming things".

Lookup tables are effectively a form of cache, a secondary replication of data, 
very useful at times but best avoided unless absolutely necessary.


- 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: Converting from unicode to ASCII

2020-09-23 Thread Richard Gaskin via use-livecode
If I understand her problem correctly, file identification need only be 
in one direction.


As far as I can tell from the description, everything that needs to 
determine which file to access does so by using a string from which the 
hashed file name can be derived.


That she already has a munger to derive the file name seems to reinforce 
that.


My only suggestion was to change how the existing munger works to 
satisfy the two problem areas identified: that names not be too long, 
and that any munger not remove so many characters as to make the file 
name non-unique or empty.


In some respects the benefits of a hash in this case are similar to 
using a UUID.  But UUID is arbitrary and therefore requires establishing 
and maintaining a lookup table. In contrast, a hash is directly 
derivable from the file name, providing the same benefit as UUID for 
this case but without the need for a lookup table.


Like the old saying goes, "There are two hard problems in computer 
science: cache invalidation, and naming things".


Lookup tables are effectively a form of cache, a secondary replication 
of data, very useful at times but best avoided unless absolutely necessary.



- Richard Gaskin
  Fourth World Systems



Bob Sneidar bobsneidar at iotecdigital.com

> How do you get back to the filename?

> On Sep 23, 2020, at 8:03 AM, Richard Gaskin wrote:
>
>> One workaround for their storage name limitations I've seen used
>> elsewhere is hash-based names, giving you a string that is plain
>> ASCII, of a fixed and usable length, and is derived from the file
>> name so systems don't need to maintain a lookup table to find the
>> file based on a given string.
>>
>> This will give you a 40-char string in plain ol' ASCII unique to the
>> input:
>>
>>   function CleanHash s
>>  get binaryDecode("h*", sha1Digest(s), tHash)
>>  return tHash
>>   end CleanHash
>>
>> e.g.:
>>
>>   get CleanHash("MyFile.txt")
>>
>> ...returns:
>>
>>   d9275b8f757ce47c240d276c1e1192dae8585eba
>>
>>> ...When the user selects a name from a list, the selection is munged
>>> to match the server name and the download URL is obtained from the
>>> cron job's lookup file.
>>>
>>> We don't have a field in the database for a file name.
>>
>> Since a hash is derived from the file name, you don't need to
>> maintain a lookup table as you would with an arbitrary string like
>> UUID.
>
>> If I understand your problem correctly, that file identification need
>> only be in one direction, just add the hash as part of your existing
>> munge and you're pretty much done.
>>
>> --
>> Richard Gaskin


___
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: Converting from unicode to ASCII

2020-09-23 Thread Richard Gaskin via use-livecode

J. Landman Gay write:

> I'm looking for a way to create non-unicode file names
> based on the string that comes out of the database.

Ah, public clouds...

Amazon's S3 docs say just encoding in UTF-8 should suffice, but then 
they also list a lot of characters they consider "special", but common 
usage considers them not so special at all, so conflicts like this are 
apparently abundant.


One workaround for their storage name limitations I've seen used 
elsewhere is hash-based names, giving you a string that is plain ASCII, 
of a fixed and usable length, and is derived from the file name so 
systems don't need to maintain a lookup table to find the file based on 
a given string.


This will give you a 40-char string in plain ol' ASCII unique to the input:

function CleanHash s
   get binaryDecode("h*", sha1Digest(s), tHash)
   return tHash
end CleanHash

e.g.:

get CleanHash("MyFile.txt")

...returns:

d9275b8f757ce47c240d276c1e1192dae8585eba


> ...When the user selects a name from a list, the selection is munged
> to match the server name and the download URL is obtained from the
> cron job's lookup file.
>
> We don't have a field in the database for a file name.

Since a hash is derived from the file name, you don't need to maintain a 
lookup table as you would with an arbitrary string like UUID.


If I understand your problem correctly, that file identification need 
only be in one direction, just add the hash as part of your existing 
munge and you're pretty much done.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: HOw to get htmltext from the field to display in another field

2020-09-21 Thread Richard Gaskin via use-livecode

Sannyasin Brahmanathaswami wrote:

>  Vedas
>  A Random Selection
>  of Sutras
>
> gets turned around. It becomes
>
>  Vedas
>  A Random Selection
>  of Sutras
>
> ?? where does the font size becomes "34" .

HtmlText is not HTML.

It was added to the engine as a convenient way to use HTML-like tagging 
to express field contents with styles.


Header tags (eg "H1") are an HTML convention.  LiveCode has no CSS, and 
hence ability to define header specifiers for size. If you try this:


set the textSize of fld 1 to "h1"

...it should fail.

But as a convenience or those who may be attempting to mix and match a 
limited form of HTML with LC's HtmlText, the engine will allow header 
tags as input, translating them to fixed values.


As you've discovered there, the fixed value for "H1" is 34.


> Even with the font size of field increases, it stays at size="34"??

Attributes of field objects are different from attributes of style runs 
in the content within the field object.


Changes to the object's textColor, textSize, and textFont will affect 
the visual rendering of the object's contents only, leaving the contents 
as stored unaffected.


If the content has any attribute set within a style run, that setting 
overrides any setting for the object, much as we see with inheritance of 
visual properties throughout LC.


If you want to change the textSize of the contents of the field, you can 
either:


a) set the textSize of char 1 to -1 of fld "Whatever" to 20

b) set the textSize of char 1 to -1 of fld "Whatever" to empty
   set the textSize of fld "Whatever" to 20


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Hacktoberfest is coming

2020-09-03 Thread Richard Gaskin via use-livecode
True, focusing on the subset of issues in the IDE, leaving the engine 
work to the experts on the core team, would make the work much more 
actionable.


The enthusiasm is good to see. I like the vision of a world where we all 
share one common engine and language, and have a wide range of IDE 
options available, tailored for our tastes and workflows.


If you can find a lead maintainer on this, it may be worth pursuing. But 
given the work commitment involved, that may be a big "if".


The nice thing about pinching off corners of IDE functionality in 
plugins is that the scope of work is limited to the size of the itch 
being scratched.  They're also easier to share than convincing folks to 
replace their whole IDE with an alternate one.


But if IDE bugs mount up without workarounds or acceptance long enough, 
sooner or later it will become easier to find contributors to replacing 
it with a fork.


Like the old saying goes, "Change occurs when the pain of changing is 
finally exceeded by the pain of not changing."


--
 Richard Gaskin
 Fourth World Systems



Mike Kerner wrote:

it's not the engine, it's the ide portion, which is not binary.
in addition, as it is a fork, it would be maintained in parallel with the
LC version, so when LC releases an update, beta or otherwise to the ide,
you would merge it into the fork, and review all the diffs.
in some other projects, the community fork thus becomes the major branch
and the community becomes the major maintainers of the fork.
i'm not saying it's easy, and i am by no means volunteering to do it.  it's
a suggestion for the community to consider:  if we are jointly frustrated
with LC's IDE and the progress it is making, especially in accepting and
integrating PR's, then we do have the option of forking it, perhaps for the
purpose of fast-tracking updates, experimental features, etc.
things that might appeal to an audience of developers:
* PR's issued for open bug reports, e.g. mobile scrolling (PR issued
in...June, I think?)
* Project Browser
* Code folding
* Speed in the script editor
It's not like there aren't multiple independent projects going on that
couldn't make this effort better.  Some of those are:
Navigator
Baker's Assistant
Any of Bernd's proposed SE updates

On Wed, Sep 2, 2020 at 12:21 PM Richard Gaskin via use-livecode <
use-livecode at lists.runrev.com> wrote:


Mike Kerner wrote:

 > there isn't any reason why we can't have a fork of the ide that
 > doesn't sit around waiting for themuns to say "ok".

I've considered this myself, but maintaining something as complex as
LC's IDE is no small task.  In fact, I'm finding it less time consuming
to replace portions as I need them than to prowl around in that complex
code.

But even if someone had the time for to maintain a fork of the IDE (and
you might get some assistance on that from others if you do), engine
pull requests would still be in queue with the mother ship.  Few in our
community have the C++ skills to do serious work on the engine, and the
GPL license would make using such a community project a non-starter for
most license holders.

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  
  Ambassador at FourthWorld.comhttp://www.FourthWorld.com

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




--
On the first day, God created the heavens and the Earth
On the second day, God created the oceans.
On the third day, God put the animals on hold for a few hours,
   and did a little diving.
And God said, "This is good."



___
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: Hacktoberfest is coming

2020-09-02 Thread Richard Gaskin via use-livecode

Mike Kerner wrote:

> there isn't any reason why we can't have a fork of the ide that
> doesn't sit around waiting for themuns to say "ok".

I've considered this myself, but maintaining something as complex as 
LC's IDE is no small task.  In fact, I'm finding it less time consuming 
to replace portions as I need them than to prowl around in that complex 
code.


But even if someone had the time for to maintain a fork of the IDE (and 
you might get some assistance on that from others if you do), engine 
pull requests would still be in queue with the mother ship.  Few in our 
community have the C++ skills to do serious work on the engine, and the 
GPL license would make using such a community project a non-starter for 
most license holders.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Cross Platform Font Layout - current workarounds

2020-08-26 Thread Richard Gaskin via use-livecode

J. Landman Gay wrote:
> Any bugs you found are certainly based in fact, as you've shown.

That an anomaly is evident is known. The cause and possible remedies, 
however, remain open questions.


Though I briefly dabbled in sending hand-written Postscript to my laser 
printer back in the day (who didn't? Postscript was the future!), I've 
only briefly skimmed the file formats for Postscript and TrueType, and 
of course anyone lacking technical depth in this specialty will be at a 
disadvantage in diagnosing this.


So while I can't presume to know the inner details of what's in play 
here, it may be worth considering Mark Waddingham's input.  There's at 
least some indication he's familiar with how computers work, and he 
knows a thing or two about the internals of LiveCode. :)


Mark had suggested there may be elements within the font file itself 
which can be adjusted to improve rendering across different systems, 
specifically with regard to baseline differences on Windows:

http://lists.runrev.com/pipermail/use-livecode/2020-August/261448.html

A quick search to see how others deal with similar issues yielded a 
corroborating suggestion, described here:


   "One possible solution could be to download the Cutive font (I see
   it has a SIL license) and then run it through the Font Squirrel
   font-face generator. In 'Expert' mode there is an option to 'Fix
   Vertical Metrics' which might be what you are looking for."

And:

   "I came across this problem with a custom font that had been created
   for a client's brand. I opened the TTF font in Font Forge. The way I
   created uniformity with rendering was to adjust the values in
   Element->Font Info->OS/2->Metrics.
   
   I have very limited knowledge about fonts but this did fix my
   problem.

https://stackoverflow.com/questions/11726442/font-rendering-line-height-issue-on-mac-pc-outside-of-element

I can't help but wonder if guidance from experienced people who've 
considered this issue in depth may be worth exploring...




If for some reason making the custom font file more complete is 
prohibitive, LC is flexible enough to compensate in just one line by 
adjusting the margins property where needed:


 if the platform is Win32 then set the margins of btn "Label" to 4,8,4,4

Set the adjustment of the second (top) item to whatever you need and 
you're back in business in just a few seconds.


Of course that's just a quick workaround to keep production work on 
schedule at near-zero cost to any project that may need it.


For the longer term, if adding the Win-specific metrics others have 
found success with doesn't resolve this problem, let's explore it further.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Cross Platform Font Layout - current workarounds

2020-08-25 Thread Richard Gaskin via use-livecode

Sean Cole wrote:

> Spelling it out to you, here are all of the related bug reports.
> Confirmed bug reports. Confirmed they are bugs. Bugs that Can and
> Should be fixed. It won't take 10s of 1000s of $ as whatshisface
> Gaskin made it seem.

Embedding a replacement font rendering subsystem to bypass the 
OS-supplied one would be a feature request, not a bug report. :)


And I missed that feature request among the grab-bag collection of 
Bugzilla URLs you included. Has anyone ever actually requested that?



As for cross-platform rendering consistency, you seem to be confusing a 
file format specification with an implementation of a system which uses 
that format.


Yes, we all remember the TrueType rollout, and the promise of a 
single-file, cross-platform font definition.


But for that format to provide pixel-perfect matched rendering requires 
all renderer implementers to use the same code.  And as you know, they 
don't.


This is true with all sorts of formats. If you've ever written a web 
page you've no doubt enjoyed discovering the breadth of ways browser 
implementers can interpret simple HTML.


I noticed you ignored the screen shot I prepared for you, which 
illustrates platform disparities with both font and HTML rendering. You 
might want to take a look at that.  It's from BBC, an org you say 
doesn't tolerate cross-platform rendering disparities, but apparently, 
like the rest of us, they do.



> https://quality.livecode.com/show_bug.cgi?id=18748 (Related and listed
> by none other than Whatshisface Gaskin himself!)

Is the issue described in that report what triggered this thread?

If it turns out to be relevant here, did you try Mark Waddingham's 
suggestion in Comment #1 from the report?


That solved it for me. In fact given the vertical metric alterations I 
chose to impose with the command listed in the recipe, the rendering can 
only come up short on top or on bottom, unless I take Waddingham's 
observation into account. It isn't logically possible to do otherwise 
with a fixed line height.


Also, the behavior described in that report is consistent across 
platforms, so it would seem the opposite of the cross-platform concerns 
that prompted this thread.


If that turns out to be the issue that prompted this thread that would 
be excellent, as a single checkbox click will take care of it.




PS: You don't have to use my name, but while you may be comfortable 
calling me "Whatshisface Gaskin" I doubt you'd welcome anyone here 
calling you "Dunning-Kruger Cole".  Let's not go there.


You might consider taking a little break, Sean. Come back when you're in 
a mood to engage with your colleagues as professionally as you do with 
your clients.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Cross Platform Font Layout - current workarounds

2020-08-25 Thread Richard Gaskin via use-livecode

Sean Cole wrote:

> I assume (dangerously) from your reply that you do not have to make
> real world applications for corporate branded customers. Where design
> has been done by a branding team with a 12 - 120 page Production
> guide). Someone like the BBC

A good way to analyze a problem is to find existing examples of how 
successful organizations handle the problem we're facing.


With font rendering across platforms, we can look at how BBC themselves 
handle that.


In this image you'll find two screen shots of a lead story block from 
bbc.co.uk/news, where the top image is from macOS and the bottom from 
Windows.  Both had the latest OS versions, and both used the same 
browser version (freshly-downloaded Chrome, the world's most popular, so 
a good test case), where the browser window was set to the same width 
(1020px):


http://fourthworld.net/lc/Mac-Win-Fonts.png

Evident differences include:
- text weight
- kerning
- leading
- antialiasing

Indeed, the kerning differences are pronounced enough that even BBC's 
expert web team using a modern CSS spec designed by experts and rendered 
in a browser made by one of the most powerful corporations on earth is 
still so pronounced that both the story's title and summary wrap 
differently between the two platforms.



Operating systems matter, and even the best effort to reduce the effects 
of the differences between them cannot make them the same, as they are 
made by very different organizations with very different methodologies 
and priorities.


The article Jacque provided was useful, relevant, succinct, and 
apparently ignored, so it's worth including here again:


https://damieng.com/blog/2007/06/13/font-rendering-philosophies-of-windows-and-mac-os-x


Since everything we've ever seen in all of computing reminds us that 
different OSes behave differently, when we want a given font rendering 
to be identical on both platforms, as Richmond noted we can generate an 
image of the text we want and use the image instead of the text.


That is of course impractical and often undesirable for body text, which 
is why body text is frequently seen differently on different platforms. 
But for absolutely critical elements like logos, it's what most experts 
do.  Indeed, the BBC logo could have been implemented as a font, but for 
precision across platform apparently they chose to use an SVG file.




> It is arse-umed that how it looks on Windows is how it should look on
> any other platform we distribute to including the various output sizes
> (1024x576SD, 960x540HHD, 1920x1080HD, 3840x2160 4k). Everything has to
> match to the pixel. That’s how branding works.

Apparently for their most visible asset, their web site, BBC feels 
branding can be driven by other priorities according to the relevance of 
a given element to their brand: logos are images, article text is left 
to the OS.



--- On the inherent difficulty of the task:

> We have no issue with that moving between platforms in editing and
> graphics platforms, so post production facilities (mine included)
> could not conceive or perceive that it would be any different in a
> development environment. Design it in photoshop on a pc and send it
> to your colleagues working in After Effects on a Mac and send it back
> to an editor on a PC running Premiere and it looks the same end to
> end. That is ‘just the way it is’!

That's "just the way it is" in highly specific circumstances in which 
you exercise great care with how the document is set up and limit what 
you're doing to a narrow subset of software that includes its own 
font-rendering subsystem.


You will not find this in word processors, or spreadsheets, or database 
front-ends, or the web, or most other software outside of specialized 
graphics productions tools.  Even in programs that allow custom kerning, 
like some word processors, will show differences in line wrap between OSes.


It would be nice if any single tool could do all things that all 
possible software can do.  But nothing in the universe works like that, 
and software is no exception.


Thankfully, with extensibility mechanisms like widgets, FFI, and 
externals, LiveCode can be a foundation to include things far beyond its 
out-of-the-box capabilities.  If you want to embed a custom font 
rendering subsystem, I'll be it would cost you no more than Adobe spent 
developing theirs (which, given the considerable time, expertise, and 
licensing required, I'd venture to guess would cost somewhere between 
US$100k 200k, possibly more).


While you ponder funding sources for that, you could just as easily do 
what other production companies like my friends here in Hollywoodland 
do, and as Richmond suggested earlier: if you want pixel-perfect 
identical rasterization across platforms, rasterize it yourself to your 
satisfaction and use the resulting image in production.


Rasterized output is how Photoshop is most commonly used in production.



--- On the larger issue of workflow 

Re: Cross Platform Font Layout - current workarounds

2020-08-24 Thread Richard Gaskin via use-livecode

Sean Cole wrote:

> What is the current 'workaround' everyone is using when creating a
> cross-platform app to make sure that all text appears the same
> regardless of platform? Particularly between Windows and Mac for
> me at the moment.

Font metrics will differ between OSes because the underlying rendering 
method used by each OS is different.


Have you delivered cross-platform apps in which you found no difference 
at all?


The closest I can imagine might be PDF, achievable with some settings 
only by decomposing the font into the Postscript describing the page.


Even browsers, with their multi-million-dollar code bases and their 
mind-bending efforts to make things as uniform as practical across 
platforms, will evidence the difference in OS rendering subsystems.


If you've found anything that corrects for this, I would enjoy learning 
about it. I can't even imagine how such a thing would work, so I'd learn 
a lot.



> Also, side note, does anyone remember why we STILL have a discrepancy
> between fontnames() in Mac and Windows? Not only do the windows fonts
> show alphabetically and mac dramatically out of order, but also, the
> names themselves are screwed up...

My understanding is that it's the same as when getting a list of files 
in a directory, the names are returned in the order given to LC by the 
host OS.


The sort command can be used where sorting is needed.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: ProtonMail vs Apple

2020-08-14 Thread Richard Gaskin via use-livecode

Brian Milby wrote:


 "Microsoft can do what it likes with THEIR *platform*! if YOU
   _choose_ not to agree with their policies for use on THEIR
   platform, YOU can _choose_ to go elsewhere."

Absolutely... on THEIR *XBox* platform.

Microsoft leveraged anti-competitive practices to squeeze out competition on the *PC* platform with MS DOS.  Therefore Microsoft gained a monopoly on the *PC* platform by unfair business practices.  Very different situation. 


True, all circumstances are ultimately different from others.  As 
Aristotle reminds us, this is why all metaphors ultimately break down.


I'm not an antitrust litigator, nor judge with expertise in that area, 
nor corporate ethicist, nor economist, nor sociologist.  I'm not even a 
philosopher until well into a second Mai Tai. :)


I'm just a business owner longing for the olden days when I could hang 
my shingle anywhere I feel is best for my business.


I'm just a computing enthusiast who enjoys open standards, open systems, 
and open communications for learning, sharing, and deploying.


I'm just a citizen, like billions of others, looking at the 
ever-more-accelerated concentration of wealth, power, and control into 
the hands of just five people, and wondering if this is really in 
everyone's best interests...



And in recognizing the limitations of my modest roles, I admit the 
limits of my relevance in this discussion on a developer's list.


Carry on where you feel it's relevant for us to make choices as 
developers. I don't believe I have anything more to contribute beyond 
the questions I've already presented.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: ProtonMail vs Apple

2020-08-14 Thread Richard Gaskin via use-livecode

Lagi Pittas wrote:

> I didn't mean no marketing - it's like the folks that buy books about
> the law of attraction and sit on their fata arses visualizing a BMW.
>
> You can sit in your chair visualizing all you want but the BMW, and
>  bigger house won't come to you if you don't get off your ass and meet
> the universe halfway.

Yours and mine is apparently the minority view. ;)


> What I was saying is that the market on the Iphone is huge and in 1
> place, and if your program is any good it will make it big if Apple's
> editors pick it.
> or you at least try to JV with someone who is already there.
>
> But good luck if your program does not have something that
> differentiates from all the copycat wabnnabies.

I find nearly every conversation with you eventually winds up with you 
and I coming from the same place.


Business planning fundamentals used to be recognized as such, yet too 
often overlooked these days by starry-eyed aspirants hoping that getting 
a record in a database will be their ticket to success.


My only issue here, as with Andre and the EU, isn't that we're expected 
to hang our shingle if we want to be in business.  It's the vision of a 
world where we're prohibited from hanging our shingle in any property we 
may own, required to surrender an entire third of our company to have a 
cramped space in a massive shopping mall owned and controlled by a 
cartel of two of the wealthiest and most powerful companies on earth.


Just when the disintermediation inherent in the promise of the open web 
was beginning to make itself felt to publishers and consumers alike, we 
started seeing service aggregation reserving those benefits.


App store receipts are more than a third of Apple's services revenue.

My favorite period with Apple was when they made their money on their 
own work.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Layers in PBrowser

2020-08-14 Thread Richard Gaskin via use-livecode

Sean Cole wrote:


Richard

Watch my videos I posted using Dropbox. It’s madness. And it’s been CONFIRMED 
and NOT FIXED for a very long time


There was more than one video, and several others also reported being 
unable to reproduce the issue, so my question for Tom was seeking 
clarity on which recipe I should be following.


With your guidance here, I've now simplified my effort to try to 
understand the issue that prompted this thread by skipping your other 
posts, and have reviewed only the first video.


If I get time to set up a sample stack, or if you have one to share, I'm 
happy to try it here to see if I can help steward that toward a fix.




https://quality.livecode.com/show_bug.cgi?id=18818


This seems directly related to the core issue of this thread, and I have 
subscribed myself to that report. Thanks for providing the link.




https://quality.livecode.com/show_bug.cgi?id=19455


Per Mark Waddingham's comment #2 there, this one is an engine issue, and 
may have backward compatibility issues if changed.


Mark provides there guidance on using the relayerGroupedControls 
property to do such scripting much more easily, as well as using the 
relayer command for even greater ease.


It may be part of what brings about the core issue of this thread, but 
I'm unable to determine of that's the case from the information in the 
report.




Probably FIXED but still marked as CONFIRMED

https://quality.livecode.com/show_bug.cgi?id=21460


While status hasn't been changed since flagged as "Confirmed", another 
user reports being unable to reproduce it in recent versions.


Is this one still affecting your work?



https://quality.livecode.com/show_bug.cgi?id=22698


This one has a pull request submitted in May, and as far as I can tell 
would seem fixed now.  If it's still affecting your work please note 
that in the report, and if not please add a note there suggesting the 
status be changed to "Resolved".


They're usually pretty good about closing bug reports related to the 
work they're doing, but there's a lot in the DB and understandably the 
miss a status update now and then.



>  Frikin people who say ‘I can’t reproduce’ when it is clearly
> demonstrated in a frikin video EXACTLY what is happening! Does my nut
> in!!

Please understand that most folks here are earnestly trying to help.  I 
know people like Brian and Jacque personally, and I feel very confident 
in saying they only bring their best intentions to this list.


When Brian says he was unable to reproduce an issue, he isn't saying the 
issue doesn't exist; like me, he's looking for details which might help 
it become reproducible on his own machine so he can help further the 
process toward a fix.


When Jacque suggests trying the App Browser as an alternative, she isn't 
trying to undermine your desire to use the Project Browser, she's just 
hearing very clearly that you have an immediate need based on a pressing 
deadline, and offering a simple solution to get you through that task so 
your project can meet with success within the time allowed.



> 2c: I wasn’t after more workarounds. I want to highlight how crap
> like this NEVER gets fixed or dealt with and continues being poop.
> Someone (Mark, Ali, Sam, Ian, Kevin, Heather, anyone) needs to start
> fixing shite like this that has been around the last 6 years!

Workarounds are for us; fixes are for us and the company.

We benefit with either; all we want is to finish our task and move on to 
the next.


The company benefits most from true fixes, improving the out-of-the-box 
experience to increase conversions while decreasing attrition.


Their priorities are theirs; mine are mine.  When I finish meeting my 
own business' revenue and growth goals, I'll be happy to pass along to 
them what I learned if they ask.  In the meantime, they have no shortage 
of guidance to choose from, and much of it is mutually exclusive, so 
I'll leave their business in their hands while I attend to my own.


There's a maxim from a Chinese emperor many dynasties ago which I've 
found useful in all my relationships, personal and professional:


  When I feel the desire to discipline another,
  I first discipline myself two-fold.
  If I am successful,
  I then ask myself if I still feel
  the desire to discipline another.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: ProtonMail vs Apple

2020-08-14 Thread Richard Gaskin via use-livecode

Sean Cole wrote:

> It's all a pointless debate. Apple can do what it likes with THEIR
> *platform*! if YOU _choose_ not to agree with their policies for use
> on THEIR platform, YOU can _choose_ to go elsewhere.
>
> The same or similar issues come up with ALL brands! Google, Samsung,
> Nike, AT, Ford, Cadbury, so on and so on and so on.

Exactly. Let's try the same phrase with other company names we have less 
emotional attachment to:


"Microsoft can do what it likes with THEIR *platform*! if YOU
_choose_ not to agree with their policies for use on THEIR
platform, YOU can _choose_ to go elsewhere."

   "Bell Atlantic can do what it likes with THEIR *platform*! if YOU
_choose_ not to agree with their policies for use on THEIR
platform, YOU can _choose_ to go elsewhere."

   "Standard Oil can do what it likes with THEIR *platform*! if YOU
   _choose_ not to agree with their policies for use on THEIR
   platform, YOU can _choose_ to go elsewhere."

If the reader is sitting in a room filled with Apple logos, it may feel 
different to read that argument when applied to companies famously 
convicted of antitrust violations.


I agree it's not fair to target Apple with such inquiry, but neither 
should they get a free pass just because we may enjoy their products.


After all, the notion of Apple engaging in anti-competitive behavior is 
not merely theoretical - have we forgotten the ebook antitrust case of 
just a few years ago?:


   Apple’s liability for knowingly conspiring with book publishers
   to raise the prices of ebooks is settled once and for all,” said
   Bill Baer, head of the US Justice Department’s antitrust division.
   Baer called the price-fixing conspiracy “cynical misconduct”.
https://www.theguardian.com/technology/2016/mar/07/apple-450-million-settlement-e-book-price-fixing-supreme-court


Your point about Google is well taken, raising a question of its own:

Ethically, what is the difference between a duopoly and a cartel?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: ProtonMail vs Apple

2020-08-14 Thread Richard Gaskin via use-livecode

Lagi Pittas wrote:


If you sell a $10,000  worth in the second year you get $8500 without
having to spend as much on advertising.


Oh?

The app store is a directory, not a substitute for marketing.

Simply having one of a few million indistiguishably-uniform records in a 
database is insufficient to market a product.


Relying on directly listing alone is the equivalent of any business 
choosing to do no marketing because they're in the phone book.


I can't figure out where this notion that simply being in a directory is 
some sort of instant gold mine, but it may correlate with the number of 
answers provided here about anyone making more than $500 from ad revenue 
from apps, which was zero. ;)


Mature businesses often have 2/3 to 3/4 of payroll in marketing and 
sales.  Startups can get by with half.  Less than that increases the 
odds of being one of the 60% of apps in the app store that never get 
downloaded at all.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Layers in PBrowser

2020-08-13 Thread Richard Gaskin via use-livecode
Tom, I'm among the several here who have been unable to reproduce the 
original issue discussed here, at least as I understood it.


Perhaps I misunderstand it. What is the recipe for the bug you're 
referring to?


--
 Richard Gaskin
 Fourth World Systems


Tom Glod wote:

Yikes.. I have a lot of time for LC but there is really no excuse that
is acceptable for this kinda bug to be around for so long there were
others that drove me nuts for years too...but have since been solved thank
God.


On Thu, Aug 13, 2020 at 7:53 AM David V Glasgow via use-livecode <
use-livecode at lists.runrev.com> wrote:




> On 13 Aug 2020, at 4:16 am, Pi Digital via use-livecode <
use-livecode at lists.runrev.com> wrote:
>
> Why do I have the same discussion with you people

Hi Sean, There are no ‘you people’, there is only us, including you.

I can’t help you with your IDE problem, but I can see that others are
trying hard to be helpful, and that you are running on empty.

Maybe get some sleep and revisit the issue when you are feeling refreshed?




___
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: More Standalone Building Weirdness...

2020-08-13 Thread Richard Gaskin via use-livecode

The Standalone Builder really needs to be a separate process.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: ProtonMail vs Apple

2020-08-08 Thread Richard Gaskin via use-livecode

Two thoughts on this, possibly worth pondering:


1. The definition of "antitrust" may be outdated.

Antitrust regs kick in when one company has undue control over an industry.

What exactly is "undue"?

What exactly is an "industry"?

In a world where "products" and "industries" and "platforms" are 
increasingly virtual, overlapping, and interconnected, the defining 
frame of reference for those terms is in flux, almost continuously.


If I control all automobile production, customers appear "happy" because 
they're choosing my product rather than other choices in the 
transportation industry like motorcycles, trucks, bicycles, trains, 
buses, scooters, etc.


As long as there is a single bookstore anywhere on the Internet, can 
Bezos say Amazon's practices are not predatory?


And why do duopolies get a free pass altogether?

I don't have the answers to these questions.  But these - and many 
others - seem worth asking.



A small subset of these questions are being asked of Apple by antitrust 
regulators as we speak:


"Apple’s antitrust woes stem from its obsessions with control and money"
https://venturebeat.com/2020/08/07/apples-antitrust-woes-stem-from-its-obsessions-with-control-and-money/



2. The definition of "trust" may be outdated.

Consider this brief list:

- Tim Cook
- Satya Nadella
- Sundar Pichai
- Mark Zuckerberg
- Jeff Bezos

Five men. Five.

Together they shape, and to some degree control, most communications 
throughout humanity's infosphere.


Five. Just five men.

As just one small corner, consider:

Modern media is largely supported by advertising. 70% of all online ad 
money goes to two companies, Google and Facebook. Two. Just Two.


Literally EVERYTHING else in the online world supported by ads has to 
survive by subdividing the remaining 30%.  Everything. Thousands of news 
and media orgs, millions of blogs and apps, billions of pages.


And that's just commerce. How many times do we need to read in the 
papers about yet another of the Big Five either supporting despotic 
regimes, or partnering with middlemen whose despot clients seek to 
undermine democracies? The list of those affected is long, and growing 
right now even as I type this: Georgia, Ukraine, US, Brexit, France, and 
 dozens more across every continent on the planet but Antarctica, using 
digital media to disseminate disinformation.


Do you trust that five men can enjoy unprecedented power over the flow 
of commerce and ideas and somehow keep your best interests in mind, or 
the interests of the other 7.8 billion people?



This week four out of those five were invited to answer questions about 
commerce and control by a thankfully-for-them-largely-out-of-touch Congress:


"What a Trove of Emails From Facebook, Amazon, Apple and Google Could 
Mean for Potential Antitrust Cases"

https://www.nbcnewyork.com/news/national-international/what-a-trove-of-emails-from-facebook-amazon-apple-and-google-could-mean-for-potential-antitrust-cases/2554850/


Maybe this is all just how it's supposed to be.  Maybe this is what the 
dream of success is supposed to be about, and it's just whiny 
malcontents who don't get it.


Or maybe it's time for new thinking in response to new circumstances.

How long was it between the dawn of the petroleum era and the antitrust 
moves against Standard Oil?  Sometimes it takes a while for regulatory 
ideas to catch up with trends...


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Integrating Desktop or mobile application with LMS using LTI 1.3

2020-08-05 Thread Richard Gaskin via use-livecode

Martin Koob wrote:

> Thanks for the responses.  I am still actively working on this.
>
> I have hired a summer intern. Molly,  to work on this.  She has been
> getting up to speed on LiveCode and LTI 1.3 and now she is turning her
> attention to working on a proof of concept stack to connect with an
> LMS system and send commands and receive responses and process them.
>
> Indeed we have found that LTI 1.3 is supported by many LMS’s to
> varying degrees and some still just support LTI 1.1 currently. (There
> is a LTI 2.0 but that is a deprecated standard.
> http://www.imsglobal.org/lti-security-announcement-and-deprecation-
> schedule)  The LMSs we have looked at also have their own APIs which
> seem to have features beyond what the LTI feature set is but still
> looking at this.

This is very exciting.  Thanks for posting this.


> I am not at the point yet where I can open source it and I am not
> really sure how to go about that. (Don’t know how I would sell it
> either but probably not much of a market for it.)

If you feel the commercial value is lower than the value of open sharing 
and collaborating on fixes and enhancements, open source can be a very 
good option.


Picking a license can be the hard part.  The mechanics of collaborating 
are more flexible.


GPL v3 is what LC's Community Edition uses, useful for open source work 
but impractical for commercial work (it requires that derivative works 
use the same license and also make source available, which is excellent 
for proliferation but a turn-off for those looking to build 
closed-source works on it).


MIT License is compatible with GPL v3, and has no restrictions that 
impair use in either GPL-governed works or proprietary closed-source 
products.



> I have my main app on GIT using Monte’s lcVCS but if I did want to go
> open source with this library I want to to do something simpler like a
> script only stack library and maybe do a Demo app based on Trevor’s
> Levure App Framework https://livecode.com/products/livecode-platform
>/levure/ to make it easier to use git.   Does this sound like a good
> approach?

If a framework lets you build the demo more quickly than you could 
without it, go fo it.


But it learning the framework may slow you down, don't worry about the 
demo being in a Github-friendly format.  Folks will be grateful to use 
whatever you choose to spend your time making and sharing, even a simple 
binary stack file.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Has anyone created a specialised mobile keyboard?

2020-08-04 Thread Richard Gaskin via use-livecode
I would encourage you to consider very carefully the standard keyboard 
layouts provided by the OS before embarking on a custom one.


It's not only a lot of work to make a keyboard, but the common ones are 
very good, with Swype-like behavior, word prediction, and other things 
that can be cost-prohibitive for a solo dev to implement.


Users are *very* accustomed to standard input controls. Deviating from 
those may be useful in unusual designs, but given the high value of 
consistency for common tasks like text entry you'll want to weigh the 
pros and cons carefully before deciding your use-case is too far outside 
of those supported by the OS.


--
 Richard Gaskin
 Fourth World Systems


Graham Samuel wrote:
> What I want to do is to design my own keyboard with numerals and a
> few additional special symbols, but I don’t know if it’s possible
> to do in native mode, as it were.
>
> Graham
>
> Sent from my iPhone
>
>> On 4 Aug 2020, at 14:41, JeeJeeStudio via use-livecode at lists.runrev.com> wrote:

>>
>> You can set which keyboard you want, like email, numeric
>>
>> it's in the dictionary, search on mobile keyboard
>>



___
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: ProtonMail vs Apple

2020-08-04 Thread Richard Gaskin via use-livecode

JeeJeeStudio wrote:

> 1 positive thing then on a thing we don't have in LC and now also is
> removed...the possibility to put ads in your LC created mobile app...

"Possible" is a big word. It covers nearly everything.

It's possible to use LC Build to support ad network APIs.

It's also possible to find saner ad networks that offer REST APIs in 
addition to binary, so devs don't need to commit as much development 
time for one vendor.


It's possible but less likely that an app not worth monetizing through 
freemiums, direct payment, or other model will earn enough to bring a 
positive ROI for the effort of implementing ads.


It's less likely that you'll be able to shoe-horn someone else's ads 
into your app design without impairing the user experience.


Lots of things are possible.  Fewer things are likely.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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


Q re monetization via ads

2020-07-31 Thread Richard Gaskin via use-livecode

How many LC devs have earned more than $500 from in-app ads?

Outside of LC, anyone know what percentage of indy shops with small or 
zero marketing budgets have earned more than $1,000 on ads?


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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


Help me understand infinity

2020-07-29 Thread Richard Gaskin via use-livecode

In the v9.6.1RC1 Release Notes there's this:

   Infinity constant
   The constant infinity has been added to the language in this release.
   As a result, theunquoted literal infinity is now reserved. Any
   existing uses of it should be quoted, as otherwiseit will resolve to
   the floating point value representing infinity, rather than the
   string "infinity".

What is the use-case prompting this?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Object naming

2020-07-27 Thread Richard Gaskin via use-livecode

Consider a simplified problem statement:

You have two objects of the same type in a container, and you want to 
tell them apart but had given them the same name.




   Too Many Daves
   by Dr. Seuss

   Did I ever tell you that Mrs. McCave
   Had twenty-three sons and she named them all Dave?
   Well, she did. And that wasn't a smart thing to do.
   You see, when she wants one and calls out, "Yoo-Hoo!
   Come into the house, Dave!" she doesn't get one.
   All twenty-three Daves of hers come on the run!
   This makes things quite difficult at the McCaves'
   As you can imagine, with so many Daves.
   And often she wishes that, when they were born,
   She had named one of them Bodkin Van Horn
   And one of them Hoos-Foos. And one of them Snimm.
   And one of them Hot-Shot. And one Sunny Jim.
   And one of them Shadrack. And one of them Blinkey.
   And one of them Stuffy. And one of them Stinkey.
   Another one Putt-Putt. Another one Moon Face.
   Another one Marvin O'Gravel Balloon Face.
   And one of them Ziggy. And one Soggy Muff.
   One Buffalo Bill. And one Biffalo Buff.
   And one of them Sneepy. And one Weepy Weed.
   And one Paris Garters. And one Harris Tweed.
   And one of them Sir Michael Carmichael Zutt
   And one of them Oliver Boliver Butt
   And one of them Zanzibar Buck-Buck McFate ...
   But she didn't do it. And now it's too late.

--
 Richard Gaskin
 Fourth World Systems



Alex Tweedly alex at tweedly.net
Mon Jul 27 15:47:12 EDT 2020

Previous message (by thread): Object naming
Next message (by thread): Object naming
Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

On 27/07/2020 16:33, Richard Gaskin via use-livecode wrote:
There are many ways to refer to things.  The simplest is to use 
unambiguous names for things that matter.



Is there an unambiguous name in this case ? And if so, what is it :-) ?

A group "A" contains a rectangle "R", and a (sub)group "B". "B" also 
contains a rectangle "R". (btw - "B" also may contain a subgroup "C", 
and it too will have a rectangle "R", and ).


There is an unambiguous name for the 'most nested' "R", but there 
doesn't seem to be for the other "R"s. I had expected (or perhaps just 
hoped) that using a long name would first try to find an exact match, 
and if that failed it would then find the closest inexact match - but 
that sadly was just a hope.


I could (and probably will) use IDs but that doesn't work for 
duplicating the group - you need to either go in and adjust a script / 
custom property OR have the group's script find the IDs.


Or - am I'm missing something ?

Alex.



___
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: Object naming

2020-07-27 Thread Richard Gaskin via use-livecode
There are many ways to refer to things.  The simplest is to use 
unambiguous names for things that matter.


--
 Richard Gaskin
 Fourth World Systems


Alex Tweedly wrote:


I think my head is melting :-)

I have a group called 'A'.

Inside A, there is a rect called "R" and also a group called "B"

inside B there is a rect called "R"

How do I refer unambiguously to the first rectangle (i.e. A - R, not A - 
B - R) ?


If I say
grc "R" of grp "B" of grp A
then I unambiguously get A-B-R; but if I say simply
grc "R" of grp "A"
then I *also* get A-B-R.

There must be a way to do this (and maybe if it wasn't nearly 2 in the 
morning I would be able to figure it out).


Help! Please !

Alex.


___
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: ANN: FieldGroup - a simple rich text editor field.

2020-07-23 Thread Richard Gaskin via use-livecode

Alex Tweedly wrote:

On 23/07/2020 17:20, Richard Gaskin via use-livecode wrote:


https://www.tweedly.org/downloads/FieldGroupsample.livecode


Thanks for posting this, Alex. Super cool.

I didn't find license info in the package - did I miss it?

What license is this distributed under?


Sorry, I should have said.

It is released under the MIT license; I've added the license text to the 
script of the group, and updated the copy on my website (as above) - now 
at version 0.2


Super - thanks, Alex!

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: ANN: FieldGroup - a simple rich text editor field.

2020-07-23 Thread Richard Gaskin via use-livecode

Alex Tweedly wrote:

I'd like to announce the Beta (i.e. v0.1) release of my simple rich text 
field. Currently it's not on Github or anywhere sensible - it's just on 
my own download site (see URL at end of this email).


I'd be happy if anyone finds it useful, and / or has feedback that might 
make it useful.

..


You can download the sample app - which includes the group you ned to 
copy/paste - from


https://www.tweedly.org/downloads/FieldGroupsample.livecode


Thanks for posting this, Alex. Super cool.

I didn't find license info in the package - did I miss it?

What license is this distributed under?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Using OAuth2 with Microsoft API services

2020-07-22 Thread Richard Gaskin via use-livecode

A moment ago I wrote:


Mark Wieder wrote:

On 7/22/20 9:26 AM, Richard Gaskin via use-livecode wrote:
I've run into a snag in which the OAuth2 redirect URI does not seem to 
be called when used to authenticate for Microsoft API services such as 
Dynamics 365.


Before getting into details (there are many) it would be helpful to know 
whether anyone here has successfully use LiveCode's OAuth2 library to 
connect to Microsoft Office 365 apps, or even other Microsoft services 
that use Azure's authentication service.


Haven't, but this seems to be what you need:

<https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow>

Microsoft and Amazon make for strange bedfellows. Use certificates if 
you can.


Certificates? What are you referring to in the context of OAuth?


Ignore that.  I was familiar with the URL because that's where we 
started, but re-reading I see the section on certs there as an 
alternative to shared secret.


Does LC's OAuth2 support certs as an alternative to shared secret?

Azure made setting up shared secret a snap, and I don't recall seeing 
anything in LC's OAuth2 lib for using certs instead, but would be happy 
to try it if it'll get us past this redirect issue.


Oddly, it appears as though we're authentincating fine as it is using 
shared secret, the only problem being that we're not getting the 
redirect to close the browser widget and return the auth code to us.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Using OAuth2 with Microsoft API services

2020-07-22 Thread Richard Gaskin via use-livecode

Mark Wieder wrote:

On 7/22/20 9:26 AM, Richard Gaskin via use-livecode wrote:
I've run into a snag in which the OAuth2 redirect URI does not seem to 
be called when used to authenticate for Microsoft API services such as 
Dynamics 365.


Before getting into details (there are many) it would be helpful to know 
whether anyone here has successfully use LiveCode's OAuth2 library to 
connect to Microsoft Office 365 apps, or even other Microsoft services 
that use Azure's authentication service.


Haven't, but this seems to be what you need:

<https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow>

Microsoft and Amazon make for strange bedfellows. Use certificates if 
you can.


Certificates? What are you referring to in the context of OAuth?  And I 
missed something - how does Amazon play into this?


But yes, that's the page we started with.  We're now having an issue 
with the redirect URI not firing.  I'm working with the admin to adjust 
yet another Azure setting for that, but it would sure streamline the 
trial-and-error process if I could find someone who's done this 
successfully with LC.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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


Using OAuth2 with Microsoft API services

2020-07-22 Thread Richard Gaskin via use-livecode
I've run into a snag in which the OAuth2 redirect URI does not seem to 
be called when used to authenticate for Microsoft API services such as 
Dynamics 365.


Before getting into details (there are many) it would be helpful to know 
whether anyone here has successfully use LiveCode's OAuth2 library to 
connect to Microsoft Office 365 apps, or even other Microsoft services 
that use Azure's authentication service.


If not via LC's OAuth2 library, has anyone here successfully used LC to 
use Azure's auth for MS apps with custom code?


I may be in a position to pay a modest fee for code or consultation that 
leads us to a successful solution.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Tab Buttons Mac vs. Win

2020-07-18 Thread Richard Gaskin via use-livecode

Stephen Barncard wrote:

> If in 1975 I hadn't gotten pissed off at the Grateful Dead and
> taken off to LA...

Probably too off-topic for this list, but that sounds like a story worth 
hearing.  Perhaps over a beer after the madness ends and travel resumes...


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Styled text on mobile

2020-07-18 Thread Richard Gaskin via use-livecode

J. Landman Gay wrote:

> It's possible. For a LiveCode field, note that the font has to have
> a font variant for each style. Some time ago LC stopped supporting
> artificially altered font styles. The native system font on each
> mobile OS supports all styles.
>
> Or do you mean something else?

I probably should have specified: I was hoping there might be at least 
something in the works to bring the scripted mobile-native editable 
field up to par with other apps that allow styles to be applied to text 
the user writes.


I would expect to build the UI to set style attributes as we do on the 
desktop, if it were possible.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Tab Buttons Mac vs. Win

2020-07-17 Thread Richard Gaskin via use-livecode

Bob Sneidar wrote:

> I would LOVE to find out how Livecode for Mac draws those beautiful
> tab buttons so I can duplicate it on Windows, because DAYAM are the
> Windows ones ugly!

Around the turn of the century I wrote to Bruce Tognazzini, back when he 
was still taking email questions.


I asked him about the proper placement of confirmation and dismissal 
buttons (often "OK" and "Cancel") in cross-platform apps.  I was 
familiar with his early research on how the Mac layout (confirmation on 
the right) matched eye tracking studies on scanning order, and thus was 
a better solution.  On Windows reading order is used (confirmation on 
the left), which might seem better but not in UIs; dialog boxes just 
aren't read as much as skimmed, so rather than taking in each line 
individually as we do when we read, most folks more or less just scan 
from upper-left to lower-right, where on Mac the action button awaits.


So I asked Tog:

"Given that the Mac way is borne out by research, wouldn't it be better 
to use to Mac way in my Windows apps as well?"


He was kind enough in his reply, acknowledging that at least my heart 
was in the right place with wanting to "do the right thing" by the user. 
But he was also blunt: I had missed something even more important than 
research.  I had overlooked the significance of user habits.


When a user spends years with an OS design, they build up a cognitive 
and muscle memory, so strong that even when research shows an advantage 
to a different means, the consistency winds up outweighing it.


In short, he suggested I do Windows things on Windows, and leave Mac 
things on Mac.


Who am I to argue with Tog?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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


Styled text on mobile

2020-07-17 Thread Richard Gaskin via use-livecode

Am I dreaming the impossible dream?

--
 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: Live code server with Debian 8 Jesse

2020-07-13 Thread Richard Gaskin via use-livecode

Good tutorial, Heriberto:

> I use Livecode server on several Linux machines:
>
> Centos 7 / 8 and Ubuntu 14/16/18.
>
> I didn't need 32bits libraries.
>
> I created a brief installation tuto in my blog:
>
> https://www.hermanotemblon.com/instalacion-de-livecode-server-en-ubuntu/
>
> It is in Spanish, but you could use Google translator.

If you put those individual bash statements together into an executable 
script file you'd have a pretty handy installer.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Web help needed

2020-07-12 Thread Richard Gaskin via use-livecode

Bill Prothero wrote:
> Sorry if this is off, but what about just transferring them with ftp?

FTP is good enough for a small number of files.  But for automating 
large numbers of file transfers rsync is hard to beat, a much smarter 
tool making things much more efficient.


By default, rsync will only transfer files that have changed, and even 
then only transfers the portions of a file that's changed.


It can be used to sync folders locally or remotely - I run all my 
backups with it, in addition to using it post files to servers from my 
local master copy.


rsync is preinstalled with macOS, can be added to Windows, and is a 
standard part of most popular Linux distros used on servers.


It's secure using SSH, so if you add your SSH public key to your server 
(useful for a good many things) you not only get good security but it 
makes it easy to automate with LiveCode's shell function.



@Michael Doub: I believe HostM uses Ubuntu, so rsync is preinstalled 
there.  And since you use macOS, your copy is preinstalled on your Mac.


IMNSHO, you'll want to request SSH for any hosting service that doesn't 
offer it by default.  With SSH, not only do you get to use standard 
Unix/Linux utilities like rsync, scp, and others, but sooner or later 
you're likely to need or want to do something on that server outside of 
the limited scope of what FTP is designed for.  With shell access you 
can do anything you need, just as good as having the server sitting on 
your desk, even if it's thousands of miles away.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Web help needed

2020-07-11 Thread Richard Gaskin via use-livecode

Mike Doub wrote:

> I need to move hundreds of files from my desktop Mac to my server.
> I’m looking for advise as to how best to do this.

rsync

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Livecode Community Site

2020-07-08 Thread Richard Gaskin via use-livecode

Alex Tweedly wrote:

> On 08/07/2020 06:30, Richard Gaskin via use-livecode wrote:
>
>> LC Ltd loves guest content in their blog,
>
> Really ?  There's been *one* guest blog post in the last 2 years -
> maybe they need to push harder for contributions.

You can lead a horse to water...

It's easier to snap together a web site than it is to author content. I 
know that all too well.  LiveCodeJournal.com (and its earlier 
incarnation of RevJournal.com) was well placed for many years, often #2 
in SERPS - when I had fresh content coming in.  But third-party content 
dwindled when LC began their own content outlets, I got more bill-paying 
contract work, so that hobby project started taking a backseat.  It's a 
lot of work to do alone.


Consider the WoecechestershireSource site, and sites from the fella in 
S. Africa, TapirSoft's, and the others that have enthusiastically come 
and reluctantly gone over the years.


A large third-party ecosystem is nice, and we should definitely 
encourage more. But from an evangelism standpoint it's a 
top-of-the-funnel activity, with the mother ship in the middle where the 
funnel leads.  It helps to keep that destination well fed.


If it seems easy to commit to content authoring, give a shot at guest 
blogging for the largest audience in the ecosystem.  If nothing else 
it'll hone writing skills for the work ahead at one's own site.



>> and additions to the Lessons and docs.  The nice thing about making
>> contributions with the core project is they keep the
>> highest-possible-ranking site looking fresh, while also reducing work
>> for the author.
>
> Yep!
>
> So the answer for me is clear - I should write a (potential) blog post
> for the Livecode Blog, and offer ti to Heather. It may not be up to
> their standards - but at least I'll have tried.
>
> OK, off I go to write up my little "Them are beads!" project.

Supercool - I look forward to reading it.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Livecode Community Site

2020-07-07 Thread Richard Gaskin via use-livecode

Tom Glod wrote:

> I feel like nothing out there, LC related, feels like its maintained
> of kept up to date.

True dat, though there are a few.

LiveCode Journal has been fallow too long for a couple reasons: it's a 
lot of work to keep fresh content flowing, and ultimately I found that 
content needs management and much more, so I've been making tools for 
that. My hope is that the tools will allow me to kick out content more 
prolifically, but the tools themselves require 	quite a bit of time 
before that happens.


> Livecode themselves don't really have much of a social presence.

They have no content strategy that's evident.  That's too bad. it works. 
 Content strategy is pretty much how companies grow in the 21st century.



> So for new developers, it all just seems 'stale'.
>
> A modern, maintained site with up to date content would very easily
> become one of the top results for those searching for livecode. (I
> could be wrong)

Yes, to fresh content - but need it be in one domain?

Is the goal to create a new funnel that goes through all the steps to 
bring people into a new place...


- or -

...could the content be delivered to where people already are?


An article at LinkedIn can be promoted in groups and forums, but being 
at LinkedIn will be seen by more people more quickly than you could 
expect through organic search engine traffic.


Even better, search engine traffic only applies when the searcher 
happens to be searching for phrases that a given domain ranks high for.


But in existing sharing networks like LinkedIn, people can discover 
things they might never have thought to search for.


The mother ship itself is also a good venue:

LC Ltd loves guest content in their blog, and additions to the Lessons 
and docs.  The nice thing about making contributions with the core 
project is they keep the highest-possible-ranking site looking fresh, 
while also reducing work for the author.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: WebSites made using Livecode.

2020-07-07 Thread Richard Gaskin via use-livecode

Andre Garzia  wrote:

> In my own personal and subjective experience, LiveCode shines when you
> are building desktop applications, or combining desktop applications
> with server-side solutions. With LiveCode you can have a webapp doing
> server-side LC server and an HTML5 front-end, while still having a
> full desktop application for handling all the administration stuff.
> Instead of spending a ton of time to craft a webadmin panel, or a
> clunky CMS, you can offer your client the full power of an offline-
> first desktop application to manage the webapp you're building. That
> is a powerful proposition and one that I wish would surface more in LC
> marketing and in the stories on this list.

^ BINGO

It's been a great model here.

One of my longest-running projects is a content-driven medical decision 
support system, where the authoring, review, and publishing process is 
done in an LC standalone, generating web-ready static HTML for lean, 
scalable deployment.


And now that we have some nice WebDAV libraries, I'm using that same 
model for my own content management, with Nextcloud as a collaborative 
document store managed through a dedicated desktop standalone made in LC.


Along the way I'm seeing opportunities to use APIs from Nextcloud apps 
and other cloud services to build out standalones providing 
highly-integrated workflows across disparate services, tailored for the 
specific needs of just about any organization with all the ease that 
developing GUIs in LiveCode can provide.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: [off-topic-ish] do you prefer LC-related content as books or video courses?

2020-07-07 Thread Richard Gaskin via use-livecode

Andre Garzia wrote:

> I'm just not exactly sure if you prefer to consume content in book
> format or video format.

I've been pondering this myself with some content I've been putting 
together for the LC community, an EDU-leaning beginner's guide and one 
on networking.


Given the power and flexibility of LC, and the many learning benefits of 
direct engagement with interactive media, I'm currently structuring them 
to as courseware to be delivered as stack files.


No more copy-and-paste of code examples, animation is possible where 
relevant, examples are living, breathing software...


...all delivered in a great platform well suited for this sort of thing: 
LiveCode.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: OAuth2 on Win10: not returning to my app

2020-07-06 Thread Richard Gaskin via use-livecode

Thanks for confirming my hunch about the redirect URI.

I've passed along a localhost string to the Azure admin with a port 
specifier that matches the one I'm passing into the lib.  Still no go - 
same result, no browser widget close.


One possible issue: the admin tells me the Azure admin UI doesn't allow 
"http" as a scheme, so he used "https".  Azure accepted it so that much 
is fine, but of course SSL isn't used for local host so is that what's 
throwing this off?


Any guidance would be greatly appreciated, even if it's just to docs for 
the lib.  So far all I've found it one example Lesson about Slack.


TIA -

--
 Richard Gaskin
 Fourth World Systems


Monte Goulding wrote:

> It does sound like an issue with the redirect uri.
>
> Perhaps a configuration issue in your app on the endpoint? Some
> endpoints will use the redirect uri from the request, some will ensure
> it matches perfectly with your settings for your app on their portal,
> some will just use the redirect in the portal settings.
>
> Whatever is happening, there is no HTTP request to localhost on your
> specified port because if there was the dialog would close by itself.
>
>> On 30 Jun 2020, at 6:14 am, Richard Gaskin wrote:
>>
>> I've been working with the Oauth2 lib included with v9 (superhandy,
>> team, thanks!), and I've run into a snag:
>>
>> When I call it, the browser widgets opens and goes to the
>> authentication provider (in this case Office 365), and authentication
>> seems to work well.
>>
>> However, at that point I'd expect the browser widget's window to
>> close and "it" would contain the approved auth scope info.
>>
>> Instead what I'm seeing is the browser widget window remains open,
>> and it redirects into my Office 365 account.  I can close the window
>> manually with the "Cancel" button, but then "it" in my calling script
>> contains "Cancel", no auth info.
>>
>> Have any of you successfully used LC's OAuth2 lib to log into MS
>> Office 365 or other MS product that uses OAuth?
>>
>> If so, what did you use for the redirect URL?  Or is there something
>> else I should be considering?
>>
>> TIA -
>>
>> --



___
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: Message watcher and selectionChanged

2020-07-06 Thread Richard Gaskin via use-livecode

Mark Talluto wrote:

> You might try Richard Gaskin’s ‘Flight Recorder’. I use it all the
> time.
> You can get it from his site at:
> https://www.fourthworld.com/livecode/index.html
>
> I have a modified version that includes a performance boost that I am
> not sure are part of the original distribution.
> http://www.canelasoftware.com/pub/canela/4W_FlightRecorder.rev.zip

I was unaware that forks of my tool were being distributed, so I could 
not have incorporated any change requests.


I'll find the diffs and incorporate them into the master at my site this 
week.


Thank you for the enhancement, and for letting me know about it.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: WebSites made using Livecode.

2020-07-02 Thread Richard Gaskin via use-livecode

Heriberto Torrado wrote:

> I am trying to convince a customer to create their next website
> with  LiveCode Server instead PHP.  The client asks me what other
> popular sites are created with LiveCode server.

If you're dealing with the sort who goes only by popularity, nothing 
else matters.  They live in a world where there are only two choices: C 
for the desktop and PHP for servers.


It may be worth noting, though, that if they'd been consistent about 
their fixation on popularity they'd still be using Perl, and would have 
ignored the advent of PHP. ;)


And they never would have enjoyed Ruby on Rails, but even at its peak it 
was never the most popular solution.


> Do you know modern websites created with LiveCode

What is a "modern" web site?  That's not a trick question, just curious 
what specific types of features you're looking for.



> I have seen that the current LiveCode site runs Wordpress + PHP.
> Do you know why?

Because it gets the job done at low cost.

LC Ltd has generic needs for content management, no evident content 
strategy in terms of syndication, simple editorial workflow with minimal 
roles - for generic stuff generic tools are great.


With the question of build or buy, it's almost always cheaper to buy. 
And with WP the hard cost is zero, so it's just learning curve.


In general, it's only worthwhile building custom software that doesn't 
already exist.


LC can be a good choice when you have specialized needs not already 
addressed off-the-shelf.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: slow loading & navigation to card containing large field

2020-07-01 Thread Richard Gaskin via use-livecode

David V Glasgow wrote:

> Loading the plain text list of URLs from file is slowish, but more
> importantly, for some time gives no indication that the file is
> loading.

Are you reading the file as text or binary?

I would imagine reading as binary would be more efficient since it's a 
straight pull from disk, without the content alterations text-read does.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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


OAuth2 on Win10: not returning to my app

2020-06-29 Thread Richard Gaskin via use-livecode
I've been working with the Oauth2 lib included with v9 (superhandy, 
team, thanks!), and I've run into a snag:


When I call it, the browser widgets opens and goes to the authentication 
provider (in this case Office 365), and authentication seems to work well.


However, at that point I'd expect the browser widget's window to close 
and "it" would contain the approved auth scope info.


Instead what I'm seeing is the browser widget window remains open, and 
it redirects into my Office 365 account.  I can close the window 
manually with the "Cancel" button, but then "it" in my calling script 
contains "Cancel", no auth info.


Have any of you successfully used LC's OAuth2 lib to log into MS Office 
365 or other MS product that uses OAuth?


If so, what did you use for the redirect URL?  Or is there something 
else I should be considering?


TIA -

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: OFFLIST Re: Animation Engine: speed tips

2020-06-29 Thread Richard Gaskin via use-livecode

D'oh! My bad, I'd meant to not take up list space with this.

But we all love Malte, and maybe he won't mind taking a moment to let us 
know what he's working on lately.


--
 Richard Gaskin
 Fourth World Systems


Colin wrote:

We’re all curious!


On Jun 29, 2020, at 9:26 AM, Richard Gaskin via use-livecode  wrote:

On the use-livecode list you wrote:
> Hey Alex,
>
> Public Domain it is. I’ve set it free couple. of years back, as I am
> essentially no longer writing code. :-) Still following LiveCodes
> progress with interest though.  :-)
>
> Cheers,
>
> Malte

If you're no coding, what are you up to these days?



___
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


OFFLIST Re: Animation Engine: speed tips

2020-06-29 Thread Richard Gaskin via use-livecode

On the use-livecode list you wrote:
> Hey Alex,
>
> Public Domain it is. I’ve set it free couple. of years back, as I am
> essentially no longer writing code. :-) Still following LiveCodes
> progress with interest though.  :-)
>
> Cheers,
>
> Malte

If you're no coding, what are you up to these days?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: How many objects (IDs) can be generated by script?

2020-06-26 Thread Richard Gaskin via use-livecode

Heriberto Torrado wrote:

> 4 Billions is a lot, but I think it could be possible to reach it
> using some kind of automation tool.  I'm thinking about a stock
> exchange app or something that uses many changes and/or math
> calculations and it is displayed on a real time on a created field
> at runtime.

If you're generating those objects on the fly in each session you don't 
need to save them.  And if you're not saving the stack it doesn't 
increment its nextID counter.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: How many objects (IDs) can be generated by script?

2020-06-26 Thread Richard Gaskin via use-livecode

Heriberto Torrado wrote:

> I read this thread, but it's old and it is not very clear to me.
>
> http://forums.livecode.com/viewtopic.php?t=22112
>
> I have the same problem than "Havanna".
>
> About six years ago I developed a Livecode desktop app for my company.
> Several employees open and close the app several times a day.
> Many fields are created at runtime.
>
> The current IDs are in the 250.000
>
> Is there a limit?
> Can we have a problem on the next years?
> Did it changed with Livecode 64bits versions?

My understanding is that the 64-bit versions of LC are compatible with 
64-bit OSes, but internal addressing is still 32-bit.


So AFAIK my comment from the thread you linked to still applies:

   IDs are 32-bit unsigned integers, so the range of possible values
   goes up to about 4 billion.

   If you never manually set IDs, since the engine begins with ID 101
   and increments within a stack from there with each object created,
   for all practical purposes over the life cycle of an app there's
   little risk of running out of IDs.

   If you're curious about what happens when you exceed the range of
   possible values, you can set a control's ID to the highest value
   allowed (UINT4, or 4294967295), and then create some new controls.
   Last time I did that (several versions ago) I found nothing amiss
   during the current session, but after saving the stack I was unable
   to open it again.

   As long as you work with ID ranges well below the maximum, you should
   have no problem for many years even with the DataGrid or other
   controls that create large numbers of objects dynamically. Given
   practical memory limits, ID range could only be a problem if you go
   out of your way to set IDs to unnecessarily large numbers.

   If by chance you happen to have the first project in this community's
   history that actually runs out of IDs, the worse thing that would be
   needed would be to simply copy the controls to a new stack (could
   easily be automated), in which the ID numbers would be reset starting
   at 101.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: What the heck? Writing and reading ios files??

2020-06-25 Thread Richard Gaskin via use-livecode

Ralph DiMola wrote:

> I did not know that. I thought all DNS was case insensitive not just
> the TLD. I never seen it to the contrary.
>
> The Unicode thing is scary though. It validates my surfing habits. I
> never use email links. If I get an email from say my bank I always
> type the URL into a browser or a verified bookmark to check it out.

Good habit.

For extra protection this browser extension (Firefox, Chrome, Opera) 
will warn and block when you attempt to visit a Unicode domain:


https://aykutcevik.com/blog/idn-safe-now-available-for-nearly-all-browsers/

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Chromebook apps?

2020-06-22 Thread Richard Gaskin via use-livecode

William de Smet wrote:

I am a longtime user of Chromebooks in education and most 'cheap'
Chromebooks' come with only 4 GB RAM.
The Chrome browser itself uses a lot of RAM already and my experience with
Android apps on Chromebooks is that they are slow (lack of available RAM)
or sometimes not fully functional/compatible.


Ouch.

Thanks for that info, William. It's disappointing, but I'd much rather 
be disappointed by real constraints than invest in deployment plans that 
can't come to fruition.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Chromebook apps?

2020-06-22 Thread Richard Gaskin via use-livecode

John McKenzie wrote:


 Could you not just deploy a Linux desktop Livecode app to a
Chromebook? ChromeOS is a Linux distribution, if admittedly a stripped
down one, after all.


Alas, while ChromeOS is based on the Linux kernel, everything above the 
kernel is different (desktop manager, compositor, UI inputs, etc.).


And of course the current LC build for Linux is compiled for x86 
processors.  Since Frazier left we haven't seen any further development 
of an ARM-based compile of the LC Linux engine.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Chromebook apps?

2020-06-22 Thread Richard Gaskin via use-livecode

William Prothero wrote:

> Probably HTML5 would be better, ultimately. But, I look at the HTML5
> postings, limitations, and quirks and it would most likely require me
> to become an expert in javascript and various server technologies that
> put me over the interest level that would be required.

If your app doesn't depend on server tech beyond downloading, a web app 
wouldn't either.


That said, I hear you on this:

> I’m fine with programming in livecode, but I don’t think the payoff
> for me to get into HTML5 is worth what I would get out of it. My
> programming is a combination of personal apps that I can use (like
> managing my 6 water meters and fruit tree drip system) and updating a
> plate tectonics app that students at UCSB use. My two sons are both
> 5’th grade teachers, one of whom uses chromebooks in his school, so
> collaborating with him on a nice app for his students is attractive,
> but only so far.

Writing in HTML/CSS/JavaScript is a world apart from LiveCode.  When the 
business opportunity merits it, it can be rewarding (oh the joys of 
never needing to genuflect at an OS vendor's app store, or give up a 
third of your revenue for the privilege of their control).


And because the nature of the browser is so radically different from 
native app development, I agree that attempting to port LC stacks to the 
web via the Emscripten option is pretty much a non-starter for most 
things people have ever made in LC.


I haven't yet deployed to a Chromebook so I have nothing to offer there 
with regard to LC compatibility. But with the core of Android well 
represented in ChromeOS, I would hope it's no more difficult than 
deploying to a tablet.  Please keep us posted with what you learn.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Linux OAuth2 (was Browser Widget on Linux: how can it become possible to use?)

2020-06-20 Thread Richard Gaskin via use-livecode

Brian Milby wrote:


I think it should be relatively easy to fix the OAuth2 library such that it
works on Linux.  Currently it does use the browser widget for a better user
experience, but it should be able to launch the URL and use the system's
default browser.  Is there any interest in a PR for that type of fix for
this issue (at least until the browser widget can be addressed).


Absolutely. Thank you. I owe you a beer.


Also, I ran into a bug in the library this week where the auth code that
was returned included something that was actually URL encoded.  The
library then encoded it again which made things not work.  I actually found
the bug report which provided the solution to the problem.  You can see the
PR here:  https://github.com/livecode/livecode/pull/7381


Good work - thank you.


I don't mean to press my luck, but do you have any insight into why the 
Browser widget has been broken on Linux for the last few years? Or more 
specifically, what it might take to fix it?


Mark Wieder posted a link to a discussion on it, and while it did 
describe that the problem is non-trivial I have no idea if that means 
the Browser widget is abandoned in LC on Linux forever, or what it would 
take to address it.

http://forums.livecode.com/viewtopic.php?f=4=33805=189397=CEF#p189397


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Browser Widget on Linux: how can it become possible to use?

2020-06-09 Thread Richard Gaskin via use-livecode

Mark Wieder wrote:

On 6/7/20 1:17 AM, Richard Gaskin via use-livecode wrote:


What is needed to make the Browser widget work in LC's Linux engine?


http://forums.livecode.com/viewtopic.php?f=4=33805=189397=CEF#p189397


Sounds like the Browser widget is completely DOA in LC for Linux.

I hope I misread that.

--
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


Browser Widget on Linux: how can it become possible to use?

2020-06-07 Thread Richard Gaskin via use-livecode

The Browser widget doesn't work on Linux, and hasn't for a good many years.

Possibly related, I recently discovered that the OAuth authentication 
window so completely hangs LiveCode that a force-reboot is required 
(yes, bug report forthcoming, when I have time and temperament for that 
sort of uniquely-frustrating recipe-finding).


I have a vague memory that someone in our community had found some sort 
of workaround for changing the browser config so that it's possible to 
use LiveCode's Browser widget on Linux.


If I'm remembering that correctly, what is that workaround?

And for the longer term, though Linux runs most of the modern world's 
infrastructure I respect that they've ceded the desktop to Microsoft. 
Accordingly, when it comes to desktop platforms I respect that Windows 
deserves the lion's share of LC Ltd's time an attention.


But as the LiveCode Linux engine falls ever farther out of parity from 
other platforms, unless we're about to declare the LC Linux engine 
abandoned maybe we could bring some of that functionality back. The 
Browser might be a good place to start.


What is needed to make the Browser widget work in LC's Linux engine?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Times ARE changing

2020-06-07 Thread Richard Gaskin via use-livecode

Richmond wrote:
> If some of these types who go on endlessly about anything that might
> be vaguely construed as 'racist' were capable of slightly more subtle
> thought they might examine intentions: after all if we all judged
> people on what they looked like most of us would be out of a job and
> starving.

There is also the problem of linguistic false cognates. Similar words 
from different regions often have very different etymologies.


While the stories of the old British Empire can be charming (I love the 
two hard-bound volumes of Kipling my father gave me), the Indian tale is 
unrelated to both the origins of the American word "sambo" and its 
colloquial use.


On this continent, much of our language is influenced by the Spanish who 
were among the first Europeans to explore and settle most the Americas.


From Wikipedia:

   The word "sambo" came into the English language from the Latin
   American Spanish word zambo, the Spanish word in Latin America
   for a person of mixed African and Native American descent.[3]
   This in turn may have come from one of three African language
   sources. Webster's Third International Dictionary holds that
   it may have come from the Kongo word nzambu ("monkey") — the
   z of (Latin American) Spanish being pronounced here like the
   English s.

Complicating matters further is the difference between etymology and 
popular usage, as Ms Gay has reminded us with good humor over the years. :)


English-speaking people in the US didn't use the word until after the 
American Civil War, popularized mostly by the losing side of that 
conflict as a derogatory term.


Though the war was long ago, the legacy is evident. We needn't go any 
further on that here in this programmer's list.


It is indeed unfortunate that those who used the word most commonly in 
the States have cast an unfortunate pallor on a tale from the other side 
of the world, and that Samuel Battistone and Newell Bohnett found 
themselves in an awkward spot with their restaurants well known for 
excellent pancake breakfasts.


Indeed, the Santa Barbara restaurant is still family-owned, and the 
current manager Chad Stevens has expressed a hopeful note about the name 
change that goes into effect this Friday:


"With the changing world and circumstances, the name isn’t just about 
what it means to us, but the meaning it holds for others. At this point, 
our family has looked into our hearts and realize that we must be 
sensitive when others whom we respect make a strong appeal. So today we 
stand in solidarity with those seeking change and doing our part."


Maybe best of all, the new temporary name they'll be using while the 
family decides on a permanent one is: "☮"


https://www.noozhawk.com/article/bizhawk_sambos_santa_barbara_to_change_name_20200604

By any name, the restaurant at 216 W. Cabrillo Blvd in Santa Barbara is 
well worth making a point of visiting whenever you're passing through 
that part of California's coast.  The pancakes are truly awesome.



This is quite off-topic, and I hope this momentary indulgence in 
etymology and pancakes doesn't stray too close to cheese.


Back to our regularly-scheduled LiveCode discussion, where I'll post a 
question about the Browser widget next...


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: What have I done now ? (aka CR and LF confusion)

2020-05-28 Thread Richard Gaskin via use-livecode

Alex Tweedly wrote:

> Re. a PR to change it, it does seem it will run into concerns about
> backward compatability. Is it likely to succeed to propose a new
> URL-type - maybe "textfile".

What exactly does the PR do?

If it changes default Mac line endings from CR to LF, thumbs up.

macOS is a certified Unix, and has been for more than 20 years.  LF is 
the OS-default line ending. Command-line tools expect LF, and the GUI 
apps I've explored this in accept both where they use CR at all.


So while I can understand a concern about backward compatibility, it 
seems this one really only applies to a relatively small subset of edge 
cases for those depending on the simpler non-binary syntax for a 
specific binary sequence.


The simpler non-binary syntax is there to make things, well, simple.

Those needing a specific binary sequence should expect to use the binary 
syntax, while everyone else can enjoy simple file I/O reliably.


Keep in mind that "everyone else" includes what we hope will be a much 
larger audience of future users than the sum of all users to date.  Why 
plan for no-growth?  And even among current users, as in this thread it 
seems most expect the default to use the OS'es current default, not 
something leftover from the '90s.


Am I missing something?

LC has a very strong and favorable history of maintaining backward 
compatibility, far beyond anything I've seen with any other language.


I wonder sometimes if we take it too far, if maybe the rest of the world 
isn't wrong in sometimes allowing for the inevitable changes that take 
place in OSes.


From time to time LC does deprecate and change things, and sometimes 
that means a little extra work for folks moving to a newer engine.  But 
given how rarely this happens, I don't think folks would mind another 
rare moment of change, esp. one that seems far more an improvement for 
most devs than a problem.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: lc vs macos vs xc vs ios table

2020-05-26 Thread Richard Gaskin via use-livecode
So many discussions of which build goes with which version of this 
component and that OS and workarounds for chains of dependencies...


Is this really as good as it gets when using a non-Apple dev tool?

Anyone here build iOS apps in anything other than LC or XCode - is 
everything out there this complicated?


--
 Richard Gaskin
 Fourth World Systems


Mike Kerner wrote:

here's an interesting note for me the next time I'm in a panic over an
annual build:
XC prior to 11 won't run on catalina (maybe 10 will, so maybe pretend I
said "10" back there).  On your machine, you'll see the circle-slash
through the icon for xcode 9.x, which means apps that you built with LC 8.x
aren't going to get their annual rebuild if you don't hold your breath and
move to LC 9, right?
Nope.  It turns out you can still build in catalina with LC 8.x and XC9.
You just can't run XC9.  That was a pleasant surprise after doing our
annual rebuild broke one of our apps on "older" (2018 era) ipads that are
stuck in ios 9.x
***BUT*** that build config causes the app to fail on newer versions of ios.


___
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: Enabling "About MyApp"

2020-05-22 Thread Richard Gaskin via use-livecode

My comment was in reply to George's request about desktop menus.

Mobile systems have no menu bar of course, so any conventions that apply 
to menu bars don't apply to mobile platforms.


I did a couple searchs to try to find an answer for your mobile 
question, and posted the results here:

http://lists.runrev.com/pipermail/use-livecode/2020-May/260470.html

--
 Richard Gaskin
 Fourth World Systems


Graham Samuel wrote:
> Sorry, how does this apply to a mobile app which hasn’t got a menu in
> an explicit sense - of course I can provide a ‘menu’ item, i.e. some
> kind of choice the user can make (I do in fact have a ’settings’ card
> in the app I’m producing, so that could be somewhere to put it), but
> it’s not obligatory, is it?
>
> Graham
>
>> On 22 May 2020, at 14:11, Andre Garzia via use-livecode 
 wrote:

>>
>> This should be in the user guide...
>>
>> On Tue, 12 May 2020 at 00:42, Richard Gaskin via use-livecode <
>> use-livecode at lists.runrev.com> wrote:
>>
>>> GEORGE WOOD wrote:
>>>
>>>> How can I activate the "About MyApp" under the Apple menu?
>>>
>>> On other OSes the "About" item is usually the last item in the Help
>>> menu.  If you put your About item there, you'll find that when LC
>>> automatically translates its menu objects for the Mac menu bar it'll
>>> move your About item to the application menu.
>>>
>>> In fact, a similar thing happens with "Preferences". On most
>>> platforms it's the last item in the Edit menu, and when you put a
>>> "Preferences" item there the automatic menu bar change that LC does
>>> will put it in the application menu as well, below About.


___
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: Enabling "About MyApp"

2020-05-22 Thread Richard Gaskin via use-livecode
Agreed, and apparently the docs team does too - see the chapter 
"Programming Menus & Menu Bars", section "Menu Bars on Mac OS X 
Systems", where pg 181 discusses "Special Menu Items".


--
 Richard Gaskin
 Fourth World Systems


Andre Garzia wrote:

> This should be in the user guide...
>
> On Tue, 12 May 2020 at 00:42, Richard Gaskin via use-livecode <
> use-livecode at lists.runrev.com> wrote:
>
>> GEORGE WOOD wrote:
>>
>>  > How can I activate the "About MyApp" under the Apple menu?
>>
>> On other OSes the "About" item is usually the last item in the Help
>> menu.  If you put your About item there, you'll find that when LC
>> automatically translates its menu objects for the Mac menu bar it'll
>> move your About item to the application menu.
>>
>> In fact, a similar thing happens with "Preferences". On most
>> platforms it's the last item in the Edit menu, and when you put a
>> "Preferences" item there the automatic menu bar change that LC does
>> will put it in the application menu as well, below About.


___
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: About box equivalent for mobile apps?

2020-05-22 Thread Richard Gaskin via use-livecode

Graham Samuel wrote:
> In desktop apps, at least on the Mac, one has an “About” box where
> you can put acknowledgements of the use of copyright material and
> any other info like the version number of the app. There isn’t such
> a provision in a mobile app, is there? Is there any convention for
> this that I’ve missed, or should I just wing it somehow?

You may have to wing it.  I didn't turn up anything on About info in a 
quick review of the iOS HIG:

https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/

Also turned up no general discussion searching for a convention on this 
in DuckDuckGo.


If someone here has an authoritative reference to the contrary please 
post it, but as AFAIK it looks like there is no prescribed place for 
such info.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Obtaining URL to latest Stable LC Server

2020-05-21 Thread Richard Gaskin via use-livecode

Ralph DiMola wrote:


I use the commercial server so I can use password encrypted stacks.
I have an app that the customer required encryption of all data and source
code. The library stack is in the iOS app/APK is also used on the backend
server. I don't want to have to strip the passcode from the stack when
release updates to the app/LC server. Besides the customer asked that all
source code be encrypted in the app or on the sever so I complied.

Edge case... probably... But LC stack encryption made the customer happy so
that made me happy.


I like it when clients write requirements in a way that rule out pretty 
much everything else but LiveCode.


The more popular server languages - PHP, Python, Ruby, Perl, etc. - all 
use plain text, so with a requirement for source encryption every 
industry-standard option is off the table.


Now if only we could get that requirement to catch on... :)

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Obtaining URL to latest Stable LC Server

2020-05-21 Thread Richard Gaskin via use-livecode
The encrypt and decrypt commands are part of the core language common to 
all editions, along with hashing with messageDigest and the older 
md5Digest and sha1Digest functions.


The one form of encryption proprietary editions enjoy is with stacks, to 
protect scripts. For the most part this is irrelevant to any open source 
use since of course the whole point is sharing code.


But there are at least two use cases where stack encryption might be 
useful with open source projects:


- Preventing code modification: If you had a system that uses unlocked 
stacks downloaded from multiple sources, it's possible that one script 
downloaded from  nefarious source could modify another.


- Protecting secrets: Other scripting languages (PHP, Python, Ruby, 
etc.) are plain text files, so secrets like DB passwords need to be 
handled with care.  With LC it would be possible to put that info in an 
encrypted stack for an additional level of protection that would give LC 
a competitive advantage no plain-text scripting language could match.


That said, both are edge cases and neither prevents us from getting 
serious work done with what we have today.


In the first case, if one dared to make a system that ran stacks from 
unknown sources, code modification would be the least concern compared 
with all the other ways script behavior can be modified at runtime 
within a single LC instance (frontScripts, backScripts, etc.).  In a 
server context it's almost completely irrelevant because that's the last 
place we'd want to put code from unknown sources. :)


And the second case puts even unlocked LC stacks at no disadvantage 
compared to pretty much any other language everyone else everyone uses. 
If traditional ways of managing secrets are good enough for healthcare 
and banking, they're probably good enough for the types of web services 
the rest of us make.


--
 Richard Gaskin
 Fourth World Systems



JeeJeeStudio wrote:


Yes, true.

Does the commercial version not contain options comparable like LC Indy 
e.g. Encrypting or otherwise?


Thanks for your answer.


Op 21-5-2020 om 18:21 schreef Richard Gaskin via use-livecode:

JeeJeeStudio wrote:

> Op 20-5-2020 om 21:18 schreef Richard Gaskin via use-livecode:
>> It would be helpful to have a convenient way to obtain the URL to the
>> latest stable version of LC Server, to automate deployments.
>>
>> I don't believe the company provides that, do they?
>>
>> Without a company-maintained URL, I suppose one could write a
>> function that relies on a scraper for the downloads.liveocde.com
>> page.  Has anyone here done that?
>
>
> that's not the same version as the one you can download from
> livecode.com when you log-in. Community vs commercial

True, but my focus on the Community Edition is based on two 
considerations:


1. The proprietary edition requires an account-specific licensing key
   which AFAIK precludes external automation.

2. The proprietary edition is very rarely needed.

Most modern server solutions are open source, and many use GPL 
specifically, including not only LiveCode but also MySQL, MariaDB, 
Neo4j, MediaWiki, NextCloud, Wordpress, Drupal, Joomla, Git, Ansible, 
and a good many more.


The GPL being a distribution license, proprietary edition of LiveCode 
Server would be needed only in those cases where the developer is 
distributing a server solution for other devs making server solutions, 
and where they want their own code to be under proprietary license. I 
can imagine such a specific use may case exist in our community, but I 
haven't yet come across it.


For services accessed over a network, the code remains on the server 
and is not distributed to the user. So open source, even GPL, is a 
very good fit for web sites, apps, and other network-delivered services.





___
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: Obtaining URL to latest Stable LC Server

2020-05-21 Thread Richard Gaskin via use-livecode

JeeJeeStudio wrote:

> Op 20-5-2020 om 21:18 schreef Richard Gaskin via use-livecode:
>> It would be helpful to have a convenient way to obtain the URL to the
>> latest stable version of LC Server, to automate deployments.
>>
>> I don't believe the company provides that, do they?
>>
>> Without a company-maintained URL, I suppose one could write a
>> function that relies on a scraper for the downloads.liveocde.com
>> page.  Has anyone here done that?
>
>
> that's not the same version as the one you can download from
> livecode.com when you log-in. Community vs commercial

True, but my focus on the Community Edition is based on two considerations:

1. The proprietary edition requires an account-specific licensing key
   which AFAIK precludes external automation.

2. The proprietary edition is very rarely needed.

Most modern server solutions are open source, and many use GPL 
specifically, including not only LiveCode but also MySQL, MariaDB, 
Neo4j, MediaWiki, NextCloud, Wordpress, Drupal, Joomla, Git, Ansible, 
and a good many more.


The GPL being a distribution license, proprietary edition of LiveCode 
Server would be needed only in those cases where the developer is 
distributing a server solution for other devs making server solutions, 
and where they want their own code to be under proprietary license. I 
can imagine such a specific use may case exist in our community, but I 
haven't yet come across it.


For services accessed over a network, the code remains on the server and 
is not distributed to the user. So open source, even GPL, is a very good 
fit for web sites, apps, and other network-delivered services.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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


Obtaining URL to latest Stable LC Server

2020-05-20 Thread Richard Gaskin via use-livecode
It would be helpful to have a convenient way to obtain the URL to the 
latest stable version of LC Server, to automate deployments.


I don't believe the company provides that, do they?

Without a company-maintained URL, I suppose one could write a function 
that relies on a scraper for the downloads.liveocde.com page.  Has 
anyone here done that?


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Changing text properties in a field via the IDE

2020-05-19 Thread Richard Gaskin via use-livecode

Graham Samuel wrote:

> Well, I am happy to be wrong, so I repeated exactly what you did, of
> course using my own bit of styled text. It didn’t work - partly
> because I can only select the text in the field itself in ‘run’ mode,
> but I can only see the Inspector in ‘edit’ mode. When I switch between
> the two modes, I can’t do your (5), because I can’t select the text in
> the pane as you suggest.

FWIW, it's not necessary to use the Inspector, or change tool modes.  If 
the field is editable you can use the IDE's Text menu to change 
attributes in text selections directly in place, as you would with any 
word processor.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Changing text properties in a field via the IDE

2020-05-19 Thread Richard Gaskin via use-livecode

Graham Samuel wrote:

> To an ordinary LC developer, if you can change the properties of the
> initial text (to a different size for example) without overtly
> selecting it, then the same behaviour can be expected from the IDE
> when trying to change text you’ve pasted in. It may or may not be
> styled, but the confusing part is that selecting the text in the
> Object Inspector has no effect...

I just tried this recipe:

1. Paste styled text into a field
2. Choose pointer tool
3. Double-click the field to open the Inspector
4. In the Inspector, navigate to the Text pane
5. In that pane, select text, then type Ctrl-B

RESULT: Both the styled text in the Inspector and the styled text in the 
field being inspected updates the contents to show the portion I'd 
changed to bold.


Is that not working there?

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: Changing text properties in a field via the IDE

2020-05-18 Thread Richard Gaskin via use-livecode

Graham Samuel wrote:

> I’m using LC 9.6.0 rc1 on a Mac. Just now I did something very simple
> that didn’t work. I created a label field, opened the Property
> Inspector for the field and changed its text - that worked. Then I
> attempted to change the font size - that didn’t work. The appearance
> of the label in the stack itself didn’t change, nor could I change the
> font, make the text bold etc. I tried this again with a regular field
> - same result. I started a new stack with just the one field - same
> result.
>
> All these values can be changed by script, in the Message Box or
> elsewhere, but I can’t make them in the IDE by changing values in the
> Property Inspector.
>
> What am I doing wrong?

Text attributes can be set in the field, and the field properties can be 
overridden by a text run within the field.


When changing field properties doesn't change what you see, try 
selecting the text within the field and changing that.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Atom Editor Help

2020-05-15 Thread Richard Gaskin via use-livecode

Peter Reid wrote:

> ...several of the LiveCode staff use the Atom text editor.

That may explain the state of LC's Script Editor.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Open printing to pdf

2020-05-13 Thread Richard Gaskin via use-livecode

GEORGE WOOD wrote:

> Here is on example of what I tried:
>
> on mouseup
>  put “⁩/Desktop⁩/test files/Test.pdf” into temp
>  open printing to pdf temp
>  print cd 1 from (topleft of cd 1) to (bottomright of cd 1)
>  close printing
>  put the result
> end mouseup

"the result" returns exception info for the last command executed. In 
that case it's the "close printing" command.


Move it a line up and it'll tell you what's happening with the print 
command.


But add an error-check just after "open printing..." and I'll bet you'll 
find the culprit:


You path begins with "/", which signifies the root of the volume.  But 
"Desktop" is in the root, it's in the user's Home folder at (assuming Mac):


  /Users//Desktop/

Using specialFolderPath("Desktop") will always return the correct path 
on all platforms with a Desktop.


But in your case, you can do something even simpler:

  put "~/Desktop/test files/Test.pdf" into temp

The leading "~" is shorthand for the current user's folder.

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Enabling "About MyApp"

2020-05-11 Thread Richard Gaskin via use-livecode

GEORGE WOOD wrote:

> How can I activate the "About MyApp" under the Apple menu?

On other OSes the "About" item is usually the last item in the Help 
menu.  If you put your About item there, you'll find that when LC 
automatically translates its menu objects for the Mac menu bar it'll 
move your About item to the application menu.


In fact, a similar thing happens with "Preferences". On most platforms 
it's the last item in the Edit menu, and when you put a "Preferences" 
item there the automatic menu bar change that LC does will put it in the 
application menu as well, below About.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: Recommended (simple) Linux distro for Livecode server home dev/test?

2020-05-09 Thread Richard Gaskin via use-livecode

Keith Clarke wrote:
> Hi folks,
> Which distro(s) would you recommend for a Linux newbie as the easiest
> way to repurpose an old PC, Mac Laptop or Mini to host Livecode Server
> for lightweight ‘LAMP/LAML' dev/test dabbling?
>
> I’ve never had a Linux desktop machine and server-wise, never had to
> delve below C-Panel & WHM on hosted VPS Linux environments - so am
> very much the newbie on this.

Ubuntu, without question.

There many great distros, and I don't think there is a single "best". 
But Ubuntu has by far the largest installed base, so most of the 
tutorials and other support materials you'll find are written with 
Ubuntu in mind.


This is especially true on servers. Heck, even on Microsoft's Azure 
cloud ecosystem. Ubuntu is the leading OS.


Desktop:
https://ubuntu.com/download/desktop

Server:
https://ubuntu.com/download/server

You may change later; some folks like to distro-hop often. But the vast 
range of support materials makes Ubuntu the go-to starting point for 
getting into Linux.



> Hardware specs would be useful, too - to gauge how far back on the
> cupboard to reach to source an appropriate box!

You can check the requirements at the site, but you probably don't need 
to worry about it.  If it's for a sever you won't need the GUI desktop 
edition, and it's the desktop where requirements tend to be much higher. 
 There's a flavor of Ubuntu for everything from Raspberry Pi to 
supercomputing clusters - you should have no trouble finding one for 
your old PCs. The Server edition should get you up and running on just 
about any machine made in the last 10 years or more.



If you want a GUI desktop edition and have an old machine that's a bit 
underpowered for Ubuntu, there's a lightweight flavor you can use:


https://lubuntu.net/

Lubuntu is the leanest Ubuntu flavor I've tried.  It's been running on 
my desk almost continuously for the last decade, downloading, collating, 
and posting data for the info you see in LiveNet (see the GoLiveNet 
plugin in LC's Plugins menu).


I prefer Ubuntu's Gnome Shell for my main workstation, but on 
lower-powered machines I've been impressed with how efficiently Lubuntu 
runs.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: I need some DataGrid performance help

2020-05-06 Thread Richard Gaskin via use-livecode

Mark Waddingham wrote:


On 2020-05-06 17:36, Richard Gaskin via use-livecode wrote:

A while back Mark Waddingham reviewed the situation and decided that
getProp and setProp were indeed more rightly in the category of custom
messages rather than system messages, and as such should ideally be
immune to the effects of "lock messages".


If by a 'while back' you mean the thread from 2013 in the engine forum 
(http://forums.livecode.com/viewtopic.php?f=66=18048) then that's a 
long time ago! If I have commented more recently on this, then a 
reference to what I said would help :)


I look forward to having the luxury of time to catalog your every word. 
:) In the meantime I work with what I can recall offhand, and trust 
you'll provide correction where needed.


Thanks for doing so here:

In reality if you want encapsulated custom controls which cannot be 
broken by user scripting around them, then it is not just property 
handlers which should be immune to lock messages, all engine messages to 
such a custom control should be immune.


"Cannot be broken by user scripting around them" is an enticingly high 
threshold, but one I've never considered.


In an imperfect universe in which all decisions involve trade-offs, my 
own modest desires would be satisfied well enough with being able to 
lock messages without having to consider side-effects on the DataGrid or 
other prop-driven scripts.


But keeping those implications in mind hasn't stopped me from delivering 
anything yet, so I'll continue to do well with what we have.



Regardless of what I said 7 years ago, now (being older, and maybe a 
little wiser) I don't think I really see how changing lock messages (and 
breaking a lot of code as a result!) would get us any further towards 
better custom controls would it?


Sure.  Maybe this BZ item be closed to put the concern to rest?
https://quality.livecode.com/show_bug.cgi?id=226

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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: HTML Platform

2020-05-06 Thread Richard Gaskin via use-livecode

David Bovill wrote:

> WASM support is very important to Livecode future. It will address
> most of the problems of current HTML5 deployment

WASM will definitely benefit the two most visible issues, load time and 
performance.


Performance is an unqualified benefit, but with load time the benefit 
with web use is minimal, since the engine is re-downloaded nearly every 
time the user visits your site (unless of course yours is the only site 
they visit, so cache never purges).


While an OS-native app is downloaded once, the impact of download times 
on web apps is multiplied by frequency of use.


In compiled object code the LC engine ranges from about 17 MB (Win) to 
32 MB (Mac). Assuming the WASM export comes closer to that, it's still 
outside the short patience most end-users have acquired for public sites.


Can still be quite good for specialized audiences who understand up 
front the value of waiting for what you're delivering.  But where a 
priori buy-in is that deep I find those audiences often equally 
amendable to a one-time download of a desktop app.



That said, even with improvement on the most immediately-visible issues, 
 switching interpreters from JS to WASM can't address the less visible 
ones we discover only after we commit to that path. We're still stuffing 
a desktop object model and functionality into an HTML Canvas object 
inside of a browser application.


As I wrote in a recent forum thread on a related subject:

   And even if the size and speed impediments could be overcome
   affordably, then what? Given that the desktop and the browser
   are such fundamentally different platforms, the vision of
   exporting an existing desktop app to the web is impractical
   from a design standpoint alone. File I/O, windowing, menus,
   OS integration, layout flow, etc. - all vastly different, some
   non-existent on the web altogether given its vastly different
   role.
https://forums.livecode.com/viewtopic.php?f=120=25210=75#p190586

Emscripten-based export can be good for some use cases.  But I'd wager 
that the number of use cases where it's an ideal fit is the same or 
fewer than those where a net-savvy OS-native app would also be welcome.


For all the popularity of the web, native apps haven't gone away.  They 
are different animals.



> and I definitely intend to use it - for micro service deployment, and
> blockchain integration for instance.

I have a friend who's been nudging me to spend more time with 
blockchains. Please keep us posted.  I'll be interested to learn how 
much of the business logic is in the client and how much is on the 
server.  So many options there...



> It will doubtless be a commercial feature

Oh dear I hope not. It's too easy to be attracted by a shiny nickel 
today at the cost of a dollar tomorrow.


LiveCode as a product has its fate bound by LiveCode as a *platform*. 
Unless we want to limit its audience to mostly retired HyperCard fans, 
we'll need to encourage a reconeptualization of the role of the 
Community Edition in platform-building.


--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com


___
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: HTML Platform

2020-05-06 Thread Richard Gaskin via use-livecode

Pi Digital wrote:

> Richard wrote:
>> But most apps that might make good candidates for LC's HTML export
>> have characteristics that lend themselves very well to not doing HTML
>> at all, instead using a one-time download of an LC standalone which
>> then downloads and runs stack files (a practice that, in the absence
>> of a more common label, I like to call "streaming apps").
>
>
> Two words, Richard.
> IT Departments.
> Of the 150+clients my client has, 150+ of them would emphatically
> prefer a web based app than a desktop one. They don’t want stuff
> ‘installed’ or ‘run’ on their machines that haven’t been thoroughly
> tested before use. Each and every update. And they really don’t want
> to have to keep testing each and every update. Using Chrome/Edge-
> Chromium overcomes all of that.

I hear you loud and clear on that, Sean. I've run into that myself 
(humorous anecdote below).


In the subset of cases where IT is absolutely forcing the entire 
enterprise to ditch OS-native apps in favor of browser apps, there's 
little you can do to stop that.


And where the limitations inherent in any Emscripten-based solution pose 
no impediment to functionality, why not?  You'll still need to do 
significant rework of the stack to meet user expectations (e.g. more 
than half of all net traffic is on mobile devices so responsive design 
has become a common expectation for web apps), but where Emscripten does 
what you need by all means use it.


There is no one-size-fits-all for any of the work each of us does.  We 
evaluate the needs of our audience and make our deployment choices 
accordingly.



But the advent of the web hasn't killed OS-native apps.  The Mac app 
store is filled with them, and they remain a mainstay throughout 
organizations big and small.


Indeed, even the rise of the cloud hasn't killed off OS-native apps, but 
simply validated the "streaming app" model with the popularity of 
net-savvy apps like Adobe's Create Suite, Microsoft's Office 365, and 
Apple's iTunes.


An OS-native app allows a level of integration with common OS services 
and workflows difficult or impossible to achieve in the confines of a 
browser window.


Extra bonus points that it's also often a better overall user 
experience, and far cheaper to build and maintain in the LC we know and 
love.




> And mySQL from LC in the browser is tonnes faster than on the desktop
> - massively! Because they’re both on the same server. Even though the
> message path is LC>JS>(AJAX)>PHP>JS>LC!

I suspect there's something going on there that can be remedied.  As you 
noted, compiled object code should be faster than interpreted 
JavaScript.  In every other respect the calls should be the same, so 
throughput should be faster in the OS-native implementation.  If it's 
not let's review that to bring it up to speed.




--
Aside: A Humorous Anecdote about working with Corporate IT

I was once a partner in a company that deployed a networked app which we 
delivered to institutions on CD-ROM.  As we told customer IT, we 
designed it for their convenience, so installation is simply copying a 
folder from the CD-ROM to a shared volume.  That's it.


IT at one facility didn't believe us.  They were up to their armpits in 
lesser tools than LiveCode, they were unable to conceive of a true 
standalone, accustomed to apps that spew DLLs all over the hard drive 
and then also require mods to their firewall.


They insisted we produce an Installation Guide.  We did.  It was one 
paragraph describing how to copy a folder from a CD to a shared drive, 
with the rest of the page being an illustration of doing that.  They 
were fully satisfied with that deliverable. :)



Years later we did migrate the consumer portion to a web-native 
implementation (using LC to generate it).  And since the original was 
built in LC, we easily moved a lot of the logic that had been in the 
client onto the server with minimal effort.  More on that in a moment.


We kept the authoring desktop-native, and expanded it into a streaming 
app where it was used by dozens of collaborating authors in offices 
around the world.


Authoring had originally been slated for migration into an existing 
Java-based system the org had built for similar products. The only 
reason for expanding our own authoring system to become multi-user was 
because the IT staff at an acquiring company was so busy with other 
tasks it became more cost-effective to build out ours than to wait for 
IT to catch up on the tasks the org relied on them for.  Great IT staff, 
just busy.  The authoring system written by a single LC dev eventually 
had more features than their similar system built in-house by an entire 
team of Java programmers, and for a much lower cost.



But on the consumer-facing web side, we have one more punchline:

One of the orgs that had insisted on a browser-based version did so for 
the usual reason, the one you noted, the concern for security.  As a 
regional hospital network 

Re: HTML Platform

2020-05-06 Thread Richard Gaskin via use-livecode

Erik Beugelaar wrote:

> It would be great if a lesson comes available how to create streaming
> apps with LC.

Thank you for your interest.  I'll do that, but it'll have to wait until 
I finish some client projects first.


In the meantime, the beauty of this approach is its simplicity.  Like 
anything else it can be made complicated, but it boils down to:


1. Make a slim standalone that contains just a splash screen and
   only enough code to download a stack file from your server
   (or report a network error if it can't).  "Load URL" is a good
   choice for larger stacks because it lets you display a progress
   indicator asynchronously, but for smaller stack files simply
   "go stack " will work just fine.

2. Put a stack file with the guts of your app on a server.

3. Run your standalone.

It gets even better when you use LC's built-in gZip compression to 
reduce download times.


And better still, you can also cache what you download to support 
offline modes where practical.  Using a small text file on the server 
containing the build number of the stack file there makes it quick and 
easy to check if a fresh copy of the stack file needs to be downloaded, 
otherwise it opens the cached copy.


The beauty of this is that it's neither new nor exotic.  We've been 
doing it since MetaCard first made a one-liner out of HTTP GET with 
libURL back in the '90s.


For a fairly simple example, see LiveNet (in the IDE, Development -> 
Plugins -> GoLiveNet).  That small plugin downloads a stack file that 
includes fields and other containers that are then populated with data 
it pulls from multiple sources, exemplifying both the ease of 
downloading stack files and (hopefully) serving as an inspiration for 
building mash-ups.


--
 Richard Gaskin
 Fourth World Systems



-Original Message-

Mark Wieder wrote:

On 5/5/20 4:47 PM, Trevor DeVore via use-livecode wrote:
 >> I don't use HTML deployment myself, but thought I would mention 
that  >>

there has been some emscripten activity in GitHub lately. Looks like  >>
WebAssembly (WASM) support is being added.
...
 >
 > Yeah, I saw the github posts come flying by, and that's a promising  >
feature, but it doesn't address the limitations and broken features of  >
the current html implementation.

In my own mind I phrase that differently.  Whether it's gentler or more
stark is up to the reader, but for me it's more:

   ...it can't address the fundamental differences between desktop
   and web architectures, and the limitations inherent in Emscripten.

Emscripten is good for what it was designed to do.  But look deeply at LC,
consider what Emscripten is, and the more time you spend pondering it the
clearer it becomes how difficult it is to put a desktop app's square peg
into a browser hole.

"Difficult" is maybe unfairly optimistic. And "impossible" never applies to
software. Perhaps "prohibitively expensive" is fair.


 > Also, it remains to be seen how much bloat this adds to deployed web
 > apps.

Putting an entire scripting engine and object model into a browser
application that already has its own scripting engine and object model
cannot achieve size, performance, and integration features as well as a
web-native implementation.

If you truly need a browser as your only deployment option, it's kinda
hard to argue against going with the grain of the browser.

But most apps that might make good candidates for LC's HTML export have
characteristics that lend themselves very well to not doing HTML at all,
instead using a one-time download of an LC standalone which then
downloads and runs stack files (a practice that, in the absence of a
more common label, I like to call "streaming apps").

Fits most of the same uses cases, but provides a more focused user
experience that integrates with the OS as only a native app can.

Extra bonus points that they're cheap and easy to build in LC, fast
cheaper to deliver sophisticated works than even web-native implementations.

For the sorts of vertical audiences where LC's HTML would seem
interesting, I believe simply streaming stacks in a standalone is the
most underappreciated and underutilized opportunity in our community.

MetaCard promoted the idea heavily with some nice example downloads, but
in all these years only a few of us make streaming apps regularly.

If you're waiting for LC's HTML to get good, let's discuss streaming
apps for those where they might be a great solution.  We really don't
need to wait for anything to have the benefits of net-distributed apps.
You can have it all today, with the LC you know and love already.

--
  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: I need some DataGrid performance help

2020-05-06 Thread Richard Gaskin via use-livecode

zryip theSlug wrote:

> datagrids are using virtual properties, so you can't lock the
> messages.

Reminds me: we have a request to do away with that,since it complicates 
a lot of otherwise-powerful-and-simple things we can do with custom 
controls.


A while back Mark Waddingham reviewed the situation and decided that 
getProp and setProp were indeed more rightly in the category of custom 
messages rather than system messages, and as such should ideally be 
immune to the effects of "lock messages".


Anyone on the team have an update on this?

https://quality.livecode.com/show_bug.cgi?id=226

--
 Richard Gaskin
 Fourth World Systems
 Software Design and Development for the Desktop, Mobile, and the Web
 
 ambassa...@fourthworld.comhttp://www.FourthWorld.com

___
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


<    1   2   3   4   5   6   7   8   9   10   >