We’re having a busy year at Desirable Apps, so many thanks to my lovely wife and business partner Mandy, for producing this attractive Desirable Apps themed promotion.
We’re having a busy year at Desirable Apps, so many thanks to my lovely wife and business partner Mandy, for producing this attractive Desirable Apps themed promotion.
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.
I get asked a lot of questions about Artificial Intelligence. Artificial intelligence is processor and memory intensive, so despite advances in mobile battery capacity and processor speed, if a mobile app requires access to an artificial intelligence it is better to do the heavy lifting on a background server. Occasionally the AI task is lightweight enough so a mobile can perform the AI feat on its own, without help from a backend system.
The following is a simple AI demonstration – a solution for the Travelling Salesman Problem. The task is to find the shortest route which allows a travelling salesman to visit all of the cities on their itinerary.
(Click here for a full screen version of the demonstration)
A mobile device or computer could simply look at every possible path, but as you add more cities, the number of possible paths grows impossibly large – years, maybe millennia would be required to examine absolutely every possibility, when considering more than a handful of cities.
Thankfully artificial intelligence can help. Through use of an Evolutionary Algorithm it is possible to build on past knowledge, while combining the best traits of winning solutions.
As the name implies, an evolutionary algorithm seeks to mimic nature, by taking the fittest solutions, slicing them up, and splicing them together – very much what happens during sexual reproduction. Most of the time the spliced version will not be as good as the original parents, but sometimes it is better. The occasional win is enough to keep this particular algorithm wriggling towards a solution.
I like the Travelling Salesman Problem because it is one of the most visual of possible AI demonstrations – by watching you can get a real feel for how artificial intelligences solve problems.
If you have any questions about artificial intelligence and how AI could help your mobile app, please contact me at Desirable Apps.
I have an idea for a mobile app development project and I am looking for a 50% partner. All you have to do is develop the app.
Every so often I get a proposal like the above, for me to develop a mobile app for free, on a “partnership” basis. The result is almost always a polite no.
The reason is the asymmetric timing of the effort.
In a normal partnership deal, such as say building a house, both partners contribute effort at roughly the same pace. Both partners start by putting a big downpayment of money into the deal, both partners, if they have building skills, contribute effort at the same time. Both partners have as much to lose as each other, if the project does not work out.
A mobile app development project is different. You have to develop the mobile app, before you can sell it. When someone proposes I come onboard as a partner, what they are really proposing is that I should sink a few hundred to many thousands of hours of effort into building the app, then they will do their part – marketing the app.
The reason mobile app development is different to building a house with a partner, is the work of both partners is not performed at the same time. The mobile app developer has to finish their job first. The mobile app developer has no way of knowing in advance whether their marketing partner will pull their weight – will match the effort the developer made to create the mobile app.
The mobile developer’s job, developing the mobile app, is complete before their partner starts their job of marketing the finished mobile app. If the marketing partner gives up without making a real effort, the developer is stuffed – they have lost all the time they spent developing the mobile app. Worse, if the developer now makes an effort to market the app, because their marketing partner let them down, the unreliable marketing partner will still expect a share of the profit.
There is a step you can take which demonstrates your ability to market your mobile app development idea: raise some cash.
If you mobile app proposal is a good idea, and you do a skilful job of marketing your idea, you will successfully raise the cash – which you can use to pay your mobile app developer. Raising cash for a mobile app project is an application of marketing skill.
How can you raise cash for a mobile app development project? One way is to use crowdsourcing – to promote your project on a website like Kickstarter, to attract funding for your idea.
Click here to see a list of recent mobile app project proposals, which received substantial funding from Kickstarter
A lot of people who want to develop a mobile app are worried that if they try to raise cash, by telling everyone about their idea, then someone will steal their idea. Putting the idea on Kickstarter is telling the world – how do you prevent someone from cashing in on your intellectual effort?
The answer in my experience, is developing a successful mobile app is a lot more than an idea. How many times have you had a terrific idea, told yourself “wow, I must act on this idea” – then done nothing? A mobile app starts as an idea, but that idea has to be nurtured – it has to be fleshed out, developed, moved from concept to design to funding to construction to marketing to success – a lot of effort.
I’m not saying stealing ideas doesn’t happen – there is always a risk someone will see your idea, decide they like it, and make the effort required to bring your idea to completion, before you have to chance to fulfil your goal. But people who want to steal the ideas of others, effort is usually something they are trying to avoid.
If you don’t raise the money for your mobile app development dream, it may never happen – or worse, you may eventually see someone else build your dream mobile app, and live your dream if it succeeds. Crowdsourcing, telling people about your idea, is a risk – but the bigger risk is surely inaction, the risk that you never find the capital to fulfil your ambition.
Another method of raising cash for a mobile app project is to borrow the money. I have business associates who can provide loans for developing mobile apps – in the last few years the credit and loans industry has woken up to the possibilities of providing funding for people who want to develop mobile apps. You will still have to explain your idea to the loans company – but this approach avoids the need to tell the world about your idea. The downside is you are essentially funding the development effort yourself, with the help of a loan. As with any other credit scenario, make sure you can afford to repay any money you borrow. Some mobile apps make people rich beyond their wildest dreams – but some don’t. Mobile app development is high risk, high reward.
I’m happy to talk about your proposal – helping people find a way to fulfil their mobile app dream is what I do. I can imagine some possible circumstances under which I might agree to a partnership, but they all involve some sort of guarantee that my coding effort will be rewarded. Of course, we could just keep it simple – you could pay me for my time.
If you would like to discuss your mobile app development project, and methods by which it could be financed, please contact me.
Mobile App Search Company Quixley has confirmed it has successfully raised $60 million in funding, valuing the company at $600 million.
According to Tech Crunch;
Quixey has been a longtime participant in the mobile search space, and develops a technology that goes beyond just connecting people with new applications. Instead, it’s also focused on helping people find the content found within applications. For example, if you were searching on mobile for something like Thai food, Quixey’s technology could return results from across apps, including things like Yelp reviews of restaurants or a Groupon deal. This technology, referred to in the industry as “deep linking,” is something that all the major tech players are taking advantage of today, including companies like Facebook, Google and Twitter, as well as startups like URX, Branch Metrics, Button, and many others. Read More...
Quixley’s unique selling point is their technology for “surfacing” the deep functionality of mobile apps.
“Surfacing” deep functionality is a critical step in the process of building a searchable catalogue of mobile apps. Mobile Apps are difficult to map, compared to websites.
The reason why websites are easier to catalogue, is that (almost) all websites are built on top of a common set of standards. The code which web servers send to web browsers (or search engines posing as browsers), contains all the information a search engine needs, to construct a catalogue of the website – it contains the description of how to draw the web page, and contains links to other web pages on the same website. A web search engine can usually extract pretty much all the data it needs to analyse a website, by asking the web server for the home page, then following the coded links to all the other pages on that website.
Mobile apps are different, because they are self contained software. There is no web server broadcasting the structure of the website to anyone who asks. Instead, to catalogue the pages of a mobile app, you have to install the mobile app on mobile phone, and start pressing buttons at random, to try to work out all the different things the mobile app can do.
Quixley has circumvented this limitation, by devising technology which tricks mobile apps into thinking they are running on a mobile phone – but actually, the mobile apps being analysed by Quixley are running on highly customised devices, which are designed to capture and catalogue all the screens presented by the mobile app during the analysis process.
Why go to all this trouble to open the hood on the mobile app, when you could simply read the description written by the mobile app developer? The answer is that it is always better to look for yourself, than to take someone’s word for it. The mobile app developer might have done a poor job of communicating what their mobile app does, or might even have overlooked describing elements of functionality which the catalogue provider thinks are really important.
Quixley’s future should be very interesting to watch – no doubt Google and other search businesses, are watching developments, and weighing their options.
The Indian Government has once again set the gold standard with regard to utilisation of technology in government, and public sector mobile app development, with the announcement by Prime Minister Narendra Modi of a competition, to help design a new Office of the Prime Minister Mobile App.
According to NDTV;
NEW DELHI: The government today launched a contest for taking suggestions from the public to develop a mobile application for the Prime Minister's Office (PMO). The application, which will be developed in association with Google, is likely to be out in two months. The contest aims to seek suggestions from the public regarding the structure and content of the application. "The whole MyGov programme is designed to have citizen engagement at the widest level. If we engage people, then we get various new suggestions," Communications and IT Minister Ravi Shankar Prasad said while launching the contest. Prime Minister Narendra Modi had launched the website MyGov.in to provide a platform to citizens to share their views and opinions on important issues such as clean Ganga or skill development. Read More...
This new announcement follows on from recent news of the launch of a mobile app by the government of the Indian state of Andhra Pradesh, to help citizens provide feedback about government services.
Prime Minister Narendra Modi was elected in 2014, with one of the most decisive mandates in recent Indian history, due to his strong track record of tireless technocratic achievement. During Modi’s term as chief minister of Gujarat, he propelled the state to levels of growth which rivalled Chinese economic growth over the same period, by sweeping away red tape and other bureaucratic obstacles to business. His election as Prime Minister is very much based on the promise that he can replicate his success as leader of Gujarat on a national scale. Early indications are that the people of India will not be disappointed.
The determination by the Indian Government to utilise all available technology must be seen as a serious effort to transform government. The Indian effort, to ensure the best possible outcomes, through the use of mobile app technology, shall in my opinion be seen as an increasingly noteworthy example to all governments, of how to improve public sector delivery of services.
If you have an idea for a mobile app for improving public sector service delivery, please contact me. I have experience working with public sector clients, as well as extensive private sector experience.
AVG Technologies has published a list of popular Android apps, which significantly impact your mobile phone’s battery life, network usage and data storage – apps which they recommend users should avoid.
The top spots were secured by Boom Beach and Deer Hunter 2014, both interactive high powered action adventure games.
Second on the list is Spotify, the digital music streaming app.
AVG technologies also mentions that previous winning resource hogs, Puzzle and Dragons and FarmVille, have both suffered significant declines in use, since being named in AVG’s previous report.
First, anyone who fires up a copy of Boom Beach or Deer Hunter 2014, should expect their mobile phone’s battery charge to plummet.
Android phones and iPhones are severely resource constrained devices. To maintain battery charge as long as possible, mobile app developers (both iPhone App Developers and Android App Developers) are encouraged to develop mobile apps in such a way as to allow the mobile phone to subtly switch itself off, whenever possible.
With an action game this simply isn’t possible – games are always doing something.
Some of the other apps on the list though are likely to catch users unaware. For example, who would expect that listening to a little music, using Spotify, would kill their battery and exhaust network bandwidth allowance?
The real surprise on the list though is the Facebook App. According to AVG, Facebook is one of the worst offenders, when it comes to chewing up your phone’s battery, storage and network capacity, even when you aren’t actually using the app. This is a serious criticism – I suspect the Facebook team will have no choice but to respond.
My advice is simple – if your mobile app has to do something which uses a lot of battery life, storage, or network bandwidth, TELL the USER. If a mobile game app had a small warning, recommending users plug the phone into the charger while playing the game – is this such a bad thing? You are just taking care of your user.
And if you mobile app is eating a lot of battery, network or storage, and there is no clear reason why this is happening, ask your developer to review the app, demand a clear explanation. There might be a reason – or it could actually be a defect. Sometimes mobile apps which are defective sit there burning computation effort, for no good reason.
If you would like advice on how not to end up on the AVG list, or are not receiving the clarity you want, when you communicate your concerns to your current developers, please contact me.
Government regulatory agencies over the last few years have taken an increasing interest in and concern about the personal data gathered by mobile app developers.
The FTC, the US Federal Trade Commission, has issued new guidance to mobile app developers, and signalled their readiness to take enforcement action where mobile apps violate their guidance.
According to the Association of Corporate Council;
The FTC’s guidance acknowledges that mobile app platforms and mobile operating systems, such as Apple’s iOS and Google’s Android, may or may not have built-in, system-level disclosures that provide information to users about a mobile app’s collection of location data. Regardless of such system-level disclosures, the FTC urges mobile apps that collect users’ location data when the mobile apps are not in use to disclose such data collection in a transparent way. Below are the tips provided by the FTC on ways for mobile apps to explain such data collection practices to users: For a mobile app that is available through the iOS8 system, the system prevents the mobile app from accessing a user’s location data when the mobile app is not in use, unless the user affirmatively allows such collection in response to a system-level prompt. The dialog box for this system-level prompt includes space for the mobile app to provide details on its collection of location data. The FTC recommends that the mobile app use this space to clearly explain why the mobile app wants to access the user’s location data, how the mobile app will use this data, and whether the mobile app shares this data with third parties. For a mobile app that is available through an operating system that does not provide users with system-level disclosures and choices about the collection of their location data, the FTC recommends that the mobile app explain its data collection practices and offer users choices within the mobile app regarding the collection of their data. For example, the FTC recommends that before the mobile app begins collecting a user’s location data when the mobile app is not in use, the mobile app may give users an in-app notification that explains why it wants to access location data and give the user an opportunity to opt in to such data collection. Regardless of what platform consumers use to obtain a mobile app, the FTC recommends that the mobile app’s privacy disclosures and other information pages clearly describe the mobile app’s data collection practices in plain language, so that users will understand whether the mobile app collects their location data when the mobile app is not in use and for what purposes. This recent guidance expands on the FTC’s recommendations included in its “Mobile Privacy Disclosures” report published in February 2013. In that report, the FTC recommended, among other things, that mobile app developers provide just-in-time disclosures and obtain users’ affirmative express consent before collecting and sharing sensitive information, such as location data (to the extent the platforms have not already provided such disclosures and obtained such consent). In the 2013 report, the FTC clarified that, to the extent its guidance goes beyond existing legal requirements, it was not intended to serve as a template for law enforcement actions or regulations under laws currently enforced by the FTC. Read More...
Click here to view a copy of the FTC’s latest guidance on mobile app development.
The essence of the rules are very simple. If you are gathering any form of personal information about people who use your mobile apps, such as their location, photographs, or anything else of an identifying or personal nature, you have to ensure mobile app users are fully aware of the information you are collecting, and have approved the collection of that information.
Furthermore, if your app continues to collect personal information, then it is a good idea to remind the user from time to time that the information is being collected. In some cases the mobile OS might do this for you – for example Apple iOS 8 posts a reminder every few days if your mobile app is gathering location information about the user, with an option to shut down the information collection.
If you don’t live in America, the rules may still apply to you. As Apple and Google are based in America, there is a tendency for American regulatory agencies to consider the mobile apps to subject to US Law. We have already seen an example of this type of extra jurisdictional reach, with regard to cryptography in mobile apps. If your mobile app project uses strong cryptography, you need approval from US agencies, before your mobile app can be sold from Google Play or Apple App Store – even if your mobile app will not be used in the USA.
And of course, if you live in a part of the world which has its own consumer data protection laws, such as the European Union, you have to respect their laws as well.
If you do not have to collect personal information, then don’t do it. If you do not collect personal information, you have nothing to worry about. If your mobile app does have to collect personal information, in order to provide its function, then make very, very sure that your mobile app user is fully informed. Make sure that information is secure. Take steps to securely dispose of that information, as soon as it is no longer required.
If you are developing a mobile app, and have concerns about data collection, I strongly recommend you speak to a lawyer – I am not a legal expert. However, if you would like to explore technical means by which your exposure to these rules can be minimised, please contact me.
McAfee, the cyber-security firm, has issued a stern warning to mobile app developers to update their mobile app software, to protect users against well known vulnerabilities in popular secure communications software.
According to Tech Times;
In January this year, McAfee tested 25 apps that were on the CERT list. According to the cybersecurity firm's "Labs Threats Report: February 2015," tests found that 18 popular apps were still lacking patches despite security holes being flagged in September 2014. Based on the report, the vulnerable app that had been downloaded the most is a photo editor for smartphones. It had 100 million to 500 million downloads. The application also enables its users to share images on social media sites, as well as cloud services. Read More...
The McAfee report comments on the amount of personal information mobile apps gather about their users.
However, one of the most serious problems arises from the use of old versions of a popular software library, openSSL, to provide secure communications between mobile app users and servers, or other users.
openSSL is popular because it works – it provides by far the most trusted and most comprehensive implementation of secure communication. If you include openSSL (libSSL) in your mobile app development project, you don’t have to create fantastically complex encryption code yourself. All you need to do is add a few lines of code to your mobile app project, to ask openSSL to create the secure communication channel for you.
Because of its popularity, openSSL code is a key target for hackers. If you find a way of breaking openSSL, half the world is vulnerable to your attack. The flip side of this, of course, is because openSSL is so popular, a lot of people take a strong interest in keeping openSSL secure. When a new way of hacking openSSL is discovered, developers across the world spring into action, and within hours, or at most few days, an update is available which closes the hole in openSSL security.
However there is a catch. Keeping your use of openSSL secure very much depends on you keeping your copy of openSSL (libSSL) up to date, to ensure you have all the latest security updates. If you don’t keep your copy of the openSSL libSSL library code up to date, your mobile app will still work – but it will become progressively more vulnerable to hackers, as more and more attacks are discovered which work on your out of date copy of the security library. This damaging rise in the vulnerability of your mobile app is subtle, and difficult to detect. Unless your mobile app developers make a conscientious effort to stay in control of this issue, the first indication you might have that your popular mobile app has a problem, might be unwelcome, damaging publicity in the global media.
Note that many mobile apps do not use their own copy of openSSL (libSSL). Many mobile apps simply use the default security classes provided by the mobile app development environment. Both the Android App Development environment and the iPhone App Development environment provide good security out of the box, without having to incorporate your own copy of the openSSL (libSSL) code. But there are situations in which you need full access to security functionality, access which goes beyond the basic facilities provided by the standard mobile app development environment tools. In such cases, you have to download and include a copy of the openSSL / libSSL code into your project.
What do you do if you are concerned that your mobile app might be vulnerable to this issue? The first step is to simply ask your mobile app development team – do they use a private copy of openSSL / libSSL, and, if so, when was the last time they updated their openSSL code?
If you are not completely satisfied with their answer, the next step is to commission an independent audit of your code – either ask another developer to verify that the secure communications employed by your mobile app comply with best practice, and that everything is up to date, or if you have a big budget, you can hire a reputable mobile security firm, like McAfee, to perform a comprehensive security audit on your mobile app system.
If you would like to know more about the content of the McAfee security report, and how the issues raised in the report might affect your mobile app business, please contact me.
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.