A small PR rant

Want to talk about something that isn't covered by another category?

Moderators: Klaus, FourthWorld, heatherlaine, kevinmiller, robinmiller

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7956
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: A small PR rant

Post by FourthWorld » Mon Jul 13, 2020 5:02 pm

Re "mixed system": the more common term is "dual licensed", referring to the user's choice of open source or proprietary license. Many popular projects are dual-licensed, including MySQL, MariaDB, MongoDB, NextCloud, and many more.

Some open source projects have strong corporate donations supporting them, like MySQL, postgeSQL, Python, LibreOffice, etc. Where corporate users deriving the greatest measurable value from a project also support it, an ecosystem can remain thriving.

More than 3/4 of LiveCode's audience is using the open source Community Edition. Qnd given the nature of the tool, while many corporations do use it internally and as such the open source license is sufficient, LC tends to be used for GUIs rather than infrastructure, which means proportionately more individual than corporate users than infrastructure tools.

And when we consider the nearly-unmatched scope of supported platforms, we can appreciate the expense side of the balance sheet as well.

Xojo was raised as an example, and it's a good comparison in this respect: while they offer "mobile", at this time that's iOS; the other 80% of the world using Android is informed "coming soon". I don't doubt that company's good intentions, and overall they seem to do pretty good work, but since "coming soon" has been the Android message for several years now it's clear that the scope of engineering costs needed to support this sort of platform coverage is non-trivial.

So on balance, for myself it doesn't seem inappropriate for a mostly-open-source company like LiveCode Ltd to include donations in the mix of revenue streams needed to support such an ambitious mission.
Richard Gaskin
Community volunteer LiveCode Community Liaison

LiveCode development, training, and consulting services: Fourth World Systems: http://FourthWorld.com
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3122
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: A small PR rant

Post by mwieder » Mon Jul 13, 2020 10:14 pm

Seems like somebody's been paying attention:

https://github.com/livecode/livecode-ide/pull/2138

Image

bogs
Posts: 4790
Joined: Sat Feb 25, 2017 10:45 pm

Re: A small PR rant

Post by bogs » Mon Jul 13, 2020 10:23 pm

Yah, but where are the Android and Desktop sizes ? :P :P :P

I am just kidding !!!! Image
Image

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7956
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: A small PR rant

Post by FourthWorld » Mon Jul 13, 2020 10:46 pm

mwieder wrote:
Mon Jul 13, 2020 10:14 pm
Seems like somebody's been paying attention:

https://github.com/livecode/livecode-ide/pull/2138

Image
Not close enough attention.

That's a good engineer's solution, but gives the appearance of a team without a UX designer.

Perpetuating that already-encumbered submenu with even more choices raises questions for new users:
- "Isn't LiveCode cross-platform? I heard it was, but this is all iOS and there's nothing here for Android, or any desktop platform."
- "Does LiveCode require me to make separate layouts for every possible device? I thought maybe it had some means of supporting multiple screen sizes like every other tool I've seen, but this menu tells me I was wrong."
#AntiFeature

And then there's the well-researched physical awkwardness inherent in submenus (which is why every HIG suggests using them sparingly and only when no other option makes sense), the need to keep your pointer within a relatively-small and not-visibly-defined slop region, without accidentally clicking or moving too far, compounded by the fact that the one thing you have to do every time you start work in LC is create a stack.
#Ergonomics

And then there's the opportunity cost: if this were a single item leading to a dialog box of options (such as, say, devolution provides an example of), not only do you not have to make a specific size choice in advance from a physically awkward submenu, but you can include other choices too. For example, the one object type we always set a name for is the stack - put that in a New Stack dialog and you no longer need to double-click the stack to open the Inspector, single-click it to select the stack, move the mouse to the Inspector, select the name field, type your name, hit Enter, and then close the Inspector. A New Stack dialog would also be the best place to determine whether its a substack and what its mainstack should be, and whether or not it's script-only. Those are in devolution's New Stack dialog now, and soon I'll be adding support for an extensible set of template stacks as well, easy to do in a dialog but prohibitively difficult to attempt in a too-long-to-read-easily, already-physically-awkward submenu.
#MissedOpportunity

