Monthly Archives: May 2015

iOS App Submission Guidelines: A 16-Point Checklist

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Latest posts by Hussain Fakhruddin (see all)

Every quarter, a significant percentage of the total number of apps submitted at the Apple Store gets rejected. In what follows, we have highlighted some important points that would boost the chances of an app being approved.

 

Unlike at the Google Play Store, getting new apps approved at the Apple App Store can be just a trifle tricky. Developers need to follow a host of terms and guidelines, while creating applications and submitting them at the store. Although the Cupertino company does not release any official figure regarding the volume/percentage of the total volume of rejected apps, 58% of all rejections can be attributed to ten rather common factors (or mistakes, from the point of view of developers). Here’s a checklist of key store review guidelines that need to be followed, to maximize the chances of an iOS app going from ‘In Review’ to ‘Ready For Sale’:

 

  1. Test your apps. Thoroughly – Apple takes the issue of app bugginess very seriously. According to available stas, over 3% of all app rejections occur due to the presence of bugs/malware, and resultant app crashes. Mobile app companies need to have separate teams of testers, who would be in charge of checking all the features of applications, before they are submitted at the store. In addition to the simulators (available in Xcode), new apps have to be installed and tested on actual devices too. What’s more – apps that cause excessive battery drain and/or are likely to cause harm to the target Apple device(s) in any way are rejected forthwith.
  2. Follow the 4+ rating – Every visual element of an app at the store – right from screenshots and previews, to app icons have to conform to the 4+ age rating – as specified by Apple. There should not be any differences between the small and large icons of the same iPhone/iPad/iPod/Watch app. In case iOS app developers assign incorrect ratings to their apps or include them under a wrong category/genre, they should brace themselves for rejection too. The name of the app at iTunes Connect and on the device have to be identical.
  3. Location APIs and user permissions – Indiscriminate usage of location-based APIs is an absolute ‘no-no’ in iOS applications. Experts from the field of mobile app development advise against using any API in a new app, for either emergency purposes or controlling automobiles/planes on an automated basis. App developers also have to make sure that their mobile software asks for user permissions before collecting location-based data and using the same for any purpose. Provided that the necessary permissions are obtained, location data can be used by an app for advertisements.
  4. Stay away from duplication – For new iPhone app developers, the temptation to simply replicate an existing iTunes application can be immense (after all, there are well over 1.5 million apps, many of them are successful, so why not just make a copy of any one of them?). Doing so, however, would be an ideal recipe of getting a new app rejected. The rejection risks increase in proportion with the number of apps that are similar to a newly submitted application (e.g., flashlight apps). Never release multiple versions of the same app, which would be treated as spamming. If an app is found to be a miniature version of a website, or if it does not provide any long-term value, it will be in violation of the app review guidelines too.
  5. Placeholder text and metadata – Apple clearly specifies that new apps cannot contain any placeholder text. Those that have placeholder content are invariably deemed as ‘incomplete’, and hence, are generally rejected. If an iPhone app company wishes to submit a beta app, it can do so only through TestFlight (there is a separate set of TestFlight guidelines to be followed). The metadata of an app cannot contain the name of any other mobile platform either. In case the description is not found to be relevant/related to the actual functionality of the app, that is another criterion for rejection. Close to 2% of app rejections at the App Store occur due to incorrect app descriptions provided by developers.
  6. In-app purchases – Revenues from freemium apps are growing at a rapid clip (the growth was more than 200% last year). However, app developers need to be careful while implementing freemium features in their iOS software. No other purchasing mechanism other than Apple’s in-app purchase (IAP) method can be included in an application. The services or content (e.g., new digital storybooks in a mobile app for kids) have to be available within the app as well. It is possible to use in-app purchases for providing credits/currency – but the same must not get expired, and should be consumable within the application. The IAP subscriptions should remain available to users for a minimum of seven days.
  7. App advertising guidelines – Although including in-app ads is a valid mobile app monetization strategy, abusing this method can lead to new apps getting rejected. Developers should never resort to any shady, underhand methods to increase the click-through rates (CTR) of the advertisements present in their apps. Every quarter, plenty of iPhone apps get rejected, simply because their prime purpose is displaying ads (i.e., they do not deliver any specific ‘value’ to end-users). There should not be any blank iAd banners present in the app either.
  8. Implementing push notification functionality – If an app has push notifications feature, the same should be available for free to users (i.e., they are not liable to pay any charges for such features). There is a specific API called Apple Push Notification, which has to be used for implementing the notification feature (the unique Push Application ID has to be obtained beforehand). Via push notifications, no form of personal/confidential information can be transferred. Nor can they be used for the sole purpose of displaying promotional content. Make sure that no form of malware gets transmitted through push notifications. An iOS application cannot download any type of codes either – so be wary about that.
  9. Size and functionality – Any iOS app development expert worth his/her salt would know that apps should never exceed the maximum size limit of 100 MB. Non-compliance to this limit will make the app non-downloadable over any cellular network. The features and functions of the app have to match the descriptions provided by the concerned app company (read: no hidden functionality allowed). Apple also prohibits the usage of non-public APIs in new applications. The onus lies on iOS developers to ensure that their applications do not make use of any data from sources other than the assigned counters. If a feature is present in an app but is not documented by the developer, it would almost surely get rejected.
  10. Stay away from using offensive content – While creating apps or games, developers have to make sure that no group or community is being deliberately downgraded in any way. For example, in a game application, the ‘villain’ or ‘enemy’ must not be depicted as members of a particular community (race, caste, etc.). App companies are not supposed to submit apps that are similar to/are variants of Russian roulette, or encourage violence and usage of realistic weapons. Apple places prime emphasis on parental control features in the iPhone apps for kids at the store – and that’s precisely why applications with any form of ‘crude content’ are liable to get rejected immediately. In general too, an app should give users the option to flag inappropriate content.
  11. Media and content streaming – The data used by an app for streaming audio content cannot exceed the limit of 5MB (over a period of five minutes). For large video streaming (e.g., for longer than 10 minutes), a 192 kbps baseline has to be used, along with the HTTP Live Streaming feature. There is a bar against replicating the interface of the iTunes store in any of the screens of a new app as well. The media resources in the Apple Media Library can, of course, be accessed by an app – but for that, the latter should be using the available MediaPlayer framework. If audio or video content is downloadable from third party channels (e.g., SoundCloud or YouTube), separate authorizations are required.
  12. Following Game Center guidelines – This is vital for iOS game developers. Those who try to reverse lookup, data harvest, trace, or misuse Player IDs in any way run the risk of getting booted out from the iOS Developer Program altogether. Final users of the game app should not be able to view Player IDs, while leaderboards can be displayed only after the required approval is obtained from the Game Center. During the testing phase, developers have to check whether any type of unnecessary data, virus, programs or files (generally used for phishing purposes) are being transferred via the Game Center. If an app uses Player IDs for any purpose that is in conflict with Apple’s terms of service, it is simply waiting to be rejected.
  13. iPad compatibility and resource usage – While creating an iPhone app, a developer needs to ensure that it would be downloadable and usable on the iPad too – at a resolution level of 2X iPhone 3GS. Apple also provides WebKit JavaScript resources (apart from the WebKit framework), which have to be used by applications that have web-browsing features. App-makers do not have the permission of specifying which carriers their app will be compatible with, while location-based exclusion of users is not allowed either. In addition, an app should not be created for the purpose of promoting/marketing/encouraging the download of another application. The regulations specified in the iOS Data Storage Guidelines (https://developer.apple.com/icloud/documentation/data-storage/index.html) also have to be followed.
  14. Charity apps, lotteries and sweepstakes – Apple does not take any responsibility regarding the sponsorship of mobile sweepstakes. The concerned app development company needs to declare itself as the sponsor of the contests/sweepstakes. There is a prohibition clause against allowing users to purchase raffle tickets directly from an iOS application. In case a lottery app is submitted at the store, the same should have all the legal permits, provide all pertinent information to users, and must not involve transference of real money for gaming purposes. Charity-based applications have to be free, with text messaging or web browser services being used for the collection of donations.
  15. Making iOS apps for kids – The App Store has a vast range of children’s apps – right from mobile storytelling apps to learning apps for kids. Developers are required to specify the age range that their apps target (for instance, 6-8 or 9-11, etc.). These apps cannot have advertisements that are customized with the behavior of the end-users (kids) on them. For outbound linking from the app and/or in-app purchases, parental gateways/permissions have to be used. An iPhone app for kids should also contain a detailed privacy policy, and must not violate the security considerations of the little users in any way.
  16. Apple Pay, HomeKit and HealthKit – Proper Apple Pay branding has to be used by iOS apps that offer mobile payment options to users. The items available for purchase should not violate any territorial law, and the app needs to have a privacy policy as well. User-data can be shared only for the purpose of facilitating the delivery process of the purchased goods and services. All relevant information should be available on the app, prior to the purchase being made. The HomeKit framework may be used by developers for including home automation functionalities only. Care has to be taken to make sure that the HomeKit APIs are not being used to harvest or mine data, or use them for any other unauthorized purpose. Apps that include the HealthKit framework are not supposed to store any form of user-health data on iCloud. Once again, a privacy policy document is necessary, providing inaccurate data is prohibited, and the HealthKit API must not allow third-party access of a user’s health information without prior permissions.

iOS developers working on apps with extensions need to carefully go through the information provided in the App Extension Programming Guide (https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/index.html). Providing previews of iTunes music in a new app is strictly prohibited. Apps that use Passbook credentials have to be created in line with the specified guidelines. No form of pornographic applications are allowed at the App Store, and developers should never try to access user-passwords by including hidden data transfer features in an app. WatchKit developers need to think beyond applications that only show the time and do little else. To be approved at the App Store, an iOS application needs to have high-quality user-interface, in-app navigation and layouts.

 

Around 6% apps were rejected last quarter because their interfaces were not user-friendly enough. More significantly, over 13% were dumped due to absence of adequate information provided by their developers. Make sure that you follow all the clauses of the Apple Program License Agreement. You are putting in the hard yards to make a new, unique app – finding that it has been rejected would certainly be disappointing!

 

Mobile Trends & Figures 2015: From The Developers’ Perspective

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Latest posts by Hussain Fakhruddin (see all)

Keeping track of the latest mobile trends and updates is absolutely essential for developers who wish to earn professional success. In today’s discussion, we have summarized the most noteworthy facts and figures from the domain of smart devices and app platforms from the first few months of this year.

 

 

A lot has been happening in the world of mobile technology since the turn of the year. Highly-anticipated smart devices like Apple Watch and Samsung Galaxy S6 have been launched – much to the delight of gadget-lovers. The iOS vs Android tussle has been raging on, with the latest mobile OS from the respective platforms (iOS 8 and Android 5.0 Lollipop) clamoring to go one up on the other. Mobile app developers and analysts are also looking forward to this year’s Google I/O (May 28-29) and Apple WWDC (June 8-12) events, where major announcements are expected to be made. Let us here take stock of all the interesting trends and figures related to mobile tech from the perspective of developers, from the first quarter and a half of 2015:

 

  1. Workload – On average, professional app developers are taking up 6-7 projects annually. Most mobile app companies across the world are focusing on being prompt in providing free app quotes and other ongoing services to clients, and delivering value via their products. Developers are also increasingly working on multiple platforms (iOS, Windows, etc.), instead of limiting their service on any one platform.
  2. Battle for market-share – Android still has a more than healthy lead over iOS, but the dominance might just be faltering a bit. Researches conducted by mobile app development experts have revealed that, while Android’s market share in Europe stood at 68.5% at the end of the first quarter of 2015 (a fall of more than more than 3% compared to 2014 Q1), that of iOS jumped to nearly 21% (an increase of around 2%). In addition, Apple’s mobile platform has experienced rapid growth in the Chinese markets (its current market share in China is 26.2%).
  3. Android losing users to iOS? – One of the most intriguing aspects of the iOS vs Android debate in 2015, and one that has got app developers all hooked on. In Europe, almost 32.5% smartphone-users switched over from Android to iOS during the first quarter of this year. The success of iPhone 6 and iPhone 6 probably has contributed to this so-called ‘exodus from Android’. It remains to be seen whether Google can hit back with its Samsung Galaxy S6 and S6 Edge.
  4. Revenue talk – iOS is, by far, the mobile platform with the maximum earning potential for app makers. However, there are distinct indications that the pace of revenue-generation from mobile apps have slackened in 2015. 6 out of every 10 iOS app developers have a monthly income of less than $5000. On the Android platform, only about 18% developers manage to touch or surpass that income figure. In fact, the HTML5 platform has more app developers over the $5000/month earning zone than Google Android.
  5. Not a profession that promises overnight riches – From the evidence available from 2015 Q1 figures, it would be fair to say that the number of unsuccessful app developers is way more than that of successful ones. Only 5% of the total number of app development professionals worldwide manage to rake in more than $500 per month from their projects, with a further 5% falling in the $100 to $500 income bracket. At the other end of the spectrum, we have close to 18% app developers not making any money whatsoever on their software, and another 18% earning less than $100 every month. It is, in fact, somewhat paradoxical that app revenues have stagnated somewhat at a time when smartphone sale figures are escalating.
  6. Consumer apps ve Enterprise apps – Once again, there is a difference between the developer mindshare and the earning potential between these two categories of mobile applications. Around 45% of those involved in enterprise app development boast of monthly income figures in excess of $10000 (not even 20% of consumer app developers can make a similar claim). However, when it comes to professional focus – the enterprise market is treated as the primary target by only 2 out of every 10 app developers. For 65% mobile app development companies, creating apps for general consumers is more important.
  7. Primary platform for developers – With Blackberry struggling and Windows yet to make any significant mark, it’s once again iOS and Android fighting it out for becoming the primary platform for app developers across the globe. Figures from the first few months of 2015 suggest that Android has a slight edge in this regard (it is the primary platform for 41% developers, while 38% treat iOS as their main development platform). Interestingly, these figures are up by 15% (for Android) and almost 10% (for iOS) over last year’s statistics. This only goes to show how far the other smartphone OS platforms are falling behind.
  8. The curious case of Windows Phone – The Windows platform did manage to register solid growth in developer mindshare in the first quarter of the year (at present, 3 out of 10 developers work on the platform). However, a paltry 8% app developers consider Windows Phone as their primary platform. Windows has not been able to make much headway in terms of market share either (approximately 3%). For freelance/indie developers though, the Windows platform does offer a scope to gain greater professional exposure than the already overcrowded Android and iOS platforms. In terms of revenue though, the prospects seem pretty bleak.
  9. Developer mindshare outside Europe and the United States – There is a general belief that iOS dominates in Europe and the US alone, while Android is the king everywhere else. While not entirely true, the figures from the  Q1 of 2015 are slightly skewed in that direction. 43% of mobile app developers in Europe and America reported that iOS was their primary platform, while outside EU and US, 49% developers preferred working on Android as their primary platform. The difference is even more significant when it comes to overall developer marketshare. Almost 60% app developers in the UK and the US create apps on the iOS platform. In other countries, Android has a whopping 73% developer mindshare.
  10. Premium vs Budget – As expected, the focus of Apple has remained on positioning iOS at the premium end of the mobile market. The price tags of iPhone 6/iPhone 6 Plus and the recently released Apple Watch bear testimony to that. In any case, the Cupertino company was not going to walk down the budget-smartphone line – after the iPhone 5C debacle. On the other hand, although the Android One project did not do well in India – Android still has many vendors that churn out budget smartphones on a regular basis. The only catch here? Most of these vendors do not provide the ‘plain-vanilla’ version of Android in their phones.
  11. Adoption rates of the latest versions – iOS has a headstart on this count. By March 2015, the adoption rate of iOS 8 was an impressive 73% (despite the fact that the iOS 8.1 and 8.2 upgrades were pretty lousy). The number of iOS 7 users (which, incidentally, was off to an even faster start) has dropped to around 26%. On the Android front though, Kitkat still leads the way with a close to 40% adoption figure. Android 5.0 Lollipop has been installed in just a shade over 2% devices – a far cry from what many Android app developers and software analysts had predicted. The uncertainties over the rollout of the Lollipop update hasn’t helped either.
  12. Swift is a roaring success – There are no two ways about it – Apple has hit the bull’s eye with its new Swift programming language. More than 20% app developers worldwide have started coding with Swift, and more interestingly, 23% of them have actually replaced Objective-C with Swift (47% developers use Swift and Obj-C simultaneously). If the overall iOS app development scenario is concerned, only a shade under 40% developers use Swift on a regular basis. App-makers have clearly taken a liking to it.
  13. The cost factor – Both on the software and the hardware fronts, the mobile app development costs on the iOS platform is significantly higher than that on the Android platform. This, in turn, slightly offsets the discrepancies in revenues from the mobile platforms of Apple and Google. iOS app developers still earn more than their Android counterparts – but the net difference is lower than what it seems at the first glance.
  14. A final word about Blackberry – It seems that new CEO John Chen is repeating his Sybase-magic at Blackberry as well. When the company officially reported a loss of almost $6 billion early last year, most app developers had written the company off. In fact, BB had failed to find a buyer in 2014, when it was almost certain that the company would be sold. The much-hyped Z10 and Q10 were unmitigated disasters too. However, the impressive show of Blackberry Passport and Blackberry Classic have made cross-platform developers sit up and take notice. Maybe, just maybe, there is some light at the end of the tunnel for this once popular mobile platform.

iOS and Android are still expected to be the platforms that app developers would be interested in the most, for the next few quarters at least. It will be interesting to note how the Tizen OS (from Samsung) performs, if and when it is released. By the time Watch released, there were well over 3000 WatchKit applications at the store – although most of them were qualitatively below par. All eyes are on the next few months, as developers keep an eye on new announcements, and strive for ways to boost their earnings and serve their clients better.

Top Reasons Why Samsung Galaxy S6 Will Not Be An ‘iPhone 6-Killer’

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Latest posts by Hussain Fakhruddin (see all)

The reviews of the recently released Samsung Galaxy S6 have been mostly positive, and the sales have been highly impressive. However, it is not quite the ‘iPhone 6-killer’ that both Google and Samsung had hyped it to be.

 

Over the years, many smartphones have been hailed as ‘iPhone-killers’. The Samsung Galaxy S6, launched on April 10, is the latest to join the bandwagon. Android fans and loyalists have been quick to point out how the first-week sales figures of the S6 and the S6 Edge have been more than that of iPhone 6 and iPhone 6 Plus (79586 vs 36700 units, according to an April 20 ATLAS Research and Consulting report). So, will Samsung Galaxy S6 live up to its billing as the ‘iPhone 6-killer’? The following factors and device bugs suggest that it won’t be able to do so:

 

  1. Poor battery performance – Flagship smartphones hardly ever boast of great battery lives. The Galaxy S6 is no exception to this. Its battery (2500 mAh) is slightly smaller than that present in its predecessor – the poorly received Samsung Galaxy S5 – and in terms of performance, it is about at par (maybe marginally better, but it’s too close to call) with that of iPhone 6. Activating the Battery Saver Mode can help users (or doing a factory reset) get a bit more battery juice from the device. Rather inexplicably, Samsung has gone for a non-replaceable battery for the new flagship phone. There have been reports of the battery of S6 dropping by more than 60% within 5-6 hours of normal use.
  2. Unreliable wifi connectivity – Prior to the release of iOS 8.3, the iOS 8 platform also had this problem. General users as well as Android app developers have confirmed that the new Samsung Galaxy phone has the same bug as well. The speed of the wifi connection is generally sluggish, and there have been many instances of call drops. Testers have found that the wifi of S6 remains weak even in environments where the signal is fairly strong. A telltale sign of poor wifi reception is the painfully slow speeds at which common social media applications (Twitter, FB, etc.) load on the S6. Samsung has failed to bag any advantage over Apple in this regard.
  3. Memory bug – This one has been officially admitted by Samsung, and is a major usability issue with the Galaxy S6. The presence of 3GB DD4 RAM in the S6 and the S6 Edge sound nice in theory – but many users have discovered that only about 400-450 MB is available for use at any time. In other words, this means that around 2.5 GB of memory is being eaten up by the system tasks of the new devices. At online Android app development forums, there have been several complaints of users not being able to install applications – since their brand new S6 has inexplicably ‘ran out of memory.’
  4. Error-prone GPS – Apple Maps is not yet perfect, but neither is the built-in GPS of the ultra-hyped Samsung Galaxy S6. The problem becomes particularly pronounced if a user does not set the GPS to ‘High Accuracy’ (under Settings → Location). For general purposes, the location tracking features of the S6 are fair enough – but there is a disturbing app lock related problem that crops up often. While using fitness apps, many people have reported that grossly inaccurate data is being displayed on the phone.
  5. Faulty screen rotation – This has been a concern of the early adopters of Galaxy S6 as well as Android app and game developers alike. It is pretty much certain that the accelerometer and gyro sensors of the phone have issues – due to which the display often gets stuck in the Portrait Mode (even when auto-rotation is activated). Device analysts have found that the x-coordinate of the device’s sensors does not change from -32768, which gives rise to this display problem. Incidentally, users of Samsung Galaxy S6 Edge have experienced this problem too. There have been no similar bugs reported about the iPhone 6 or iPhone 6 Plus.
  6. Random refreshing of apps – Together with the RAM management problem, this has been yet another irritation for buyers. According to reports obtained from the XDA forum, Android apps get automatically refreshed – even when there is plenty of free memory space. There have been instances of app refreshes interrupting other active tasks on the phone. In all likelihood, this is a software bug – and the best workaround is opening the ‘Smart Manager’, identifying the apps that are not likely to used regularly, and getting rid of them. iOS 8 app developers have, to date, not received reports of such user-complaints.
  7. Camera flash does not turn off – This has been a bit of a shocker for many Android fans. The 16 MP rear camera of Galaxy S6 was expected to be qualitatively a couple of notches higher than the 8 MP iPhone 6 camera. In reality though, the bugs in the former has made it practically unusable. The built-in flash in many of the Samsung device remain on even when the camera app is not being used (there have been stray reports of the flash remaining on after the phone has been turned off too!). Mobile software analysts and app developers have reported that the camera focus of the S6 and the S6 Edge has room for improvement too. With bugs like this, no smartphone can become an ‘iPhone-killer’!
  8. Problems in Bluetooth connectivity – Another very common issue with new flagship smartphones, and Samsung has not been able to stay away from it. Locating and connecting via bluetooth (Bluetooth 4.1 is set up in the phone) is strangely slow and often buggy, while cases of connection drops midway through file transfers are also not uncommon. Those who have tried to use Bluetooth in the car on their S6 devices have faced this problem more frequently. Booting the phone in Safe Mode can be a workaround (as can be making the handset ‘forget’ all the connected devices, and then initiate search again). However, until a patch is released to resolve this issue, users will remain dissatisfied.
  9. Auto-deletion of messages – Another quirky feature of Samsung Galaxy S6 which keeps it from becoming a serious challenger of iPhone 6. A fairly large percentage of users have found that the text messages received on the phone get deleted on their own, after a certain time interval. Restarting or doing a hard reboot does not sort out this intermittently appearing problem. What’s more, those who make Android apps and other related software have found that deactivating the ‘Delete old messages’ option is not of any use either.
  10. Charging problems – Android has evidently not been able to work its way out of phone-charging-related problems yet. While using a wall-charger (the one that comes with the device), many users have found that the charging process is too slow. At times, the charging stops and resumes automatically as well. Experts in phone battery management and Android application development have advised people to use USB chargers – but the process becomes even slower if that is done. Poor battery life and problem-ridden charging is certainly not a desirable combination in a smartphone that aspires to become one of the best of all time.
  11. Tendency to get overheated – Not a uniform problem, but even so, it is worth a mention. Mobile gamers as well as professionals from the domain of game development have found that the S6 gets overheated after an hour (often, less) of playing games on it. The rate of battery drain accelerates significantly too. A temporary fix for this can be rebooting the phone (preferably in the Safe Mode). Interestingly, some users have experienced overheating problems even though they were not putting the phone to any intense use. Another problem for Samsung to identify and sort out.
  12. Mediocre app performance on certain cases – Mobile app companies have received plenty of reports about applications not functioning normally on the S6/S6 Edge. In general too, there is a bit of sluggishness about the performance of the device (which is a surprise, since Samsung has done a good job of improving TouchWiz). Some of these issues have been more or less resolved when users have updated the problematic apps – but most Android fans are looking forward to a performance patch for the new flagships.
  13. Call drops and random disconnections – Again, not an universal problem – but something that an ambitious, state-of-the-art smartphone should not have at all. However, it has been tested and confirmed that call drops do occur rather frequently on the Samsung Galaxy S6. Certain users have also stated that, while their calls do not get disconnected totally, the voice sort of fades away (even when the phone volume is turned up). To compete with iPhone 6, major improvements on this count are required.
  14. Buggy fingerprint scanner – It’s just sad that, at a time when issues related to mobile security are being highlighted, an Android phone has come along which has a rather unsatisfactory fingerprint scanner. The ‘Home’ button has to be repeatedly touched/tapped, for the phone to be able to ‘recognize’ you. On the one hand, Apple Pay is gaining in popularity by the day (it works like a charm on Apple Watch), and on the other, the Galaxy S6 is riddled with biometrics related problems.

Speculations have been rife over the non-arrival of the Tizen OS (for many months, rumor had it that the next flagship Samsung phone would ditch Android and have its in-house operating system, Tizen) on the Galaxy S6 phones. To give where credit’s due, the new handset is a vast improvement over its shoddy predecessor (the Galaxy S5), with the metal body instead of the plastic on the previous models being a refreshing change. It gives the phone a premium look and feel too. However, until all the above bugs are successfully removed, the Galaxy S6 will not be challenging the popularity of iPhone 6 – let alone ‘killing’ it.

 

 

AppBoard Tuesday – Make Good Apps, Spread The Happiness!

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Latest posts by Hussain Fakhruddin (see all)

“Choose A Job You Love, And You Will Never Have To Work A Day In Your Life”

                                                                                                                               — Confucius

Nothing can probably sum up the mindset of mobile app developers who are passionate about their jobs better. Getting the charge of new projects is akin to exciting new challenges for them – and from that point on, it’s all about completing the job in the best possible manner. A good app (visually and qualitatively) can deliver happiness (‘satisfaction’ would be a weaker term) to all parties concerned, be it the clients or the concerned app companies. In this week’s AppBoard Tuesday (ABT), we point out a few ways in which well-made mobile applications make people happy:

  1. Happiness of not losing a good idea – App ideas that are both innovative and practical are not the most common things in life. A person would, understandably, be elated if (s)he finds a company which can transform his/her ambitious ideas into workable, interesting applications. At app agencies, employees are, in fact, encouraged to come up with new, unique app ideas and concepts. A good app is, in essence, a well-thought out idea in the physical form.
  2. Happiness in getting new projects – For newbies, working on dummy iOS/Android app development projects is all very fine – but nothing beats the thrill of being assigned to an actual project. For experienced app developers too, most projects present opportunities to learn something more, something new. Generally, a team is given the responsibility of working on an app – and that fosters the spirit of collaboration and the willingness to help out each other. The result? A ‘better’ app.
  3. Happiness in showcasing sincerity – This one is for the heads of app development companies. Quick bucks might be earned in the short-run by including a couple of shady clauses in the app contract agreement documents – but real happiness lies in ensuring a transparent way of operating. Right from providing free app quotes and abiding by clients’ precise requirements & budgetary preferences, to remaining accountable right through the app development period and providing post-submission support – each of these little things build up the trust factor about a mobile app company. And when a company has a positive buzz about it among its clientele, CEOs are invariably happy!
  4. Happiness in showing off creativity – Creating a custom mobile app for kids (e.g., a game, or a storytelling app with illustrations) is the perfect opportunity for professional graphic designers to show off their creative skills. Working in tandem with animators (and obviously, as per the instructions of clients), they can create layouts and splash screens and characters and actions that would make the app truly appealing to potential end-users. Yes, directions have to be followed – but app designers can bring in their own inputs too.
  5. Happiness in getting value on investment – Someone randomly chances upon an original app idea and thinks about hiring app developers to give shape to it. Do you what holds them back in many cases? That’s right, the uncertainty of whether doing so will be worth the investment (mobile app development costs are not exactly insignificant!). A bug-free, properly usable, nicely customized app delivers the ‘VALUE’ on investment that a client always looks for – and it justifies the expenses incurred on making it. ROI figures matter in all lines of business!
  6. Happiness for programmers – This is a type of mental bliss those from non-technical backgrounds can never quite appreciate fully. App coders get a supreme sense of achievement on being able to write out a program snippet without any errors or warnings, and/or debugging the programs written by him/herself. There are people in our very own company who take pride in completing apparently tough coding assignments overnight. With the arrival of Apple Swift and the gathering of momentum of WatchKit app development, programmers now have more opportunities to enjoy themselves at work than ever before.
  7. Happiness for app marketers – Putting in the hard yards for making an iPhone app can all go to waste, if it is not marketed properly (there are, after all, more than 1.5 million other applications in the iTunes store). If an app is indeed a ‘good’ piece of mobile software, those in charge of promoting/marketing it will be more confident about it. The publicity campaigns and pitches will be more…shall we say, from the heart…and the marketers would enjoy the feeling that they are sharing information they too believe in.
  8. Happiness at not being kept out of the loop – A good mobile app company will make it a point to regularly share app wireframes, rough sketches, mockups and other related stuff with its clients. There will be meetings and feedback sessions held at pre-specified intervals as well. For people who have invested money on making apps, this is important. They have the right to know exactly how his/her project is being handled, who and how many developers are working on it, and whether it will be completed on time. ‘A good mobile app is being made from my idea’ – this belief itself is nice.
  9. Happiness at quick approvals – The average time for getting an iOS app approved at the App Store is 9-12 days. No matter how quietly confident developers might be about a recently submitted application, they get a massive kick out of seeing the status of their app change from ‘In Review’ to ‘Ready For Sale’. For really well-made apps that have been developed in accordance to all the Apple guidelines, the approval can be complete within a week. Now, that’s some extra motivation for iPhone app developers to pursue excellence in what they do!
  10. Happiness at the lack of uncertainties – Free app quotes are provided by most app companies upfront. Clients generally get the option of specifying their budget preferences. Some of the leading multinational app agencies have the provision of signing non-competing agreements too, to protect the intellectual property rights of the customers. On top of all this, if a client gets the constant assurance that his/her app would be of top quality – (s)he would surely feel happy. No uncertainties and apprehensions whatsoever.
  11. Happiness due to recognitions and awards – The logic is straightforward: good apps have more chances of picking up awards and professional recognitions, while lousy ones remain confined to a corner at the online app stores. Winning a prestigious app award (or even being shortlisted for one) makes the owner of an application happier than almost anything in the world. Getting to work, switching on the computer, and chancing upon a 5-star review on a popular app review site/portal/magazine has a decided ‘pick-me-up’ effect as well.
  12. Happiness at not having to work – Ever studied the faces of people with mundane, 10 to 6 jobs? No matter how fat their pay packages might be, most of them are bitter about the workload, the workplace conflicts, the ‘impossible’ deadlines and targets, and if nothing else, the sheer boringness of it all. A mobile app developer hardly ever feels like that – simply because working on new, challenging projects is exciting, something to look forward to, something that they love to do. Employee-oriented app companies provide developers plenty of training and on-the-job learning opportunities. In essence, and just like Confucius had stated, what they do is not ‘work’ per se. Who wouldn’t love to be in a profession that is exciting AND financially rewarding?

Speaking of monetary matters, the revenue-earning potential of good apps is yet another source of happiness for its makers/owners. Provided that a proper app monetization strategy has been implemented and the app analytics are being tracked, the payoffs from a successful mobile application can be handsome indeed.

 

On that happy note, let’s bring today’s AppBoard Tuesday to a close. If you (developers or general readers) can think up of any other excitement related to the profession of app development – do share it with us. We would love to hear why you love making apps.

 

Some other app-related topic would be put under the scanner in next week’s AppBoard Tuesday. Till that time…oh well…you know you should love thy apps!

iOS 8.4: 14 New Features To Look Forward To

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Latest posts by Hussain Fakhruddin (see all)

iOS 8.4 beta 2 (for developers) was seeded last week, and its initial reviews have been mostly positive. The update is available both over-the-air as well as on Apple’s developer portal. We here do a round-up of the major updates in the soon-to-release iOS 8.4 version.

 

 

It has been just over a month since the release of iOS 8.3, and the buzz among Apple-enthusiasts is already on about a further upgrade – iOS 8.4 (the firmware has been dubbed the ‘Copper’ update). The second developer beta of the latest iteration of the iOS platform was seeded last Monday, along with the first public beta and the second developer beta of Xcode 6.4. The build number of iOS 8.4 is 12H4086d, and it is expected to be an improvement on its relatively stable predecessor. Some new features expected to be included in iOS 8.4 are:

 

  1. App Store search – Among the several bug fixes iOS 8.4 will have, this one is, arguably, the most important. In the first beta of the upgrade, App Store search was non-functional (on iPads) – and that has been sorted out in the second beta. The GPS accessory support feature (‘Made for iPhone’) has also been revamped. Mobile software analysts and iOS app developers, however, feel that there are still several bugs in the music app of iOS 8.4 (beta 1) that need to be worked on.
  2. Up Next desktop player – In its bid to improve the music experience of users, Apple will be adding an ‘Up Next’ icon to its iOS 8.4 update. The icon will be available from desktop iTunes, and tapping on it will open up the ‘Now Playing’ playlist. People will be able to customize the order in which songs/music will be played with greater convenience. If and when required, songs present on the playlist can simply be skipped with ‘Up Next’ too.
  3. Beautifully designed music app – iOS 8.4 will probably have the biggest influence of the Apple-Beats music deal (the acquisition took place last August) to date. According to early previews and discussions at online mobile app development forums, the Music app is all set to get a stunning redesign. There will be options for users to add personalized images to each song files, as well as snaps of their favorite artists. The overall navigation system in the Music app will be made user-friendly, and any particular album can be launched straight from the Album List. The revamped Music app will be the single-biggest highlight of iOS 8.4.
  4. Album accessibility from the artwork – This is, in essence, a continuation of the previous point. In the upcoming iteration of the Apple iOS platform, there will be specially designed icons present in the album artwork. When tapped, these icons will activate and play the album next to it. The focus seems to be on one thing: to bring the favorite music of users closer (read: a single tap away!) to them.
  5. Global Search from Music app – There is a tiny magnifying glass icon in the Music app of iOS 8.4 beta. When tapped, it enables people to search for music files from practically anywhere in the device ecosystem. The results corresponding to every search query is generated within seconds – and they are properly organized to ensure that particular song files can be found quickly and without any difficulty. Better searchability would, of course, give the usability of the new music application a big boost.
  6. Trending Search feature – This will be complementing the aforementioned Global Search feature. iPhone app developers who have tried out iOS 8.4 beta 1 and 2 have confirmed that trending searches from all over the globe will be displayed to users in iTunes Radio (just like the trending results in the App Store). These trends will be shown whenever anyone searches for a song in the Music app. Many developers had predicted that Apple would be including ‘Trending Search’ in its latest mobile platform upgrade.
  7. All-new MiniPlayer – Yet another feature related to the Music app of the iOS 8.4 platform (no surprises there!). When a person will browse through his/her collection of music on iTunes, MiniPlayer will display the file currently playing. Additional options to control and personalize the playback will also become available. What’s more, the MiniPlayer would double up as a shortcut tab to the ‘Now Playing’ section. To navigate to the latter section, a single tap on the MiniPlayer would suffice.
  8. No more app crashes – A common complaint among iOS developers with the first beta of iOS 8.4 was the disturbingly high frequency of Music app crashes/freezes, whenever CarPlay was active. The new developer beta has fixed this problem, with the app now being simultaneously usable with Apple CarPlay. When the new version finally releases (sometime in June), people are expected to have no problems in using the Music app while on the move.
  9. More user-friendly iTunes Radio – A new ‘Recently Played’ tab will be present in iTunes Radio, to make sure that listeners can get back to the stations they were hearing to recently. There will be no need to browse through the entire list of stations all over again. Under ‘Featured Stations’, an exhaustive set of hard-curated radio stations will be listed. In addition, people will be able create their very own channels (based on particular artists or song genre) as well.
  10. Availability – App development experts already testing iOS 8.4 beta 1 can find the second beta under Settings → General. Downloading and installing the new update takes hardly a few minutes. Apple has provided the option of standalone installation too, from https://developer.apple.com. The over-the-air installation procedure has been reported to be easier than the second option, by most developers.
  11. Wireless music streaming – Apple has ensured that the functionality of AirPlay is also used in the upcoming version of the iOS platform. Music can now be streamed via AirPlay, in wireless mode. The streaming can be started from within the ‘Now Playing’ section. Till now, there have been no reports of connectivity problems and/or streaming failures related to this feature. According to app makers, the wireless music streaming through AirPlay would add an extra touch of innovation in iOS 8.4.
  12. Listening to recently added files – This will become easier than ever before in the latest version of Apple’s mobile platform. Thanks to the ‘Recently Added’ feature in the Music app, the song files will be organized by date – with the most recent ones being sorted at the top. All that the users have to do is tap on the icon, and the new songs would start playing. Chances of losing a recently added music file would be minimal.
  13. Now Playing would get a facelift – In addition to the enhanced functionalities, the ‘Now Playing’ interface of the music application will also be improved in iOS 8.4. The album artwork will be viewable in an all-new, way more customized manner – and there will be changes in the other visual components of this section as well. A lot of emphasis has evidently been put on the redesigning of the ‘Now Playing’ screen of the app, to make it more appealing to end users.
  14. Device compatibility – Apart from iPhone 6 and iPhone 6 Plus (but of course), the iOS 8.4 update will be available for all the variants of iPhone 5 as well as iPhone 4S. It will also be downloadable on 5th generation iPod Touch. In the tablet line, iOS 8.4 will be coming to iPad 2, iPad Mini/Mini 3, iPad Air 2, and the third-gen iPad Wifi. It will be a major update, and will be available on virtually all major Apple mobile devices.

More is expected to be known about the Music app-Beats music streaming service collaboration in iOS 8.4 at this year’s WWDC (scheduled to be held on 8-12 June 2015). There might be some additional features and updates related to Apple Watch as well. The Cupertino tech giant is moving into music service big time with iOS 8.4 – most of the above new features are clear indications of that.

 

iOS 8.4 will be, in all likelihood, the final iteration of this version – before iOS 9 is announced later this year (probably with iPhone 6S). The second developer beta and the first public beta of OS X 10.10.4 have also been seeded along with iOS 8.4 beta 2. Apple is eyeing a summer release for iOS 8.4 in the final form – and developers feel that it will be a major success.

Cocos2D vs SpriteKit – Which Engine Is Better For iOS Game Developers?

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Latest posts by Hussain Fakhruddin (see all)

SpriteKit is Apple’s native game development engine for the iOS platform. We here compare its features with those of Cocos2D – a third-party framework which is also extensively used for creating mobile games.

 

 

Among the third-party game development frameworks available prior to the launch of iOS 7, Cocos2D was easily the most popular. The arrival of Apple’s very own game development tool, SpriteKit, has changed the equation somewhat though – with many iOS app developers preferring to use it. Customized for the creation of 2D/2.5D games, SpriteKit has emerged as a serious challenger to Cocos2D – as far as the debate for the best game development engine on the iOS platform is concerned. We here compare the two, on the basis of multiple key parameters:

 

  1. The learning curve – Nothing much to choose here. Getting the hang of Cocos2D and SpriteKit is fairly simple, and working with either of the frameworks does not require any advanced programming knowhow. Easy-to-understand ‘Methods’ are generated from the low-level APIs included in both the tools. If one were to really nitpick, SpriteKit, with its built-in Physics simulation, is just a tad more user-friendly. App developers need to use Chipmunk/Box2D on the Cocos2D tool for the same simulation purpose.
  2. Texture generation and management – With the release of iOS 8, Apple has upgraded SpriteKit big time. While the texture management system in Cocos2D is sound enough, SpriteKit offers more options for making custom textures from raw pixel files, pictures, and sound textures. For creating iOS games, developers often need to use a wide variety of textures (including those from map editors), and SpriteKit comes across as the more resourceful tool for that.
  3. Using Particle Editors – This round would go in favor of SpriteKit too. Since there are no particle editors embedded in the Cocos2D framework, iPhone game developers have to first create particles with an external application, and then modify its behavior with the ‘CCParticleExplosion’ method. SKEmitter, in SpriteKit, does away with all such complex tasks . Particles can be added to the game development project in Xcode by following these steps: New → File → Resource → SpriteKit Particle File. After the particle type is chosen, two separate files are directly created in Xcode.
  4. Using Lights in 2D games – Both Cocos2D as well as SpriteKit allow mobile app development experts to add customized light effects to their 2D games, to add a touch of realism to the latter. The CCLightNode class is an integral part of Cocos2D – and although there is a section of developers that feels that it needs some more work – it serves the purpose of adding light effects to game projects well enough. The counterpart of CCLightNode in Cocos2D is SpriteKit’s SKLightNode (yet another iOS 8 addition to the tool). Both the classes are equally good, and they provide more than enough features as well.
  5. Open Source vs Closed Source – A big #win factor in favor of Cocos2D. The third-party framework is open source (unlike SpriteKit), has been available for game developers for far longer (the first release was in early-2008), and it is constantly updated (v.0.6.0 was launched about a year ago). Thanks to the availability of the paid Apportable support, Cocos2D can be used on the Android platform as well. Since SpriteKit is closed source, it lacks the same level of flexibility. What’s more, it can be used for developing games only on iOS 7 and iOS 8. If a game has to be made compatible with the earlier versions of Apple’s mobile platform as well, Cocos2D would be the go-to tool for developers.
  6. Labels and Sprites – The methods are different, but adding sprites (mostly images) and label objects (mostly text) is almost equally simple on SpriteKit and Cocos2D. With SKSpriteNode (in SpriteKit) and CCSprite (in Cocos2D), a vast range of effects – right from rotations and frames, to scales and positions – can be created and displayed. Coders have to use SKSpriteNode* and CCSprite* to implement sprite objects in SpriteKit and Cocos2D respectively. For label objects too, developers can use either SKLabelNode in SpriteKit, or CCLabelTTF in Cocos2D to show text, and add attributes to it (like color, size, position, etc.). Comparatively speaking, this is a tie between the two game development frameworks.
  7. Overall performance – SpriteKit is a native iOS tool while Cocos2D is a third-party framework – hence it is hardly surprising that the performance of the former is a couple of notches higher than that of the latter. Of course, the new feature additions in Cocos2D do negate some of this advantage, and for cross-platform mobile game development, it is obviously the preferred tool. However, if we concentrate on the native performance of the two tools on the iOS platform only, SpriteKit is better.
  8. Working with Scenes – Most app and game developers feel that Cocos2D offers a more intuitive scene-creation and management option than SpriteKit. The reason for this is simple enough – on SpriteKit, two different classes (SKScene and SKView) have to be managed. In the Cocos2D framework, a single class – CCScene – has to be called. This makes things just a bit easier for coders, particularly those who are working on large projects.
  9. Atlas creation – SpriteKit comes with automatic built-in support for the creation of atlases (alternatively known as sprite sheets). While working with the Spine animation tool, developers get the ‘Create Atlas’ option – and the .atlas file contains all the information about the smaller image files (in essence, the atlas is a large image file that is made up of several smaller picture units). There is no similar way to group the same type of graphic files together in Cocos2D. As a result, Cocos2D games might have memory-related issues – a risk that is not present in SpriteKit games.
  10. Shaders – Till the launch of iOS 8, the lack of shaders and camera effects used to be a major drawback in SpriteKit. Apple has addressed this issue now, with the new SKShader class in the tool. It can be used to add shades with lights in game scenarios, to lend a more interactive feel. The updated CCShader class in Cocos2D performs the same task – and to be fair – the shaders generated by it are more or less at par with Apple’s tool. Another stalemate between the two engines.
  11. Implementation of transitions – The slide/scene transition properties of Cocos2D are fair enough, but they do come up short when compared to the transition options in SpriteKit. doorwayWithDuration, doorsCloseHorizontalWithDuration and doorsOpenVerticalWithDuration are some of the transition effects that iOS game development professionals often use to personalize their 2D/2.5D game projects. In Cocos2D, the transition options are relatively limited.
  12. Including sound effects – While working on either mobile games or multimedia applications, custom sounds have to be included by developers. Doing this is simpler in the SpriteKit environment. All that coders have to do is call SKAction* soundAction = [ ]; On the other hand, in Cocos2D, two steps are required to call audio files in the project. First, the ‘SimpleAudioEngine’ header has to be called (with #import). Then, the [[SimpleAudioEngine sharedEngine] command lines are used to include music/sound effects. There are no qualitative differences in the audio effects – but adding them is just a shade easier in SpriteKit.
  13. Menu creation – Most game developers opine that the menu-creation procedure in Cocos2D is less complex than doing the same thing in SpriteKit. The latter, in fact, does not have any designated object for creating menus in game scenarios – and coders have to declare separate event handlers on objects. In the third-party Cocos2D tool though, the CCMenu and the CCMenuItem objects are present for the creation and display of custom menus. There are less chances of errors cropping up while adding menus in Cocos2D.
  14. Adding Actions – Another point where both the game development engines have almost equal merits. The Action class in Cocos2D and the SKAction class in SpriteKit are both easy to implement, although the total number of effects (from even nodes and sprites) available is slightly more in SpriteKit. Countering this fact is the larger number of classes in the Cocos2D framework. For practically every type of action, there are methods available in each tool. None of them offers any clear advantage over the other.

When SpriteKit was initially released by Apple, the lead developer of Cocos2D – Ricardo Quesada – had referred to its features as better than that of Cocos2D. The built-in physics integration had also come in for special praise. For native iOS development, SpriteKit definitely holds the edge over Cocos2D. The latter, however, has several high points of its own, and is backed by a larger online community support. It’s a close fight between the two tools, with SpriteKit being ahead by a whisker.

 

Which game engine do you use – SpriteKit or Cocos2D?