About apps

10 09 2014

‘App’ is the modern term for application which means a set of instructions to let your device solve life’s dilemmas one app at a time.

Inextricably linked with apps are small animals which most aggressive life forms are well-known from tropical areas and called bugs. Today we have them also massively in the temperate zones and they are distributed for free by Apple, Microsoft, Google, medium-sized companies, and individual enterprises mainly via Apple’s App Store and Google’s Play Store.

20140617-091131-33091606.jpg

Free apps are almost always designed for promoting services or developed by individuals who just like programming or want to carve out a way to success in getting commissional work. It’s obvious that the paid ones are made for making money. Unfortunately many of them are offered just for making money. Developers should know that this is a short-term strategy and often borders on fraud.

We, as the customers, should punish these companies by writing appropriate reviews and ask Apple for refund of costs.

Note
A lot of craptacular apps that should never find their way to your iOS device can be found in the App Store. Apple just controls conformity of apps with their guidelines but doesn’t identify crap. Although Apple’s terms and conditions state that ‘All sales and rentals are final’ you can apply for a refund if your cause is legitimate. Here is how to do it:

  • Open your iTunes Account.
  • Open the Purchase History.
  • Click on ‘Report a problem’.
  • Select the app and click on ‘Report a problem’.
  • Choose one of the six categories Apple lists for app-related complaints and add legitimate reasons.

It’s still one of the biggest disadvantages of Apple’s App Store not to offer apps free for a limited time to decide if you want to keep it. Serious developers offer a so-called ‘Lite Version’ for free with some limitations of features.

Well, independent of the motivation individuals or businesses have when offering apps customers are only interested in bug-free versions just doing what they are intended for and offering a great user experience described in Apple’s iOS Human Interface Guidelines.

Classification of apps …

When we talk about apps we should first classify them.

Speaking in broad strokes apps may be classified as follows:

  • Table-Based Apps
    The app allows access to hierarchically organized data. Opening the app displays topics and often a Search-Field where you can enter a term. the app then displays topics matching the term. Tapping on a topic displays related information.
    Examples: dictionary, product description with parts lists
  • App based on Complex Databases
    This type of app is an extension to simple table-based apps with improved features of parsing out content. Often included is an online access that allows updating of the database to always work with actual data managed on a webserver. A simple solution is to download updated on demand and store them permanently in a local folder of the device. So the user is independent of a working internet connection. A more complex solution is the retrieval of updated records when needed.
  • Apps Improving Built-In Features
    iOS provides tons of features developers have access to. But some of Apple’s built-in apps don’t meet the requirements of users. With the camera you can take photos of several pages of a document. You will need an additional app to convert these image files into a single PDF, the scanned document.
    A typical example is Readdle’s app Scanner Pro where scanned documents additionally may be organized in folders.
  • Fully Dynamic Apps
    Similar to the database driven apps, these apps are the kind that rely purely on external information – Apps for social networking like Twitter, Weather Pro, WordPress, etc. usually there is Read-Write access to webservers (read tweets for displaying them, write new tweets).
    Some apps additionally provide encryption when transferring data from or to the device.
  • Apps for Creating Data
    The user enters the content (writes letters, creates spreadsheets, or presentations, annotates PDFs), manages storage places (local folders and cloud storages), uses convert algorithms (Microsoft Word to Apple Pages) and shares documents with other users. Typical apps of this kind are Apple’s iWork suite, Tap Forms Database, iThoughts Mind Mapping, Adobe Reader, etc.
  • Games
    These have the largest range of complexity, starting with something as simple as a PONG type functionality (PONG=one of the earliest video games by Atari) all the way up to a 3D physics engine that does high speed air racing. Scoring points, incorporating the user experience through the physical movement of the device, and hooking into Game Center are all possible.

Testing …

Developers have to learn four simple rules to become successful.

  • Take care about the system analysis.
    It’s the process of studying procedures in order to identify its goals and purposes and create a system (the app) that will achieve them in an efficient way.
  • Test your app and if you don’t find a bug test it again.
    Before starting any tests, developers have to shut down and use their schizophrenic partition to reboot. From now on they must behave like bad guys trying to destroy the whole work of this incompetent developer.
  • Listen to your customers.
    If features and the UI are driven by customer requests and feedbacks it’s likely that you will be successful with your business.
  • Set up a platform.
    That means create a mobile friendly website without ad, engage in social networks, etc.

All this doesn’t help if the app isn’t stable or the UI doesn’t feel like ‘Made for Apple’s mobiles’.

