Author Archives: Hussain Fakhruddin

15+1 Useful Tips For Mobile Game Developers

With over 10.4% share in total downloads, business apps were the second-most popular category (in terms of downloads) at the Apple App Store in September. Mobile educational apps for kids came in a close third. And which category occupied the top spot? You guessed it…mobile games, and that too with a 22.2% share of the total downloads. App companies are increasingly taking up 2D/3D game development projects, in their bid to cash in on this trend (the collective revenue from mobile gaming apps is set to overtake that from consoles by the end of this year). Here are a few handy guidelines that app developers need to follow, while conceptualizing and creating games:

 

  • Start off with a definite idea – You need to have a proper layout of the type of mobile game you wish to create, before actually getting down to the coding part. Prepare a flowchart – starting off with the nature of the game (action, sports, arcade, etc.), the gameplay involved, and the way in which you wish users to interact with your app. For new developers, it is advisable to kickstart things with a game that is similar to the ones they are familiar with (not an identical clone, of course!). That will provide a good starting point.
  • Build for one platform, port later – The iOS or Android debate is one that you need to tackle at the very outset. Provided that your game is indeed a success, the Google platform offers greater reach – while the potential earning capacity of iOS apps is higher. Also consider the fact that, if you start off with an Android game – you’ll have to customize your software for a much larger set of devices (the fragmentation in the rollout of Android versions can be an issue as well). Ideally, start building an iOS game (iPhone and iPad). There are many tools for porting the game to the Android and/or Windows platform later.
  • Get familiar with the tools and IDEs – Half-baked knowledge of the available game development engines and tools is a recipe for disaster for any developer. If you are an iPhone app developer – learn your way about Xcode and Swift/Objective-C thoroughly first. For Android developers, Java is the language and Android Studio/Eclipse are the IDEs to become proficient in. You will also need to take an early call on whether to make a 2D or a 3D game (the former is, obviously, the correct choice for new developers). Depending on your choice, you will have to learn how to work with popular game engines like Unity and Unreal Development Kit (UDK). There are plenty of resources available for adding polish to your game – make sure you use them well.
  • Consider how most people play games – Any mobile game development agency would emphasize the importance of monitoring in-game analytics. The reason for this is simple – user-experience is the defining factor for the success or failure of any game. Keep in mind that most people play games on their smartphones to pass the time – and the interaction time is generally small. That, in turn, makes it almost mandatory for game developers to provide users with easy options to pause and restart the game (without any of the game data/progress/status being lost). Make sure that your game can be played offline as well. Online multiplayer modes are fun and all that – but you need to cater to the huge audience who play games while commuting in subways and other places, where there is weak or no wifi connectivity.
  • Content trumps over style…everytime – Yes, making a good-looking mobile game is important. But stay away from the pitfall of obsessing too much over the graphic features of your gaming app, and pushing the actual game content to the back-burner. A flashy game can spark off handsome initial download figures – but it is the content of an app that ensure high user-retention levels. In particular, if you are developing a role-playing game, prepare a good back-story first (for other types of games too, you need to specify the goals/targets clearly). Proper content is instrumental in engaging users to any game. Neglect this at your own peril.
  • Have a minimum viable product – This is more important for Android game developers, although those working in the iOS ecosystem might as well take note. The competition level in the international mobile gaming industry is increasing every quarter, and you need to have your application out there at the store as soon as possible. The best way to do this is launch a minimum viable product (MVP) version of your game first, and release updates later. For instance, to ensure that people can play your game in both portrait and landscape mode without a glitch – have a square layout that would fit the screens of most devices. Further customization can be done later.
  • Pay attention to the creatives – At leading mobile app and game development engines, there are separate teams in charge of development and graphic designing. Depending on the level of graphic features and design finesse (and of course the animations) that have to be deployed in a game, in-depth working knowledge of tools like Maya, Photoshop, Spine, SpriteKit (for iOS developers) and Gimp is required. Create assets/characters that users would be able to relate to. Remember Odus the Owl in Candy Crush Saga Dreamworld or the little running guy in Subway Surfers?
  • Never distract users with ads – You can create a couple of games just for the love of it – but at the end of the day, every mobile game developer wishes to earn revenue from their software. In-app advertisements is one of the best ways to do this. If you do implement this app monetization strategy (you probably will have to), do it in a way so that the advertisements do not hamper the actual gameplay. Avoid displaying animated ads on the top or bottom of the main game screen (that would be a disturbance as well as a waste of screen real estate). Consider including video ads that users can see while taking a break from playing (like the way ‘Threes!Free’ does). You can also dedicate one corner of the start screen to ‘ads’ – which, when tapped, will display the ads (again, just like how King does with Candy Crush Saga). If disruptive ads pop up after every few seconds, most people will uninstall your app from your device…soon!

  Note: You can also make your game a freemium mobile application (i.e., free to download, but with in-app purchase options). Provide users the option to upgrade to the ad-free version of your app, where only these in-app purchases will drive your monetization strategy.

 

  • Gather feedback and do the rework – The more you iterate this, the better. Put together a beta version of your game, and ask people whom you know and can rely upon to test it on their devices. Listen to their feedback very carefully, jot down the suggestions they make, and redesign your game. There is nothing wrong in being told that the beta version of your gaming app has certain flaws (these feedback would stand you in good stead later on). What’s more – you would prefer to hear an honest review of your game from people you know rather than scathing criticisms from final users, right?
  • Release regular updates – Major upgrades can be launched at relatively long intervals (say, six months) – but experts from the domain of iOS and Android game development advise releasing small updates on a more frequent basis. If your game involves levels and challenges – add a few new levels every week. In strategy-based fighting games, add new weapons and characters, or tweak the existing ones. The ‘newness’ about your game should never get lost.
  • Optimize your game for every type of user – Some gamers have all the time in the world, some are really skillful at certain games, while there is a section who are more than willing to spend money for in-game purchases. Your game needs to cater…and cater well…to all of them. For the power-users (who are likely to play for long stretches of time), battery-drain and device overheating are major concerns. Make sure that the your app does not cause any such problems. The high-on-skill users would love having increasingly complicated new challenges and goals in the game. Finally, for the ones who can and will spend should be able to access and purchase every item you decide to include under in-app purchase option.

Note: If you are making a mobile game app for kids, make sure that the children cannot purchase anything on their own. Their parents should be the ones doing such purchases.

 

  • Monitor the analytics – By this time, it should be pretty much clear why mobile app analytics is so important. Find out how, where and for how long people are interacting with your app, the age-group of users among whom your game has found the most favour in, and whether there is any device/OS version on which gamers are facing problems (you need to address such problems immediately). If you see that the downloads are tapering off, release a new update and spread the news. The average shelf-life of gaming applications is on the shorter side – and if the downloads of your game remain low for months, it’s time to move on to making a new mobile game.
  • Promote your game. And then promote some more – All your game ideas, time and resources will go to waste – if people are not ‘aware’ of the existence of your game. Look around online social media channels like Facebook and Google Plus – where mobile app developers regularly post about their games and other applications. In addition to these, you can tweet regularly about the features of your game as well. Make a list of online mobile game review sites, and submit your app at those places (a good review from a creditworthy third-party source can work wonders). Actively seek feedback and recommendations from users. Mobile game developer agencies have their PR departments working overtime at the time of new game releases. The sole purpose of this is building interest about the game among targeted users.
  • Develop games for the love of it – Right from coming up with viable iOS or Android app ideas, to coding, designing and testing a new game – everything seems a drag if you fall out of love with the overall process. You need to be motivated enough to be able to churn out a game that people will actually like playing. Indie developers often create games as a hobby, and mostly work on other app development projects. The same goes for the top mobile app companies. A mobile game is supposed to be fun – and you should be excited…and not bored…about making it.
  • Think future – Apple Watch is out in the wild, and rapidly gaining in popularity. The recent release of watchOS 2 has made it easier than ever for WatchKit app developers to create custom games for the wearable device. Virtual Reality is yet another component that has hardly been used so far in mobile games – but it has the potential to become a key feature of gaming applications in future. Even for the revamped Apple TV, games can be developed for tvOS. Keep yourself updated at all times with the latest mobile technology. That’s the only way a developer can retain his/her success over time.

 

Bonus Tip → Never ever try to cut down on the time required for testing your mobile game, on simulators, devices, and over the cloud. The last thing you want is releasing a buggy app (which will get rejected at the App Store and will generate a negative word-of-mouth publicity among Android users). The final users are not the ones to ‘test’ your device – it’s your responsibility to make your app glitch-free before release.

 

For those only just starting out in the field of mobile game development, here’s a piece of advice: your very first app will probably not be a huge success. There is no reason to be feel too down about such initial hiccups. Find out where and why you went wrong in your first venture, do not repeat the same mistakes, and soon enough…you can come up with a better game application.

 

Creating games for smart devices can be an exciting, and with a bit of luck, financially rewarding profession. Follow the pointers above, and you can be well on your way towards becoming a top game developer!

