Category Archives: iPhone App

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

Mobile App Development: Native or Web?

Web App vs Native Mobile App - a Big Development Decision

Web App vs Native Mobile App – an Important Development Decision

Software Development Times has written an excellent article about one of the important early development decisions which needs to be made when developing a mobile app – should you use native mobile app development tools, or should you present your app functionality using web technology – HTML, CSS and Javascript?

According to SDT:

Native apps maximize performance and user experience

Native development is, on average, the most widely adopted approach. Forrester’s latest Business Technographics Global Developer Survey found that, overall, developers build native apps 38% of the time, hybrid apps 22% of the time, and Web apps 27% of the time. That’s not surprising: Native apps offer a great combination of performance and user experience. And when done right, they deliver a high level of customer satisfaction compared to Web applications, as well as enable superior offline processing and storage capability.

But regardless of these benefits, native apps are a challenge to maintain. Developers we’ve worked with report porting costs of 50% to 70% of the cost of the original app for every new mobile operating system the app needs to run on. Plan to support iOS, Android, BlackBerry and Windows? That’s an increase in development costs of 150% to 210%.

Web apps minimize costs and improve agility

While developers on average spend more time building native apps, at least 74% spend time building with a Web-based approach. But with native’s advantages in performance and user satisfaction, why would anyone want to use Web technologies?

Unless an unlimited development budget is available, taking a native-only approach exceeds the reach of many development teams. A good rule of thumb is to estimate 20% to 25% in additional porting costs when using Web technologies, significantly less than the cost of an all-native approach.

Web Apps vs Native Apps

Web Apps, at least for some types of apps, offer a cost advantage if you plan to target a large number of mobile platforms (iOS, Android, Blackberry, Microsoft, etc.).

HOWEVER, web apps in my experience present a challenge if you want to create an app which appears to be native – you can spend a lot of time and effort making web buttons look exactly like native buttons, only to have all the rules change next time Apple or Android upgrade their operating system.

In addition, there are many types of app functionality which would perform poorly if implemented using web app technology. For example, if your app presents a long list of database entries, particularly if you want the contents of the database list to update automatically as the user types text into a search field, the inferior performance of web app technology very quickly becomes an issue – if your database contains more than a 50 entries, it is very difficult to make a web app provide acceptable search performance, without developing native mobile app components to augment the search – which kindof defeats the purpose of using web app technology.

In general I advise clients NOT to opt for the web app approach, unless the functionality of their mobile app is simple and not computationally demanding. While the lure of being able to port the bulk of your app to different mobile platforms with minimal changes might seem attractive, in my experience the risk of unsatisfactory mobile app performance, and the difficulty of achieving that vital last 1% of polish to make the web app into a compelling user experience, more than outweighs any benefits.

The Facebook Web App Experience

I’m not alone in my assessment of the significant challenges associated with creating high quality web apps. Facebook chose to redevelop their web app into a native iPhone app, because of the stability and performance issues their team encountered during development of their web app.

https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920

Scaling up with HTML5

As mobile usage exploded over the last few years, our priority was to ensure that regardless of device, platform, network, or region, Facebook users had a good experience on their mobile devices. To support thousands of devices and multiple mobile platforms, we leveraged HTML5 to build and distribute Facebook mobile experiences across iOS and other platforms.

By allowing us to write once and ship across multiple platforms, HTML5 has historically allowed us to keep the Facebook mobile experience current and widely available, and has been instrumental in getting us to where we are today. We chose to use HTML5 because not only did it let us leverage much of the same code for iOS, Android, and the mobile web, but it also allowed us to iterate on experiences quickly by launching and testing new features without having to release new versions of our apps.

So while utilizing web technology has allowed us to support more than 500 million people using Facebook on more than 7000 supported devices, we realized that when it comes to platforms like iOS, people expect a fast, reliable experience and our iOS app was falling short. Now that our mobile services had breadth, we wanted depth. So, we rewrote Facebook for iOS from the ground up (I really did open up Xcode and click “New Project”) with a focus on quality and leveraging the advances that have been made in iOS development.

(Re-)Building for speed

One of the biggest advantages we’ve gained from building on native iOS has been the ability to make the app fast. Now, when you scroll through your news feed on the new Facebook for iOS, you’ll notice that it feels much faster than before. One way we have achieved this is by re-balancing where we perform certain tasks. For example, in iOS, the main thread drives the UI and handles touch events, so the more work we do on the main thread, the slower the app feels. Instead, we take care to perform computationally expensive tasks in the background. This means all our networking activity, JSON parsing, NSManagedObject creation, and saving to disk never touches the main thread.

