Category Archives: Exoplanet Explorer

Exoplanet Explorer 2.3.7: The 2012 marathon is over

I’ve just uploaded a new version of Exoplanet Explorer, free and paid editions, to all markets and platforms.

Of course, after countless rebuilds and fixing minor issues, I noticed on my final build that the release notes are showing V2.3.5… oh, well. It’s going out anyway. There’s always something that gets missed…

This release updates the planet database that ships with app and corrects some of the summary figures, such as the number of planets further than 400 light years away, which was showing 0.

Solar Explorer Lite updated for:

  • Google Play
  • SlideMe
  • AppsLib
  • Mobango

The full version of Solar Explorer updated for:

  • Google Play
  • Blackberry Playbook/BB10
  • SlideMe
  • AppsLib
  • Nook

That’s it for the year!

Solar Explorer 2.5.1: A whole lot of work

I have spent a significant amount of time this week compiling and updating and testing and uploading and submitting the latest update for Solar Explorer.

Every time I got close to being able to release it I spotted some little bug or other minor issue.

Most of the problems were indirectly caused by the latest release of Shiva3D, which required updating every tool that’s used to build apps. That’s good, because it should be faster and more compatible, but it caused lots of little problems that had to be sorted out before I was finally able to run the build script and generate versions of the app for every platform and market.

Today’s release includes versions of Solar Explorer Lite for:

  • Google Play
  • SlideMe
  • AppsLib
  • Mobango

And the full version of Solar Explorer for:

  • Google Play
  • Blackberry Playbook/BB10
  • SlideMe
  • AppsLib
  • Samsung Market
  • Nook

I think that’s everyone updated…

The previous Playbook update was running a bit late – I’d had problems last month when I pushed out version 2.5.0 because I’d had to replace my ADSL router and the new one seemed to be blocking port 443 on the Playbook, so I couldn’t upload my apps to test them. I finally figured out a workaround this morning, so the latest version has just been submitted, which includes the previous update as well, which was mostly lots of new planet information.

The major new feature in the latest release is, for the first time, that I’ve added information about a non-US spacecraft, the Soviet Zond 3. There’s also various minor bug fixes and grammar corrections.

Next up, a refresh of Exoplanet Explorer…

Solar Explore 2.4.9: Catching up

The latest update for Solar Explorer is out, introducing a lot of minor code changes and improvements aimed at making it easier for me to port it to different markets and devices.

Probably the most noticeable change will be that when you quit the app, it’ll save what you were looking at, and put you back there when you start it next. Like the same change for Exoplanet Explorer, this was added because it was required for releasing the app on Barnes and Noble’s Nook and I thought it was useful enough that I’ve enabled it for all versions.

Speaking of which, Solar Explorer went live on B&N two days ago, a process that began back in July this year when I registered a company so that it could apply for a US tax ID which is a requirement for signing up as a Nook developer.

Although it’s technically possible for a foreign national (in certain countries) to get a US tax ID for tax treaty reasons, the process involves sending a registered copy of your passport to the US, waiting several months, and then hoping that you don’t get a rejection, which results in the whole process starting over.

While incredibly difficult for an individual, it’s dead easy for a company. All I had to do was place a long distance call to the US and answer some questions. They gave me the ID over the phone.

But enough about bureaucracy, what’s next?

I’d like to get back to my Space Race app, but there just won’t be enough time to complete it in the next six weeks, so I’m going to focus on making some more improvements to my two existing apps, particularly Solar Explorer because Exoplanet Explorer has had a heap of work done on it over the last few months.

I’ve got loads of ideas… all I need is the time to implement them!

Exoplanet Explorer V2.3.4: Tweakfest

Another week, another update, this time with lots of little tweaks.

The biggest change is that the phantom planets that made an guest appearance in the last update have been identified and eradicated. This was caused by a few of the binary system data files from the old database sneaking into the folder for the new database, resulting in duplicates with almost identical names. It was a tough one to spot because it only affected a handful of systems out of the 650 or so. Thanks to Hernen for reporting this.

I also had another go at proof-reading the glossary, found numerous problems and fixed them. No matter how many times I read it, there’s always that needs to be corrected…. I’ve also-reworded a few of the paragraphs to hopefully make them a bit easier to read, and added “bullet points” in the text to make it simpler to pick out the headings and sections.

