When I was very young, it was hard to watch my younger brother get presents on his birthday. I was jealous! Why should he get all of the attention?  I was here first!

When I was just a little bit older, I realized that my brother’s birthday was actually a pretty good day for me too. You see, my brother and I had one big pile of toys, so whatever my brother received as a gift would be available to me too; all I had to do was be patient and not snatch his toys for a few days.

The new announcement for X-Plane 10 Mobile is clearly trying to whip up a little bit of sibling rivalry: “X-Plane 10 Mobile will make our desktop users jealous.” Besides being a chance to plug X-Plane 10 Global to mobile users, it is also a reference to the inevitable emails we did get (for X-Plane 9 vs X-Plane 9 Mobile) and will get from desktop users who are jealous of the development resources we spend on the mobile product.

Here are a few notes on X-Plane desktop and mobile and the relationship of the two products.

First, X-Plane 9 Mobile funded the development of X-Plane 10 Global.  Had we not shipped X-Plane 9 Mobile, there would not be an X-Plane 10 Global, and I probably would not still be working at Laminar Research.  So even if you ignore leverage and synergies between the code and you consider mobile products to be a distraction from the true purpose of X-Plane (desktop flight simulation), you can’t ignore that mobile is part of our business, perhaps a part that should not be discarded.

Second, we have been moving to a “two fronts” strategy where we can actively develop both products at the same time, and we have hired more developers so that we can do so.  X-Plane 9 waited while X-Plane 9 Mobile was developed, and then the mobile product was more or less frozen for years while we worked on X-Plane 10 desktop.

The level of ping-pong hasn’t been as bad for X-Plane 10 mobile.  We shipped 64-bit support, deployed the airport gateway, ported to Steam and shipped a brand new GPS while developing X-Plane 10 Mobile.*  This has not been easy, but I think it indicates that we’re making progress towards “two fronts”.  Both desktop and mobile suffer if they have to sit in the penalty box for years on end while the other is developed.

Finally, mobile devices are now powerful enough that we can share code and art assets between the two code bases.  A few examples:

  • Our minimum OpenGL requirements for the mobile product is OpenGL ES 2.0; our minimum desktop OpenGL version is OpenGL 2.0.  And the capabilities required by both (render-to-texture via VBOs, vertex and fragment shaders) really are as similar as they sound.
  • I have an iPhone 6 and a 2008 8-core Mac Pro.  I ran the particle system performance test code on both and they run at almost the same speed.  Obviously the Mac Pro is 6 years old and the iPhone 6 is a top-end phone.  But there is no gap.  This means that an older but supported desktop device will have similar characteristics to the top end of mobile devices.  It’s just one big spectrum of computers now.

A lot of code was moved from desktop to mobile for X-Plane 10 mobile.  But code was also developed for X-Plane 10 mobile with the intention of moving it back to the desktop version of X-Plane.

My take-away point: if you use our desktop product, you don’t need to actually be jealous of new toys in X-Plane 10 Mobile.  Those toys are meant to be your toys too.

* One thing to note about this list: our ability to do more than one thing at once is mostly limited by who will do the work.  Different developers and artists in the company have different skill sets; our developers are not interchangeable robots.  Well, one of our developers is a robot, but I’m not going to name names.

About Ben Supnik

Ben is a software engineer who works on X-Plane; he spends most of his days drinking coffee and swearing at the computer -- sometimes at the same time.