Swift 2: 15 New Features For iOS Developers

In October, Apple released Swift 2.1 – the latest stable version of the programming language that is fast gaining in popularity among iOS app developers worldwide. Swift 2 builds on the original version of the language, and offers a fair number of additional features and functionalities to aid programmers working with it. The second beta release of Xcode 7.1 has Swift 2.1 bundled with it, and early reviews have been – expectedly – positive. Let us here elaborate a bit on the new features that Swift 2 comes with:

 

  1. Protocol Orientation – Unlike what was the case with Swift 1, protocols are no longer like interfaces in the new version of the language. Instead, those coding for iOS apps can now include default implementations for calling methods and properties. The ‘protocol extension’ feature of Swift 2 allows this – and it makes the function chains inside a program a whole lot more compact and scannable. Nearly all ‘Foundation’ objects are compatible with the new ‘CustomStringConvertible’ protocol (which has replaced ‘Printable’). Developers can now either apply a general implementation across types, or extend their programs with custom code snippets.
  2. Targeting the ‘right’ OS versions – Every new version of the iOS SDK comes with a host of new APIs. At times, it becomes a problem for software and mobile app developers to write out code that would be properly executable on the OS version(s) for which an application is being built (compatibility with older OS versions was an issue, in particular). Swift 2 makes this all too easy – thanks to the error notifications generated by its compiler whenever certain APIs or other resource is not compatible with the OS version a developer is targeting. In essence, this makes creating apps for the relatively older iOS versions safer, simpler, and error-free. The #available block is a big help for coders while targeting specific OS versions.
  3. Using the ‘guard’ – ‘guard’ is a new keyword that comes in handy when iPhone programmers are putting conditional checks at the start of methods in their programs. At first glance, using the ‘guard’ keyword might seem rather similar to writing the ‘if’ statement – but a closer look would highlight the differences. For one thing, using the new keyword ensures that whenever the conditions are not fulfilled, the code stops executing. Also, it can be used to unwrap optionals – with the advantage that the optionals can be reused in any other section of the code block (a departure from the ‘if’ statement here). iOS app development experts also agree that the ‘guard’ keyword has a role in making the overall program shorter and more concise.
  4. Try-Throw-Catch for error handling – Swift 1 (and its iterations) had a lot going for it – but the language had one major shortcoming. There was no reliable error handling method in it, and software/app developers had to go the whole hog of passing methods that are likely to generate errors with the NSError object. Swift 2, on the other hand, has a stable exception-based model in place for error handling purposes. At the start of the method call, a ‘try’ keyword needs to be added, while errors/bugs are actually identified with the ‘do-catch’ statement. In a nutshell, whenever a throwing method is invoked, programmers only have to put the ‘try’ keyword before it. Simple enough, right?
  5. Playgrounds get smarter – Features like Quick Look and Timeline Assistant (the latter is particularly useful for previewing SpriteKit animations and other complex UI views) make working with ‘Playgrounds’ an absolute breeze with Swift 2. Since results of code lines are viewable real-time, debugging and mobile app testing become quicker and easier too. Xcode 7 also supports usage of rich text in comments, along with links and images. From lists to graphics (including values) – the revamped Playgrounds add a nice interactive feel to coding with Swift 2.
  6. Swift 2 is set to become open-source – ‘By the end of 2015’ was the deadline that Apple gave at this year’s WWDC, for making the updated version of Swift open-source. Some weeks back, Chris Lattner, the creator of the LLVM project, confirmed this. The open-source version of Swift will have comprehensive Linux support, along with the built-in standard library and the code safety options. The prospect of working with Swift 2 on multiple platforms is something every software and mobile app development expert is looking forward to. It remains to be seen when the big news actually arrives.
  7. Swift 2 is more swift – The initial version of Swift was, on average, about three times faster than Objective-C – and Swift 2 is makes things a lot, well, swift-er. Programmers no longer have to use optionals frequently, since the annotated APIs can no longer return the ‘null’ value. In addition to this ‘nullability annotation’ feature in Objective-C, the language also has a new generics system that ensures that detailed information about codes written in Swift 2 can be preserved with ease. As mentioned many times already, Swift has access to all Objective-C APIs, and Apple is endeavoring to make the two languages more interoperable.
  8. Viewing headers in Swift 2 – The absence of headers in Swift posed one significant challenge for programmers and iPhone app developers. In a lengthy code, there was no provision of viewing all the functions that had been used – except for, of course, manually parsing through the entire code. Swift 2 in Xcode 7 does away with this issue – thanks to the synthesized header files that are generated automatically. This method quickly goes through the entire program and generates virtual header files – to help coders view all the exposed functions and methods. Now, it’s about getting the best of both worlds – no need to update header files (everything is stored in the .swift file), and the option to inspect function calls with synthesized headers.
  9. Println() gives way to Print() – Yet another developer-friendly feature of Swift 2 is the new ‘print()’ method – which has replaced the ‘println()’ of Swift 1. In addition to using the method to writing stuff in the output view, outputs can now be generated with a newline as well. For that, iOS developers have to tweak the value of the ‘appendNewline’ parameter to ‘true’. The functionalities of println() and print() have been combined together in Swift 2.
  10. Migrating to Swift 2 – Moving up from Swift 1 (or Swift 1.2, for that matter) to Swift 2 is fairly simple for Apple developers. The new version of the language has an in-built Swift 1-to-2 migrator – which allows coders to keep their programs updated with the latest standards and the new set of syntaxes. With the help of the migrator, developers can even access the new error-handling methods that are a major highlight of the Swift 2 language.
  11. Real-time mutability warnings – Errors happen while coding for software and mobile apps. One such common error is declaring something as a ‘variable’ when it should ideally be declared as a ‘constant’ (people working with Swift prefer ‘constants’ over ‘variables’ anyway). In Swift 2, whenever a variable that cannot be changed is declared, a ‘mutability warning’ is generated. The Xcode 7 IDE can actually ‘understand’ how variables are declared and whether they need to be changed.
  12. Using the ‘defer’ – Another new keyword that is instrumental in cleaning up Swift codes and making them more readable and customized. Just as ‘guard’ prevents code from executing when condition(s) are not met, ‘defer’ allows a code block to be executed, even in the presence of errors. This execution takes place before the method ends (i.e., the code included in the ‘finally’ clause). In practice, as soon as error messages are thrown by the ‘doStuff‘ function, the method exits and the ‘defer’ code is invoked.
  13. Improvements in code syntaxes – We have already talked about the ‘guard’ and ‘defer’ keywords in detail. Swift 2 brings in lots of other syntax improvements as well – right from extended pattern matching (for ‘for’ loops and ‘if’ clauses), to the unified keyword naming standards. The ‘repeat-while’ loop has replaced the old ‘do-while’ loop. The ‘repeat’ keyword also has a role to play in streamlining the control flow of codes written in the new version of Apple’s language.
  14. Whole Module Optimization in Swift 2 – For detailed analysis of all the source code included in a module, Xcode 7 has a new ‘Whole Module Optimization’ feature for Swift 2 users. This additional optimization level not only reduces chances of errors remaining undetected, but also boosts up code compilation speeds. iOS developers have also received the option of writing Markdown inside comments. The focus is clearly on making Swift more usable than before.
  15. if-case to support Switch statements – Swift developers are already familiar with the ‘switch’ statements that can be used for pattern and range matchings. In the newly released version, ‘if case’ can also be used (in addition to ‘switch’) for both the types of matchings. Temporary bindings can be created in ‘if-case’ too, just like in switch statements. Using ‘if-case’ in program tuples is pretty much straightforward.

 

In Swift 2, enums can now be directly printed on the console. The consensus among iOS app developers is that the new language goes a long way in improving the existing Cocoa frameworks as well as the coding methods for software and mobile applications. Craig Federighi had said that Apple was ‘stepping on the gas this year with Swift 2’ – and the statement nicely sums up the range of new features that the programming language now has.

Development Of Mobile Applications In Denmark: Key Trends & Figures