The missing details about the planets in our Solar System have been filled in, such as atmosphere, gravity and the discovery date for Uranus and Neptune. I’ve also tipped the Uranus model onto it’s side, so it’s a touch more accurate.

The last version was only rolled out to Google Play because I picked up on a few of the problems a couple of hours after I released it, and decided to wait till I’d fixed them before moving on. 2.3.4 is looking a lot better, so if everything is OK over the next 24 hours, then I’ll push it out to the other platforms.

I’m also expecting to release an update for Solar Explorer tomorrow which will bring across many of the same changes that have appeared in Exoplanet Explorer, and will also fix a few bugs as well.

Exoplanet Explorer 2.3.3: Remembering so you don’t have to

One of the hardest things about developing for Android is the proliferation of markets, which is both good and bad.

It’s good, because it lets promotes choice, but it’s bad for developers who have to cater to every little rule that these markets come up with in an effort to make themselves stand out from the crowd.

So far my paid apps have been released on Google Play, Slide Me, AppsLib, LearnPad and of course Blackberry.

Over the last week, I’ve used what little spare time I’ve had to rewrite my app build procedures so that as much as possible has been automated, with the plan being to use it to release the app on more markets, starting with B&N Nook, which has a pretty strict list of requirements.

Building the app manually takes time, and is prone to errors. If I had seven different version of each app + who-know- how-many free versions, releasing even a minor update would quickly turn into more than a day of work.

Nook has been a special case though – they have more rules than any of the other markets that I’ve dealt with so far. The main change I had to make was to allow the app to save it’s last state when it quits, meaning that it will resume starting with the solar system that the you were last looking ate. I’ve decided it’s a useful enough addition that I wanted to make it available on all platforms with release 2.3.3, and the same goes for Solar Explorer with the next update.

In addition to the Nook specific changes, there’s also been a bit of polish put on Exoplanet Explorer. There’s now a progress bar in the “Please wait” box, and the menu across the bottom of the screen should be friendlier to non-widescreen devices. The filter/search box now expands to fill the screen and all those codes for planet types and what-not are now spelled out to make it easier to understand. Exclusively for paid version owners, I’ve added two new search options for planet atmosphere and composition.

So far, I’ve had a few goes at getting my apps approved on Nook, but it’s been a lot more difficult than it was on Playbook which runs a completely different OS to my Android development devices. Nook runs Android, and although my app is theoretically compatible, I have to jump through hoops to get it accepted, while the Playbook version was really just a native-code compilation of the Google Play release, which I successfully submitted without even testing.

At least it only takes around 24 hours each time for B&N to send me a rejection…

Exoplanet Explorer 2.3.1: Explaining terms used in the app

I know I said I was going to release the Playbook update during the week… well, I wanted to get one last, change in before I submitted it to Blackberry, which has just been done.

It’s a “glossary of terms”.

With the switch to the Planetary Habitability Laboratory’s data, there’s a few new fields included, such as the planet’s “Atmosphere”, which has a couple of values, including “Metals rich”. This doesn’t refer to the presence of metal in the planet’s sky, it’s actually a term that means that the atmosphere is mostly composed of elements heavier than helium, such as oxygen or nitrogen.

Because this term can be confusing to people who aren’t familiar with it in the scientific sense, I wanted to provide a definition. While I was at it, I decided that I needed to explain a few of the other terms to improve the app’s educational value, and I wanted to make sure that everyone knows where most of the data comes from: PHL.

I added a new button that looks like an open book, and wrote about 2,000 words explaining atmosphere and other topics such as planet temperatures, habitability zones, and the different kinds of star classes.

In a future update I hope to include some pictures in this section, but I wanted to get the update out ASAP, so I just left it as text.

I hope Exoplanet Explorer is now more informative for the armchair galactic tourists amongst us!

Exoplanet Explorer 2.3.0: Planetary Habitability Laboratory

I’ve finally been able to get the new version of Exoplanet Explorer to a point where I’m happy to release it.