Here is how testing should work but in most cases it obviously doesn’t. One of the developers I’m talking about should be expected to do a professional job but it’s an individual enterprise which shows us how to do the job – a painful affair for the big company.

20140619-091058-33058773.jpg

Feel free to download this map from my Box account.

The alternative file formats have been created with iThoughts for iOS (.ITMZ file format). Compatibility to other tools is limited. The DOCX file format is suggested for those who don’t use a mind mapping tool. The file contains the image as well as a detailed outline of all topics.

Application File format
Adobe Reader PDF
Apple iWork/Microsoft Office DOCX
iThoughts ITMZ
MindManager MMAP
XMind XMIND

Testing an application is an indispensable task and it often takes more time to go through all the test scenarios than to write the code. The most important part of the whole testing procedure is called Functional Testing. This is a type of black box testing that is based on the specifications of the software that is to be tested.

Keep in mind that the developers of iThoughts and Tap Forms do it all alone.
They are project manager, quality assurance manager, programmer, CEO, website owner, publicity expert, accounting clerk, and often
complaisant husband, father of some kids, owner of a dog and tax payer.

The application as a whole system is tested by providing input and evaluating the system’s compliance with its specified requirements.

  • Unit Testing
    Unit Testing is performed by developers on individual units of source code. The developers use test data that is separate from the test data of the quality assurance team.
    The goal of unit testing is to isolate each part of the program and show that individual parts are correct in terms of requirements and functionality.
  • Integration Testing
    Integration Testing is done to determine whether all single units of the app properly work together.
  • System Testing
    Once all the components are integrated, the application as a whole is tested to see wether it meets the quality standards. This type of testing is performed by a specialized testing team. System Testing is one of the most important steps on the long way from an idea to the deployment of an app.

    • System Testing is the first step in the Software Development Life Cycle, where the application is tested as a whole.
    • The application is tested thoroughly to verify that it meets the functional and technical specifications.
    • The application is tested in an environment which is very close to the production environment where the application will be deployed.
    • System Testing enables the developers to test, verify, and validate both the business requirements as well as the application architecture.
  • Regression Testing
    Whenever an app is updated it is quite possible that other areas within the app have been affected by this change. The intent of Regression Testing is to ensure that a change, such as a bug fix did not result in another fault being uncovered in the application.
  • Acceptance Testing
    This is arguably the most important type of testing as it is conducted by the Quality Assurance Team who will gauge whether the application meets the intended specifications and satisfies the client.s requirements. The QA team will have a set of pre written scenarios and test cases that will be used to test the application.
  • Alpha Testing
    Unit testing, integration testing and system testing when combined are known as alpha testing. The teams look for spelling, broken links, quality of the help system, etc. The app will be tested on devices with the lowest specification to test loading times and any latency problems.
  • Beta Testing
    In beta testing a sample of the intended audience tests the application. Beta testing is also known as pre-release testing. Beta test versions of software are ideally distributed to a wide audience on the Web, partly to give the program a “real-world” test and partly to provide a preview of the next release. The audience will be testing the following:

    • Users will install, run the application and send their feedback to the project team.
    • Typographical errors, confusing application flow, and even crashes.
    • Getting the feedback, the project team can fix the problems before releasing the software to the actual users.
    • The more issues you fix that solve real user problems, the higher the quality of your application will be.
    • Having a higher-quality application when you release to the general public will increase customer satisfaction.

Two examples …

As a mind mapper and an engaged member of Google+ I frequently use my preferred mind mapping tool iThoughts by toketaWare as well as Google’s app Google+.

toketaWare
is a small software development business based in the UK (just outside York.) When I say small, I mean really small. Currently it’s just me, Craig Scott.
In addition to the iThoughts mindmap products, toketaWare also builds/maintains makeDoc and makeSlides (iOS apps for converting Markdown, OPML and text into MS Word and PowerPoint files).
Toketa is a term used in Judo to describe when a person has escaped from being pinned down i.e. they’ve broken free. Seemed apt somehow – software that sets you free. That’s the goal anyhow!

Google
Well, what can I say, the app Stocks on my iPhone tells me that the market capital is $378,1B. Without knowing the capital of toketaWare I’m quite sure that Google is ahead.

The app Google+ crashes a couple of times each day when my iPhone 4S running on iOS 7 is unlocked and the app was in suspended mode. This happens since about 12 months and the problem can easily be proofed by countless complaints in different communities on Google+.

20140617-092123-33683418.jpg

