Android Stack Player

The place to discuss anything and everything about running your LiveCode on Android

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Post Reply
capellan
Posts: 654
Joined: Wed Aug 15, 2007 11:09 pm

Android Stack Player

Post by capellan » Sun Sep 04, 2016 7:54 pm

Hi All,

Does exist an Android LiveCode Stack Player that we could
download from Google Play?

I am talking about an Android APK that works like Ken Ray's Stack Runner:
http://www.sonsothunder.com/devres/live ... Runner.htm

Thanks in advance!

Alejandro

andrewferguson
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 184
Joined: Wed Apr 10, 2013 5:09 pm

Re: Android Stack Player

Post by andrewferguson » Wed Sep 07, 2016 5:44 pm

Someone please correct me if I am wrong, but I think this should be very easy for you to write yourself in LiveCode, through the "go stack" command, which opens a LiveCode stack. Specifically, the command "go stack url <url>" will open a stack over a network if you have uploaded the stack onto the web.

ClipArtGuy
Posts: 253
Joined: Wed Aug 19, 2015 4:29 pm

Re: Android Stack Player

Post by ClipArtGuy » Wed Sep 07, 2016 6:46 pm

This seems to be against the LiveCode EULA (under setcion 3):

e) You are prohibited from creating or distributing Created Software with the primary purpose of being used as a generic Player application for Created Software built with any edition of LiveCode. This clause is intended to prevent you from conferring the ability to others to distribute closed-source applications, including stacks, without purchasing a license.

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

Re: Android Stack Player

Post by FourthWorld » Wed Sep 07, 2016 6:58 pm

True, ClipArtGuy, the EULA for the proprietary editions (Indy and Business) protects their investment with the non-compete clauses like that one.

But with the GPL-governed Community Edition of LiveCode forking and modifying are explicitly encouraged in the license.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

ClipArtGuy
Posts: 253
Joined: Wed Aug 19, 2015 4:29 pm

Re: Android Stack Player

Post by ClipArtGuy » Wed Sep 07, 2016 7:57 pm

Richard,

That's good to know. I had attributed the lack of such an app to what I had read in the EULA.

As andrewferguson pointed out, this should be fairly simple. Beyond a stack that has a field (for stack URL) and a button (to launch that stack URL) and has been compiled as an APK with all inclusions selected, what does a mobile stack player really need?

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

Re: Android Stack Player

Post by FourthWorld » Wed Sep 07, 2016 8:28 pm

ClipArtGuy wrote:I had attributed the lack of such an app to what I had read in the EULA.

As andrewferguson pointed out, this should be fairly simple. Beyond a stack that has a field (for stack URL) and a button (to launch that stack URL) and has been compiled as an APK with all inclusions selected, what does a mobile stack player really need?
It's technically easy to deliver such an app; I use one daily for testing my apps on my Android devices.

But in practice it gets much more difficult in terms of design/architecture to try to deliver a single app that can support a wide range of user experiences made by different developers.

BackScript/frontScripts/libraries, navigation, state management - so easy to conflict with the work of another developer you've never met whose code is running along with yours in the same execution space.

But conversely, it's so easy (literally a single click) to make a standalone that leaves each developer in complete control of the user experience they're delivering.

I think that was the main reason Ken's StackRunner was never widely used. Too many people build apps with too much variance to make it worthwhile trying to coordinate them in one runtime context, esp. given how easy it is to just make a standalone.

Back in the mid-90s I spearheaded an R&D project with the company that owned SuperCard at the time for a system like this, a common player that could swap out projects on the fly. We had several good meetings, had defined minimal requirements for projects to avoid compatibility issues, and got well beyond proof-of-concept to something pretty close to alpha-ready. But ultimately we decided not to pursue it because it would mean an ongoing additional maintenance cost, and one with low ROI since can only address a set of uses cases that are relatively rare.

That said, I believe there are use cases where a centralized app can deliver a variety of stacks well, esp. if those stacks were built from a common set of templates designed specifically for that environment. Most of the courseware systems I've built for clients over the years were architected like that, and with one of the projects in the EDU Outreach forum here our vision is to provide that sort of thing for teachers using LC to teach computer science in the K-12 space.