Although the app hasn’t changed a lot, it’s actually been a very long and slow process getting it this far. I started off trying to modify my data file generator to use the Planetary Habitability Laboratory data, instead of exoplanet.eu, because the PHL data is cleaner, more complete and has more information about the planets. Unfortunately, the data extractor grew organically when I originally wrote it, so it didn’t have the most maintainable code base. I ended up having to scrap it, and start over, writing something that was more efficient and maintainable.

The rewrite turned out to be a massive job, resulting in a 2,500 line Python script that I worked on whenever I wasn’t preoccupied with other problems. Once I had the new generator up and running, I then had to write a second script that would compare the data generated by the old code, with the new data, so I could minimise the differences.

Because it’s using a new data source, you will notice that the stats are going to be different. As I mentioned, the PHL data is more complete and consistent, and it also offers interesting additional information about the planets, things like atmosphere, composition and surface gravity. I haven’t included all of the extra data from the PHL, for example, I’ve left temperature minimums and maximums and some of the additional classifications that the PHL use. This isĀ  mainly to keep the app interface simple and reduce the amount of scrolling when looking at the stats.

I’ve basically included the information that I believe most people would be interested in.

I’ve also made a few other changes and cleaned up a few bugs. I’ve built the app against the latest Shiva3D engine, so that will hopefully improve it’s compatibility with the 1,500 or so Android devices that are in the wild.

The Playbook release will be out in a few days, after it’s had a chance to settle down on Android Market.

Solar Explorer: What’s new

Some of you may have noticed a second Solar Explorer update rolled out following the one earlier this month.

The reason for it was a tiny little bug that caused the Moon to cease orbiting the Earth, and after all the hard work I did updating the code so that the Moon’s position would be accurate.

In truth, it wasn’t really a bug. Solar Explorer uses a library of maths functions that I’ve written in the C language. I modified this library to include the code for the Moon, and it ran just fine in the development tool.

It all went pear shaped when I exported the apps for Playbook and Android. I had thought that Shiva was building the Playbook and Android libraries at the same time as it built the Windows one, but a silent error stopped it from doing so for the portable platforms, resulting in the compiled apps having a stationary Moon and no error message to highlight the problem. Meanwhile, the version I test in Windows worked perfectly.

What’s next?

I’m currently working on an update for Exoplanet Explorer, to switch it from using the Exoplanet.eu data to Planetary Habitability Laboratory, because PHL’s data is more complete and features more information.

As part of the process, I’m rewriting the tool that builds the database to make it easier to work with. It’s been a real struggle trying to fill in the blanks because Exoplanet.eu’s data is a bit spotty, and the alternative, Simbad, has a lot of name search problems, making it a very manual process to try and gather the information to make the database as complete as possible.

The new Exoplanet database generator uses an SQL database to store the data while it’s being worked on. It begins by filling it with what’s available from PHL, then it looks to Simbad, then exoplanet.eu, before finally asking me to provide any missing information, assuming I can find it. The new structure should be a lot easier to maintain and result in fewer blank fields that I’ll have to look up myself.

Fields that have been added from PHL include information about the planet’s atmosphere (light or heavy elements), atmospheric pressure, it’s composition (rocky, iron, water or gas), it’s density and how it was discovered.

At 75% complete, and with a heavy workload at my day job, the new release is still a couple of weeks away. When it’s finally done, it will also feature the latest Shiva 3D engine which fixes the problems that Sony and Motorola afflicted their users with. It may also work around similar bugs caused by flaky code in certain custom ROMs, but as usual, custom ROMs aren’t officially supported.

Solar Explorer: Rolling out an update

After unintentionally being put on hiatus for a few months, it’s time to roll out an update of Solar Explorer, version 2.4.5.

The reason for the delay was largely due to Android bugs on specific devices that the Stonetrip team had to work around, but I had to wait for two builds of the universal app compiler to be released, because the first build had a bug in it that stopped it compiling my apps.

I’ve mentioned previously that some users have been blaming me for a touch screen problem they’ve been having on their ICS custom ROMs. It seems Sony have somehow incorporated this touchscreen problem into their ICS update… I wonder how? Perhaps they took a peek at some code in one of the affected custom ROMs? We’ll probably never know, but thanks to Sony’s developers taking forever to release an ICS update, and not properly testing it, there’s lots of Android apps that users are reporting touch screen problems with.

