The Maldives

The Maldives, officially the Republic of the Maldives, is a group of 1,192 islands in the Indian Ocean about 250 miles south-west of India.

It’s definitely one of the most gorgeous places on this planet.

For sure, on the Maldives there are also people using iOS devices. But that would be no particularity and not an interesting topic for an article on this blog except we would discuss the problems of using gestures on a touchscreen with extremely clammy fingers.

Both, the Maldives and the iOS Filesystem are composed of islands.

Apple’s publication ‘About the iOS File System’
Every App Is an Island
An iOS app’s interactions with the file system are limited mostly to the directories inside the app’s sandbox. During installation of a new app, the installer code creates a home directory for the app, places the app in that directory, and creates several other key directories. These directories constitute the app’s primary view of the file system.

The ‘Open in’ command within an iOS app is the Dhoni which takes you from one i(s)land to another.

is a multi-purpose sail boat with a motor or lateen sails that is used in the Maldives. It is handcrafted and its use within the multi-island nation has been very important.

is the location of an app on your iPhone or iPad. It’s also handcrafted and if there would be no Dhoni for carrying data from one app to another an iOS device would totally loose it’s usability.
See my post The iOS Filesystem


The population of the Maldives inhabits 192 islands. So 1,000 islands are free for placing one bug on each island. If the Maldivian government permits each bug and flaw may take it’s app along.

The time will come when bugs will leave this world because they cannot bite the users any longer. Apple and the developers then may organize the repatriation of the recovered apps.

Here are the new inhabitants of the Maldives, apps, bugs, and flaws:

0001 Notability
Hyperlinks are not supported

0002 Instashare
PDF file format not supported

0003 Dropbox client
No options for sorting files
Sort order is fixed to ascending by file name
No renaming of folders
No WebDAV support

0004 Tap Forms database application
Print out of records just for one record at a time

0005 HP Printer Control
Downloading a PDF from my bank to print it out the app tells me that password protected PDFs cannot be handled.
(Printing via SAFARI worked without errors)
So what’s the sense of preventing the printout?

This reminds me of just renaming an EXE file to a ZIP file to let the file pass through a firewall. Isn’t it horse hockey?

0006 iOS
Missing apps in the ‘Open in’ menu
A bug Apple is not talking about. For me a big problem as it is not possible to import a CSV file into my Bento database installation on the iPhone.
On an iPad it works.

You cannot scroll down to the end of the site with one tap

In blogs on you cannot go the top of a site when tapping on iPad’s or iPhone’s status bar.

0009 Apple’s Photos
Saving photos from an app in the camera roll doesn’t keep the file name.
It’s turned into Apple’s file naming system (IMG_number) and further on nothing points to the content of any image.

0010 Bento
The only way to import data is via a CSV file as an E-Mail attachment.
It seems that FileMaker Inc. hasn’t heard anything about clouds.
Or do I have to by their MAC version of FileMaker server as well?

0011 Customer Center
(German Telekom)
The list of bills is ordered ascending without an option for changing this.
So you always have to scroll down to see the latest bill.
Consider your banking app would show you your very first account settlement first!

0012 Dropbox
Dropbox doesn’t offer a full text search within files like Google Drive.

0013 Google Drive
Google Drive offers a full text search which is an awesome feature.
After entering the search term the app lists all files containing the term.
But it does not highlight the references. So it makes me feel giddy to look for the term in a longer text.

0013 App Store
Developers describe their updates and you can read about changed or updated features before downloading the new version. All this you have to keep in mind because nearly no developers shows the history of updates in his app. If a new gesture is added you won’t remember the announcement and therefore cannot use the new feature.

Oh Lord, sometimes I think developers are just coding but forget that their users own a brain, not a harddisk where all the information is accumulated.
There is more than just coding to be successful and to meet the requirements of users.

0014 Photostream
You cannot transfer photos from the Photostream directly to the camera roll without creating a new album. Does anybody have an idea why?

0015 Google+ app
If you drag down e.g. within a community the information is refreshed.
If you drag down within an article the article is closed.
The same gesture for completely different actions.

0016 Twitter
If you try to follow the recommendations of Twitter to use 2-Step-Verification you have to enter your mobile phone number. With all well-known formats you get an error message here in Germany. Thanks Twitter for offering security in just some countries.

Pain hits my wrist. So I move over to #999.

0998 Apple’s Keynote
When inserting media into presentations you have access to the camera roll but not to the photostream. So you must transfer a photo from photostream to a new or an existing album.

0999 Foxit PDF (Foxit Corporation)
If you want to sync documents e.g. with your dropbox account you have to pay for it once! I never saw this in any other software.

Latest bug

1000 Google+ for iOS
Great new notification bar but the app crashes in many not really replicable circumstances. This didn’t happen in the former version.

