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

Should All School Children be Taught to Code?

Governments across the world are slowly waking up to the fact there aren’t going to be many jobs in the future which don’t involve a computer, or, given the pace of Robotics research, there might not be many jobs at all.

In response to this looming crisis, the UK government has decided to introduce mandatory software development lessons for all school children.

The problem is twofold:-

  1. Most people find software development intensely boring. The reason we are geeks, is normal people just don’t find fiddling with bits of code interesting. If you aren’t the kind of kid who enjoys spending hours building sophisticated model train sets or model airplanes, doing complex puzzles, or creating your own board game, you just haven’t got the mindset to code – it is not about whether you are smart, it is just that you will fall asleep from boredom before you learn anything useful.
     
  2. Governments and their advisors have no real idea what software development is, and have no idea how to teach it to others.

The tragedy is this desire to teach kids coding skills is motivated by a genuine concern for the future welfare and job prospects of the nation’s school children.

I have a few suggestions for politicians who want to help kids develop coding skills

  1. For pity’s sake, do not make the software lessons mandatory. By all means *expose* kids to a few coding classes, but allow the 99% of kids who find software coding intensely boring to drop out. Don’t poison their desire to be educated by adding what for most of them will be an unendurably monotonous subject to the list of courses they have to pass.
     
  2. Teach the handful of kids who are interested coding skills which are likely to be relevant – teach them to build Android Apps and iPhone apps.

    I am not suggesting iPhone apps or Android apps and phone handsets in 20 years time will be the same as they are today – they will be radically different. But at least start kids on the right path.
     

  3. Make it interesting – get kids to code and own apps which might actually make money. If a 14 yr old kid can create a world beating iPhone app, then anyone can – the very next app your kid codes could make millions of dollars.
     

My suggestions might not solve the looming future jobs crisis – but forcing kids to study something they can’t stand is not a solution either. In any case, there is reason to be optimistic about the future – many issues which in the past were seen as an urgent crisis rapidly solved themselves. Human ingenuity will solve this problem, just as it solved all the other problems we have ever encountered.

I refer interested readers to Scott Adam’s law of slow moving disasters.

If you would like to know more about how to develop Android apps and iPhone apps, or would like to discuss an app idea, please contact Eric Worrall.

If your app idea is not quite ready to go to a developer, please visit Apps Nursery, for expert assistance with exploring and developing your app idea.

Should Apple sell Android Phones?

Steve Wozniak, one of the original founders of Apple, recently stunned Apple fans by suggesting Apple should build Android phones.

“There’s nothing that would keep Apple out of the Android market as a secondary phone market,” said Wozniak. “We could compete very well. People like the precious looks of stylings and manufacturing that we do in our product compared to the other Android offerings. We could play in two arenas at the same time.”


My question – instead of building a separate handset, why don’t Apple allow iPhones to run Android apps?

From a developer perspective, it is technically easier to write Apple iPhone apps than Android apps. The Android App development system (the software used to create Android Apps) is much more difficult to work with than the iPhone App development system – the Android app system is more temperamental, crashes frequently, is fiddly (it often takes hours to figure out why your code is not compiling) and is really, really slow, especially when you are trying to test your work in progress Android app in the Android Emulator. So I am happy to write Android apps – but I prefer to write the Apple iPhone version of the App first.

However, there is no reason why Apple couldn’t fix all this.

Under the late Steve Jobs, Apple was unremittingly hostile towards cross platform development tools – tools which would allow say a Flash application to run on an Apple phone. But I have always wondered whether this prejudice against alternatives was because Jobs was emotionally attached to the NeXT tools he developed when he left Apple in the 80s – and brought with him, when a desperate Apple Corporation reinstated Steve Jobs as CEO. Jobs may have worried other cross platform technologies might displace his iPhone development environment, if he allowed other technologies on his iPhone.

However, aside from the software, Apple iPhone hardware is technologically very similar to Android phones – both Android phones and Apple iPhones use ARM processors, and have similar specifications. Apple iPhones have all the hardware they need to run Android Apps.

If Apple relaxes its software policy a little, Apple has a golden opportunity to be the best of both worlds – to utterly dominate both the Apple and Android app market, with one handset. To bring their design genius to the task of creating a market leading iPhone which can run most of the world’s apps.

Apple could even bring much needed improvements to the Android development environment. If the technically superb Apple XCode iPhone App development environment came pre-configured with the ability to create Android apps, nobody would ever bother using anything else.