Yes, I know that my own advice is to discuss things like this directly with the team. But on this one I did. And they still have the awkward submenu that tells potential new customers considering the product that LiveCode is harder to use than it really is.
Richard Gaskin
Community volunteer LiveCode Community Liaison

LiveCode development, training, and consulting services: Fourth World Systems: http://FourthWorld.com
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

JackieBlue1970
Posts: 64
Joined: Thu Jan 16, 2020 10:28 pm
Location: Max Meadows, VA USA

Re: A small PR rant

Post by JackieBlue1970 » Mon Jul 13, 2020 11:27 pm

"Xojo was raised as an example, and it's a good comparison in this respect: while they offer "mobile", at this time that's iOS; the other 80% of the world using Android is informed "coming soon". I don't doubt that company's good intentions, and overall they seem to do pretty good work, but since "coming soon" has been the Android message for several years now it's clear that the scope of engineering costs needed to support this sort of platform coverage is non-trivial."

Xojo is definitely Mac centric in my opinion which is why iOS was first. My guess is their user base is more iOS centric. Hell, I am for internal use, so I am. However, have you seen their web solution? Honestly, for many "mobile" solutions, this would all you would need. I know HTML5 is available for LC (at a significant additional cost) but I see few comments of advocating it as a solution. While I am using live code, I can see where many a business would go for Xojo or another option (Xmarin? ) or skin a website.

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3122
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: A small PR rant

Post by mwieder » Mon Jul 13, 2020 11:48 pm

Xojo for the web is IMHO a much better fit than LC with HTML5. And yes, Android has been just a gleam in someone's eye over at the Xojo team for a long time now. I don't expect to see it any time soon.

Richard- I completely agree with the boated submenu thing - just pointing out that it seems Panos may have been reading this forum and decided to take some action. The approach I took with PowerTools is to offer a "custom" submenu option in addtion to some canned stack formats, and then also offer a submenu item to select the last-used custom format. So if you primarily design for a 432x666 pixel screen, you can configure the custom option once and then just select it from the menu each time after that.

StackSelector.png
StackSelector.png (23.42 KiB) Viewed 803 times

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7956
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: A small PR rant

Post by FourthWorld » Tue Jul 14, 2020 1:08 am

Personally I never understood the expectation that an app development tool needs to also be a web authoring tool. They're such different paradigms that I can understand why XCode, VB, and pretty much anything other than Xojo or Toolbook don't even consider it (the exception of course being JS packagers, for those who like their native apps to feel like a web page but for some reason don't want it in a browser). If we're going to go there might as well offer book publishing, photo retouching, cartography, and other categories also dramatically unlike native app development. :)

If Xojo's web deployment option is satisfying it may be good for me to explore it. Perhaps I can build something like it for LiveCode in LiveCode.

But a quick glance at the resources at their web site gives me the impression it's not a general-purpose native-to-web tool. Maybe I'm not understanding, but they offer separate classes of objects for web work, and the examples I've been able to find seem limited to DB lists and forms.

If I'm seeing that correctly, that's more or less Toolbook's approach, which would be tedious but not too difficult to write in LiveCode (and which I had strongly advocated instead of Emscripten back when it might have mattered). It's a far more limited option, but it seems to me it's better to have even a narrow subset of needs well addressed than a comprehensive vision that isn't achievable.

Their backend integration seems mysterious, and from the description I get the impression it's bound to their own Xojo cloud services. If it's true there's no self-hosted option, it's a non-starter for every client I've worked with, but maybe I misunderstand that.

I couldn't find a Web Dev guide per se at the Xojo site. Should I just poke around and the bits and pieces spread around there, or is there one good PDF that gives me the dev-to-deployment rundown on their web implementation?
Richard Gaskin
Community volunteer LiveCode Community Liaison

LiveCode development, training, and consulting services: Fourth World Systems: http://FourthWorld.com
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3122
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: A small PR rant

Post by mwieder » Tue Jul 14, 2020 1:48 am

I also have to say I like Xojo's license policy.

"All Xojo licenses give you access to new Xojo releases for a 12 month period. After your license expires you may continue to build with any release distributed during that 12 month period, indefinitely. You are never required to renew your Xojo license and can do so anytime before or after its expiration."

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3122
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Re: A small PR rant