The list is not complete yet.
And I’m sorry I cannot do the job without your help.
Please complete the list by writing comments.

Statements of a CEO …

Let me add parts of an interview with Oleg Lola, CEO of MobiDev Corporation.

Q: Hello Oleg! What is your opinion on the definition of a “bad” application?

A: Hi! Well, a bad app is one that does not satisfy the end users’ needs. That’s the definition for me as a developer. Any software must have a direct purpose, a precise task that it performs. …
So if the app lacks these, and it cannot perform its intended task, cannot meet the needs of audience, it’s a bad application.

Q: Are there any other peculiarities that make software “bad”, unpopular and inconvenient?

A: Yes, I can say a bad app is also one that doesn’t fully meet the needs. For example, a well-working app that doesn’t have a proper UI, or lacks some functionality. This causes inconvenience for users, who are very likely to abandon this app, and try to find a better one. I can also name support as a criterion; if the users have questions about the app, they must receive feedback; and software owner has to consider the reviews and improve the application. …
Speed and security are also very important. It’s unallowable to leave a chance for security breach and leaks of corporate data, e-mails, contacts, or any personal information. A good app not only has to bring benefits – it has to cause no harm. Bad software is created without the discussion of these issues between the software owner and developers.

Q: What about any minor problems, bugs?

A: Problems like these are usually eliminated through quality assurance. Bugs may also lead to dissatisfaction of end users, blocking them from using the app. That’s bad. But the major bugs are usually disclosed during the QA process, before the deployment.

Q: And what are the main problems an app can face after deployment?

A: The majority of problems after deployment are connected with compatibility of devices and platform versions. I mean Android. It has plenty of devices, smartphones and tablets. If the app doesn’t use the standard UI elements, for example, there might be problems on certain devices. That’s bad. …
iOS is a winner here: developers have to consider the differences between iPhone and iPad; and the platform versions – they check if the app works properly on the earlier versions. …

Other problems may include updates. For example, occurs some change in Facebook, some function is added, or some is removed. This may influence the app that has integrated Facebook sharing. This has to be tracked and updated in case of necessity. … Updates are vital for good apps.

Q: What are the main mistakes of developers that result in such a questionable outcome?

A: This may sound trivial, but good software developers are people inclined to creative work, in some way like composers and poets. Custom software works are often highly individual. No developer would knowingly put bugs into the app. The main mistakes are usually connected with inattention. A lot here depends on the developer’s experience. On one hand, an app must be done to be close to perfection. On the other hand, developers can mistake, and do mistake, you cannot predict and consider just everything. …
And here we come to quality assurance.

Q: You mean that the app that hasn’t undergone proper QA, has all the chances of being dubbed a bad one?

A: Correct. Developers and QA specialists both vitally shape the app. But while developers create the app, QA specialists must wish to destroy it. That’s the opposite activities that work for the quality of the app. QA tests the capabilities of the application, find its limits. The better are the attempts to destroy the app, the more problems are found and eliminated. …
Testing is an obligatory stage of our software development. …
Don’t cut down QA for the sake of sparing costs. QA is the essential way to make sure you will get the high-quality software you want.

Unfortunately all these statements are valid only for roughly 1% of the apps available at Apple’s App Store. And you recognize it after purchasing.
So on my point of view Apple cannot necessarily be proud of it’s overloaded software offer.

Again I want to quote a comment of my friend Michael Wilde published on Google+. Michael is an expert with more than 30 years experience in application development.

I have worked with well marketed apps. They look great and well organized at first use. But when one digs deeper into the app; there are sometimes basic , functions missing. I expect them to be apart of the app; push every screen and device button. The basic function just does not exist. I wouldn’t buy a used – automobile because it looked nice from the outside and had a great stereo system. The same goes for applications on any platform. Don’t be fooled by , applications that have “great stereo systems”. In other words, don’t purchase applications because they look nice and have a couple of “neat” functions. Make sure the app does exactly what you expect. Even at the basic functionality level. This article points this out very well.
The “stitched together apps” are guilty of this. Big or small, there is always always, a push to get a product on the shelf. Sometimes promises are made for needed or corrected functionality will appear in version 1.2.xx.xx. In other words, it wasn’t put together correctly the FIRST TIME.

Summary …

There is no chance to completely avoid the occurrence of bugs in applications.
But as a customer I can expect:

A valuable system analysis before coding begins
Intensive tests before applications are released
A friendly support taking care of customers
A consistent further development

This should be the basic code of practice for all developers who want to earn their living with app development. For big companies it should go without saying but an embryonic developed final inspection is regrettably the reality.

To read the document

The iOS Human Interface Guidelines (by Apple Inc.)

should be a MUST for all developers.

Thanks for visiting