But there is even more. The app doesn’t provide any useful support for moderators and doesn’t allow relevant settings for your Google+ account. Searching, limited to content if specific communities is not possible. There is no list of people you have blocked. Text typed in the comment section may get lost if you switch to another app and return to the G+ app. Formatting is supported only by using special characters like *, -, and _.

If you look up the version history starting on 2011-12-05 (version 1.0.7.2940) you will find many useless new features within the 25 updated versions and countless bug fixes which didn’t fix the most annoying bugs.

Let’s have a look on the Reviews. I found 4.651 reviews for all versions which is definitely a negligible quantity compared to the number of downloads. The consequence for me is that reviews published in the App Store are most often useless if it comes to an objective assessment of an app based on a large/representative number of users.

Reasons are …

  • Apple hasn’t built bug reporting into the App Store, so customers use one-star ratings as a way of reporting bugs.
    Developers cannot contact people who post ratings.
  • People are much more likely to complain than to praise. If you have an app that crashes for 0.01% of your users, those users are generally not going to quietly ask Apple for refund. They’re going to post a negative review. However, the 99.99% of people for whom the app works great are not going to post five-star ratings.
  • The App Store only shows the ratings given to the latest version of an app. Every time a minor update is released, the app’s ratings history is effectively wiped out. If 0.01% of the users have a problem, the app ends up with ten one-star reviews which is a disaster for a developer.
  • Ratings are often made after a short time of usage and they most often do not reflect systematically collected experiences.

For those who make their living on the App Store, a one-star rating is an existential threat. If an app is rated one star, nobody will look at it or buy it. If it’s rated five stars, the company will make a decent living but lack of features may still hamper the usage of many customers. A typical case is the missing support for the WebDAV protocol which is essential if users do not have accounts for the predefined cloud providers offered in the app’s settings.

Since years I’m in close contact with two small companies

  • Tap Zapp Software Inc., Canada
    developing the database application Tap Forms
  • toketaWare, UK
    developing the mind mapping tool iThoughts

following Steve Jobs’ philosophy

To purchase is to build relationships.

A fast, understandable and friendly support ends up in a win-win-situation for both, customers and developers. Regardless of any educational background developers can learn from their customers.

Let’s have a look on the presentation of the app iThoughts.

20140617-092449-33889330.jpg

Meaningful images, factual descriptions of relevant features, a link to a website with lots of useful information and a ‘What’s new’ mind map delivered with every update.

I summarized the updates in a mind map. toketaWare publishes the details of updates in contrast to many other developers just describing their new versions with useless notes like

  • Various bug fixes
  • Overall performance improvements
  • Runs better than before
  • Improvements for reliability
  • Fixes to make the app a little better for you

20140617-092545-33945285.jpg

Apple’s guidelines …

An iPhone, by itself, is a somewhat dull device after you get over touching the screen of a cell phone. Sure, it’s an innovative device, but it’s just another cell phone with a unique way of interacting with it before applications are added.

20140617-094432-35072473.jpg

But once applications are added to the device, it becomes a far more compelling product with a series of great applications that easily make it the best cell phone in the market. And it’s because of Apple’s Guidelines every developer has to follow when offering software products.

20140617-181711-65831661.jpg

Feel free to download this map from my Box account.

The alternative file formats have been created with iThoughts for iOS (.ITMZ file format). Compatibility to other tools is limited. The DOCX file format is suggested for those who don’t use a mind mapping tool. The file contains the image as well as a detailed outline of all topics.

Application File format
Adobe Reader PDF
Apple iWork/Microsoft Office DOCX
iThoughts ITMZ
MindManager MMAP
XMind XMIND

Summary …

Developing an app successfully running through all stress tests and following Apple’s iOS Human Interface Guidelines is a quite complex task and it doesn’t differ from the development of an application running on computers.

Character traits define your personality, your underlying values and your beliefs. Maybe you remember my interview with Brendan Duddridge, the developer of the awarded database app Tap Forms.

I like Steve’s philosophy on design. Make it simple and beautiful to use. Steve surrounded himself with brilliant people who he could command to do the best work of their lives. I don’t have that luxury so I just try to build the best and easiest to use app that I can possibly think of.
(Brendan Duddridge)

I take my hat off to all the individual enterprises doing their job much better than their big competitors.

Related links …

App Development + Marketing

iThoughts, redesigned, reengineered, re-everythinged

Tap Zapp Software Inc.

Google+ on iOS devices

About guidelines …

App Store Review Guidelines

iOS Human Interface Guidelines

UI Design Dos and Don’ts

Thanks for dropping by.





The Maldives

24 06 2013

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.

Dhoni
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.

iLand
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