Among the Nordic countries, Denmark would rank only below Sweden, in terms of smartphone usage among people. According to a survey conducted in the second quarter of 2015, nearly 78% of the population in Denmark owned one or more smartphone(s), with a further 21% people having tablets (the corresponding figures were 82% and 18% in Sweden for the same time period). In what follows, we will highlight certain important facts and figures that are pertinent to the development of mobile applications in Denmark:

 

  1. iOS apps rule the roost – Till the end of 2014, it was a close fight. In 2015, iOS has pulled ahead though, and currently has over 61% of the smart device market share in the country. This is a jump of around 12% over the market share figure in 2014 Q4. iOS’ gain has been Android’s loss (not surprisingly) here – with Google’s mobile platform losing around the same 12% of the market share. It can be easily concluded that iPhone apps in Denmark are more popular than Android (or any other OS, for that matter) applications.
  2. Mobile is the preferred medium for accessing the web – Approximately 81% of the total number of internet-users in Denmark owns a smart device (phone and/or tablet). A recent study conducted by IAB Denmark also revealed that most of these people used their handsets to log on to the World Wide Web on a regular basis. The usage of mobile internet has jumped by more than 7% in the last six months or so, and is expected to grow further in future. Mobile app developers in Denmark, as a result, need to focus on making apps with seamless internet-integration options.
  3. M-Commerce is a fast-growing segment – And this explains the popularity of mobile shopping apps in Denmark (this trend is present in Sweden and Finland as well). 4 out of every 10 people who purchase things via their smart devices use shopping apps to do so – while a measly 25% use their mobile browsers for the same purpose. With Apple Pay proving to be a success and Android Pay (with Android 6.0 Marshmallow) holding early promise, m-commerce has every potential to show further growth over the next couple of years.
  4. It’s all Apple in DenmarkWith a market share of around 46%, the Apple iPhone is the runaway leader in the mobile market in Denmark (as stated above, the overall market share of Apple is in excess of 61%). Samsung, with a 21% share, comes a distant second – with other Android vendors like HTC, LG and Sony lagging well behind. The success of iPhone 6 helped iPhone sales to surge ahead of that of Android for the first time in 2015 Q1. The iPhone 6S/6S Plus phone-phablet pair are off to a strong start – and it won’t be surprising if Apple manages to open up a bigger lead over Android soon enough.
  5. The attention span – Another piece of good news for the iPhone app developers in Denmark is the growing average timespan of app-usage by the average users. Every month, Danish people spend a remarkably high 30+ hours with mobile applications of various types. It is always a challenge to make apps that are engaging enough – and it sure seems like that the developers in the country have risen well to the challenge. The high interest among Danish people about apps have helped matters along as well.
  6. Replacement behaviour trumps adoption behaviour – This, in fact, has led many app development experts in Denmark to infer that the smartphone market in the nation is nearing saturation levels. A market research (involving 384000 users of smartphones in Denmark) revealed a remarkable stat this year – over 16% of the respondents were looking to replace their old phones with new models. This, in turn, means that there is no dearth of early adopters of new flagship phones (iPhones or the latest Android devices) in the country. The onus is on developers to custom their apps for all the latest devices. If this is not done, a significant section of the target audience might be lost.
  7. People notice in-app ads – Among the popular mobile app monetization methods, placing in-app advertisements is probably the most effective for users in Denmark. Such ads are noticed by over 85% of mobile app users (a more-than-satisfactory stat for the advertisers), and often help in generating business leads and actual sales. Developers have certainly noticed this trend – and at present, nearly 90% of all mobile ad impressions take place within apps. Advertisements on mobile browsers have a sub-10% share.
  8. Leadership position in the mobile health market segment – For developers searching for new iOS or Android application ideas in Denmark, health & hygiene would be a good pick. The country occupies the top position in Europe in the mobile health (mHealth) market segment, with Finland, Spain and Netherlands taking up the 2nd, 3rd and 4th spots respectively. The ranking is attributed on the basis of 6 important parameters – and it has been seen that the Denmark is the most popular country for developers of mobile health apps. Interestingly though, the same report also showed that UK, and not Denmark, has the best market conditions for the mHealth app development industry.
  9. Mobile search has a big impact – In Denmark, businesses need to be have a strong mobile presence – there are no two ways about it. The effectiveness of mobile search activities vindicate this – with nearly 3 out of every 4 such searches invariably being followed by store visits (virtual or brick-or-mortar). More significantly, app developers in Denmark have noted that a whopping 55% of all mobile searches lead to purchases – and that too, within one hour of the searches. Overall, nearly 30% of searches lead up to an actual purchase – a significant figure in itself.
  10. Shopping apps are popular among all age groupsUsers in the age group of 18-24 are, expectedly, the biggest users of Android or iPhone shopping apps in Denmark. However, the trend has caught on with the senior people as well – with app usage for shopping showing big growth among people in the 45-54 and 55-64 age ranges. In comparison, growth of mobile shopping among users in the 15-24 age group has remained fairly static.
  11. Mobile purchase of services is growing in a big waySince 2013, there has been over 51% growth in the purchase of different types of services via mobile devices. Among them, music-streaming and video-streaming services have garnered maximum popularity – giving the iOS and Android developers in Denmark a clear idea of the type of services they can offer to targeted customers via their applications.
  12. Weekend evenings are the time when mobile interactions are the highest – Several mobile app analytics studies in Denmark have confirmed that people are most likely to perform interactions with mobile apps (including taking actions on basis of in-app ads) on weekends, and within the 5pm-9pm time window. During the development of mobile applications in Denmark and setting up advertising campaigns for them – this figure has to be factored in by developers. Interestingly, there is hardly any mobile action observed (on average) before noon. For mobile advertisers, Saturday is the most productive day of the week.
  13. iPads are still popular – And so are iPad apps in Denmark. In early-2015, the device share of Apple iPad in the country was estimated at around 8.9% – well over the 3% (approx.) share that the Samsung flagship devices had. This makes it imperative for mobile app companies in Denmark to create customized versions of their apps for the iPad too. The new iPad Pro is likely to give tablet sales in Denmark a further thrust – and iPad apps might become even more in demand.

 

It has been projected by research analysts and mobile application developers that Denmark is set to become the country with the highest smartphone penetration figure by 2017. With the Danish people increasingly taking to mobile shopping, m-payments, and trying out new apps in general – there is immense potential for developers in this market. Mobile apps for business are growing in importance too (last year, nearly 40% of all purchases via smart devices were canceled since the websites of the concerned vendors were not mobile-optimized). For mobile app startups, Denmark (like Sweden) is a lucrative market – all that they have to do is understand the tastes, needs and behaviour trends of users, and create apps accordingly.

Why Should An iOS App Not Be A Clone Of Its Android Version?

