NeuroMind 2.5 – loading online content

In my previous post I described some changes I am implementing in NeuroMind to be compliant with FDA and EU (MEDDEV) directives and to get CE marked. The most important issue that needs to be solved is the ability to update the app quickly in case of an error, and for that reason I decided to remove the content from the app and place it online. This has other advantages as well, like the ability to process other updates also very quickly. So in summary, the app’s framework becomes much more flexible, but -obviously- will require internet connection in order to work. But that holds true for a lot of apps nowadays, so I don’t think I should be worried about that anymore.

For example, here is a screenshot of the Scores section that you are familiar with:

(click for full size version)

It looks the same, but the content now comes from an online (SQLite3) database which I still manage with SQLiteManager (version 4 at the moment). It looks like this:

I fetch the data from the database using XML and populate the tableview that you see. For the other menus (Decision Support, Other and Anatomy) I decided to use JSON as it is regarded to be faster, but it did not fit my needs for the Scores database. That all works now. I also removed the image icons from the Anatomy section to be more compliant with the Flat UI style in iOS7 (and already longer present in Android’s Holo style).

(click for full size version)

Now the main thing to do is rebuild the decision support modules. They have been built using the JavaScript-based SDK from the Titanium framework but I will switch to jQuery Mobile instead. I will start with a few modules that I consider the most important, and then add the rest later on (I do not want to do everything at once in case I will need to make further changes afterwards, related to CE marking). The rest of the app will still be based on the (refactored) Titanium code.

I will keep you posted on the progress!

Leave a Reply

Your email address will not be published. Required fields are marked *