Click Here to Request a FREE Quote to Develop an iPhone App or Android App

Why you should sometimes choose a Progressive Web App

What do you do if you need a mobile app, but you don’t want to have to deal with limitations and restrictions imposed by App Store and Play Store?

Watts Up With That, a major climate website, wanted their own mobile app, but they were concerned their app might face app store approval difficulties due to the USA’s highly polarised political environment.

The solution was a progressive web app – an app which provides a similar user experience as an App Store or Play Store app, which can be installed just like a normal app on your mobile device home page, but which bypasses the normal mobile app store approval process.

If web apps are so fantastic, why not make every app a web app?

Progressive Web Apps are significantly slower than native apps, and have difficulty handling large amounts of data and processing images and sound – much like the limitations of an ordinary website.

If the purpose of your app is to provide an index to your website, or a brochure experience, as was the case with Watts Up With That, Progressive Web Apps are potentially a good solution. But if you your app needs to perform more complex actions, such as scrolling through a long social media feed, performing on device calculations, providing a real time game experience, image manipulation, or capturing and uploading large amounts of data, you will encounter the limitations of web apps pretty early in the development process.

If you are concerned your app may encounter publication difficulties, due to your politics or content matter, or if you simply want to explore whether web apps are the right solution for your business or organisation, click the link at the top of the page to get in touch. Desirable Apps does not judge. Providing your organisation is not engaged in illegal activity, we are happy to help you develop and publish your app.

Apple: Mobile App Publishers Paid US $26.5 BILLION in 2017

Apple has published some staggering statistics about the scale of mobile app sales through its App Store.

Apple just shared some staggering statistics about how well the App Store is doing

Obviously not every iPhone App will make you an instant millionaire – but there is a lot of money out there, for someone who succeeds in developing a popular mobile app.

If you would like to discuss your mobile app idea, please Contact Eric at Desirable Apps.

Developing Mobile Apps with Human Components

Chic Sketch - sketching you as a fashion icon
Chic Sketch – sketching you as a fashion icon

Have you ever wanted to do something impossible? Have you ever wanted to create an artificial intelligence, something straight out of science fiction – an app which can see, hear, interact and understand, just like a human being?

It turns out there is a solution. If you need human level capabilities, then you have to provide a human, to supply those capabilities.

This is the secret of CamFindApp. CamFindApp tells you what things are. If you supply CamFindApp with a photo, and indicate an object of interest in that photo, CamFindApp will tell you what that object is.

How can anyone afford to employ people to service mobile app users in this way? Because every request only takes a few seconds. I mean, show CamFindApp a photograph of a chair, and a few seconds later, the word “chair” appears on your phone. So every person who is employed by the company behind CamFindApp, has the ability to process thousands of photographs per day. Assuming the CamFindApp team is working at a reasonable level of capacity, each identification experience only costs the CamFindApp company a few pennies – especially if the team of “identifiers” is working in a low wage country.

Another app, Chic Sketch, also uses a “human component”.

According to Digital Trends

Chic Sketch is an app for turning a picture of yourself into a fashion illustration that looks those designers’ sketches. It doesn’t manage this by using clever filters and photo-manipulation algorithms, however: there’s actually fashion illustrators waiting in an office, ready to look at your picture and draw a sketch of you on the spot. First, you download the free app. After that, you either take a picture of yourself in-app or choose a picture from your photo library (it has to be a full head-to-toe shot), and upload it to a fashion illustrator. It won’t be instant, of course, since a real person is doing the sketch, but you can check out the quality of the sketches on Chic Sketch’s website.

The catch? It costs $10 per sketch – so choose your photos wisely.

Read More...

My point is, if you have an idea for a mobile app which you think would be incredibly popular, but everyone tells you the app is impossible – that current technology isn’t good enough to implement your dream mobile app feature – the solution might be, don’t use technology. Sometimes the solution is to build a team of human beings into your mobile app solution.