To give another example, we use Core Text to lay out many of our strings, but layout calculations can quickly become a bottleneck. With our new iOS app, when we download new content, we asynchronously calculate the sizes for all these strings, cache our CTFramesetters (which can be expensive to create), and then use all these calculations later when we present the story into our UITableView.

If you would like advice on whether your proposed iPhone App or Android App is a good fit for being developed as a web app, or whether you should choose the native mobile app development option, please Contact Me

Mobile App Revenue Model – Paid or Advertised?

The rise of App Advertising Revenue

The rise of Mobile App Advertising Revenue

Business Insider Australia has published a story about the rise of mobile app install advertisements, popup advertisements which encourage users to install other mobile apps.

According to Business Insider Australia, install advertisements are popular because it is easy to calculate the return on investment.

New and exclusive data from BI Intelligence finds that US mobile app-install ad revenue will top $US4.6 billion this year and grow to $US6.8 billion by the end of 2019, increasing by a compound annual growth rate of 14% from 2014. We believe mobile app install ads accounted for about 30% of mobile ad revenue last year.

The published revenue figures conclusively demonstrate that advertising is a serious option for monetising mobile apps, especially mobile app install advertisements.

Free apps definitely get more installs – convincing someone to click a button is much easier than convincing someone to spend some cash.

Both models have their advantages – for example, if your target audience is a specialist market, if your mobile app will be very useful to a small number of people, then it makes more sense to charge and upfront fee for your mobile app – generating revenue from advertising requires a large audience.

However, if your target audience is the general public, especially if you are competing with free mobile apps, there is a strong case for adopting an advertising model. It is difficult to convince people to pay for your iPhone app or Android app, if a competitor offers a very similar service for free, even if your app provides more features.

Then of course there is the Freemium model – a free app with optional feature upgrades which can be purchased. My advice, if you are building a Freemium mobile app, is make sure the user can perform all the basic functions of the app without paying. If you give users the impression you are being “greedy”, by asking for money every time they click a button, this can be a major turnoff, and can lead to users leaving negative reviews in App Store or Google Play Store.

If you would like to discuss the monetisation options for an iPhone app or Android App which you are developing, please Contact me for more information.

iOS App Development – More Revenue than Hollywood

Apps vs Holly - the rapid growth of mobile app development.

iOS App Development vs Hollywood – the rapid growth of mobile app development.

Last year, software development – iOS app development – generated 14.3 billion dollars, more revenue than Hollywood.

According to ReadWrite:

As analyst Horace Dediu pointed out on his Asymco blog, iOS apps drew in more bucks last year than the movie business. Earlier this month, Apple announced iPhone and iPad developers raked in as much as $10 billion in 2014. Tack on the 30% or so that Apple itself made on top, and the roughly $14.3 billion exceeds the $10 billion or so Hollywood made at the U.S. box office.

Its not just the numbers which are astounding, its the meteoric pace at which mobile app development has overtaken the movie business which has shocked observers. As the graph above shows, just 2 years ago the app business was half the size of today. The rapid growth trend shows no sign of slowing down.

The interesting question in my mind is – just how long will Hollywood stay in the movie business, given that the skills required for mobile app development and movie production overlap in so many ways?

Will we see a slow “brain drain”, as the best Hollywood film engineers are tempted by the fabulous rewards of mobile app development? Or will we see a great convergence, as Hollywood and mobile app developers join forces to ensure that every movie has an app, or apps become more movie like? Or movies become more app like?

What is clear is there is still potential to make a lot of money developing Android apps and developing iPhone apps. And, just as it is in Hollywood, its not always the big production houses which take the prize – there is plenty of room for newcomers to make their mark, and cash in on the multi-billion dollar mobile app development market.

Shapr raises $3 million for Business Mobile App

Shapr app

Sharp announces it has raised $3 million of investor finance

New York / Paris based startup Shapr has raised $3 million funding to help them develop a new business networking mobile app. They plan to build both iPhone App and Android app versions of their product.

According to Techcrunch;

… the idea for Shapr came to him [Ludovic Huraux] early last year because, as an entrepreneur, he loved to get connected with other people. “I was frustrated because now, [getting connected with others] is very random,” he says. Meanwhile, on LinkedIn, users are often connected to a number of people, some of whom they don’t know that well or haven’t kept up with in years, making it more difficult for online introductions to work as well as those that take place in the real world.