22 comments on “Sibling Rivalry

    1. Someone posted this on our facebook page:

      “For those asking about X-Plane 10 Mobile for Android….We have not forgotten you! We do plan on developing an Android version once the iPhone/iPad version has been released.”

      That’s about as official of a statement as I think we’re going to have. The IOS version will definitely ship before Android, and there is no announced schedule* or release date for Android; the only thing I can ensure is that Android won’t ship until after IOS does.

      * I can’t even imagine how you’d estimate a schedule for Android. The Android port (like the v9 mobile port) will be an exercise in dealing with crazy weird things that happen on only certain phone/OS combinations. Since there are a huge number of Android phones, it’s impossible to know how much of this debugging will have to happen.

      1. Ben really you don’t know what is the best selling mobile OS?
        I am sure you do. Not going to be the bad boy here, if you guys choose to ignore the stats, no problem with me, it is your company. 🙂

        1. Nulios, please use your words. If you have a point to make, please make it in a simple, clear and direct post. Spare me the guessing games and hints.

          1. Hi Ben – I think he is implying that he finds it funny that you choose to release for iOS as a priority over Android since the latter has the bigger market share.

            http://www.businessinsider.com/iphone-v-android-market-share-2014-5

            I can understand its easier what with the limited number of devices (and arguably marginly better graphics performance) but its sad to see nonetheless. Android IMO is the better (and obviously more ubiquitous platform) yet remains second consideration for some developers. Bottom line consideration for your company though is which platform gives you most return.. assume this is iOS given your choice.

          2. Android moves more phones, but that’s _not_ the right metric for considering which platform to develop for first. First, it’s an indirect metric – there’s no reason to believe that your unit sales will be directly proportional to unit sales on both platforms. Android controls the whole low-end market, and it shouldn’t be surprising that that doesn’t translate into massive app sales numbers for developers.

            Second, the development cost and time to market are a concern too, and developing for -one- GPU and iOS 8 is a much narrower target than developing for 4 Android GPUs (all with different performance characteristics, architectures, compressed texture formats and driver stacks) and a wider spread of OS versions.

            We’re not the only app developer doing iOS first – in fact, at this point “Android first” is the exception. Our experience from the original iOS version, the original Android port, and the original Palm port* validated iOS first. If we succeed in shipping an Android version of X-Plane 10 mobile, we’ll be in a position to update our experience on cross-platform development and see if iOS first still makes sense. But for X-Plane 10 mobile we had to rely on our X-Plane 9 mobile experience, which clearly dictated iOS first.

            Cheers
            Ben

            * I mention the Palm port, which took me literally two weeks of part time work, because it provides a benchmark for how fast the X-Plane 9 mobile product -could- be ported to another platform, when new development tasks were removed and the goal was just “Get this running on a totally new phone.” The answer was that if the phone’s development kit was well put together and the hardware target was narrow, the port could be really really fast.

            At the time of X-Plane 9 mobile, Android was held back primarily by an immature development tool chain – so it is possible things will be different. But one more consideration: we found not particularly good GPU performance on -some- Android devices – there was a huge variance in quality of OpenGL ES drivers. Because Android came out after X-Plane 9 mobile, and because X-Plane 9 mobile had low graphics requirements to run on the original iPhone, the Android port mostly functioned by running on much more powerful devices than the original product despite software inefficiency at the driver/OS level.

            I don’t think that is going to work for X-Plane 10 mobile – we want to be able to take advantage of the full GPU power of “big” devices like the iPhone 6 and the iPad air 2. These are mobile devices that have near-desktop performance levels. There are Android devices with these kinds of specs; I can only hope that the software stack is now efficient enough to let us use them fully.

  1. When will you give us a hint about the future development of X-P 10. come on give us hint 🙂
    I have started to work on many scenery full of Error made for holder version of x-plane and my log are getting clearer need to fixe many 100’s of sign from downloaded airport (GateWay). My X-plane very rarely craches. but scenery really need to be worked out. I wish i could do it as a job ;). I really liked your previous article. keep posting. I will post the work i have fixed on the web so people can use the updated and fixed version for 10.30.

    A few new object for scenery would be great. something so we wont need open…X object. and add a little more life to scenery specially for lake and sea airport. and may be a way to add Road from WED editor. (exclusion zone and after you just put the road you need and connect it to the network, then you put the building). I have used overlay editor and it mess up my group and copie everything in double. very bad to clean up 1000 object. like tree in double cars and stuff and no more grouping.

    One last thing is it normal that my mac seem to work on one core only. IMAC late 2013(Yosemite 100% stable). It show 75% idle(to +- 2%) and X-P 10.31 show 96% (up to 98%)busy. Framerate can drop like a stone when i fly over a few hour(salt lake desert to north west city). Some time if i leave the plane idle on the ground it will get back up. and VRAM never go above 2/3 mostly around 1/2. (on 2gig VRAM and 24 gig RAM) if i can help i would be pleased consider my installation stable to 98% allow time to fixe a few airport. and my error should be around 0.99% no missing texture no syntax error no visible error from the log. (I should be done be end of December… lots of work). (I am sys admin on windows env.)

    looking forward to the futur of X-P 10.3X .

    keep up the good work 🙂

  2. Whatever your team is doing, keep it up. Keep making money. I can’t speak for everyone but I can speak for myself; the more money the company makes, the more money that’s available to make X-Plane the best flight simulation available. Keep up the good work, and happy holidays!

  3. Any plans on supporting Metal on iOS? Apparently some developers saw huge performance increases by switching to it. OpenGL 2.0 as a common denominator doesn’t sound too exiting…

    1. Certainly not in the first shipping version. We may work with Metal at some point, but we will -still- need to support GLES2 because Metal isn’t available on all of the devices we support.

  4. Did try the mobil version of x-plane, did not care for it as much but I bet that many do.
    I have talked to many people from around the world about what criterias they set for x-plane, reasons for buying it, using it or tranfering to it. Those are “seasons, water and airport building” Seasons are missing, we have the same color on the water for the entire world and airports are slowly coming along. So my comment are: Now that x-plane mobile is out, I do hope you continue the quest of making X-Plane the best simulator there is! Getting such things as seasons down and improving the water will do wonders for the sales in competition with Prepar3D.

  5. I have an idea….Why don’t you fix X-Plane 10.31 before concentrating on a mobile version. This comment is not a result of jealousy but as a frustrated user who has paid good money for X-Plane 10 to be rewarded with constant crashes an low frame rates. I have filled bug reports, I am sick of filling bug reports. PLEASE MAKE X-PLANE 10 PLAYABLE, AND PUT X PLANE 10 MOBILE ON THE BACKBURNER.

    1. I understand your frustration, but I think if you go back and read Ben’s post, you’d read the part where he says;

      A lot of code was moved from desktop to mobile for X-Plane 10 mobile. But code was also developed for X-Plane 10 mobile with the intention of moving it back to the desktop version of X-Plane.

      I for one, while also not thrilled with the amount of crashes that I’ve experienced moving from 10.25 to the 10.3X run, hope that developing aspects of X-Plane to run on less capable mobile systems will help to refine the code for the desktop version so that we get more performance enhancements as a result.

      Cheers,
      Jim

    2. @Linuxuser – why don’t you lose the attitude? I am an X-Plane 10 Linux user and have no problems at all no crashes whatsoever. If X-Plane 10 is “unplayable” as you say then I am inclined to suspect PEBKAC issues. Your crashes are probably due to your crappy hardware. NVidia and X-Plane on Linux = Pure bliss. I am willing to wager a small amount of money you are using an AMD video card or a system that cannot cope with the rendering settings you probably have enabled.

      1. Alex don’t presume to know the specs of my PC and the rendering settings I have enabled. I have tried every combination of rendering setting. Its not attitude if you don’t happen to agree with a post, it’s simply my point of veiw. If your best response is to blame somebodys “crappy hardware” or their rendering settings without asking what their hardware is or what rendering settings they use then I think you need to grow up.

  6. Guys really. REALLY now. What is the most successful mobile platform worldwide by far?
    Do I need to supply the answer?
    REALLY now.
    So to put it simply: When?

      1. Linuxuser and Alex: first, please tone this down a notch. If this turns into a forum-style flame war I’m nuking everyone’s comment. 🙂

        Second, you guys should discuss this directly off-line. Here’s why:

        http://developer.x-plane.com/2012/05/linux-and-hardwareos-abstractions/

        Linuxuser, the short of it is that we (LR) do not hope to make a seamless flight experience the way we do on Windows/Mac. So _if_ you are hitting an issue specific to Linux, your best bet is to compare notes with other Linux users to identify a stable configuration.

        Mind you, there may actually be a problem in 10.31 that needs to be fixed – in which case, it is also likely to fix all users. I am definitely not saying that we are not going to fix bugs. What I am saying however, is that if/when X-Plane works for everyone else -and- you’re on Linux, you’ll need to take this up with other Linux users and not us.

  7. Thanks for pulling back the curtains on the innards of LR, Ben. Also hope you didn’t spend too much time without power last week.

    I would like to request a blog post on the current efforts and on the immediate future of the development path. Priorities do change, and we all have our favorite little niggle. So while you’re letting us look inside LR for just a bit, perhaps one step further? We know how hard it is to promise and please everyone, but some of us have been hoping for some particular fixes for a while now. I would list them, but then again, I’m not trying to start a forum like thread here. What can you say, Ben?

  8. Looking forward to the Oculus Rift (OpenGL) port.

    My request:

    Add Google Cardboard video format (HMD) option and support external joysticks on X-Plane 9 for Android. Immersive Flight Sim on the cheap!

    P.S. Using my X-Plane 10 for Windows to practice before and after real world Sport Pilot lessons is proving quite valuable. Now I can practice without spending $100+/hr wet.

  9. Hi Ben!

    Small a quick off-topic question I’ve already asked you a long time ago:
    Friendly performance-wise 3D trees anytime soon? Moving in the wind?
    Included in X-Plane 10.40 to-do list?

    That’s my small eye-candy wish…
    Cheers!
    Keep the good pace at work!

  10. I’m sure that both of these products will compliment each other. However, now that the OpenGL issues have been fixed for Oculus Runtime and SDK, are we going to get an update on the DK2 timeline?

Comments are closed.