If you have a difficult mobile app requirement, and would like to discuss your idea with a software expert, please contact me.

Rapid Geosearch for Mobile App Developers

Geosearching a large database of places, for places which are near your current location, is a surprisingly wicked theoretical problem, especially for mobile app developers. Understanding the problem, and how the solution works, has important applications which go well beyond geosearch.

The difficulty is the search is two dimensional. To find a set of places which are near your current location, you have to match both latitude and longitude. But there is no relationship between latitude and longitude. You cannot infer a longitude, if you have the latitude, they are separate entities. Latitude and longitude are independent search criteria.

Why independent search criteria are a challenge

Say you want to find all places which are within a kilometre of your current location. Given your current location, you can easily convert a latitude into a range of values which is roughly a kilometre wide. Similarly you can convert a longitude into a range of values which is roughly a kilometre wide. But this is where the trouble starts.

Once you have your strip of land, you can search for places within that strip which are also within the range of longitudes you want. But consider what that strip of land you just requested actually represents; if you ask the database for all results within a range of latitude values, what you are actually asking for is all of the locations within a strip of land which encircles the entire world.

If your database contains millions of places, and you ask your database to return all the places within a world encompassing strip of land, your intermediate search result may contain many thousands of candidate places. If you started with latitude, filtering this long list of latitude candidates, for places which are also within the desired longitude range, can place impractical demands on your database’s computation capability – particularly if you are using a mobile device to perform the search.

Searching Latitude and Longitude, for nearby places.
Searching Latitude and Longitude, for nearby places.

Performing a traditional search, where you start with the first search criterion (the latitude), then refine the search using the second criterion (the longitude), is clearly very inefficient. What we need is a method of filtering the list, which allows us to efficiently apply both latitude and longitude to our search simultaneously.

R-Tree – A search which applies multiple criteria simultaneously

The secret of R-Tree is that it divides the problem domain into a series of concentric boxes. Each box contains smaller boxes, until at the end of the search, the last “branch” of the “tree”, the final box contains the results you want.

Even though the top level outer boxes contain thousands of results, the mobile app does not have to look at all of these results – all the mobile app sees is a manageable series of boxes. Searching the boxes is like opening a set of Russian dolls, one inside the other. The final results of your search, the results which the mobile app needs to display, are inside the innermost box.

Most importantly, defining the search algorithm as opening a series of concentric boxes, each box closer to the results you want, means you are applying both indices, latitude and longitude, simultaneously – which allows much more efficient filtering of results, than would be the case with searching latitude and longitude independently (world encompassing strips of land).

R-Tree search divides the problem in a series of concentric boxes.
R-Tree search divides the problem into a series of concentric boxes.

R-Tree your next mobile app development project!

The best part of R-Tree search is that it is fully supported by sqlite, which in turn is fully supported by the iPhone App Development and Android App Development environments.

You do not have to build the concentric index boxes yourself, the Sqlite R-Tree package will take care of the technical details of building and maintaining an efficient R-Tree index to your places data. All you have to do is specify which fields should be part of the R-tree search index (in this case, the fields you want are latitude and longitude).

If you wish to develop an Android App or iPhone App, which requires blinding fast geosearch, or if you have an esoteric data search problem which just doesn’t seem to be responding to normal database performance tuning, consider R-Tree – it might be the solution you need.

And of course, R-Tree is also well supported by server technology – so you can, if you choose, perform blinding fast geosearches using a server call, rather than embedding the data in your mobile app.

If you would like to know more about R-tree, and multiple independent database index search techniques and tricks, contact me for more information.

Yahoo: Mobile App Developers, use OUR analytics!

Yahoo CEO Marissa Meyer, urging mobile app developers to use Flurry.
Yahoo CEO Marissa Meyer, urging mobile app developers to use Flurry.

The battle is heating up, to convince mobile app developers to embrace new analytics packages, in their iPhone Apps and Android Apps.

Desirable Apps recently reported that Twitter was keen for users to dump Google Analytics, in favour of Twitter’s Answers Analytics Tool.

Now Yahoo has jumped into the fray, urging mobile app developers to use Flurry, to “use our mobile developer suite to make money”.

SAN FRANCISCO — Yahoo just revealed a big piece of its plan to catch up with competitors on the mobile front.

At its first mobile developers conference, the company unveiled its mobile developer suite, a new set of tools for app makers that combines Yahoo's Flurry analytics platform, the BrightRoll and Gemini ad networks, and Yahoo search.

The star of the suite is Flurry, the mobile analytics platform that Yahoo acquired last year. More than 200,000 developers use Flurry, but the suite also leverages Yahoo's native advertising and marketing tools. The suite itself is comprised of five products: Flurry Analytics, Flurry Pulse, Yahoo App Publishing, Yahoo Search in Apps and Yahoo App Marketing.

Flurry Analytics is the refreshed version of Flurry's existing analytics service, which provides developers with insights into how people are using their apps. Flurry Pulse is a new software development kit (SDK) that lets developers easily share Flurry's insight's with partners, and Yahoo Search in Apps provides better integration of search tools within apps.

Read More...

What do web giants get out of offering free mobile app analytics?

Why are big players like Google, Twitter and Yahoo, so keen to woo iPhone App Developers and Android App Developers to use their suite of analytics tools? What do the giants of the software industry get out of providing tremendous amounts of compute capacity to mobile app developers for free?

My guess is that it helps them refine their search results. Search engine giants like Yahoo, who have been playing catchup to Google for years, have suddenly woken up that all these free “analytics” which Google provides, help Google gauge which pages of websites users find interesting – which pages Google should put at the top of the search results.

Mobile app screens are not directly indexed by web based search engines (usually), but perhaps the analytics for mobile app developers are simply used to gauge how popular mobile apps are, and perhaps to pick up a few hints as to what the mobile apps do.

Yahoo’s only hope of creating a search experience which rivals Google, is to convince web developers and mobile app developers to switch to using their analytics service. Since Google provides their service for free, Yahoo have gone one better with the claim that, not only is their service free, but that you will make money from using their service.

But Twitter is not a search giant, like Google?

Where does this leave Twitter? Twitter isn’t a search giant – or are they?

In a subtle way, Twitter have quietly grabbed a large chunk of the world’s search traffic – an awful lot of the world’s web search is now performed using Twitter. If a major event happens somewhere in the world, one of the first things people do, is search for tweets from people relating to that event. This in my opinion represents a threat to Google’s dominance of the global web search industry – and puts Twitter just a short step away from being a new dominant web search player.

What should mobile app developers do, faced with all these choices?

What should mobile app developers do about all this choice? For now I’m sticking with Google Analytics, unless a client expresses a particular interest in the other services. Yahoo is still too new, in my opinion – it might have teething troubles. And Twitter – wow, who knows? I shall certainly be taking a closer look at Twitter’s Answers Analytics Tool.

If you would like to know more about Mobile App Analytics, and how they can help your app to maximise its potential, please contact me

New Mobile App Developer Tool- 5 Billion Sessions/Day

Twitter Answers - New Mobile App Developer Tool attracts 5 billion sessions per day
Twitter Answers – New Mobile App Developer Tool attracts 5 billion sessions per day

Twitter has claimed that its Answers mobile app developer analysis tool is currently juggling 5 billion sessions per day – a figure which puts Twitter into the same league as major rivals such as Google Corporation.

According to Wired;

Twitter says it’s now juggling about 5 billion “sessions” a day on its Answers service, the tool it released this past summer in an effort to help the world’s software developers analyze the performance of their mobile apps.

In other words, the company says, developers are using the seven-month-old service to collect app data from hundreds of millions of mobile devices out in the real world.

Answers is part of a larger suite of tools for software developers, known as Fabric, that Twitter formally unveiled at its inaugural developer conference in October. With Fabric, the company aims to help improve the performance and design of mobile apps—and perhaps integrate its own services into the larger world of computing. The suite, for instance, offers a tool for syndicating tweets through third-party apps.

“We want to empower the mobile app ecosystem for everyone,” says Brian Swift, who helps oversee the Answers tool. “We want to make these tools available for free—and make them as easy to us as possible.”

Read More…

Why do I need a mobile app analysis tool?

App Analysis tools like Answers Service are critical for serious mobile app developers and entrepreneurs, because they provide precise information on how users are using the mobile apps – which functions they spend time using, which functions they find confusing, even which functions they avoid. This feedback is critical for serious iPhone App developers and Android App Developers, because it provides detailed information about which areas of a mobile app need more development, either to fix problems, or because a function is popular, and should be expanded. Mobile App users rarely provide detailed information about a mobile app unless it is defective. A stream of negative reviews in Apple App Store or Google Play Store is NOT the optimum way of discovering and responding to problems – it is much better to get advance warning of problems, and address those problems, before they spill over into a public barrage of negative feedback.

Google Analytics – the main rival to Twitter Answers

I must admit my preferred tool for mobile app analysis is Google Analytics. However, Google Analytics can be a little intimidating to use for non technical users – it provides a lot of information, but Google actually recommend you attend a training course to make full use of their tool. It really can be that complex to use.

Why is Twitter Answers taking market share from Google?

Twitter Answers, which has only been available since last October, and is designed to be much easier to use than Google Analytics. Twitter promote their tool with the slogan Finally, mobile app analytics you don’t need to analyze… The fact that in such a short time, Twitter have attracted 5 billion sessions per day of usage, is strong evidence that ordinary users and technical mobile app developers are embracing the new analytics paradigm.

If you would like to learn more about mobile app analytics, and how analytics can help boost the popularity of your iPhone App or Android App, please contact me.

Apple iWatch App Development: The great unknown

Apple iWatch App Development - Opportunity or Timewaster?
Apple iWatch – Opportunity or Timewaster?

Will people buy Apple iWatches? Will users download Apple iWatch Apps, rewarding Apple iWatch App Developers for their time and effort? How will the public respond to Apple iWatch?

The truth is nobody knows. But the war of ideas and predictions is heating up fast as release day in April approaches.

Apple creative director Ken Segall has been mounting a spirited defence of iWatch against sharp criticism of its perceived battery life and cost issues.

You have to give CNN’s David Goldman a little credit.

With Apple’s next potential revolution still a few months away, he’s going for the gusto.

He’s not just saying that the Apple Watch won’t be as big as previous Apple hits. He’s saying the Apple Watch will flop. Period.

That’s the kind of bravado we like to see. Especially since no product in modern Apple history has ever flopped, despite the many who have predicted otherwise.

Read More…

iWatch battery life – showstopper or inconvenience?

Fighting words from one of the top Apple execs. But I’m not so sure. One of the reasons the late Steve Jobs resisted embracing 3G in iPhones was 3G is a battery killer. Public pressure forced Apple into the 3G race, as users refused to tolerate the slower cellular 2G network speed, but for a time iPhone batteries took a dive – the first Apple 3G models, you were lucky if they lasted the day.

It is this precise criticism of iWatch – the short battery life, 10 hours or less by some reports, which I think is likely to make or break the first generation iWatches. Can you really tolerate a watch, no matter how smart, which will last less than a day of normal use? I mean, we’re all used to plugging our mobiles into the charger when we get to the office – but will we remember to plug in the watch?

There are a large number of people who will buy the new iWatch because it is the next shiny. As a techie geek, I’m fighting the inner temptation to camp out in front of the Apple store. But the rational part of me is telling me to hang back, wait and see.

Of course, I might still release an iWatch App project or two.

The risk of letting an opportunity slip

One of my biggest regrets is I didn’t hop on the Bitcoin revolution. Back in 2009, I downloaded a Bitcoin miner, I had a spare PC – I spent a few minutes trying to make it work, then got frustrated, bored with what seemed like pointless effort, and promptly forgot about it. Back then, in 2009, a normal PC could easily mine several hundred bitcoins over a few months. They were a curio, worthless, a geek toy. The people who stuck with it, who spent a few extra minutes making their new bitcoin software run, are now multimillionaires.

Similarly, nobody in the app world can forget the early days of the iPhone App developer goldrush. It is still possible to make serious money with iPhone apps, but in the early days it was ridiculous – pretty nearly every app written in the first wave made the authors a fortune. The app store was almost empty, so the competition was close to non-existent.

Will iWatch app development be another gold rush? Maybe. Will you be able to live with yourself, if the iWatch pioneers make a fortune, and you hesitated? When in retrospect it will all have seemed so obvious?

If you would like to discuss iWatch app development, please contact me, for more information.

A Freemium Mobile App Development backlash?

A gathering backlash against some freemium mobile apps?
A gathering backlash against some freemium mobile apps?

Freemium Mobile Apps – apps which are free to download, but which offer in-app purchases. A few days ago, I discussed different ways of monetising apps, and how the Freemium model appears to dominate the industry.

However there are signs of a potentially serious backlash against tactics some freemium mobile app developers are using, to encourage users to purchase in-game options.

According to Game Revolution

… The thing is, our industry has become bad; society’s view of our industry has become bad. We try to get as much money out of the player as possible. That’s what the job of the [casual] game designer has become. That’s how people see us.

…What we’re doing is selling games to children. I think it’s so disgusting. We sell them $100 packages of fake currency and make their parents pay because we can easily manipulate them. This is the thinking of the gambling industry.

Read More…

To put this into perspective, not every iPhone App project or Android App project which contains in-app purchases is “evil”. If you want to give people a taste of your app’s functionality, then it is entirely reasonable to present basic functionality in a free mobile app, then encourage people to purchase additional capabilities. For example, Angry Birds – you could play a few levels on the free version of the game, then you could buy the “full” version, then there was ONE in-app purchase option – the “great eagle”, which allowed you to blast through frustratingly difficult levels, to see the next level. Good clean fun – simple costs, you know what you are buying.

But clearly there is a line which it is dangerous to cross. If your app targets children – encourages them to spend ridiculous sums of real money buying food bricks for their pet dragon or walrus or whatever, so their faithful electronic companion doesn’t starve and die, to me this is a high risk strategy. There’s a real risk your mobile game might end up at the top of someone’s list of evil. Such a design might even trigger a consumer campaign to remove your product from app store or play store.

My advice is, everything in moderation. By all means throw in a few in-app purchases – its a fantastic way of boosting revenue. Who knows what apps we would never have known, without the financial incentive provided by profits from in-app purchase options.

If you would like to discuss app monetisation strategies, please feel free to get in touch.

Fast Text Searching in a Mobile App

Searching large text fields (as in thousands of words) for small key phrases is traditionally a difficult problem, especially when the search has to be performed by a mobile app, using an Android or iPhone handset’s limited computing power.

Linear Text Search

Your mobile app could search for your key phrase by checking every letter in your text, as the possible starting point for the phrase you want to find. This works when the text you are searching is short – but if you are attempting to search many thousands of words of text, a linear search is slow, even at modern computing speeds.


Search: The quick brown fox jumps over the lazy dog
Key Phrase: lazy dog
Algorithm: check each letter
The quick brown fox jumps over the lazy dog

Text Map Search

The alternative is to partially pre-run the search when developing the mobile app. You can’t predict the keywords a user will enter, but you can create a searchable text map of the relationships between words and phrases in the text to be searched, to allow code to rapidly search the map, rather than having to check every letter of every word of the text to be searched.