Post by mwieder » Tue Jul 14, 2020 2:01 am

Richard- regarding Xojo's web implementation, you create web apps that are compiled to binary code. I haven't played around with the backend database stuff, but there are drivers for a lot of different databases, so you're not limited to storing things on Xojo Cloud. That would be a definite non-starter.

Probably more than you want, but
https://www.youtube.com/playlist?list=P ... 9IdEHLb_bE

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7956
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: A small PR rant

Post by FourthWorld » Tue Jul 14, 2020 4:19 am

mwieder wrote:
Tue Jul 14, 2020 2:01 am
Richard- regarding Xojo's web implementation, you create web apps that are compiled to binary code.
What does that mean in terms of a user interface? How does one run compiled code in a browser?
Yeah, I save videos for classic westerns. Really hate them for learning materials. I'm a good reader (you might not know it from my unwillingness to re-read an entire thread before replying because in between the hundreds of off-topic tangents there's sometimes a relevant detail that changes the equation from whatever the OP was about), and I prefer skimming and jumping around in text to learn what I need to learn rather than kicking back and passively watching cinema stories.

But if there's no actual comprehensive docs and that's as good as it gets, I'll drop some benzodiazepines in a whiskey double so I can slow down enough for the ways videos teach things. :)
Richard Gaskin
Community volunteer LiveCode Community Liaison

LiveCode development, training, and consulting services: Fourth World Systems: http://FourthWorld.com
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

bogs
Posts: 4790
Joined: Sat Feb 25, 2017 10:45 pm

Re: A small PR rant

Post by bogs » Tue Jul 14, 2020 11:30 am

FourthWorld wrote:
Tue Jul 14, 2020 4:19 am
mwieder wrote: ↑
Richard- regarding Xojo's web implementation, you create web apps that are compiled to binary code.
[1]What does that mean in terms of a user interface? [2] How does one run compiled code in a browser?
Not having used Xojo extensively since 2013 (and even then for most things I was using the 2006 vers.), and not having used it at all for web development, I can only give you the way the file structure looks and some general information about using the IDE to turn out files.

I'm also not sure what you mean by the part 2 above, there are many ways to run compiled code in a browser. Web assmbly comes to mind, emscripten such as Lc uses, at least 3 or 4 others I've heard about.

The basic work flow for a web app in Xojo is the same as any other gui app as far as design and coding go. The IDE has a 'window' represented that you drag 'controls' onto from the tool palette, pretty standard stuff.

In the case of the pictures below, I used a button and a field, and coded the button to put "hello' into the field (not shown in the following pictures).

Since I don't have a 'web' license, the pictures below show the project from the debuggers pov, however, I am guessing that is accurate enough. On running the web app, a debug folder is created, and the files necessary to debug the program are put in there and run. In this picture, you see 1.) the equivalent of Lc's binary source file, and 2.) the debug folder.
aPic_xojoWeb1.png
xojo binary source and debug folder
In the background, you'll notice that for web apps, it also opens a window showing you the app in the default browser, in this case from a loop back adapter address.

In the debugger folder, you would see what Mark is talking about, which is 1.) the compiled binary, and (in this case) 2. and 3.) 2 folders, which hold the resources (pictures and the like) and the libs used to display the program in a browser.
aPic_xojoWeb2.png
compiled and resources
For the back end, it looks to me like it is all constructed as ordinary html calling .js files, easily seen by viewing the source of the generated page. Right clicks in the page are by default disabled, but you can still view the source using most browsers dev tools menu, in this case, Firefox.
aPic_xojoWeb3.png
final page
Now, as to how it gets from compiled to web page script, I don't know the exact process being used here, but the end result is that it is :
1. fast , comparing the load speed during debugging between Lc and Xojo is not really a comparison at all, the Xojo page takes about as long to load as visiting any regular web page.
2. size, for this simple test the debug folder was 22 items, totalling 47.2 MB.

I would add that to test it out, you can of course download and use the IDE to explore anything Xojo can do, but you can not compile anything until you have a license. There are a few benefits to this model, I think.