Time will tell whether Apple seizes this golden opportunity, or whether the ghost of Steve Jobs keeps Apple loyal to the prejudices of their old master.

If you would like to know more about the difference between Android apps and iPhone apps, or would like to discuss an app idea, please contact Eric Worrall.

If your app idea is not quite ready to go to a developer, please visit Apps Nursery, for expert assistance with exploring and developing your app idea.

A Sure Fire Best Seller App

If the mobile app works, the reward could be millions of dollars, even hundreds of millions.

How do you create a successful iPhone or Android app, which generates vast wealth?

I knew the secret of creating a sure fire best seller app, I wouldn’t be creating mobile apps for other people, I would be creating sure fire best seller Android and iPhone apps for myself.

But I have learned a little along the way.

Consider the runaway success of app gaming – Angry Birds.

The creators of Angry Birds, Rovio, developed over 50 flops before they created the Angry Birds app – they almost went bust.

Were they stupid to create the flops? Were they doing something wrong, which they suddenly got right? Was Angry Birds the result of an epiphany, or was it simply dogged determination? Was each failure a learning experience? Did each failure teach them something? Or did they just get really lucky?

One thing we can safely conclude from the Angry Birds story, is that persistence improves your chances of success. If they had given up, say by the 50th failure, there would never have been an Angry Birds.

You also hear stories about instant success stories. One of my favourites is a simple physics game written by a 14 yr old kid called “Bubble Ball”.

Kid picks up a book on iPhone programming, and spends a couple of weeks writing a game. His mum helped him develop the game levels. The result – millions of downloads.

Even simple ideas sometimes work.

I might not have created an Angry Birds or Bubble Ball (yet!), but I have some useful advice to offer, Based on seeing which apps worked for my clients. The successes I have personally been involved in have all succeeded because of word of mouth.

Before spending your hard earned money, try to work out if the app is something you would tell your friends about. Is the app something you can’t put down? Is the idea something which your friends tell other friends about? Because ultimately, this excitement is what will drive an Android app or iPhone app to success.

If the mobile app works, the reward could be millions of dollars, even hundreds of millions. Its a big risk, but the potential rewards are life changing.

That is what keeps us all in the game.

If you have an app idea, and would like to bounce ideas off someone, to get it ready for development, please contact Apps Nursery

Contact Eric at eworrall1@gmail.com if you would like more information about mobile apps, iPhone apps or Android apps.

Announcing Apps Nursery – Mobile Apps Made Easy

Apps Nursery is an exciting initiative by Desirable Apps and Statuam to help people with a great idea for an iPhone, iPad or Android app to progress their idea into a working mobile app. The idea is to break development of the phone app into small, affordable steps.

For more information about this exciting innovation in app development, please see the AppsNursery website.

Can my Mobile Phone Mine Bitcoins?

Can my mobile phone mine bitcoins? The answer is yes and no.

Let me explain.

It might not surprise you that, like the rest of the world, I’ve caught a dose of Bitcoin fever. Bitcoins are a fabulously valuable digital currency which until a year or two ago almost everyone ignored – it was the province of geeks playing a game of imagining that a chunk of digital data which only they understood had some kind of real world value.

You could boast to fellow geeks about your hoard of Bitcoins, and your legendary Bitcoin mining rig, but you couldn’t use them to buy a pizza.

This all changed, when Chinese entrepreneurs discovered they could use Bitcoins to circumvent China’s strict currency controls.

With hindsight of course, it is all so obvious, at least to techies like me – we should have all been mining for our own hoard of Bitcoins, back when it was easy, waiting for that brighter future, when Bitcoins suddenly became valuable.

Because now it is too late – or is it?

The answer to that question really depends on whether Bitcoins become more valuable in the future – a question which could best be answered at some time in the future by exercising hindsight ;-).

So assuming you want to jump on the train, now that everyone wants a seat, what is the best way to mine Bitcoins?

In theory any computer can mine Bitcoins. But the difficulty of practical Bitcoin mining long ago surpassed normal hardware, and normal software programming techniques.

Techie bit…

Why is it all so hard? The reason is that Bitcoin mining involves “proof of work”.

What is “proof of work”? Proof of work is proof that you have put in a large amount of effort, to guess a number which, when used in a calculation, produces a result within a preset range. The calculation is a “hash” function – it takes a block of data (Bitcoin transactions to date), combines this block with your guessed number, and produces an output number. If the output number falls within a preset range of possible values, congratulations, you are now the proud owner of some new Bitcoins.

