back to article You've made an app for Android, iOS, Windows - what about the user interface?

Cross-platform development is a big deal, and will continue to be so until a day comes when everyone uses the same platform. Android? HTML? WebKit? iOS? Windows? Maybe one day, but for now the world is multi-platform, and unless you can afford to ignore all platforms but one, or to develop independent projects for each …

COMMENTS

This topic is closed for new posts.
  1. TiddlyPom
    Happy

    There are lots of cross-platform solutions

    Most of the open source toolkits are cross platform as that is one of the major design criteria for open source systems. Proprietary toolkits are (generally) designed to lock you into a particular platform such as .NET for Windows or Objective-C/Cocoa for Apple OS/X or iOS. It could be said that Android's UI code (authored in Java) and the Dalvik run-time engine lock you into Android but as both the Android operating system and Java/Dalvik code are open source this is perhaps less of a problem.

    IMHO, the most sensible cross-platform toolkit for applications is HTML5 which is what is being adopted by the FirefoxOS as the development language and by PhoneGap and Mozilla WebRT

    https://developer.mozilla.org/en-US/docs/Apps/FAQs/About_apps

    Write applications which are not just cross-platform but completely independent of where they are hosted (either on a server through a browser or locally on a client). These are the sorts of technologies which will ulimately kill off client locked technologies like .NET, Objective-C/Cocoa and yes even Android/Java.

    1. Anonymous Coward
      Anonymous Coward

      Re: There are lots of cross-platform solutions

      LOL, HTML5 apps. Welcome to 2001 featurephones...

      1. AidanCheddar
        Meh

        Re: There are lots of cross-platform solutions

        I will never get the appeal of HTML5 apps. "OMG, look what HTML can now do!" Yeah, native has been doing it since it's creation.

    2. ThomH

      Re: There are lots of cross-platform solutions

      I think you're being seriously paranoid — proprietary toolkits are no more "designed to lock you into a particular platform" than cars are designed to pollute the air or houses are designed to reduce the amount of public space.

    3. Anonymous Coward
      Anonymous Coward

      Re: There are lots of cross-platform solutions

      "IMHO, the most sensible cross-platform toolkit for applications is HTML5 "

      So that's a standard that isn't even finished yet, is crazy anyway, and the implementations we have all disagree on fundamental things like "how to do video"? Terrific.

  2. Silverburn

    It's all bollox while the number of different form factors and screen resolutions vary so much; yeah, the coding might be easier with a framework, but the user testing is still a bastard (even if everything comes back junky dory, it's still an expensive, time consuming business).

    Of the two main platforms, Apple appear to suggest/require the most adherence to a particular UI design standard...this can be good and bad in equal measures.

    1. frank ly
      Happy

      re. " ... junky dory ..."

      I'm sure this is the opposite of what you meant, and I can understand how it happened. Thank you for accidentally coining a new expression. You may be forgotten one day, but 'junky dory' will live on :)

      1. Silverburn
        Facepalm

        Re: re. " ... junky dory ..."

        Lol...autocorrect and copy-checking fail for me! I should be thankful - it could have been much, much worse...

        1. Silverburn

          Re: re. " ... junky dory ..."

          I'm sure there's a philisophical message in there, about the margin between "Hunky"/good and "Junky"/bad being only 1-2mm...

      2. Andrew Moore
        Coat

        Re: re. " ... junky dory ..."

        Is 'Junky Dory" a fish on smack?

        1. Silverburn
          Coffee/keyboard

          Re: re. " ... junky dory ..."

          Is 'Junky Dory" a fish on smack?

          Lol. Looks like I'll definitely need that new keyboard with H & J keys the right way round now.

  3. Andrew Moore

    It's best to target each UI

    People know how to use the UI on their chosen phone and resent having to learn "a new way". Also you have to code for differences between platforms- a good example would be a lack of a menu button on iDevices means you need to display a constant tabbar whereas the screen real-estate can be reclaimed by Android because there is no need to display the extra items until the button is pressed.

    As the old saying goes: Horses for courses...

    1. Don Jefe

      Re: It's best to target each UI

      What you've said is very wise. When I hire developers I always look for people who accept what the user base is using/doing and work within those bounds. It is a big turn off when people start babbling about how 'product x' does this or that better and anyone who isn't using it is somehow failing.

    2. Nick Ryan Silver badge

      Re: It's best to target each UI

      Very good and nice and simple example.

      And it's exactly why there should be a clean separation between presentation and content as this simplifies this process. A bit, anyway!

    3. Anonymous Coward
      Anonymous Coward

      Re: It's best to target each UI

      As the old saying goes: Horses for courses...

      And also, burgers.

    4. Paul 135

      Re: It's best to target each UI

      Except on many implementations of more AOSP-style Android 4.0+ UI there isn't a menu button either, also meaning you need said bar screen permanently.

  4. Anonymous Coward
    Anonymous Coward

    Don't be lazy. Develop a proper UI for each phone or just do something else like flower arranging.

    A cheap crappy app that both iOS and Android users will hate does your company image no good at all.

    1. Andrew Moore

      And I find the consolidated platforms tend to fail to deliver all of the functionality of each OS/UI. They are like the programming world's equivalent of "No child left behind"...

    2. Sentient

      Indeed

      A UI for each platform is the best option if you want to go for quality.

      That being said it's also the most expensive option.

      So if you're developping an in house LOB app for phones - you know why - it might be better to go for an affordable shared mediocre UI.

  5. Steve the Cynic

    Lowest common denominator

    Sadly for the author of the article, the use of "lowest common denominator" in popular culture to refer to "the most basic, least sophisticated level of taste, sensibility, or opinion among a group of people" is older than he is, since it dates back to the early years of the 20th Century. The use in cross-platform UI work (the use discussed in the article) refers back to this meaning, not the mathematical one, and encapsulates the idea of a minimal set of features that work everywhere. The goal of building the maximal set of features that work everywhere is a noble one, but fraught with complexities and testing issues.

    The actual valid maximal set of features will change from revision to revision of each target platform, and is therefore not something that sane organisations would target. Example: IOS 6 changed something in text-box handling, which broke a translation-dictionary app I have on my iPhone. It was evident that the problem was fixable in the app, because shortly afterward, the publisher released an update that addressed the problem. My best guess is that some app-level behaviour that was outside the strict spec of the control, but tolerated or accidentally functional, became outside the actual behaviour expected by the implemented control. This sort of thing makes the "highest common intersection" something to be avoided. Instead you develop for the smallest set of common UI functionality that is useful for your application / framework.

    It's a delicate dance, since the "lowest common denominator" has to be tempered by the insertion of the word "useful", or you are likely to be left with a UI that consists entirely of simple pushbuttons.

    1. Roger Stenning
      Trollface

      Re: Lowest common denominator

      I learnt the term in the T.A., and I believe it came to the T.A. from the Regular Army; used in training (and certain other environs, truth be told), it's a kind of ballpark measurement equivalent, and referred to the thickest, most dense, lead-brained amoeba-like individual in any given group of people, such that if a lesson could be learned by that person, anyone else could learn it too.

      Oddly enough, I think it was used to describe me from time to time too ;-)

    2. Ken Hagan Gold badge
      Unhappy

      Re: Lowest common denominator

      "...refers back to this meaning, not the mathematical one, and encapsulates the idea of a minimal set of features that work everywhere"

      Even allowing for substitution of "minimal" where you meant "maximal", you've rather missed the point the author was trying to make.

      I don't believe for one minute that the phrase does not have its origins in mathematics. The fact that popular culture got the semantics almost perfectly arse-backwards is not surprising. (Look at quantum leap for another example. Popular culture really *likes* the wrong end of the stick.) The bottom line (sic) is that any competent mathematician would have used "highest common factor", but popular culture rejected this, presumably because it contained the word "highest" which sounds like a good thing, and so they jumped instead for the other phrase they didn't understand from that same maths lesson.

      1. the spectacularly refined chap

        Re: Lowest common denominator

        It seems a lot of the "quantum leap" criticism is at best misdirected. The key property of a quantum leap being alluded to is not (as frequently supposed) the size of the leap, but that it is a transition from one state to another with no discernible intermediate state. In other words, it is not a metaphor for "huge advance" but "step change".

        I've no doubt that the phrase is frequently misinterpreted but the correct interpretation has always seemed perfectly clear to me. Even in everyday contexts it is frequently (probably even usually) used in a perfectly correct manner even if not precisely what was intended.

        1. DN4

          Re: Lowest common denominator

          Obligatory reference:

          http://www.smbc-comics.com/?id=2628

      2. david 12 Silver badge

        Re: Lowest common denominator

        Even allowing for the 'point the author was trying to make', the phrase:

        "the lowest number into which a specific group of numbers divide exactly"

        appears to be meaningless. To that extent, it appears to have it's origins in popular culture, not mathematics.

        1. Ken Hagan Gold badge

          Re: Lowest common denominator

          "the lowest number into which a specific group of numbers divide exactly"

          You posted this at 2am GMT, so perhaps you need to get some sleep, but...

          It works for me. You have a group of numbers (the factors) and you can consider multiples of each one. The lowest such multiple that is shared by the whole set is the lowest common multiple. The LCM is useful where the original factors are the denominators of a set of fractions, because it can be used as a denominator for all of them. For those of us who dislike (computational) complexity, choosing the minimalist solution (lowest common denominator) is then the clearest indication of excellent mathematical taste.

          Any other choice just marks you out as a bit of a wally.

  6. Anonymous Coward
    Anonymous Coward

    Nothing worse than an Android app that inherits all the iPhone design failures

    like the menu button all the way up on the top left of the screen #fail.

    Yes, BBC, First DIrect and others, looking at your piss-poor excuses for Android apps.

    1. frank ly

      Re: First Direct

      I remember when First Direct wrote to me telling me details of how to logon to their website to control and monitor my First Direct account. I immediately destroyed (by burning) all personal identity portions of those documents. Very soon after, the technical and national press carried stories about security breaches on a major banking website. Banking apps on an Android phone ........hmmmm.

      1. Anonymous Coward
        Anonymous Coward

        Re: First Direct

        Banking apps on an Windows PC ........hmmmm.

        Banking apps on an Apple MAC ........hmmmm.

        Banking apps on an Linux PC ........hmmmm.

        Online Banking in a Web Browser ........hmmmm.

        Banking using a cashpoint ........hmmmm.

        Run for the hills....

        1. nigbose

          Re: First Direct

          hmmmmmm

          1. pepper

            Re: First Direct

            hmmmmmm???

            1. bazza Silver badge

              Re: First Direct

              hmm.

  7. Khaptain Silver badge

    Silver Bullet syndrome

    Trying to avoid coding for each independant OS is like believing that Silver Bullets truly exist.

    1. ukgnome

      Re: Silver Bullet syndrome

      Silver bullets do exist you silly billy. Werewolves on the other (hairy) hand do not.

      The reason that you haven't seen a silver bullet is probably because the vampires hoard them.

    2. Mark .

      Re: Silver Bullet syndrome

      Though cross-platform toolkits are still useful - even if you still give attention and tweaks to different platforms, it's much better than rewriting everything from scratch each time.

    3. Ru

      Re: Silver Bullet syndrome

      Doesn't silver have some physical properties that make it undesirable for use as a bullet material?

      Silver shot would work just fine though. A nice big cartridge full of the stuff; bit messy and inelegant but it'll probably hit everything.

      1. ukgnome

        @Ru Silver Bullet syndrome

        It seems that Wikipedia has everything - seems they are slower and therefore penetrate less.

        Ballistic? I was furious

    4. Anonymous Coward
      Anonymous Coward

      Re: Silver Bullet syndrome

      An exception to this is games, where the user has no expectation regarding the control layout. For example, Plants vs Zombies is the same on all touchscreen platforms, and that is seen as a good thing.

    5. Lars Silver badge
      Happy

      Re: Silver Bullet syndrome

      http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf

      Still a very good text.

  8. VaalDonkie
    Megaphone

    If only there was some sort of runtime that compiled code Just In Time into native code. We could then write apps on that platform and not worry about the underlying hardware. I would imagine a lot of Coffee would be consumed by the developers entrusted with such an undertaking. Hell, if I were in charge, I'd even name the framework after the most popular type of Coffee consumed during the process...

    1. Khaptain Silver badge
      Coat

      And hopefully there would be excellent security built into said runtime.... Can you imagine how many unhappy users an insecure platform, such as this, would create...

      It might also be worth consulting the Oracle before you get roasted for having spent too much time under the Sun.

      1. VaalDonkie
        Trollface

        there is always the option of speaking to the hardware in a delightful MONOtone...

  9. dougal83

    Laziness is rarely good..

    ..but going out your way to theme an app. on Android to clone the iOS experience is criminal. Recently tried looking for a bird watching App(not for me honest :) and found a gem. It just didn't work for me as iOS is just alien (although could be it was just a crap App). Any cross platform that does not go native at the user level is poop.

    My money is on HTML 5 based apps with API for hardware in the long run.

  10. dssf

    What about wxWidgets and QT?

    These both supposedly are cross-platform, allowing for development on one OS platform and deployment to multiple others, with minimal rejiggering after compile time (maybe even before compile time)...

    Check out some samples of just wxWidgets:

    http://www.wxwidgets.org/about/users.htm

    http://www.wxwidgets.org/about/screensh.htm

    http://www.wxwidgets.org/about/feature2.htm

    There are some really kewl apps out there in wxWidgets. Makes me wish I could understand the tools so I could at LEAST prototype some things, namely build my own database app that mimics or lets me recreate Lotus Approach (while trying to dodge patent litigation....). Actually, I wish somebody ELSE would mimic Approach, and stop mimicing Access. Not saying kill Access. Just saying I wish SOMEbody would help of Approach users have a modern, Open Source version of Approach but one that can handle italics, unicode, and give it horizontal sliders on detail tables that are wide with data, and enable embedding chart elements on repeating panels/detail tables, and endow the cross tabs with more features. So far, all the other open source database efforts do nothing to unseat me from Approach. Now that WINE hit 1.4x, Approach, WordPro, and 1-2-3 seem (so far) to be working find. Even Flywheel works, and that enables me to make the SmartSuite apps respond to the mouse scrolling.

    And, yes, I did try to run wxWidgets and QT, to try to make a database app. I could not find the components for database connectivity. They used to exist back yarens.. Umm, years ago. I must not have installed them. So little time, so much frustration when clueless like me cannot even make our own apps

    Look at StoryLines. That's a brilliant piece of software for writers and screenplay authors. Other apps are out there, too, and wxWidgets works on/targets more than just PCs... (Disclaimer: I do not have any dealings nor relations with the developers or maintainers of wxWidgets, other than that I twice bought/upgraded StoryLines. It's so kewl I just had to have it, though, sadly I have not produced anything storywise yet...)

    1. Richard 12 Silver badge

      Re: What about wxWidgets and QT?

      wxWidgets is a widget toolkit - it's only the GUI.

      Qt on the other hand is a complete cross-platform SDK, however its previous owners spent years developing it for a particular mobile phone OS, then set themselves on fire, slit their throats and threw Qt away.

      So Qt is back to being a desktop SDK, now with a host of new, shiny, but unusable mobile OS extensions.

      With is a terrible shame, I call it "being Elopped".

      The Android (Necessitas) and iOS ports will fix this, but not yet.

      You will not find "connect me to a database" widgets in either, you do have to do some of the work yourself.

  11. Anonymous Coward
    WTF?

    say wot ?

    "You've made an app for Android, iOS, Windows - what about the user interface?" Er, without a UI, you haven't made an app ..

This topic is closed for new posts.