You can test out the majority of what the IDE offers, if not the whole thing for one, however, as a wholly proprietary product, your not going to be peeking behind the curtains as it were. The licensing as was mentioned is also more inline with any other IDE I ever saw, until I came across Borland's successor in the Delphi space and Lc, which is more like saas. I'm not sure if Embarcadero continued along those lines, I haven't looked at Delphi as a proprietary product in a long long time now :P

I hope that answers at least some of what you were wondering.
Image

bogs
Posts: 4790
Joined: Sat Feb 25, 2017 10:45 pm

Re: A small PR rant

Post by bogs » Tue Jul 14, 2020 11:38 am

I just realized I completely forgot to post what the IDE looks like when dev'ing a web app :roll:
aPic_xojoWeb4.png
Yah, ok....
I'll also add that I still prefer using the 2006 vers. of it, although they have made HUGE gains in speed compared to the last time I used it, it is still nowhere NEAR as fast as their 5 or 6.x versions were, nor as good a workflow imho. Even the current 9.x series of Lc is faster than moving through this IDE, the main difference I notice is that Xojo tends to move the same regardless of how long you've been using it.
Image

bogs
Posts: 4790
Joined: Sat Feb 25, 2017 10:45 pm

Re: A small PR rant

Post by bogs » Tue Jul 14, 2020 1:00 pm

I'm not sure I understood this from your other post -
FourthWorld wrote:
Tue Jul 14, 2020 1:08 am
Personally I never understood the expectation that an app development tool needs to also be a web authoring tool. They're such different paradigms that I can understand why XCode, VB, and pretty much anything other than Xojo or Toolbook don't even consider it (the exception of course being JS packagers, for those who like their native apps to feel like a web page but for some reason don't want it in a browser). If we're going to go there might as well offer book publishing, photo retouching, cartography, and other categories also dramatically unlike native app development. :)
VB, as part of MSVS, has had the ability to be part of a web project as far back as I can remember, not in and of itself, but because of the way VS is setup where projects can reference almost any part of the studio.

The studio all the way back to '97 had a web developing component, and the last version I used (2008-2010) had one even in the express editions.
aPic_MSVS.png
Express yourself...
aPic_MSVS.png (5.74 KiB) Viewed 712 times
I'd have to actually crack my copy of vb5-6 open again to remember how to display web content / write web content, but I do remember doing it. As well, I did it with Delphi (7 & 2k).

IDEs make excellent html authoring tools, I can't actually think of one that does not have some way to do it from lowly text editors to full blown graphical IDEs.
Image

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7956
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: A small PR rant

Post by FourthWorld » Tue Jul 14, 2020 2:47 pm

It seems we're on the same page. Some vendors adapt their IDE to also serve as a web layout tool - but you must decide in advance to use the variants for the web, with no expectation that an app you've already built for the desktop can be converted to a web page easily.

The latter isn't really useful, if you think about it long enough. And given the vast differences beteeen desktop and web, to do well in either reveals that attempting to conflate them is also undesirable.

Let the desktop be the desktop, let the web be the web.

Those who deliver useful options for web deployment do not attempt the fool's errand of suggesting the web and the desktop are interchangeable.
Richard Gaskin
Community volunteer LiveCode Community Liaison

LiveCode development, training, and consulting services: Fourth World Systems: http://FourthWorld.com
LiveCode User Group on Facebook : http://FaceBook.com/groups/LiveCodeUsers/

bogs
Posts: 4790
Joined: Sat Feb 25, 2017 10:45 pm

Re: A small PR rant

Post by bogs » Tue Jul 14, 2020 3:00 pm

IF (and that is a "big" IF :wink: ) I followed that last post, I'd agree that I think Lc took a much more uncommon approach to html5 than did anything else I've worked in. Like the script only stack section, I think if you are planning to produce a web version of an application you made for the desktop, it should have been broken out into a separate type / kind of save result, maybe 'web only stack' or some such.

Mind you, keeping the language unified as identifiable Lc language, and making controls use the same kind of language then translating it would be the interesting part there, but it does seem like it can be done. What I'm thinking is kind of like Lc server, with a graphical component. Or like what I understand revlets were like, minus the plugin aspect. Unfortunately, I have *no* idea what would be involved in that kind of translation to produce html5 content.
Image

Post Reply

Return to “Off-Topic”