20130419-112633.jpg

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.

0007 SAFARI, CHROME, …
You cannot scroll down to the end of the site with one tap

0008 WordPress.com
In blogs on WirdPress.com 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 http://iNotes4You.com.





App Development + Marketing

31 05 2013

For non-jailbroken iOS devices apps can only be purchased and installed via Apple’s App Store which opened on July 10, 2008. Developers forward their products to Apple where they are reviewed first. After a successful approval test Apple releases the app and users can download it from the App Store.

NOTE

iOS jailbreaking is the process of removing the limitations on Apple devices running the iOS operating system through the use of software and hardware exploits – such devices include the iPhone, iPod touch, iPad, and Apple TV. Jailbreaking permits root access to the iOS operating system, allowing the download of additional applications, extensions, and themes that are unavailable through the official Apple App Store. Jailbreaking is a form of privilege escalation, and the term has been used to describe privilege escalation on devices by other manufacturers as well. The name refers to breaking the device out of its ‘jail’, which is a technical term used in Unix-style systems. A jailbroken iPhone, iPod touch, or iPad running iOS can still use the App Store, iTunes, and other normal functions, such as making telephone calls. Restoring a device with iTunes removes the jailbreak.
(Wikipedia)

20130329-145322.jpg

Registering as a developer (individual or company) costs 99$ per year.
You have to fill out all the information necessary for the app – icon, description, pricing, assigning of an app category like ‘Utilities’, etc.
Once the forwarded app is approved by Apple and available in the store, you can monitor all the analytics on the back side of it: number of downloads, profit, reviews written by the users, etc.

Apple gets a 30% profit sharing for each purchased app.

With this strategy Apple’s App Store ranks #1 among all stores for mobile devices. The benefit for Apple is an increase in turnover regarding software and as a consequence even hardware.

Links to further information …

Classification of apps …

When we talk about costs of app development we should first classify them.
This article excludes free apps which are almost designed for promoting services or developed by individuals who just like programming or want to carve out a way to success in getting commissional work.

Speaking in broad strokes apps may be classified as follows:

  • Table-Based Apps
    The app allows access to hierarchically organized data. Opening the app displays topics and often a Search-Field where you can enter a term. the app then displays topics matching the term. Tapping on a topic displays related information.
    Examples: dictionary, product description with parts lists
  • App based on Complex Databases
    This type of app is an extension to simple table-based apps with improved features of parsing out content. Often included is an online access that allows updating of the database to always work with actual data managed on a webserver. A simple solution is to download updated on demand and store them permanently in a local folder of the device. So the user is independent of a working internet connection. A more complex solution is the retrieval of updated records when needed.
  • Apps Improving Built-In Features
    iOS provides tons of features developers have access to. But some of Apple’s built-in apps don’t meet the requirements of users. With the camera you can take photos of several pages of a document. You will need an additional app to convert these image files into a single PDF, the scanned document.
    A typical example is Readdle’s app Scanner Pro where scanned documents additionally may be organized in folders.
  • Fully Dynamic Apps
    Similar to the database driven apps, these apps are the kind that rely purely on external information – Apps for social networking like Twitter, Weather Pro, WordPress, etc. usually there is Read-Write access to webservers (read tweets for displaying them, write new tweets).
    Some apps additionally provide encryption when transferring data from or to the device.
  • Apps for Creating Data
    The user enters the content (writes letters, creates spreadsheets, or presentations, annotates PDFs), manages storage places (local folders and cloud storages), uses convert algorithms (Microsoft Word to Apple Pages) and shares documents with other users. Typical apps of this kind are Apple’s iWork suite, Tap Forms Database, iThoughts Mind Mapping, Adobe Reader, etc.
  • Games
    These have the largest range of complexity, starting with something as simple as a PONG type functionality (PONG=one of the earliest video games by Atari) all the way up to a 3D physics engine that does high speed air racing. Scoring points, incorporating the user experience through the physical movement of the device, and hooking into Game Center are all possible.

The programming language …

For iOS apps Apple provides it’s programming language xCode.
For a short impression look at this video.
It explains some lines of programming and the result on the iPhone’s screen.

The costs of development …

There is no trustworthy stats about the absolute cost of an app based on the above mentioned classification. You will find developers doing everything for $1000 and reliable companies offering complex apps for $500,000.

I myself develop complex software for auditors based in Microsoft Access Databases. The experience is: calculating the costs of development is intensely distressing and irritating to the nerves. What you plan is almost always not what you release to the customers. Either features are nice-to-have but go beyond the scope of planned costs or the operating system or external modules don’t support what you have in mind or are buggy, or you are not convinced whether the stability of the system is still guaranteed.