Although Shapr currently bases their service on the LinkedIn social network, Shapr extends LinkedIn functionality, by allowing users to select up to 50 contacts with whom they have a close connection. The idea is to provide an enhanced version of LinkedIn contacts, by encouraging mobile app users to select people with whom they have maintained strong connections, rather than just providing links to everyone in their network, with no qualification based on how up to date that link might be.

Shapr also sees one of their strengths as being mobile centric – designed from the ground up as a mobile app, rather than being retrofitted to iPhone App and Android App platforms after initially being developed as a desktop system.

… unlike business networking giant LinkedIn, Shapr’s software is mobile-first, with apps for both iOS and Android devices that allow users to select a subset of their contacts who they really know and endorse, and then share those contacts with others in their network.

The Shapr announcement is firm evidence that there is ongoing strong investor interest in networking apps. While it might seem sometimes that billion dollar companies like Facebook own the world, the truth is all social networking businesses are one innovation away from losing their crown to an ambitious newcomer.

If you have an idea for a networking app, or would like some help preparing a proposal to attract investor support for your mobile app idea, please contact me now.

How to hire a mobile app developer

How to hire a developer to build an app for your small business

How to hire a developer to build an app for your small business

Lifehacker has published a great article about how to hire a mobile app developer, and how and when you should do so.

The two most important points they make, in my opinion:

Australians are in love with mobile phones and mobile apps. In that context, it can seem like developing a mobile app for your business is an essential step. With online sales in Australia topping $246 billion in 2012-2013 (according to the Australian Bureau of Statistics) and more than 76 per cent of Australians accessing online services via their mobile phone (according to the Australian Communications and Media Authority), some sort of mobile strategy seems essential. However, careful planning is required to make sure you can get value from your investment.

A slice of a $246 billion dollar pie is an attractive proposition – but maximising your return on investment on an app, as with any endeavour, requires careful planning and preparation.

Make sure you really need (and can afford) an app

Make sure you can answer the most basic question: Why does my business need a mobile app? If the only answer is “Because I think it would be cool”, that’s not sufficient justification. If the main answer is “because everyone else is building one”, you also need to think carefully. While it’s true that if everyone else in your sector has an app and you don’t you might look sluggish, it’s also true that there may be more effective ways of differentiating yourself from rivals.

My most successful clients know exactly why they want an app, have a clear idea of what they want to achieve, and they know how they plan to market their app.

I cannot overemphasise the importance of having a marketing plan. Very occasionally, an app will shoot up the charts with no marketing whatsoever, but this is rare. Even legendary apps like Angry Birds got their start through vigorous marketing.

I strongly recommend if you are thinking of commissioning an iPhone app or Android App that you read the Lifehacker article. Once you have read the Lifehacker article, contact me if you have any questions, or would like to discuss your mobile app requirements.

How to write a mobile app

A nice graphic to denote writing your own app

Writing your own app can save you money and be a lot of fun

Writing an iPhone App or Android App is expensive. Even the simplest mobile apps usually need at least a week or two of skilled developer time to construct.

If you have technical skills, perhaps past coding experience, one obvious solution to save money is to write your own app.

Why write your own app? Beside saving money, writing your own app can be a lot of fun. Writing an app is a creative experience, like painting a picture or composing a song.

How do you start?

You could do what I did – invest hundreds of hours of your time into learning how to create apps for your mobile app platform of choice.

Or you could ask an expert for help – you could cut through all the time consuming trial and error, and ask me to help set up your development environment.

I can get you started with app development essentials:

  • How to set up your development environment.
  • How to create your first app
  • How to transition between different app forms
  • How to create fancy graphics and transitions
  • How to package your app for publication on app store
  • What is the best development option for leveraging your previous coding skills

How long will it take?

The length of time it takes to get started with app development depends on your previous coding experience, and what mobile app platform you want to start with.

For example, if you have a background in developing web apps, you could leverage those skills by using a cross platform development environment like Cordova, which provides a framework for creating an app using HTML web pages.

If you have a choice of starting with iPhone or Android, I recommend you start with iPhone – though the Apple development environment only runs on Apple Mac computers. The Android app development environment is more difficult to set up than the iPhone app development environment, and creating your first Android app is a steeper initial learning curve. However, once you are past the initial learning curve, both environments are very similar in terms of the effort required to create an app.

If part of your app is too complicated for your current level of experience, I’m happy to assist, by creating blocks of code which you can insert into your app. But you can still potentially save a bundle by developing as much of your app as you can, yourself.

