DBMS on iOS-Devices (1)

As I develop applications based on Microsoft Access I am highly interested in solutions for Apple’s iOS-Devices. The strong benefit of a database is the synopsis of otherwise widely spread informations. Apple’s App Store offers a lot of apps suitable for productive operations but all the information saved by these apps are cut into pieces saved in app-specific folders. That’s a consequence of the iOS-Filesystem and it is not intended as criticism of developers.

See my blog Every app is an ‘iLand’.

iOS-Data Management is, sorry to say, a back step into the late Middle-Ages where card boxes for every requirement were state-of-the-art.

Due to the relevance of the topic this is my first blog about databases with follow-ups.

A database …

If you create structured data (e.g. contacts, where every contact consists of a set of fields (e.g. name, email-address, phone number, account, bank) with different contents and save them as a file you have a very simple database. Its just a container in which similar data are stored.
Lets call the set of fields a TABLE (Library) and the contents of one set of fields a RECORD and a subset of all records a QUERY (collection) and one or more tables and queries a DATABASE


An improved version of a database contains many tables, stores your data securely, lets you collaborate simultaneously with other people and gives you fast information about people, stocks, insurances, words in other languages and beyond. But the pure data won’t let you do the jobs. It would be like searching in a very bulky phone book where data are not sorted.
So you need database management software (DBMS) to support your curiosity.

A Database Management System (DBMS) is a set of programs that enables you to store, modify, and extract information from a database, it also provides users with tools to add, delete, access, modify, and analyze data stored in one location. A group can access the data by using query and reporting tools that are part of the DBMS or by using application programs specifically written to access the data. DBMS’s also provide the method for maintaining the integrity of stored data, running security and users access, and recovering information if the system fails.

An extremely powerful feature of databases comes up, if you connect data in different tables. In the above mentioned example the record contains the fields ‘account’ and ‘bank’. This two fields can be connected to the database of your home bank and will show you your accounts current.

A database solves many problems with your otherwise widely spread data.
Where is the “egg-laying, milk-bearing woolly sow app” that makes it all easy to manage?

The short answer is: nowhere.

Anyway there are some apps working on databases but their usability is strongly limited and much foresight is demanded from the user to hit the apple.

After a while you will manage a lot of different data.
And every night during your slow-wave sleep questions pop up:

  • Can I switch to another app without loosing my data?
  • Does the app still run if a new iOS-Version is coming from Cupertino?
  • Are the data available on my second device?
  • Are my data locked against all the nosy nerds?

And here is the bad news:
There is only one app meeting the requirements extensively.
iOS is a new technology compared with Windows or Mac OS. Most of the developers are not yet ready to analyze the requirements of customers (thinking they bought a computer which is only a bit smaller than his brother). And its obviously a question of pricing to get on the green track.

Databases for iOS-Devices …

The best small business solution is Microsoft Access.
This is my personal experience over decades of programming and designing.
But an iOS-Version is not available. There is only one app ‘ACCESS mobile database client’ from Impathic. This app is not even capable to fetch a Microsoft Access database except via iTunes-Filesharing.

After investigating 7 apps there is only one app from a serious developer which may be taken into account. Its BENTO from FileMaker Inc., USA.

But even this app does not sync multiple devices except via BENTO for Mac.
iOS-Users do not like these solutions as they have to install a server version on a Mac, if they have one, configure it and go deeply into the details. FileMaker is not discussed here, because you cannot create your own databases on an iOS-Device. The full version and a Mac is required.

To clear it up: I never worked with the Mac version of FileMaker or Bento so I cannot give a rating for this product. What I see are some facts about Bento which are summarized here:

  • Databases are not synced across iOS-Devices
  • Fetching data from external storages only via CSV-File received by E-Mail
  • Fields like ‘media’ or ‘checkbox’ get lost when using CSV-Format
  • No support for cloud storages neither for well-known providers like Dropbox nor WebDAV-Connections
  • No import of PDFs into fields of type ‘media’ (voice recording, import from camera roll or captured media is available)

An application …

Bento is an easy to use DBMS for iOS-Devices with a plain user interface.
I your requirements don’t clash with the lacks above its the best solution available in the App Store even for normal users.

To give you an impression of BENTO I imported 5000 records from a CSV-File.

Checking invoices …


Cons …

  • No IF-Statements in calculated fields
    (Support only for numerical calculations and String-Operations)
  • No alignment of calculated fields
  • Some crashes, however without data loss
  • No queries with conditions when building new collections
    (single select of records only)
  • Printing is not supported

Pros …

  • Perfect UI, easy to use
  • Good performance (tested with 5000 records)
  • Understandable helps
  • Easy to use design tool for forms
  • Special field types Checkbox, Choice, Rating
  • Show/Hide-Fields option
  • Permuting of columns
  • Resizing of column widths
    (‘automatic and manual adjustment)
  • Sorting for all columns

All missing features in BENTO for iOS are available in the Mac-Version.

Part (2) of this topic will be posted on 2013-01-05.