Most successful mobile applications are available on both the iOS and the Google Android platforms. However, a close look at the respective versions would reveal subtle differences between the different versions of the same app. While simply cloning an iOS app for the Android platform (or the other way round) might appear to be a no-brainer at first, developers confirm that doing so is a big mistake. Here are some reasons why alternate versions of a mobile app should not be exactly similar to each other:

 

  1. Increase in expenses and delays – Contrary to what might appear at first, simply copying the code for an app, initially made for one platform, for another platform, would involve unnecessary delays. The reason for this is simple: every mobile app development platform has its own set of APIs – which makes the task of fitting the same code for multiple platforms complicated, and often, impossible. As the app development cycle increases, expenses would rise too – and no client or developer would like that either.
  2. Different tools and resources need to be used – Making an iOS app is requires a developer to know the intricacies of an entirely different set of programming languages, tools and frameworks, than when (s)he is developing an Android app. For the former, it’s all about Cocos2d-x, Xcode 7, Objective-C and Swift 2, while the latter requires in-depth knowledge of Eclipse, Java, Android Studio, and the like. Using different tools and languages to come up with the exact same app is mighty difficult. There will (and should) be certain differences.
  3. Greater customization required for Android – At one level, it is simply not possible to make the clone of an iPhone app for the Android platform. Apart from the Google Nexus phones, hardly any other device has the plain-vanilla Android software, with vendors doing their own tweaks. This, in turn, means that Android app developers have to customize their apps to ensure that they retain their proper usability on all handsets. Apple’s tightly knit ecosystem makes things easier for iOS developers in this regard – there are no third-party vendors to worry about.
  4. Need to follow design guidelines of platforms – Google has a set of design guidelines for Android, Apple has a set for iOS – and the two are not the same. User-preferences and expectations are put under the spotlight at the time of drawing up these guidelines, along with the likely context of use of any app (e.g. when is a person likely to pull up a news app on his/her iPhone?). The UI/UX developers and graphic designers at any mobile app company have to adhere by these guidelines, while creating the designs and layouts for either platform. If the iOS and the Android versions of an app are absolutely identical, the design guidelines of one of the platforms (or maybe both) must have been violated.
  5. Different profiles of users – Studies conducted by experts from the domain of mobile app and game development have found iPhone owners to be, on average, slightly younger and significantly more affluent than their Android counterparts. That, however, is not all. iPhone users also rank higher in terms of app-engagement (right from news and social media apps, to mobile shopping applications). With its considerably higher market share, Android promises greater reach for developers – an entirely different proposition. At the time of deciding on app monetization strategies, these differences have to be kept in mind by developers.
  6. The market share vs revenue debate – Before writing a single line of code, an app developer has to be very clear about his/her stand regarding this. The iPhone 6S and iPhone 6S Plus might be off to a fast start, but the overall share of iOS in the mobile market has dwindled to 38.58% (October 2015) – while Android’s share stands at a happy 53.54% (a rise of over 6% since the start of the year). On the revenue front though, it’s an entirely different story – with iOS users about 4 times more likely to spend on in-app purchases than owners of Android devices. The success story of iOS in China has also bolstered the revenue figures for developers from Apple App Store to about 70% higher than that from Google Play Store. An app customized for iOS 8/iOS 9 has potentially higher earning potential, while an Android application is likely to have much higher outreach. Unless an app has different versions optimized for the two platforms, it won’t perform as intended on at least one of the two platforms.
  7. Use of simulators during testing – Yet another factor that indicates that the app development process for iOS and Android cannot be exactly similar. While iPhone app developers can easily rely on the available device simulators available in Xcode, the Android emulators are, by common consensus, not as reliable. As a result, testing on actual devices (beta testing) becomes more important for Android apps. The schedule and stages of testing iOS and Android apps have to be, hence, different. Incidentally, the Android platform is also prone to more malware attack (the prime reason for this is its overwhelmingly large market share) than Apple iOS.
  8. Developer profiles and preferences vary – An Apple Developer, who has worked with OS X and iOS and has probably started making WatchKit apps too might have little or no interest in developing for the Android platform. On the other hand, Google developers might have similar biases, although Android development involves greater use of cross-platform app-making tools and resources. Asking either of the two groups of mobile app developers to clone their apps for a platform they are not interested/do not have relevant experience in would be a folly.
  9. Good native apps cannot be made with cross-platform tools – Native applications (for either iOS or Android) rank very high in terms of both stability and scalability. Using a cross-platform tool to churn out identical versions of the same app for both the platforms is likely to compromise these factors – as well as have an adverse effect on the user-experience (according to most Android and iPhone app developers, this is THE most important factor). Instead of unnecessarily leaning on the various cross platform SDKs, more attention should be placed on platform-specific development rules and design guidelines, while making native apps.
  10. Access to core features of the platforms – With the arrival of iOS 9 and Android 6.0 Marshmallow, one thing has become fairly clear – Android app development professionals will have far greater access to the core features of the platform (probably compromising on the user-privacy factor to some extent) than those making apps for iOS devices. This opens up certain opportunities for Android developers that Apple does not yet allow to its developers.
  11. App rotations have to be handled differently – When an iPhone or an iPad is rotated, the app rotation is mostly managed by the platform – with developers having to include minor additions in the code for the purpose. Conversely, when an app is rotated on an Android device, one set of stack views is terminated, and a fresh set has to be created. It should be pretty clear for even new app developers that a clone of iOS app will not rotate optimally on an Android-powered handset.
  12. User-navigation on devices – For all its move towards greater customization, the dedicated hardware ‘Home’ button remains a signature feature of iOS handsets. Navigation is a lot more customized on Android phones, thanks to the series of device buttons that facilitate browsing through installed and default apps. The fingerprint authentication system (a new arrival on the latest Android version) setup and architecture also varies across iOS and Android devices. The way in which apps are accessed and used are different, why should developers be bothered about churning out the EXACT SAME software?
  13. Device loyalty is higher among Apple device owners – Around 8 out of every 10 iPhone owners at present had older iPhone models. Surveys have revealed that device satisfaction among iPhone-users hover around the 65% mark – quite a bit higher than the 50% (approximate) figure among Android-users. This factor, in turn, sheds light on the greater app branding opportunities available to an Apple app developer. If the different versions of an app are mere clones, this opportunity is lost. Apple itself is well-aware of the user-loyalty factor, and its very first Android app (launched in mid-September) was ‘Move to iOS’.
  14. Using the latest features of the OS-es – An iOS developer essentially builds for the iPhone and the iPad – and (s)he can use the latest features, plugins and other developer resources of the newest iteration of the OS. Things are not that simple in the Android ecosystem, due to the extreme fragmentation in the rollout of the latest platform versions. Android 6.0 has arrived with an impressive array of new APIs for developers – but there’s no certainty over when the different vendors and devices will receive the update. Hence, it is not always possible for Android app makers to take full advantage of the latest resources of the platform.

 

iOS apps need to have tighter security features than Android applications (security is one of the USPs of Apple). Until the time Android Pay becomes as popular as Apple Pay, mobile payments will remain more frequent via iPhones. The app approval process is also more rigid at the App Store than at the Play Store. App developers need to respect the differences between the two platforms, and customize versions of their apps accordingly. Simply making an app for one platform and releasing a clone for the other is never going to be a successful strategy.

 

 

iOS 9 vs Android 6.0 Marshmallow: The Big Fight Continues

Thanks to the immense initial popularity of the iPhone 6S/6S Plus, the adoption rate of iOS 9 is pushing 60%, all within less than a month of its launch. According to an official release, this is easily the quickest adoption rate among new mobile platform versions. Google, on its part, has also been active – releasing the big rival of the new Apple platform, Android 6.0 Marshmallow. Many mobile software and app developers feel that the two platforms are increasing getting similar to each other. In today’s discussion, we will do a roundup of the iOS 9 vs Android 6.0 Marshmallow debate – and try to find which of the two has the edge:

 

  1. The security factor – High-end privacy and security have always been a hallmark of the Apple iOS platform. With iOS 9, user-security has received further boosts – with information stored with Siri (the digital assistant) not being linked to Apple or any other third-party sources in any way. This, in turn, practically rules out any chance of unauthorized access of personal data. The Android 6.0 platform has been armed with hardware encryption features as well, to protect user-data. There remains some doubt over its functionality across the huge range of Android devices that are currently available. iOS 9 would win this round by a whisker.
  2. The availability factor23.5%. That was the adoption rate of Android 5.0 Lollipop after the first week of October 2015. Over the years, there has always been a cloud of uncertainty over when and how updated Android versions would become available to different versions – and Marshmallow is going to be no different. Nexus 6P and Nexus 5X were the two handsets it debuted on, and the version will be gradually rolled out to other devices (Samsung, HTC and Sony are the ones likely to get it first – although no specific date has been specified). iOS 9, on the other hand, presents no such uncertainty. It was launched on the new iPhone 6S/6S Plus – and has taken all of three days to overtake the adoption rate of Android Lollipop.
  3. Compatibility with older devices – Professional device analysts and Apple app developers have confirmed that the iOS 9 platform extends back-end compatibility till the iPhone 4S (which hit the markets way back in October 2011). Android Marshmallow is not likely to be available on handsets that are more than a couple of years old (and that’s also an optimistic view). This factor can be countered by saying that not all Android-users are interested in getting the new update – but that number is small, and support for older devices is always an advantage.
  4. Personalization options – From iOS 8, Apple has been making major strides in providing users a more customized mobile experience – but Android still rules the personalization game by a distance. Right from swapping the positions of the default home screen apps, to adding a calendar view – all of these are easily possible on Android 6.0 devices (and not on the latest iPhones, although widgets can now be moved to the Notification Center). The greater customization features of Android phones has another implication as well – Android app developers get greater access of the core features of the platform than their iOS counterparts.
  5. The design factor – Not much to choose between iOS 9 and Android 6.0 Marshmallow – unless we move over to the tablet views that they offer. General users as well as iPhone app development experts agree that the ‘Slide Over’ and the ‘Split View’ features of iOS 9 give it a distinct edge over its competitor. Otherwise, Google’s Material Design appears almost similar to the layout of iOS 9 phones, with the card-based stylization of the Android platform putting it at par with the smart elegance of the new iPhone screens. Neither Apple nor Google has tweaked the visual features of their latest mobile platforms in a big way – and that, for better or for worse, shows.
  6. Siri vs Google Now – For some time now, Google Now has had the edge over Siri – in terms of accuracy and reliability (of course, Siri has the humor factor going for it, and for in-app information, it is excellent). Both the mobile digital assistants, in their latest iterations, are focusing on contextual information providing, via data mining. The ‘Proactive’ feature of Siri helps it ‘understand’ what the user is viewing onscreen, and interpret queries accordingly. If anything, the new Google Now On Tap does this even better – both for gathering information from the web as well as from the device. It also cuts down on the number of taps users have to make. Those who make mobile apps feel that the revamped Google Now offers more access within Android apps, than the new Siri does for iOS 9 applications. Apple’s new digital assistant is a smart baby, but Google Now still leads the way.
  7. Mobile payments and Cloud support – It’s a tie between the two platforms regarding cloud-based functionality and secure mobile payment support. Both of them has near-field communication (NFC), with Apple Pay and Android Pay each having a long line-up of leading retailers that have pledged support for them. iCloud Drive on iOS 9 and Google Drive on Android 6.0 Marshmallow are pretty much the same in terms of usability too (the former, like Google Drive, now has a separate app for browsing documents stored in devices). Android did get NFC earlier and had the better cloud support earlier – but now there isn’t much to pick between the two.
  8. Collaboration with third-party gadgetsEasy on Android 6.0, close to impossible on iOS 9. The extensive cloud support of Google makes it easy for even iPhone users to download and install its apps (something that would please Google and make Apple frown). Extending tasks from Android handsets to Chrome is also a breeze. Many iPhone app developers feel that with iOS 9, Apple could have given users the option to simultaneously use iPhone/iPad with external hardware (i.e., those not in the Apple ecosystem). The Cupertino company does not quite give users full freedom yet – this side of the fence is still mostly proprietary.
  9. Native applications on the two platforms – Much like the availability of the platforms themselves, updates on native iOS apps are a lot more certain than on Android applications. The stock applications on iPhones/iPads get updated as and when new versions of the iOS platform are released – while there is no such correlation between Android versions and updates on native Android apps. On the flipside though, for users wishing to perform iOS 9 jailbreak – the regular upgrade of native apps might emerge as a problem.
  10. Maps and Photos – Android Marshmallow should be ranked a notch higher than Apple iOS 9 on this count. There is a lot to be said in favour of the revamped iCloud Photo Library, but the general consensus is that, it still has some catching up to do, to match the built-in Photos app of Android 6.0 (which, incidentally, is available on both the platforms). Regarding maps, it is again the same story – with Apple Maps, with its extensive public transit information, improving significantly but still not being as reliable as Google Maps. Tim Cook and his men have an opening for further improvement here.
  11. The move towards oneness – The way things are going, it won’t be a surprise if the entire iOS vs Android debate becomes redundant after a few years. Previews of iOS 9 and Android Marshmallow have confirmed the belief of mobile app developers worldwide that the two platforms have grown a strong resemblance (visually and feature-wise) with each other. For instance, the new Apple platform has makeshift ‘Back’ button as well as a battery saving mode – things that Android already had (the ‘Doze’ feature on Marshmallow is particularly handy). It’s not that iOS is the only one striving to become like Android though – the latter has picked up app permissions architecture and fingerprint recognition support from Apple. Telling apart the two platforms is going to be increasingly difficult in future…that’s pretty much certain!
  12. For developers: iOS or Android? – Professionals from most leading mobile app companies release iOS and Android versions of their new applications simultaneously. This trend will remain with the latest versions of respective platforms (although Android developers will get greater integrated access to systems, than what iPhone developers will get). However, for startups – iOS will stay as the preferred version – simply due to the complexity involved in coding for the vast range of Android devices. iOS app developers have to optimize apps for iPhone, iPad and maybe Apple Watch – Android coders have a much larger array of vendors and devices to consider.

 

