I had an interesting comment from appear on the Lite edition of Solar Explorer today.
“Lovely graphics but not an orrery as motion not realtime and orbits very wrong. Would be better without relative stats, and switch off clicks.”
Not an orrery? That was news to me – I didn’t even know what an orrery was!
As I was unfamiliar with the term, I turned to Wikipedia for a definition. An orrery is a device that was first developed in the 1700′s as an aid for predicting the position of the planets at a given point in time, relative to one another. It’s basically a bunch of spheres arranged to mimic the Solar System with a mechanical system to move the spheres in a way that mimics the movement of bodies in the Solar System.
Why isn’t Solar Explorer an Orrery?
Early on when I began running tests in Shiva for my Solar System project, I discovered that the 3D engine had a severe limitation that simply made it infeasible to make Solar Explorer a scientifically accurate model of the Solar System. The Lua scripting engine in Shiva has been compiled for 32bit floating point calculations for performance reasons and is not even remotely accurate enough to calculate planetary positions. This limitation also affects the positioning of objects in 3D space, severely limiting the size the Solar System model can be.
So why did I choose Shiva if it has these limitations?
Simple. It was the best tool for the job.
There’s a lot of behind-the-scenes problems that app developers have to deal with, and one of them is device compatibility, another way of looking at “fragmentation” in Steve Jobs’ market-speak. This applies not just to Android devices but to the different iOS devices, the now defunct WebOS and others.
After 5,000+ downloads of the free version of Solar Explorer, I have only had one person complain that it didn’t work properly on their device which happened to have a very low resolution screen. Shiva gave me the ability to to simulate the specs of that particular device and fix the problem in an hour.
There’s also the issue of performance which makes the 32bit limitations less important when compared to the sheer number of form factors that Android devices come in. If I had written Solar Explorer using a different tool that supported higher precision floating point math and much larger 3D environments, then it’s very likely it would have not only taken longer to write and work on less devices. It would only have run at acceptable speeds on Galaxy S II class devices with a very fast CPU, high end graphics chip and more memory than the average phone currently has. It would also have chewed through the battery to perform the calculations for accurately positioning the planets and moons for every frame that was rendered.
Focusing on an attainable goal
Solar Explorer isn’t accurate enough for NASA to plan their next interplanetary mission, but it is as accurate as I could make it, whilst still being entertaining, educational and able to run on typical mobile devices.
The Solar System has been sped up so that time passes much quicker than it does in real life, otherwise you’d have to wait a month to see the moon orbit the Earth once which would be lethally boring.
All the planets and moons orbit their parent bodies at the correct speed relative to one another and they rotate on their axes at the correct relative speed. Tidally locked planets don’t spin and Proteus orbits backwards like it does in real life.
Planets and moons are correctly sized relative to one another as well, though orbital distances of moons have been greatly reduced and the spacing modified in order to make the planetary moon systems bypass 32 bit positioning issues. It also looks nicer with everything closer together.
What about relative stats?
The reason that I decided to include statistics in units of measurement that are relative to Earth, rather than in kilometers/miles or kilos/pounds, is that the numbers that measure things in the Solar System are huge, mind bogglingly huge.
So huge, that for most people, the numbers simply don’t mean anything.
The intended audience is the non-professional armchair star gazer, someone who might be a space buff, or might find themselves wanting to know a little more about the planets of our Solar System. For those people, I’ve included basic stats measured in terms of something that they probably already have experience with. The Earth.
I hope that the sorts of people the take a shine to Solar Explorer are those who really haven’t been interested in the Solar System and space before.
For those people I hope Solar Explorer is inspirational and will lead them to want to learn much more than I have to offer.
Limitations of Google’s commenting system
It’s these sort of comments that really show up the limitations of Google’s commenting system in the Android market.
Based on Catherine’s demonstration of knowledge, it sounds like she knows what she is talking about and could even be a professional.
She’s absolutely correct.
Solar Explorer isn’t an orrery, the motion isn’t real time and an astronomer certainly shouldn’t use Solar Explorer to work out where to point their telescope on any given night.
But that’s because Solar Explorer isn’t supposed to have these features.
Unfortunately, I’ve got no way of responding to her comment. I don’t know who she is, and she’ll probably never stumble across this blog post.
The best I could do, if I was so inclined, would be to buy a copy of my own program and then post a comment and hope that Google’s messed up ordering put my comment next to hers, and that she’d come back for some unknown reason just to read the comments again.
Not much chance of that.
Meanwhile, Catherine’s comment will continue to pop up on the marketplace and lead other people to think that this app is a flawed orrery.
So, anyway, here’s the response to your comment, Catherine, and the reason why I didn’t and can’t (at this stage) implement your wish list and why Solar Explorer isn’t the orrery you though it would be.
Oh, and the relative stats will also be staying just the way they are so as not to alienate the non-professional audience.
Though I will be including a checkbox to turn off the click sound in the next release, as you suggest.
That’s something I can do.