The catch is performing the calculation in a practical sense takes a lot of computing power – the calculation is easy, but unless you are incredibly lucky, you will need to process billions, possibly trillions of guesses to find an output number within the preset range of permitted values. Worse, the difficulty of mining Bitcoins is adjusted with time, so that the combined computing power of everyone attempting to mine Bitcoins produces a new batch of Bitcoins every 10 minutes.

Think about it – gigantic university computers, large industrial rigs, boffins tinkering in labs, the combined effort of all those machines can produce a new batch of coins every 10 minutes. Considering what percentage of this colossal global effort is represented by your mining rig puts everything into perspective.

And winner takes all – only the computing rig which wins the contest to solve the math problem gets the new coins (OK there are ways to share the risk and reward, but lets not get too complicated…).

It wasn’t always so difficult. Back in the old days, when hardly anyone cared about bitcoins, you could mine bitcoins with an ordinary computer – allowing the production of bitcoins every 10 minutes, when hardly anyone cared enough to bother mining, meant the target for minting new bitcoins was really easy – so anyone geeky enough to set up the software could hit the target with minimal computing power. This is why you nowdays hear stories of people frantically searching for their old hard disk, with its multi million dollar stash of bitcoins.

 

So in principle I could develop an iPhone app or Android app which could produce some Bitcoins. The mobile phone Bitcoin mining app would be very slow compared to specialised Bitcoin mining systems, but you could get lucky. In theory you run mining software say while the phone is plugged into the charger, and occasionally strike some Bitcoins.

Having said that, the odds of getting it right with a mobile phone are impractically small – you could run the mobile phone continuously, for years, without ever seeing a Bitcoin. A bit like buying lottery tickets.

What do you do if you want to join the Bitcoin rush?

The limiting factors of Bitcoin mining are equipment cost and electricity cost. Forget microprocessors or anything you are likely to find inside the case of an off the shelf computer – practical Bitcoin mining now requires specialised hardware accelerated Bitcoin mining cards.

But at the same time you need a normal computer to manage the communication between the specialised mining cards and the the Internet. The catch is, ordinary computers chew up a lot of power – and the computer has to be switched on, all the time you are mining for Bitcoins.

That is when this little beauty caught my eye – a low powered general purpose computer, with detailed instructions designed for non techies to follow, which works with a bunch of off the shelf hardware accelerated mining cards.

And here are the hardware cards mentioned in the Bitcoin tutorial.

Is it worth doing? My fingers are twitching. The analysis I have read says at current prices it isn’t worth doing, even with the super cheap rig I described – you won’t make your money back. But who would have believed a year ago that Bitcoins would hit a value of $700+ each? The cautious investor in me says that what goes up must come down – but if Bitcoins increase again, and reach a value of say $7000 each, or $70,000 each, I shall be kicking myself if I didn’t build or buy a mining rig.

Maybe I shall start small – perhaps I shall develop that Bitcoin mining mobile phone app after all.

The Rise and Rise of Mobile Phones

A while ago, a software developer friend told me about a PC fighter plane game he was working on. He was literally spending thousands of hours researching game engines, polishing scenarios, making the graphics as realistic as possible.

So I decided to help him with a demonstration.

Next time we were out with some other friends, I asked everyone “What was the last PC software package you bought?”.

Everyone looked at me blankly.

Then I asked “What is your favourite mobile phone app?”

Everyone pulled out their mobile phones and started talking at the same time.

My software developer friend leaned forward quietly and said “you b*stard” – but he took my point.

Last I heard he had converted all his software to run on a mobile game engine, and was busy making it all look good for a mobile environment.

PCs still have their uses – as Steve Jobs, the legendary ex-CEO of Apple once said, a PC is good for content creation. I usually use a Mac laptop to create new entries for this blog.

But mobile devices – phones, iPads, tablets – have come to utterly dominate content consumption.

Next time you think up a great idea for a PC application, take the thought a little further, and consider how your idea would work in a mobile phone environment. Because the chances are it would work well – and Mobile is where the action is.

For more information about mobile phone app development, iPhone development, or Android development, please contact Eric Worrall.

Announcing Sun Star GIS – a new Geospatial App

I met Patrick, director of Yellow Dot Geospatial, at an Apple seminar.