It has been two weeks since the release of iOS 9.1, which irons out many of the initial bugs that the initial release had (like poor screen responsiveness and unreliable wifi connectivity). It is pretty much clear that iOS and Android have borrowed features from each other to become smarter, more efficient and user-friendly. The big problem with Android is the fragmentation of roll out of the new platforms – if and when that gets sorted out, the fight will become all the more close.

 

iOS 9 or Android 6.0 Marshmallow – which of the two do you feel will be more successful?

 

 

You Know You Have Found A Good Mobile App Developer When…

According to a recent survey, there are close to 2.4 million mobile app developers (indie developers and professionals from companies combined) worldwide. This whopping figure is often a double-edged sword for people looking to make an app – since all developers are not (understandably) equally good, in terms of professional skill, experience, and even business sincerity. You will know that you have managed to come across a proficient app developer when:

 

  1. (S)he knows all about programming – For instance, an iPhone app development expert should have working knowledge of all the popular programming languages – before (s)he starts working with Objective-C and Swift 2.1 (his/her niche). If you get stuck with a bad programmer, your app might not see the light of day…ever!
  2. (S)he has ample RELEVANT experience – The keyword is ‘relevant’ over here. A person might have a decade of experience of making software for the Android platform – but delegating your iOS app project to him/her would be a folly. Look around for developers who have sufficient experience in handling app development projects similar to your own.
  3. (S)he is prompt in response – When you shortlist a few app companies and request for free app quotes from them – the last thing you want is having to wait for weeks before they get back to you. A company or a freelance app developer who responds to initial client queries within 24-48 hours (max.) is always preferable.
  4. (S)he has in-depth market knowledge – You spend days and weeks to nurture your app idea – the idea that you think is the most unique in the world. An experienced mobile app entrepreneur might, however, be able to point out that similar apps already exist at the stores. A developer worth his/her salt will always know whether a market gap exists where a particular app idea can fit in. Such a professional would never jump at making ‘me-too’ app projects – which are likely to be overlooked.
  5. (S)he stays updated with the latest mobile technology – iOS 9 is out, watchOS 2 is out, tvOS is out, Android 6.0 Marshmallow is out. New versions of the integrated development environments (IDEs) of both Apple and Google Android have been made available to developers as well. Stay well away from app-makers who do not have proper knowledge of the latest development tools, techniques and resources. If the knowledge-pool of a developer is static, the stuff (s)he churns out would be static as well.
  6. (S)he is not vague about anything – If the representatives of a mobile app company says that they will complete your project ‘very quickly’, or ‘as soon as possible’, run a mile from it. What you want is a specific deadline within which your project will be complete (this is particularly important as app development cycles are getting shorter). The same goes for the app development costs. Read the fine print, and if anything seems ambiguous, ask questions.
  7. (S)he has, and can prove, professional track record – Any random indie developer can say that (s)he has developed ‘X’ number of iOS or Android applications. However, only a genuine professional or app development company will actually be able to prove these claims. Never shy away from asking references of the previous clients of a developer company. If the latter is indeed good, it would be only too happy to provide you with such details.
  8. (S)he thinks from the user’s’ perspective – A great coder need not necessarily be a good mobile app developer. Newbies, in particular, have a tendency to try to showcase their coding expertise – and often end up making apps that are overly complicated and unusable. Always hire a developer who appreciates the fact that – if an app is not user-friendly, it is practically worthless. The ability of thinking from the perspective of target users is an important quality. Think of it this way – if a mobile app for kids cannot be operated by children on their own, of what use is it?
  9. (S)he is creative and systematic – Before you delegate your app project to a developer, inquire about how his/her team would be proceeding with the task. An expert app-maker will invariably show you a flowchart of how the development process would proceed – and how (s)he plans to meet the pre-specified deadline. In addition, find out what creative inputs the developer can add to your idea. Coding for apps is sheer drudgery for many people – you certainly do not want to end up hiring one of them!
  10. (S)he is receptive to feedback and suggestions – Even if you do not have the first idea about wireframing and creating app mockups, the process of making mobile applications should not be a veritable ‘black box’ to you. A bit of research will help you find many app companies, who regularly seek ideas, feedback and suggestions from their clients. Hiring such a company would be the best bet – if you want to transform your idea into an app in the way you want.
  11. (S)he does not demand hefty advance payments – Mobile app development is a specialized field of expertise, and a good developer would always know his/her worth. That, however, does not give the license to any company or freelance app developer to charge the entire fee (or a large chunk of it, anyway) in advance. There should be a proper payment schedule – with pre-determined percentages of the overall charge to be paid at different stages of the development process. Avoid making full payments before your app is complete.
  12. (S)he knows how to communicate – The relationship between an app developer and a client is one of mutual trust and understanding. That can easily break down if the former is unable – or is not willing to – communicate with you at regular intervals, providing updates and status reports on your project. From the first couple of email/telephonic interactions, you will get an idea regarding the communication skills of a mobile app professional. If things don’t seem suitable, look for another company.
  13. (S)he respects the intellectual property rights of the app owner – An Android or iPhone app developer is a hired professional working on your idea – nothing more, nothing less. At all points, you retain the ownership and all other intellectual property rights related to your app idea. Many app companies agree to sign non-competing documents at the time of providing app quotes. That’s a sign that there won’t be any intellectual property-related hassles in future.
  14. (S)he does not try to double up as the designer – There are two alternative scenarios here. First, if you have hired a freelance developer, (s)he should be collaborating with a professional graphic designer – while creating the interface and layout of your app. On the other hand, if you wish to do business with an app agency, make sure that it has separate personnel in charge of UI/UX designing, motion graphics and animation. Coding and designing are two entirely different, specialized fields – and different individuals/teams should be handling the two tasks.
  15. (S)he does not charge extra for app upgrades – For an app to enjoy sustained success (read: high download figures), it needs to have new versions coming out at regular intervals, with new features, bug fixes, additional platform support, etc. A developer is not supposed to charge you any extra amount of money for creating and releasing such upgrades. Get things clarified regarding this at the very outset.

 

A good mobile app developer would also be very particular about testing applications (on simulators and devices), before submitting them at stores. If you wish to create a mobile game, look for specialized game development experts – instead of general app developers. Making a mobile app becomes a lot simpler, safer and assured – when you have a good developer working for you.

Xcode 7 for iOS App Developers: What’s New?

Best features of xcode 7

 