Lesson Plan

My recommendation is to start by booking 3 x one hour sessions, spaced 1 week apart.

  1. First Lesson – setting up your mobile app development environment.
  2. Second Lesson – developing your first app
  3. Third Lesson – deploying your app to app store or play store

You can book additional lessons as required. I charge $100 + GST per one hour session. The lessons are conducted using Skype, because Skype lets you share your computer screen, so I can see exactly what is happening, and give you realtime advice on how to achieve you mobile app development goals.

Contact me now for more information on how to develop your own app.

The Best iPhone App and iPad App Games of 2014

The Guardian has published a list of the best iPhone and iPad games of 2014.

Some of the games are obvious – developments of the Angry Birds and Candy Crush mobile app franchises, feeding the insatiable demand from fans for new variations of these mega games.

Others are much less obvious – my favourite from the less obvious list is “Papers Please”, an iPhone App in which you play a Soviet style border agent charged with examining the papers of potential subversives who want to enter your glorious Communist nation. I mean, who would have thought such a crazy idea would win a string of awards, and become one of the most popular games on App Store? The answer, of course, is whoever commissioned the creation of the Papers Please mobile app, and followed their dream to its successful conclusion.

App Store Screenshot from the Papers Please game.

App Store Screenshot from the Papers Please game.

What is more than obvious from the list, is there is still plenty of room at the top. Even simple iPhone App and Android App ideas sometimes hit the big time, as was demonstrated by the iconic iPhone App Bubble Ball. Bubble Ball, which for a short time knocked Angry Birds off the top of the chart, was created in just a couple of weeks by 14 year old Robert Nay. The game has been downloaded over 16 million times. The basic game is free, but clever use of in-app purchases to unlock new levels, has also unlocked substantial wealth for the creator of the game.

Who knows what next year’s top iPhone App and Android App games will be? I’m sure we’ll see new versions of tried and trusted mega games, but there will also be surprises, totally unexpected ideas which take the mobile app world by storm.

One of those winning, wealth creating iPhone App or Android App ideas could be your mobile app idea.

Contact Me if you would like to transform your idea into a mobile app. It might be your app which appears on the list of award winning ideas for 2015.

A Wearable Drone – the Perfect Companion to your mobile phone?

Intel recently ran a competition, to find the perfect way to promote their SD card sized Intel Edison ultra-miniature computer technology. The result was a series of spectacular innovations in safety and bionics.

The winner of the prize is something special – a wearable drone, straight out of Science Fiction. As the video (see above) demonstrates, the prototype takes off, snaps a selfie of the wearer, then returns to your wrist – like a magical conjunction of modern technology and medieval falconry, where hunting birds roosted on the wrists of their keepers.

As a mobile app developer, I can’t wait to get my hands on this piece of hardware. Its spectacular enough, to have a drone which takes a selfie and returns to your risk. But what is the perfect controller / companion for such a drone? An iPhone App or Android App on your mobile phone of course!

How to avoid Offshore Mobile App Nightmares

What do you do when it all goes wrong? I regularly hear from people who have taken the bargain basement route to app development, and are now stuck with a bargain basement app – an app which looks bad, is unresponsive, regularly freezes, or even crashes when it is used.

Sometimes these problems don’t show up until the app has been released. Performance problems often don’t manifest until your system has stored a significant amount of data, leading to a frightful scenario in which just as your iPhone App or Android App is taking off, gaining market share, it suddenly all falls apart.

Note I am not suggesting all offshore developers provide poor quality work. Some offshore developers provide an excellent service. But bad developers who cut corners are often very good at presentation – its the main focus of their business. And relationships with good developers can take a wrong turn, a situation which sometimes takes expert assistance to correct.