Patrick is a Geospatial mapping expert. He had noticed that GPS location and heading information which Apple stores every time you take a photo with an iPhone 4 or iPhone 5 (see Location Services) rivals the quality of expensive industry standard geospatial equipment – that an iPhone has the capacity to replace thousands of dollars worth of specialised geospatial photography kit. But Patrick also noticed a gap in the market – extracting and packaging the iPhone photographs was time consuming, and required the use of expensive third party software.

Desirable Apps helped Patrick realise his vision of a better solution – under Patrick’s guidance, we developed an app which allows users to select images from their photo album, and package the images into industry standard geospatial mapping files – either a KMZ file (compatible with Google Earth), or a set of Shape Files (compatible with specialised GIS software such as Arc GIS).

Click HERE to see the Sun Star GIS app website.

Patrick is very happy with the outcome of this project – he now owns a potentially game changing app, which is attracting high level interest from individuals and organisations, whose only option prior to the development of Sun Star GIS was to spend thousands of dollars per mapping consultant purchasing expensive specialised equipment and software. Patrick is particularly excited about the app’s offline capability, which allows GIS consultants in the field to do their job without the need for an Internet connection, and the app’s ability to use photographs which were created before the app was installed.

If you would like to know more about Sun Star GIS, please contact Yellow Dot Geospatial. If you would like to know more about how we can help you develop your vision into a mobile app, or have any questions about the technology, please contact Eric Worrall.

Why Developers don’t do Unfunded Joint Ventures

Every so often a client with a great idea offers me a joint venture. And it often is a great idea – but unless they are funded (have already raised financial backing on the basis of their idea), I almost always say “no”.

The reason is the balance of risk and effort.

With an unfunded joint venture, everyone is committing to give their time and money to a project on an unpaid basis. But the timing of the effort is very different for say the developer compared to the marketing expert.

With an unfunded project, the developer has to commit their effort first – they have to develop the product, which the other team members are committed to market. For the developer, this represents a serious risk – they could sink hundreds, maybe thousands of hours of their own unfunded time into a product, just to see the other members of the team give up and walk at the first obstacle.

At least half, maybe more than half, of the effort of launching a successful product, is skilful marketing and promotion of the product.

Why is a funded venture different? The reason is, if a joint venture has funding at the time the partners approach a software developer, then either the marketing people have already done a great deal of work, promoting their idea, or, if the idea is funded out of their own pockets, other team members have committed the time and effort it took for them to earn the money they put up as funding.

And there is no reason why a project shouldn’t be funded. Fund raising has never been easier – for example, Kickstarter invites people to contribute funding for very little in return, other than seeing the idea come to fruition. Browse through the projects, and you will see the most unlikely ideas funded with large contributions – but who am I to judge?

If you have a great idea for a joint venture, I’m happy to discuss it – you can always contact me at eric@desirableapps.com. But please don’t be offended if my initial answer is no – because if you are willing to work with me, I will do my best to help you find a way to turn your idea into a product.

The New iPhone – What You Need to Know

Time to review your apps – Apple has officially announced two new iPhones – the iPhone 5S, and the more budget oriented iPhone 5C.

Both phones will run iOS 7, and iOS 7 will shortly be offered to existing phones – which could potentially break existing apps.

A new mobile operating system is an exciting opportunity to offer new products and services – but for mobile app development, it also presents risks to the stability of existing mobile apps.

While Apple operating systems are highly compatible with each other, every new version of the operating system comes with new rules, new ways of doing things. Sometimes these new rules break existing apps, often in subtle ways.
The key areas to watch in iOS 7 apps appear to be further tightening of the rules regarding access to iPhone contacts, and changes to how apps access internal identifiers.

While most of the pain of changes to address book access occurred with the upgrade to iOS 6, there are still likely to be apps caught out by the iOS 7 rule changes.

Similarly, a number of games will potentially be affected by the internal identifier rule change. In iOS 7, Apple have removed access to an API which a lot of game developers use, to uniquely identify a device – especially with multiplayer games. So quite a few games will simply break when the phone or iPad is updated to iOS 7.

There are also changes to screen layout rules, which might catch a few apps.

My advice – make sure your developer is available, to help you if you hit problems. If you are especially worried, for example if you have a profitable app which you want to protect, your developer can assist you with testing your app using a pre-release version of iOS 7, to minimise the risk of embarrassing failures when people try to use your app on an upgraded phone.

If you have any questions about how the imminent shift to iOS 7 might affect your app(s), please leave a comment, or contact me for more information.

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.