Within a month of its release, the latest iteration of Apple’s integrated development environment – Xcode 7 – has received the thumbs-up from mobile software and app developers worldwide. Last week, Xcode 7.1 was made available (after 6 beta releases), with extended support for tvOS. In what follows, we will highlight some of the best new features in Xcode 7 for iPhone app development professionals:

 

  1. More robust support for Swift programming – Xcode 7 has a built-in ‘Swift 1.2 to 2.0’ migrator – making the task of upgrading source codes and programs a breeze for developers. The need for making all internal routines public for testing has also been done away with, thanks to the superior testability features of the framework (writing tests in Swift 2 for iOS apps can be done with ‘@testable import {ModuleName}’. Code reusability also gets a boost in Xcode 7, with developers being provided the option to add methods and properties to any particular protocol in their source codes.
  2. Smarter app testing – The all-new ‘Code Coverage’ feature in the latest Xcode version is a really handy addition for iOS app development experts. Small icons are displayed next to the blocks of code that are being tested, which helps coders to write tests for the blocks that have not been checked yet. The entire process of testing apps becomes more systematic, and chances of bugs remaining undetected get minimized.
  3. Testing apps on own devices – Staying with the topic of app testing for the moment – mobile app developers are surely liking this new option that Xcode 7 offers. No longer do they have to shell out an annual fee of $99 to test their applications on their own devices. In Xcode 7, all that developers have to do is sign in with their valid Apple IDs – and create, tweak around, and test their apps (that’s right, the paid Program Membership is no longer required). More power to iOS developers!
  4. Storyboarding gets a lot simpler – The new Xcode 7 framework allows professionals making iOS apps to create one main storyboard file, and store all the separate storyboards and view controller layouts directly linked to it. This, in essence, means allowing developers to work on only the relevant layout(s) at any time – without any chance of getting confused by other layouts (which can be the case in big storyboard files). What’s more, storyboarding in Xcode 7 also supports live rendering, offering coders a useful early preview of the visual features they wish to bake into their apps.
  5. Optimized for multiple platforms – As any Apple app developer would agree, one size definitely does not fit all – when it comes to making applications with Xcode. Xcode 7 includes SDKs for iOS 9, watchOS 2 and OS X 10.11 (El Capitan), and thankfully, the framework has several built-in ‘App Thinning’ tools to help developers churn out apps optimized for the different platforms. The ‘Slicing’ feature is worth a separate mention here – since it allows automated tagging of apps at the App Store, according to the targeted devices for each application. The new ‘Bitcode’ feature in Xcode 7, which allows prompt compilation of app codes into immediate representations, is yet another interesting addition. For applications that require additional content/resources after download, Xcode 7 also has a repository of ‘On Demand Resources’. The downloading and installation process of such resources is asynchronous.
  6. Stack Views in Interface Builder – Interface Builder, or IB, is a smart way of giving greater real-time control to iOS app developers than ever before. By adding Stack Views on the IB in Xcode 7, app developers can get two major advantages – firstly, collections of views can be seamlessly grouped together, resulting in greater code consistency and lesser error risks; and secondly, including all the required constraints also becomes considerably simpler. Since Interface Builder creates a single interface for all orientations and has cross-device support (including Storyboard referencing and the new iPad multitasking), the actual development cycle becomes shorter too.
  7. Test Navigator – As is already pretty much clear, Xcode 7 takes up the level of test-driven development by a couple of notches. The built-in ‘Test Navigator’ in this version of Apple’s IDE is a further proof of this. In the paired editors, the app codes and the written tests can be aligned side-by-side, allowing coders to work on them simultaneously. User Interface Testing (UI Testing) has also been made more comprehensive in the new Xcode version, with the help of the bots that are present on the Xcode server.
  8. Energy usage insights – Although slightly underrated, this feature, when used smartly, can offer valuable information to iOS developers. The ‘Energy Gauge’ for apps in Xcode 7 is a powerful addition in the overall code debugging setup in the framework. With the gauge, developers can monitor and detect how their apps are likely to affect the battery life of the devices they would be installed in. Abnormal spikes in the energy consumption of an app indicate that it would be a battery/bandwidth hog – and coders get an early chance to resolve this issue. In the Xcode build scheme, the ‘Address Sanitizer’ is also a debugging tool that deserves a mention.
  9. Newer, better Playgrounds – The ‘Playgrounds’ in Xcode 7 have a less cluttered feel than the ones in its predecessors. All the markups added to comments are displayed nicely, while the in-line placement of results makes for easier, quicker interpretation. Adding separate playgrounds to app projects is a breeze too – and it serves a range of functions, right from demonstrating the features of app codes, to showcasing how the APIs have been utilized in programs. The revamped Playgrounds also support all .swift files, and are ideal for creating and maintaining documentation while making an app.
  10. Updated support for Objective-C – Even as Swift has taken flight, professional iOS developers have maintained that it is not going to replace Objective-C anytime soon. Xcode 7, in fact, makes it easier to integrate Obj-C and Xcode, while working on app projects. With the ‘Nullability Annotation’ functionality, values (nil or otherwise) can be indicated directly from the source of the Objective-C code. Special ‘type information’ (particularly important when an app developer is migrating code from Obj-C to Swift) can be added to many classes, like NSDictionary, NSArray and NSSet. In place of the hard-coded explicit classes, coders can now work with more flexible constraints – by specifying objects as ‘_kindof’ types.
  11. Metal comes to Xcode – Xcode 7 is geared to be an absolute delight for developers of iOS games. New debugging tools have been built into the IDE, to support Metal – which is now supported on the Mac OS X platform. Rich and immersive scene editing is made possible (on a 3D immersive level), with the help of the impressive ‘Level Editor’ in SceneKit. Add the SpriteKit editors that allow developers to define and edit animations with events and timelines – and you get a perfect framework for mobile game development indeed. Xcode 7 focuses on creativity, and does a good job of it.
  12. More informative crash logs – And what’s more, these crash logs can be downloaded directly in Xcode 7. When an iPhone app developer clicks on the ‘Crashes’ tab in the ‘Organizer’ window, (s)he can view lists of all the crashes his/her applications have generated – along with their frequencies, and the portion of the codes that is causing these crashes. This, understandably, makes problem identification and app debugging a simpler task. Xcode 7 also supports TestFlight beta testing, which lets coders share their apps with target users, and get feedback on crashes.

 

The XCTest framework of Xcode has been bolstered with the UI Testing features of Xcode 7. Specific code snippets can be moved out of a Playground, by using the new ‘Auxiliary Sources’. Xcode 7.1 has arrived with a bundle of additional features – from tvOS support and Swift 2.1 integration, to storyboarding for 3D Touch and 2-factor authentication (apart from, of course, iOS 9.1 support). Xcode 7 is probably the most developer-friendly IDE released by Apple to date, and coders are relishing the challenge of making apps in this framework with the Swift 2 programming language.

12+1 Handy Tips For iPhone App Developers

These are exciting times for professional developers who are into creating apps for the iOS platform. The iOS 9 platform has been launched, along with Swift 2 and, of course, Xcode 7. If you wish to make apps for Apple Watch – there’s news for you too, for the watchOS 2 platform is already gaining in popularity among developers worldwide. It would be a folly to assume that simply jumping on the iOS development bandwagon would generate hefty profits though – for there are well over 272000 iPhone app developers worldwide – and the competition is, and will remain, fierce. Here are a few useful tips that would make coding for iOS 9 apps that much easier:

 

  1. Declare Constraints in the new way – The new Apple mobile platform has made declaring constraints much simpler – thanks to the developer-friendly ‘NSLayoutAnchor’ API. For the X and the Y axes, there are different subclasses in the new API, which also optimizes the generics present in Objective-C and Swift programming languages. For ensuring the validity of the constraints, the built-in type checkers of the API are used (the checking process is static).With the lack of warnings, debugging was a lot more complicated earlier – and iOS 9 is a welcome relief from all that.
  2. Do not forget 3D Touch – If you do, you will virtually be passing up a chance to add that additional touch of realism and excitement to your 3D gaming apps. 3D Touch is one of the most interesting new features in the newly-released iPhone 6S – and it opens up the opportunity for mobile app developers to customize their applications in a smarter, more user-friendly, and engaging manner. Integrating this feature in apps is fairly easy, and 3D Touch can (in fact, should!) be used for sketching or drawing-based apps too.
  3. Take advantage of the new multitasking features – This is particularly important if you are planning to make apps for the iPad Pro (which, incidentally, arrives in November). You need to make sure of two things: firstly, find out whether your app remains properly visible in split-screen view. Also, users should be able to minimize your app (particularly important for, say, music playing apps) without any hitch. Split-screen multitasking will enhance app-using experience for iPad owners – your apps have to be tailormade for such usage.
  4. Be aware of the App Transport Security requirements – App Transport Security, or ATS, is yet another new feature that the iOS 9 platform has come with. A common mistake that many iPhone app developers can make is disabling ATS for all domains. This might seem to be the way to go if you are working on an app that is supposed to load random URLs – but keep in mind that all iOS apps are currently required to be HTTPS. It would be advisable to first set the value of ‘NSAllowsArbitrayLoads’ to YES, and then, activate ATS for certain selected domains. Spend some time on learning how to handle the ‘NSExceptionsDomains’ key, and you will be able to do this selective activation of App Transport Security with ease.
  5. Make your apps proactive – The new iPhones have the Proactive feature, so why not make your apps ‘learn’ from user-behaviour as well? Experts from the field of iPhone app development highlight the importance of tracking and monitoring app analytics, understanding the insights, and creating apps that are more ‘responsive’ – that ‘know’ what a particular user’s preferences are. It’s all about providing an immersive, intelligent user-experience.
  6. Factor in iOS 9’s searchability – The metadata in iOS 9 allows for enhanced search features, and offers deep linking options as well. For applications with plenty of searchable content, developers need to work with the innovative Core Spotlight framework. To make sure that your new mobile application remains fully compatible with Proactive and Handoff systems, integrating the ‘NSUserActivity’ support is an absolute must. On iOS 9 devices, apps are discoverable in Spotlight search – and if your app has search-compatible features, it might get automatically suggested to new users.
  7. And then, there’s watchOS 2 – Okay, let’s take a breather from iOS 9, and turn our attentions to WatchKit app development. The new watchOS 2 platform allows Apple developers to create apps, whose main logic resides within Apple Watch. Do some research on the all-new ‘Complications’ feature of the smartwatch (which will be probably of more importance to developers than ‘Glances’ or general ‘Notifications’). A lot more can be done with watchOS 2 than it was ever possible with the old WatchKit extension. Learn how to use Watch Connectivity resource, and start making better Watch apps!
  8. Move away from iOS 7 (gradually though) – iOS 8 has overcome its initial hiccups, and currently has an adoption rate of around 42%. More remarkably, iOS 9 is already present on over 50% devices. The focus of iPhone app developers has to be on making apps for these two platforms – and gradually drop the support for iOS 7 (and older) versions of the platform. Of course, there are popular open source libraries like ‘TZStackView’ and ‘PSTAlertController’ – which you can use for backporting your apps for the time being. You will ultimately have to start using ‘UIStackView’ and ‘UIAlertController’, for layouts and presenting action sheets with view controllers respectively. The former is only for the iOS 9 platform, while the latter works on iOS 8 and iOS 9.
  9. Swift is the ‘next big’ programming language – That is, if it isn’t already. The recently released Swift 2 comes with a wide range of coder-friendly additions. The ‘try/catch’ method of programming that Swift 2 supports ensures that the error-finding process is exhaustive. The ‘guard’ keyword, on the other hand, does away with the need for the manual unwrapping of variables (which is often necessary when coders need to exit variables whose values are nil). The ‘defer’ keyword is another helpful addition, while the revamped measuring strings make things easier, particularly for new iOS app developers.
  10. Don’t make your app a battery hog – This one is pretty much a no-brainer – but it is worth making a separate mention about this in the context of iOS 9 app development. A high point of Apple’s much-awaited mobile platform is its ‘low power mode’ – that allows users to squeeze out that bit more battery juice from their iDevices. During the mobile app testing phase, make sure that your application(s) do not cause excessive battery drain. Smartphone users are, understandably, concerned about the battery performance of their handsets, and they are certain to stay away from battery-killing software.
  11. Option of creating ‘view-like’ objects – Among the several new classes available to developers making apps for iOS 9 platform, ‘NSLayoutGuide’ and ‘UILayout Guide’ are extremely important. With these, you can entirely do away with the requirement of viewing screens extraneously. The Auto Layout constraint solver gets new ‘view-like’ objects – and working with the two classes together is a much simpler exercise than having to make empty views and then declaring constraints.
  12. Use the Storyboard Reference – If you have been making apps for iPhone for any significant amount of time, you are probably already aware of the messy merge conflicts that often crop up during storyboarding. The new iOS version offers a nice alternative to the old cross-storyboard technique of dividing the app user-interface (UI) into small storyboards. The ‘Storyboard Reference’ method, present in Xcode 7 and iOS 9, facilitates the merging of files, while retaining a single-storyboard navigation system. You can even remove some redundant code, in case you are working with several storyboards.  

 

FINALLY, iOS 9 is out, Xcode 7 is already being used by the iPhone app developed community worldwide, there is considerable buzz about CloudKit – but one rule of thumb remains same. While submitting your app at the Apple Store, use crisp, detailed screenshots (that provide a clear idea of the nature/purpose of the app), and describe the application properly. Be careful while choosing the name of the app as well. What you might think to be unique can already have been used by other developers!

 

Working with the new Xcode version, with Swift 2, for the iOS 9 and watchOS 2 platforms is certainly a challenge every Apple developer worth his/her salt is looking forward to. Follow the above tips, and start churning out nice, user-friendly, successful apps.

 

 

Top 10 Mobile App Trends To Look Out For In 2016

If the decade of the 2010’s was to be ever rechristened, ‘mobile app revolution decade’ would be a fairly appropriate name for it. This year, the average number of apps submitted by developers at the Apple App Store has consistently been above the 1000-per-day count, with the peak coming in May (1798 apps submitted per day; 53942 total submissions). Couple that with the fact that the total number of smartphone users worldwide is projected to go beyond 2.15 billion in 2016 – an annual spike of almost 13% – and the growth potential in the domain of mobile app development becomes all the more evident. As we step into the last quarter of the year, this would be a good time to take stock of some interesting mobile app trends to look out for in 2016:

 

  • Security takes centerstage – Before the start of 2015, a Gartner report had forecasted that 3 out of every 4 mobile applications will fail basic security tests. This is an issue that developers have strived to address throughout the year – and the focus will remain in 2016 as well. As is the norm with Apple, its new iOS 9 platform has high-end security features – while Google Android 6.0 Marshmallow would also be beefing up its security protocols. With apps increasingly storing highly sensitive personal information (the growing popularity of NFC payments is a classic example), developers simply cannot afford to gloss over security gaps in their applications.
  • Apps for Apple Watch – Google Glass might have come and gone, but interest in wearable technology will remain unabated – thanks to the burgeoning success of Apple Watch. The launch of watchOS 2 (at this year’s WWDC) has significantly upped the challenge for WatchKit developers. The trend will move on, from making app extensions for watch, to applications whose logic resides in the wearable device (fully native apps for Apple Watch are, however, still some way off). A month ago, the total app-count for Watch had hit 10000 – and the figure should at least treble by the end of the second quarter of 2016.
  • Rise of the free apps – At present, around 75% of all apps are free, and according to Gartner, this figure should rise to 93% by the end of next year. The key revenue driver for both Android and iOS app developers will be in-app purchases, and the total number of mobile apps will move very close to 310 billion. Interestingly, hybrid apps (or mobile web apps) are likely to grow in popularity. It remains to be seen how much of that actually occurs.
  • Importance of cloud-based development – Experts from the field of mobile app development predict that cloud-based applications will rule the roost in 2016 and beyond. The reasons for this is two-fold: firstly, cloud-support will allow developers to keep the actual size of applications small (thereby managing prospective memory/bandwidth issues). Also, cloud compatibility will allow people to sync their applications across multiple smart devices. Cross-functionality between iOS and OS X on one hand, and Android and PCs (albeit to a lesser extent) is growing – and this has got a lot to do with increase in importance of cloud-based apps.
  • Apps will be all about user-experience – And this is precisely the reason why developers will have to constantly analyse big mobile analytics data. From the tiny display of Apple Watch, to the steadily increasing screen sizes of the latest iPhones and Android handsets (smartphones and phablets) – an app needs to retain its efficiency and functionality across all devices. This, in turn, infers that cross-platform app development will become more critical than ever in 2016 – and developers proficient in that will have more chances of success.
  • Coding for iOS apps to become more ‘Swift’ – Craig Federighi, the software engineering senior VP at Apple, feels that Swift is the ‘next big programming language’ – and there is not much room for doubting this. For starters, iPhone app developers confirm that using the new language is a lot easier than working with Objective-C, which comes with the entire legacy of the C language. What’s more, Swift 2 has been released with a host of new, developer-friendly features – right from error handling to protocol extensions. Developers should still have a working knowledge of Obj-C before jumping on the Swift bandwagon, but this new language is here to stay.
  • Shorter app development cycles – As the competition grows, mobile app companies will start focusing on rapid development – which, in essence, means shortening the ‘ideas-to-apps’ development cycle. Technologies like ‘just-in-time’ (JIT) will grow in popularity, along with rapid iterations and a ‘Quick-To-Market’ approach to development (without, of course, compromising on the quality of apps in any way). A quicker app development timeframe will allow companies to survive in this fiercely competitive domain. The absence of delays will please clients too.
  • Enterprise apps to soar over consumer apps – By 2016, around 35% of all big enterprises are likely to have their very own app development platforms. Third-party enterprise app developers stand to gain in such a scenario. In fact, at present over 42% enterprise developers boast of a monthly revenue of $ 10000 (something that not even 1 out of 5 consumer app developers can claim). The gap is likely to grow wider over the next year – due to the unwillingness of average users to spend money on apps, and the readiness of enterprises to do so.
  • More apps will have location-based support – Platforms like Wi-Fi MX are coming up, to provide users with an array of localised services, like accurate shopping suggestions. Apple has already shown the way with iBeacons, and the iOS platform will provide greater opportunities for developers to continue making apps with smarter location support. It is also expected that Android will play the catch-up game well, and the number of applications in the Play Store with Wi-Fi support will grow at a rapid clip. What remains to be seen is how mobile app developers manage to come up with integrated location-based services in apps, without causing excessive battery drain on users’ devices.
  • Expenditure on app ads will rise – Like them or not, in-app advertisement will continue to be a major revenue-earner in 2016. The total spend on app advertising has crossed $7 billion this year, and this will only grow (at an even faster rate) over the next couple of years. Developers will have to focus on managing their ad networks so that: a) they get the maximum revenue benefits, and b) the ads do not hamper the app-experience of users in any way.

 

Although around 53% of all app developers are already involved in some form of ‘Internet of Things’ (IoT), the latter will be present in a big way in iOS and Android app development in the next year. Mobile-commerce applications (with built-in NFC capabilities) are also likely to come into vogue among users. The interest in mobile game development is also on an upward trend – owing to promising returns and handsome download figures. Developing mobile apps will become a $77 billion industry by 2016, and these trends will be the main drivers in this field over the next 12 to 18 months.

11 Key Highlights From Apple’s September 2015 Event

Few software and gadget-launch events in the world attract as much attention from general users and techies alike, as the annual September events of Apple Inc. The event, rather unfairly dubbed as the ‘iPhone 6S-launch event’ (for there were many other ‘monster announcements’ from the Cupertino company), was organized this year at the Bill Graham Civic Auditorium in San Francisco. While most of the announcements made at the event confirmed the speculations among the global software and mobile app development community, Tim Cook and his team sprung a couple of interesting surprises as well. Over here, we look back at some of the most important announcements at the very well-attended event:

 

  1. The 12.9″ iPad Pro arrives – The Apple CEO referred to it as the ‘biggest news in iPad since the iPad’ – and he could not have been more accurate. The 12.9” iPad Pro is billed to be a true breakthrough device from Apple, with the all-new A9X memory chip. According to hardware experts and app developers, the new iPad is likely to be around 80%-85% faster than the iPad Air 2 (the A9X chip is 1.8 times more efficient than the earlier A8X). Yet another high point of the iPad Pro is its screen resolution – which stands at a whopping 5.6 million pixels (2732×2048 display) – making it the Apple device with the highest resolution level. That’s right, it’s display is even crisper than the 15” Macbook Pro.
  2. More news on the iPad front – Apple might not admit it – but the flagging sales figures of the iPad is certainly a point of concern at the company. To set things right, the company has also released the iPad Mini 4 – a 7.9” inch device which is reported to be as efficient as the iPad Air 2. The new tablet is priced at $399, while the price of the older iPad Mini 2 has been slashed to $269. The iPad Pro, understandably, is a much more expensive gadget (the 32GB model costs $799, while $1099 has to be forked out for the 128 GB edition).
  3. iPhone 6S and 6S Plus are finally here – Continuing with its now-familiar ‘tic-tac’ strategy, Apple released the iPhone 6S and iPhone 6S Plus handsets – with a slew of new and interesting additional features. The 3D Touch feature, in particular, has found favour among iPhone app development experts worldwide. The improved camera specs (the front camera has been bumped up from 8MP to 12MP, while the rear camera is now a more-than-decent 5MP). While the screen sizes of the new phone and phablet is the same as the iPhone 6 and 6 Plus respectively (4.7” and 5.5”), the new A9 processor is likely to make it a significantly faster. The Ion-X glass display – similar to the one used in Apple Watch Sport – will add to the sturdiness of the handsets too. Preorders for iPhone 6S and 6S Plus have already started – and the response has been, predictably, big. The Rose Gold iPhone 6S Plus has, in fact, already sold out in Hong Kong!
  4. Apple Watch becomes more stylish and practical – At the September 9 event, it was also highlighted how Apple was planning to build on the success of its first foray into the domain of wearable technology – the Apple Watch. Jeff Williams, the senior VP of Operations, spoke about the series of new bands for Watch – focusing particularly on the Apple Watch Hermes collection. Three new leather bands have also been made available to users who prefer more customization in the appearance of the gadget. At the entry-level, Gold and Rose Gold editions of Watch are the most noteworthy additions (their prices are the same as the black aluminium and silver models). For WatchKit app developers, the new watchOS 2 platform opens up a wide range of possibilities. It was also announced that the Watch App Store already has in excess of 10000 applications.
  5. Smart Keyboard for the tablet – Phil Schiller did show off the built-in software keyboard of iPad Pro – but more interesting was the announcement of the ‘Smart Keyboard’ – one of the several accessories for the much-hyped tablet. Two points about the Smart Keyboard stand out – firstly it doubles up as a cover for the iPad Pro (think: Apple Smart Cover), and secondly, it can be used to make the tablet stand at various angles. The only question that remains is, will users other than hardcore Apple-fans be willing to shell out $169 for it?
  6. New operating system for Apple TV – Yes, there has been (finally) a new Apple TV as well, but more on that later. First, let us focus on tvOS – the exclusively app-based operating platform for the digital media player device. Jen Folse, the senior design producer at the Cupertino tech giant was in charge of displaying the features of tvOS, and a large number of leading television service providers – from HBO and Netflix, to Hulu, Showtime and Disney – have already pledged support to the platform. Most Apple software and app developers expect that the video streaming capabilities supported by tvOS will be truly cutting edge.
  7. All hail the Apple Pencil – There had been a buzz about the iPad Pro from months before the event – but hardly anyone had predicted that the device would be bringing back styluses (which were famously trashed by none other than Steve Jobs) in focus. With the announcement of Apple Pencil, a $99 stylus for the new tablet, Apple has indeed sprung a surprise. Pencil has been designed to take precision drawing to an altogether new level, and it can be used with a finger as well. The only bone of contention might be whether owners of older Apple tablets will be interested in buying Apple Pencil (most of them probably already have styluses) or not. The iPad Pro, together with Pencil and Smart Keyboard, ships in November – and before the year is out, we will have an idea about whether these two accessories are successful.
  8. The fourth-generation Apple TV – It has been long overdue, and at the September event, the fourth-gen Apple TV was finally announced. Displayed by Eddy Cue (Internet software and services VP at Apple), the new Apple TV has slightly larger physical dimensions than its predecessor. What’s more, the new video-streaming device (which will run on tvOS) will double up as an interactive gaming console as well. Crossy Road and Beat Sports were some of the games showcased on the new Apple TV – and it should only be a matter of time before third-party iOS app developers start making custom games for the device. The replacement of the slow A5 processor with the considerably faster A8 chip (64-bit) is yet another feature that should give Apple TV a boost.
  9. Siri Remote for Apple TV – The high-end Siri integration of the latest iteration of Apple TV has been a major talking point among all Apple-enthusiasts. The innovatively designed remote is black in colour and its upper portion is a glass touch surface – for easier swiping gestures. The Siri Remote can be voice-controlled as well – with the digital assistant being smart enough to understand and carry out very specific commands (for instance, a particular episode of a sitcom with a certain celebrity in it). The search capabilities of Siri include all app information for the device, and the remote also boasts of a gyroscope and an accelerometer (not to mention the advanced volume control options). Tim Cook stated that the ‘future of TV is apps’ during the event, and the 4th gen Apple TV is an example of how television-viewing experience is likely to be in future.
  10. Live Photos on the new iPhones – This feature merits a separate mention. Not only have the camera features of iPhone 6 and 6 Plus been improved upon in the ‘S’-upgrades – a new functionality, called ‘Live Photos’, has also been included. Whenever a picture will be taken, the device would record a 90-second video before and after the actual photo. That, in turn, will bring a feel of continuity to each photo that users click. No more staring at still photos!
  11. Apple Music app on Apple TV – There has not been much noise about Apple Music since its launch earlier this year – but things are set to change soon. The new Apple TV will have the Music app, providing users with a vast range of options – right from creating custom music libraries and playlists, to checking out the Beats One radio services. Apple Music on the media player device will function in the same manner as its Mac and iOS version does.

 

Split-screen multitasking will be one of the best features about the iPad Pro, running on iOS 9 – the new mobile platform from Apple (final release scheduled on September 16). The memory space (RAM) of the new line of phones has also been pulled up – to 2GB for iPhone 6S/6S Plus and 4 GB for iPad Pro. By the end of 2015, it has been projected that the new iDevices will be available in 130+ countries. OS X 10.11 (El Capitan) will also be releasing this fall.

 

Last year, Tim Cook’s ‘one more thing’ created a lot of ripples – for it was all about Apple Watch, the company’s very first wearable device. This time, there was no such surprise final announcement – and the event drew to a close with a lively performance from rock band One Republic. Over the next few months, it will be fascinating to see how well (or otherwise) the new Apple gadgets find acceptance among users, and how iOS app developers gear up for making apps for the iOS 9, tvOS and watchOS 2 platforms.