Stonetrip eventually tracked it down to a problem with the touch screen events not firing when the user stopped touching the screen, and they’ve come up with a workaround that other Shiva developers have reported solves the issue.

With luck, if Sony has implemented the same bug as the custom ROM developers, then Stonetrip’s hack will also work on afflicted custom ROMs. If it doesn’t work, and you are using a custom ROM, then you’ll have to report the bug to the custom ROM developer, because I (and Stonetrip) can’t provide any support for custom ROMs.

New Features

One of the outstanding features I wanted to add from the last update was accurate positioning for our Moon, which has been done, so the moon should now be between the Earth and the Sun around the date of an Eclipse.

I’ve also done a lot of work on the spacecraft models using what I’ve learned while working on my Rockets of the Space Race app, which is still under development. I’ve completely re-textured the spacecraft, added some shadowing and increased the detail level. I’ve also gotten rid of any transparent parts and replaced them with polygons, which should improve the performance a bit, and fix any issue with the spacecraft not appearing on certain tablets, due to a bug in transparency rendering in the graphics driver on those devices.

The last thing I did was to replace the Android Market logos in the app with the new Google Play triangular-coloured-thingy.

Rolling it out

Due to the major changes in the 3D engine, I’m going to roll out the update over the next week, starting with the free versions today. If nobody reports any problems, then I’ll release the paid Android updates in a couple of days, and finally the AppsLib and Playbook updates.

If that all goes well, then the equivalent update for Exoplanet Explorer will happen next weekend in the same fashion.

Resolving difficult issues

For some time I’ve been copping flack from people who’ve installed unsupported custom ICS ROMs on their Android devices, because sometimes the touch screen stopped working with my apps, Solar Explorer and Exoplanet Explorer, resulting in misleading comments on Android Market such as “ICS fail” which are not true as the problem only started after the unofficial ICS ROM was installed.

Despite this, I’ve done everything I can to figure out what’s wrong, but I cannot fix issues in a custom ROM, without becoming a developer on every custom ROM project, which I don’t have time for. There is the possibility of working around the problem in code, but it has to be done in the Shiva runtime engine.

Shiva is the 3rd party tool, developed by Stonetrip, that I use to write my apps. It handles all the low level code for graphics acceleration, audio, etc., and deals with a lot of the “fragmentation” issues. Because the issues have only affected custom ROM users, Stonetrip hasn’t investigated because they don’t support custom ROMs.

To be honest, I can’t blame Stonetrip. There’s loads of different custom ROMs out there with a constant barrage of patches and hacks being released to get them running on many different devices with varying levels of success. It would be impossible for a company to be able to provide support for all these projects, ones that often feature little in the way of quality control because the ROM developers themselves have few resources.

Although my apps work fine on all the ICS test devices I have access to (running official manufacturer ROMs), in the last week or so I’ve started to receive reports from Sony phone owners of a touchscreen problem present in the official ICS 4.0.4 that was released earlier this month.

Thanks to a couple of users who’ve given me the log output from their devices while running my apps, I’ve been able to report the problem to Stonetrip, and after looking into it, they think they know a way of solving it.

The plan is that they will release a new Shiva runtime engine in the next couple of weeks, after which I’ll rebuild all my apps a do a new release on Android, and Playbook, although RIM devices aren’t affected by the problem.

At the very least it will most likely fix the issue on Sony devices, and with luck it’s the same problem that is affecting custom ROM users, and it’ll be fixed too.

The next update of Solar Explorer will also includes a couple of new features that I’ve been working on. In the current version of the app, although the planets are positioned accurately based on the date, the Moon isn’t. The new release will fix that and you’ll be able to see the Moon in the right location on dates that feature a Solar eclipse. There’s also been some improvements made to the planet position calculations so they will be more accurate.

In the meantime, work continues on my Rockets app, but at a slower pace because I’ve got a full workload at the office for the next few weeks. I have however completed the Saturn V since my last update, which was a lot of work, and by far the most complex to date. As usual, the payload is included, which in this case is a model of the Apollo 11 Lunar Lander with it’s landing legs folded up, inside the final stage, below the Command Module.