The following is a list of steps you can take to minimise the risk.

  1. Make sure you possess a working copy of the mobile app source code
    Whoever controls your source code controls your app. The source code is human readable form of your app, which development software uses to construct app binaries, for deployment either to test devices, or to the app store or play store. Without the source code, you cannot make changes to the app, or fix problems. A lot of developers keep hold of the source code, to force clients to continue to use their service.

    It is normal for developers to hold onto the source code until they are paid. But you must insist on source code whenever you make a payment, and you must check that the source code you receive is actually the code for your app. Often the source code is broken or incomplete. This is not necessarily malicious, it can be due to carelessness, or even just an honest mistake. If necessary, enlist the help of a technical friend to make sure you are receiving the real thing.

  2. Control the Server
    A second practice I see all too often is where the developer controls the server. The main use of app servers is to share data between different copies of the mobile app. Copies of the app on different phones can’t talk directly to each other, unless the devices are in close physical proximity. Instead, the apps relay messages via a server. The person who controls your server can shut down your app.

    The developer may have a positive motivation for controlling the server – server administration can be challenging, and they may feel that by shielding clients from this complexity, they are offering a better service.

    But if your developer suddenly decides to start charging exorbitant “server fees”, and if they are unhelpful when you ask for the code to be moved to a different server, there is very little you can do about it, other than a potentially very expensive and disruptive migration to a different server – a migration which can lead to significant loss of client data.
     

  3. Hire a local technical manager
    If your relationship with offshore developers hits a rocky patch, it can be difficult for non technical people to guide the project back on track – if the offshore developer claims that a simple looking change will take a long time to complete, and be very expensive, how can you tell whether they are being honest or reasonable with you? Some simple looking changes really are difficult – or they might be having a laugh, at your expense. If you have already committed significant money to the project, it can be very difficult to refuse ever increasing charges for changes and bug fixes, to bring your app project to a successful conclusion.

    With a local technical manager, you are in a much stronger position to negotiate fees. The local technical manager is much more accessible than an offshore team in a foreign jurisdiction. And the right technical manager has extensive experience with software development, so they can push back against unreasonable quotes or other sharp practices.

    One of my favourite techniques for handling an offshore fee blowout, is to provide an “example” which proves conclusively that the quote is unreasonable. This generally involves quickly mocking up a proof of concept of the work item under discussion, to discredit exorbitant claims of difficulty or other excuses for excessive fees. It usually only takes one or two “example” exercises to establish a better working relationship. This corrective technique absolutely relies on you, the project owner, having control of your server and your source code.

If you would like to know more about app development, or would like some advice about getting your mobile app project back on track, please Contact me.

Integrating SharePoint, iPhone Apps and Android Apps

Microsoft SharePoint Logo

Microsoft SharePoint

Microsoft SharePoint is a popular content and data management system, which integrates easily with non-microsoft technology, such as iPhone Apps and Android Apps.

The functionality of SharePoint I have experience integrating is SharePoint Lists.

A SharePoint List is a cross between a web document and a database. It provides means for quickly building and maintaining structured data, and defining relationships between different elements of that data.

For example, you can define a Microsoft SharePoint list which holds details of assets which your company manages, such as factories, shops, or other inventory, then define a second list, which provides a maintenance history for each asset. The second list can be linked to the first list, so for example you can enforce that one of the fields in the second list must be the identity of an asset in the first list.

SharePoint takes care of the complexity of handling collaborative updates to list documents, such as versioning of each change.

There is even an attractive web interface, which is compatible with most mobile devices, and several excellent iPhone Apps and Android Apps, for accessing your SharePoint portal.

So why would you ever need a bespoke iPhone App or Android App, to interact with SharePoint?

The reason clients ask me for help with SharePoint integration is because standard, off the shelf apps do not deliver a specific feature or set of features they require.

For example, what do you do if you want to take SharePoint offline? A client had a requirement that mobile apps be able to be used at sites with poor Internet coverage, so they needed an app which could populate the fields of new SharePoint list instances, and save the new instances in the internal storage of their iPad device, so all the saved changes could be applied to the server once the user had access to the Internet.

Another scenario, a client wanted to extend SharePoint functionality with app device capabilities, to create the ability to upload mobile camera photos to SharePoint list instances, and to upload GPS readings.

Finally, since the apps are interacting with SharePoint as a data store, the Apps are free to implement their own front end – they can guide users through the data acquisition or data delivery process, by imposing a specific workflow on the users – by granting users a limited view of the underlying SharePoint data, and by ensuring all necessary steps of a workflow are executed in the correct order.

A bespoke SharePoint iPhone App or Android App can preserve SharePoint flexibility. It is entirely possible for mobile Apps to apply the bespoke SharePoint functionality extensions on a list field by field basis, to allow the list structure to be changed, to allow new fields to be exposed to users without having to release a new version of the bespoke iPhone or Android SharePoint App.

Bespoke Customisation of the SharePoint experience can help with delivering acceptance and enthusiastic adoption of the underlying SharePoint implementation, by painlessly integrating user requirements which are not best handled by the standard toolset.

Contact me now, if you have or are interested in creating a Microsoft SharePoint based user experience, but have requirements which go beyond what the standard tools can deliver.