Anyway the reality is: Coding is never ready for prime time.

This pie chart is based on a survey of app developers in Germany (source AppDevice).
When looking on it consider that

  • the values are based on A One-Year Fulfillment of an experienced company with creative, reliable, and topic-involved developers
  • there is already a fully functioning infrastructure regarding organizational workflows, technical equipment, online presence, engagement in social media
  • there are intangible assets not considered in the stats
    For being successful the whole company must have the boundless willingness to develop more reliable and innovative solutions than it’s competitors. Perpetual postgraduate professional education of the staff, risk-taking, and a well-organized, quick-response customer support are the indispensable further requirements.

20130329-134240.jpg

For a well-known app I found detailed information about the costs:

The cost of building an iPad app
Twitterific, the most popular twitter app in the App Store (€2.69 about $3.50), was solely built with sweat equity. Craig Hockenberry, the man behind Twitterific, recently revealed how much work was required to build the app: about 1,100 hours. At $150/hour, Twitterific for iPad costs about $165,000 for the code only (the iPad app also used existing code valued at roughly $20,000). On top of that, the design phase cost was about $34,000. Finally, project management, testing, and other costs were around $16,000.

When you add all these numbers together, the cost to build Twitterific is around $250,000 – note that this app does not even use a backend support system, which would have likely doubled the development costs.

As you can see these costs are in no way comparable to the statistical values reported in the survey. As a consequence it’s obvious that all the single steps in the development process strongly depend on the app itself and all the above mentioned influencing factors.

Based on my personal experiences within 35 years with Microsoft Access applications the estimated costs for coding and after-release tasks are not down-to-earth.

An app that extracts data from a database and displays it in a simple list can be expected to take 4-8 weeks to create at a cost of $25,000 on a single platform.
An app with more complex server-side integration and offline data caching will probably take 8-12 weeks and cost $70,000 to develop for two platforms.
A full-scale enterprise automation app with integration to business processes will take anything from 3-6 months and may cost over $150,000 to develop on three platforms.

The short-term investment in creating those first pristine apps is likely to be the tip of the iceberg in terms of people and capital costs. Whether you’re using internal teams for development or contracting with software companies, you’ll need to make a detailed assessment of the short- and long-term costs of supporting the practice.
An app developed today will need to be updated in the future for changing business processes and for operating system updates. It will need to be ported to any new platforms you want to support. According to MGI Research, most mobile apps will experience at least four major update cycles stemming from operating system and device updates in the 2012-2014 time frame.

Other platforms …

If an app is developed for additional platforms like Android or Windows costs are increased by an average of 25% but the increase of potential buyers is nearly 100%. So it makes sense to develop any mobile app for all leading platforms. It seems to be a good investment when looking on the stats of hardware sales.

(Source Businessinsider)
20130311-082751.jpg

Further stats …

In the draft version of my article I collected many stats from a wide range of sources.
Nearly half a week I compared more than 60 published statistical values which differ from each other massively. Anyway here are some links but it seems to me that the statistical values are hard to validate.

Summarizing some reliable stats …

These values were published by Apple itself and you can find them in several press releases on Apple Press Info

  • Total downloads: 40 billion
  • App Store accounts: 500 million
  • Available apps: 775k
  • Profit of developers: $7 billion
  • Profit for Apple: $3.5 billion (tax included)
  • Number of available App Stores: 155 seperate countries

Usage …

Goldman Sachs stated that there is a strong challenge for Google.
70% of purchased smartphones are running with Google’s Android operating system, but 60% of the mobile web traffic is generated by Apple’s iOS users.

What are Android users doing with there mobile devices?
Are they just making phone calls and play games?

To Android users:

Please accept my apologies in advance. But a blog written by an Apple fan is nothing without some sarcastic remarks.

Thanks for visiting my blog.





An ‘Appdate’ in details

3 11 2012

This is a very accurate description of an iOS-App-Update in November.
But there is still an intensification: The app has changed.
Sorry developers. This was the reason why you didn’t get the pole position.

20121105-072248.jpg





Infraction against the “UI-Law”

14 10 2012

Sometimes even developers of Apple do not choose the right design of controls. The following example shows an implementation of the ‘Open in’-Task in Apple’s iWork-Suite, Notes and my proposal.

20121014-164231.jpg

Dear developers,
please read the document
iOS Human Interface Guidelines








Follow

Get every new post delivered to your Inbox.

Join 209 other followers

%d bloggers like this: