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

Apps which Recognise Images and Sounds

How can Desirable Apps help your app recognise sound and images?

The good news is it is possible, but it is more difficult than most people realise.

A while ago I was asked (by another company) to quote a sound recognition app on their behalf – similar to apps which give you the name and artist of a song, after listening to a few seconds of music (note for confidentiality, I am not providing details of what the client requested).

I provided a quote, but the quote in this case was higher than the client expected. The client, naturally, solicited other quotes, which were also higher than they expected.

Techie bit…

The reason – sound recognition, like image recognition, activities which seem so simple and natural to us, are computationally incredibly difficult.

The best estimate I have seen for the amount of computation power required to create a silicon version of the human brain is 36 Petaflops, backed by 3 Petabytes of memory. Don’t worry, I also had to look up the meaning of the word Petaflop – it works out at 36 thousand trillion computation operations per second.

About 1/2 of the brain is devoted to processing what your eyes see. Around 1/10th of your brain is devoted to sound processing.

The best desktop computers perform at around 0.000001 Petaflops – 1 billion computation operations per second (apps are a little slower – iPads for example perform around 1 hundred million operations per second). To match the Visual processing power of the human brain would require 180 million iPads, all linked together. Sound processing would be a little easier – you would only need 36 million iPads to do as good a job of understanding sound as your brain and ears can do (though of course someone would also have to write the software… 🙂 ).

The human brain makes hearing and seeing seem easy, by throwing almost unimaginable amounts of computing power at the problem.

BUT there are apps which can read text and recognise sound – how can this fact be reconciled with what I just said about computation power?

The secret to solving the problem of image and sound recognition is to cut the problem down to size, by redefining the requirement in as narrow a way as possible.

For example, when recognising a song, instead of having to compare a sample of the song to billions of different sounds recorded in a human’s memory, the song is passed to a powerful server, which compares the music sample to at most a few thousand music tracks. By narrowing the range of sounds the computer is expected to be able to recognise, rather than expecting it to make sense of the full range of sounds we encounter in our daily lives, the computation problem is simplified to the point that the most powerful silicon computers can just about handle the task.

Similarly, apps are not very good at interpreting images the way our eyes do, but they can recognise letters and symbols – by narrowing the problem down to 36 different symbols (26 letters and 10 numbers), instead of expecting the app to make sense of any random image presented to it, apps and computers can handle reading text from images – they do it poorly, they make mistakes, but they can just about handle the job.

How long do we have to wait, before computers and mobile devices have similar computation abilities to humans? The answer, surprisingly, is not very long at all – decades rather than centuries. The reason – the power of computers and mobile devices is doubling every 18 months. Your iPhone 5, or your new Samsung Galaxy, is a far more powerful computer than last year’s model, let alone phones which were available a decade ago. Next year’s model will be more powerful still.

If you would like to discuss your image or sound recognition requirement, and how new computer capabilities might help you to solve your business requirement, please contact me at eworrall1@gmail.com.

A Deep Linked Facebook Mobile App

I recently released RubyApp, a deep linked Facebook App.

RubyApp allows users to send a bouquet of pictures, and a short love message. You can tag the recipient of your message (which prompts the recipient that they have been tagged), make the message public, or both.

Facebook Deep Linking is a feature provided by Facebook to make your mobile app an extension of the Facebook experience. When a user clicks a Facebook news feed message associated with the deep linked app, instead of opening a website, Facebook opens the mobile app, and passes information about the clicked message to the mobile app, so the mobile app can immediately present the media associated with the message.

If the deep linked mobile app is not yet installed, Facebook prompts the user to install the app.

As you can imagine, this is a terrific way of driving viral mobile app installation – people see a Facebook post which interests them, click the post, and painlessly download and install yet another copy of your app. They then use the app to post their own media, which all their friends can see – and so on.

And this is exactly what is happening with RubyApp. A few people tried the app, loved it, and it is now spreading throughout the Facebook community – with no publicity effort from me whatsoever.

What happens if a user is not using an iOS device? For them, there is the RubyApp website – https://apps.facebook.com/ruby__app/.

Why build a deep linked Facebook mobile app, if you already have a Facebook website? The rationale for building a deep linked Facebook mobile app was that I wanted to include a soundtrack with the bouquet of pictures. iPhones do not automatically play sounds presented by websites – so the solution to creating a high quality user experience for iPhone and iPad users was to bypass this limitation, by creating RubyApp.

If you would like to know more about how Facebook deep linking can drive downloads of your app, and what opportunities Facebook deep linking presents to content providers, please contact me at eworrall1@gmail.com.

Apps and Facebook

What does “integrating social media” with an app mean? What can it do for you?

The benefit most people think of is publicising your app. Everyone who uses Facebook has seen messages like “Fred has just played Candy Crush”, or messages announcing their new high score on Bejeweled. Such messages can help publicise an app – after all, if all your friends are playing, maybe you should give it a try too.

But apps can do far more than simply announce their presence. For example, consider RubyApp

RubyApp (a simple web only app) makes Facebook the core of its service. Rather than building a complex messaging system, I designed RubyApp to use Facebook messaging to send photos and a message of love to recipients on your Facebook friends list. In this case, Facebook provides powerful high performance messaging infrastructure,a rich list of recipients, and free publicity. Facebook have even arranged a special deal to host RubyApp web pages for free – unless 10’s of thousands of messages are sent every month, the only cost to me is the time I invested in building the app – the rest is free.

Of course you can go even further than this. Say I decide to make RubyApp into a fully featured dating app. The new app could build on Facebook to create new connections between people – give people an opportunity to find new friends in their area, who had registered a profile through my app. They could find each other through RubyApp, then choose to become Facebook friends, but at the same time they could maintain their connection to RubyApp – celebrating their successful match with the RubyApp community, even inviting some people they meet through the app to their wedding.

If RubyApp becomes popular enough, entrepreneurs such as Facebook founder Mark Zuckerberg might take an interest. And thats when it gets really interesting.

In summary, if your app could be enhanced by collaboration between users, don’t re-invent the wheel – harness the power of social media, and ask me about how you can leverage the man years of development poured into building the world’s great social networks.