Search: The quick brown fox jumps over the lazy dog
Key Phrase: lazy dog
Algorithm: pre-run search
L -> La -> Lazy -> Lazy Dog

How do you pre-run a search? You could research efficient word search structures – suffix trees, and other exotic data representations. After a significant amount of effort you would be able to create a search engine, which was much faster than a linear search of every letter in your text.

Or you could use the full text index feature of the SQLite database engine, which is fully supported in both the Android App and iPhone App environments.

SQLite Full Text Index

The SQLite full text index engine is very fast – correctly configured, it can search 10s of megabytes of text stored in your mobile app, fast enough so your code can update a list of hits in realtime, as the user types into the search box (obviously its a bit smoother if the database search is running in a different thread). In my experience the limitation on search speed is usually how quickly your code can create tables of data to represent the search results, rather than executing the search itself – so during performance tuning, it is worth considering minimum phrase lengths (e.g. don’t start the search until the user has entered at least 3-4 characters), to limit the number of results which are likely to be generated by a given search.

Creating a SQLite Full Text Index table is very similar to creating a normal database table. If the text to be searched is fixed (i.e. doesn’t change when the mobile app is used), the text search SQLite database can be created when the app is built, and accessed immediately, as soon as the user starts the mobile app.

Other Full Text Index Options

Full Text Index databases are also well supported by web technology. On most Linux boxes you can choose between a SQLite Full Text Search Database or a MySQL Full Text Search Database.

The Next Step

If you are thinking of developing an iPhone app or Android App, or any other kind of mobile app, which needs to present users with the ability to search a large chunk of text very rapidly, please contact me, for advice on optimal ways of implementing such a search.

Trivia Crack – One of the most profitable mobile apps

Trivia Crack - a simple idea which has taken the mobile app game world by storm.
Trivia Crack – a simple idea which has taken the mobile app game world by storm.

When you think of blockbuster mobile app games, you normally think of huge hollywood budgets, million dollar special effects and 10s of thousands of hours of mobile app development effort.

The reality is, some of the biggest iPhone Apps and Android Apps are nothing of the sort – they are simple ideas which caught on, earning a fortune for their creators.

One of the biggest games to date is Trivia Crack – a mobile app based on the old favourite Trivial Pursuit.

According to Venture Beat

After catching on big time in the U.S. and Canada, Trivia Crack has expanded to countries like U.K. — and this is helping fuel its domination of the mobile app markets.

Trivia Crack is the top downloaded game on mobile in the world, according to developer Etermax and industry-tracking firm App Annie. Since its debut, this app has racked up more than 125 million downloads worldwide. It has also managed to reach the No. 1 spot on the overall app download chart in important countries like the United States and Canada. With mobile gaming revenue reaching $25 billion in 2014, Etermax carved out a piece of that for itself by appealing to casual players with a trivia app that hooks heavily into social media.

Trivia Crack pits players against their friends in a Trivial Pursuit-style quest of knowledge. It already has over 200,000 unique questions, and — thanks to its players — it gets 2,000 new questions every day.

Important Lessons

There are some important lessons we can learn from the success of the Trivia Crack game.

  1. The use of social media – friends challenge each other via social media, which helps to propel the explosive growth of app users
  2. The enlistment of users to supply new questions – these guys don’t even have to think up new questions themselves, they get their users to do it for free.
  3. Simplicity – the game doesn’t pack in every imaginable feature, or heavy servings of Hollywood Glitz, it is just Trivial Pursuit, with a few adaptions to make it more attractive in a mobile app environment.

If you have an idea for developing an iPhone App Game or Android App Game, and you are worried that your idea is too simple to work – please don’t let that stop you. Because when appealing to mobile users who are snatching a few few seconds from their busy schedule, simple is good. And if users like your idea, you could have a runaway success on your hands.

Contact Me to discuss your mobile app development idea now.