Page 1 of 1

Cross-platform menus

Posted: Fri Apr 08, 2016 4:25 pm
by bd525
Apologies if this question is naive, but I really have done a lot of searching.

Development on my app is going well. Basic functionality is up and running, so it's time to start implementing some menus. Tools for that look great; very straightforward.

What I don't get yet is what is the best approach to cross-platform menus. Deployment to both desktop and mobile is imperative, yet they have very different menu structures. In particular, mobile (I'm thinking iOS here) doesn't use menubars, which for decades have been a default feature of desktop applications.

Is the best option to use only on-screen controls such as option menus and pull-down menus, since those work on both platforms? That would result in desktop versions (Mac and possibly Windows) lacking menubars. It would work, but is that questionable interface design, as desktop users expect to use a menubar? Or maybe times have changed, and it's not an issue any more.

I have looked extensively for cross-platform models to shed light on this question, but without success so far.

Thanks,

-Bruce

Re: Cross-platform menus

Posted: Fri Apr 08, 2016 11:42 pm
by quailcreek
Hi,
I doubt very much, and someone will correct me if I' wrong (Klaus), that you are going to be able to create a single app that will run on all platforms. Mobile apps are a very different animal. They use native input controls, pick wheels and pop-over menus, etc. Not to mention the screen size and navigation methods. Mac and windows can share an app, iPhone and Android and iPad another.

Re: Cross-platform menus

Posted: Sat Apr 09, 2016 3:42 pm
by bd525
Right, I'm starting to get the picture. When LiveCode says, essentially, "Develop once, deploy multiple times" that's to be taken with a grain of salt. Literally true with an app as simple as their Sheepherder example, not so much for something more complex.

In continuing to investigate I've found an example of a very professional, sophisticated multi-platform app in my area of music--iReal Pro (not developed in LiveCode, I don't think)--the desktop version of which retains the look and functionality of the mobile version. There's no menubar above, for example, and icons are iOS style. So, I guess that's the way to go. Seems like it would minimize the amount of work needed to develop the Mac (and possibly Windows) version from the template iOS version. Make sense?

Re: Cross-platform menus

Posted: Sat Apr 09, 2016 5:49 pm
by FourthWorld
bd525 wrote:Right, I'm starting to get the picture. When LiveCode says, essentially, "Develop once, deploy multiple times" that's to be taken with a grain of salt. Literally true with an app as simple as their Sheepherder example, not so much for something more complex.
So some degree, yes. But this is more a function of the radically different screen sizes and input methods than anything to do with LiveCode.

In fact, as you work with LC more you'll find that you can often architect most of your code in fully omni-platform libraries and behaviors, with most of the business logic of your app working exactly the same regardless of which platform it's on, with only a relatively small amount of code to provide UIs to handle the unique requirements of desktop and mobile.

In continuing to investigate I've found an example of a very professional, sophisticated multi-platform app in my area of music--iReal Pro (not developed in LiveCode, I don't think)--the desktop version of which retains the look and functionality of the mobile version. There's no menubar above, for example, and icons are iOS style. So, I guess that's the way to go. Seems like it would minimize the amount of work needed to develop the Mac (and possibly Windows) version from the template iOS version. Make sense?
Depends on the app. Desktop and mobile are fundamentally different in so many ways, that's why each has its own very different set of Human Interface Guidelines - the OS vendors themselves don't recommend making one UI for both desktop and mobile.

While making a single UI may occasionally work for a few apps, most will benefit from supporting the UI conventions users expect for each (menus on desktop, different button sizes for each, etc.).

And in an architecture that follows the pattern of factoring UI, code, and data (commonly followed when developing in just about any language), the UI stuff specific to a given platform type will be relatively minimal.

Re: Cross-platform menus

Posted: Sun Apr 10, 2016 12:00 am
by bd525
Thanks, Richard, that's helpful.

Can you point me toward one or more well implemented examples? I would be willing to purchase from the app store if necessary.

Re: Cross-platform menus

Posted: Mon Apr 11, 2016 7:27 pm
by trevix
I am making an App for desktops and Tablets (iPad).
As of now I have solved the UI using a single Development and it works pretty well.

As for desktop menu, I show the minimum on desktop (quit, copy cut paste select all, info and help. I don't replicate commands on buttons and menus). I hide the menus on iPad, where only Info and Help need a button.

For the size, I use the size of the iPad as minimum size for the desktop. Biggest problem is what to do on the desktop with all that empty space when the user enlarge to screen size: not everything can ben enlarged nicely.

I had some trouble with option buttons (they look awful on tablets) so I had to resort to native mobile option.

I have data grids and fields that scrolls without scrollbars both on tablet and desktop. A little chunky on the desktop (but I don't think the user misses the scrollbar. He need just a clue on where he is with the scroll).

My biggest problem, solved, was the fact that on the tablet you can see only one card at the time. Fortunately I had enough real estate on the tablet window so to be able to copy/past/delete the groups that I need, from the different hidden card/stack (visible on desktop), to the current card of the tablet, any time I need them.

I would cry if I had to develop two different Apps, for desktop and tablet: debugging and testing would take forever.
Beside, I think that since mobiles and tablets became mainstream, the desktop UI standards are a little in the limbo. Nobody knows where they will go (see Windows).
One more thought only half related: how can a iOS native date picker be considered more convenient or faster then a traditional square month picker?