But for anything less specialized, I'd just go with a standalone. Development is much simpler that way.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

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

Re: Android Stack Player

Post by FourthWorld » Wed Sep 07, 2016 8:56 pm

Thinking about this a bit more, it occurs to me that in some respects one of the closet matches to component collaboration possible with LiveCode today might have been Apple's OpenDoc:
https://en.wikipedia.org/wiki/OpenDoc

Many of the same design challenges the OpenDoc team faced with coming up with solutions for cooperatively sharing memory and execution space are similar to those modern LiveCoders would face if they choose to follow a similar path with a shared runtime environment.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

jmburnod
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 2718
Joined: Sat Dec 22, 2007 5:35 pm
Location: Genève
Contact:

Re: Android Stack Player

Post by jmburnod » Sun Sep 18, 2016 10:21 am

Hi All,
You are prohibited from creating or distributing Created Software with the primary purpose of being used as a generic Player application for Created Software built with any edition of LiveCode. This clause is intended to prevent you from conferring the ability to others to distribute closed-source applications, including stacks, without purchasing a license.
Sorry if the answer is in posts but my english is yet not enough good to understand this point correctly.

Here is the case (on iOS) :
In my main app it is possible to copy a folder "myModuleXXX" containing one stack "stMyModule", one file .txt to check identity folder and a folder with files .txt as examples.
"myModuleXXX" folder is copied to documents folder via iTunes. The user can install it from the app, open stack "stMyModule" and play with it
Can I do it or not ?
Best regards
Jean-Marc
https://alternatic.ch

jacque
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 7215
Joined: Sat Apr 08, 2006 8:31 pm
Location: Minneapolis MN
Contact:

Re: Android Stack Player

Post by jacque » Sun Sep 18, 2016 3:54 pm

If the modules were created by the user outside of your app then it may violate the EULA. The license does not allow you to distribute a standalone that runs other people's stacks.

However, the purpose of the restriction is to prevent others from using your player as a base for their own standalones. If you are distributing your app on iOS they can't create or distribute their own app because iOS apps can't be distributed by anyone but the developer. In this sense you are not technically violating the license because you are not providing a way for users to distribute a standalone. On Android it is easy to distribute apps, so I would think it a violation on that OS.

But also, the user could tell others to download your app and then to install their own distributed modules. That would be a violation.

These are just my own thoughts, the authority would be LC. Write to support and see what they say.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com

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

Re: Android Stack Player

Post by FourthWorld » Sun Sep 18, 2016 5:38 pm

It may be worth noting that any distribution restrictions in the EULA only apply to the proprietary editions of LiveCode (currently Indy and Business).

LiveCode Community Edition is governed by GPLv3 which full supports the use case Alejandro proposed here (and a great many more, since its wording strongly encourages freedom to use the software however the user wants).

So while a generic player app may hamper LiveCode Ltd's business goals for proprietary use (and not a good fit for professional deployment of proprietary software anyway), I'm sure they'd love to see any and all tools in the LC open source ecosystem that encourage sharing and proliferation of code.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

capellan
Posts: 654
Joined: Wed Aug 15, 2007 11:09 pm

Re: Android Stack Player

Post by capellan » Fri Sep 23, 2016 4:17 am

Hi Richard,

I was thinking about an Android APK that could showcase most
LiveCode features in the Android platform and allows to
open and run a single stack from internal memory or external SD card.

My guess is that using really, really long names for handlers, functions,
variables, custom properties, etc. could avoid any clash with other
people stacks, but this is just a guess and never tried it with one of my
own stacks, because typing really, really long names is
clearly counterproductive... but in this very specific case, using them
could avoid problems while opening other stacks.

For example, take a look at this Android APK created
from the very first MetaCard demo:
https://dl.dropboxusercontent.com/u/3834621/Demo.apk

You can download the stack in LiveCode format from:
https://dl.dropboxusercontent.com/u/383 ... 7.livecode

If your OS or LiveCode version have problems playing sounds
download this version:
https://dl.dropboxusercontent.com/u/383 ... s.livecode

This is a very old stack, so play it isolated. :D

Post Reply

Return to “Android Deployment”