mobile gui
Moderator: Klaus
mobile gui
Is there any reason LiveCode does not apply nice themed buttons etc when building for iOS or Android? I can't figure out why they would choose the motif stuff. I'm just wondering why LiveCode decided to do it this way since everyone expects good looking controls that behave like you expect from a mobile device (including scrolling etc)... Any dev insights?
Re: mobile gui
Hi lacara,
A bit of history, hopefully to answer your question.
Before widgets came along we had the standard controls (which we still have) so for example there was one button which can have different configurations, one field control with single, multi-line and table flavours etc for the other standard controls .. so one control of each type for all platforms. These were designed for Desktop Win, Mac, Linux and worked great and still do for these desktop platforms.
Then scripted only (not drag & Drop) controls appeared for mobile which were a pain to use but worked.. mostly.
Then widgets came along with the promise of true cross platform controls. The idea was that there would again be one drag & drop control of each type which would know which operating system and platform it was being used on and would automatically render correctly for that configuration...this has not yet fully materialized. So at the moment we have the standard controls for desktop and platform specific widgets for IOS and Android.
So we are in a transition phase at the moment. Next (from previous posts and notifications for LiveCode) the intention is that Android and IOS controls for example the IOS button and the Android button will become one widget which will be aware of the platform it is on and take on the native appearance for that platform.
Then further down the road Win Mac and Linux will be added so that there is again just one control (widget) to cover all the platforms.
This has been a long process and its an important one for LiveCode to get right. Its IMO imperative for this to be pushed further up LiveCode to do list as I can see potential new users of LiveCode being put off by this situation as it stands at the moment.
The LiveCode team have improved LiveCode enormously over the last few years, starting with the complete refactoring of the engine for version 7, a massive undertaking which is now paying dividends and the new widget system. I still maintain its the easiest language to learn if you are new to programming and when you start digging deeper into the language you will amazed at what you can accomplish .. it just needs a bit more time for LiveCode to get to where it wants to be!
One of the great strengths of LiveCode is the community, there will always be someone willing to answer your questions and help out.
A bit of history, hopefully to answer your question.
Before widgets came along we had the standard controls (which we still have) so for example there was one button which can have different configurations, one field control with single, multi-line and table flavours etc for the other standard controls .. so one control of each type for all platforms. These were designed for Desktop Win, Mac, Linux and worked great and still do for these desktop platforms.
Then scripted only (not drag & Drop) controls appeared for mobile which were a pain to use but worked.. mostly.
Then widgets came along with the promise of true cross platform controls. The idea was that there would again be one drag & drop control of each type which would know which operating system and platform it was being used on and would automatically render correctly for that configuration...this has not yet fully materialized. So at the moment we have the standard controls for desktop and platform specific widgets for IOS and Android.
So we are in a transition phase at the moment. Next (from previous posts and notifications for LiveCode) the intention is that Android and IOS controls for example the IOS button and the Android button will become one widget which will be aware of the platform it is on and take on the native appearance for that platform.
Then further down the road Win Mac and Linux will be added so that there is again just one control (widget) to cover all the platforms.
This has been a long process and its an important one for LiveCode to get right. Its IMO imperative for this to be pushed further up LiveCode to do list as I can see potential new users of LiveCode being put off by this situation as it stands at the moment.
The LiveCode team have improved LiveCode enormously over the last few years, starting with the complete refactoring of the engine for version 7, a massive undertaking which is now paying dividends and the new widget system. I still maintain its the easiest language to learn if you are new to programming and when you start digging deeper into the language you will amazed at what you can accomplish .. it just needs a bit more time for LiveCode to get to where it wants to be!
One of the great strengths of LiveCode is the community, there will always be someone willing to answer your questions and help out.
Andy .... LC CLASSIC ROCKS!
Re: mobile gui
Hi Andy,
very informative, thank you!
Best
Klaus
very informative, thank you!
Best
Klaus
Re: mobile gui
That really was a great summary Andy!
The only thing I might add is that lacaca might not be aware that you can literally make a button look like anything you want it to. I don't work with mobile, but is there any reason why you couldn't do something like this?
Having no idea what an android button looks like, I did a search for one
but no matter what it looks like, you can probably imitate it fairly closely with a similar recipe, or even just use a picture of one. Here is one (of many) styles I found -
So, keeping in mind I wanted to end up with a button, I put a rounded rect graphic on the bottom layer, a label and icon on the next two layers, and a rounded rect button on the top layer, then grouped the whole shebang.
Some of the people around longer might recognize the icon
And here were the 2 big changes made to the button and graphic respectively.
The only thing I might add is that lacaca might not be aware that you can literally make a button look like anything you want it to. I don't work with mobile, but is there any reason why you couldn't do something like this?
Having no idea what an android button looks like, I did a search for one

Some of the people around longer might recognize the icon


Re: mobile gui
Excellent history lesson.
The images bogs posted are for one type of Android button. Material Design (Android's theme) mostly uses flat buttons, often with no border at all. The native Android button widget in the LC tool palette is very close to what Bogs created and can be used when that style is needed, which is mostly for default buttons that require emphasis.
But I think the main point is that every developer needs to create their own theming in the app. While LC apps for Mac and Windows do a fairly respectable job of matching the OS, there is still some tweaking we need to do there. Mobile apps don't make any effort to accommodate the OS quite yet, but LC gives us the tools to do it ourselves using widgets and scripted native controls.
So that's why mobile apps look like Motif even though that theme isn't even used on Linux any more.
The images bogs posted are for one type of Android button. Material Design (Android's theme) mostly uses flat buttons, often with no border at all. The native Android button widget in the LC tool palette is very close to what Bogs created and can be used when that style is needed, which is mostly for default buttons that require emphasis.
But I think the main point is that every developer needs to create their own theming in the app. While LC apps for Mac and Windows do a fairly respectable job of matching the OS, there is still some tweaking we need to do there. Mobile apps don't make any effort to accommodate the OS quite yet, but LC gives us the tools to do it ourselves using widgets and scripted native controls.
So that's why mobile apps look like Motif even though that theme isn't even used on Linux any more.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
Re: mobile gui
Erm, well, I don't know that I'd say it isn't used anymore

I know, I'm an anachronism in my own time

Aside from me, though, the motif window manager is still available (and updated) in all the repositories I've ever seen. As well, a great many other window managers are based on it. And of course, the gorm and gnustep projects use it (objective c on 'nix). Motif shouldn't be confused with CDE (the Common Desktop Environment) project, which is also still going but certainly less popular these days.

Re: mobile gui
Ah. You'd know more than me about that Bogs. Thanks for clarifying.
Jacqueline Landman Gay | jacque at hyperactivesw dot com
HyperActive Software | http://www.hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com