Monthly Archives: November 2014

14 Commonly Reported Bugs In iOS 8.1.1

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

It had generally been hoped that the iOS 8.1.1 update will come with major bug-fixes for iPhone and iPad users. In particular, iPhone 4S and iPad Air 2 were expected to become more compatible with the iOS 8 platform. However, the much-anticipated upgrade has not turned out to be anything great.

 

Most mobile software analysts and app developers feel that iOS 8.1.1 is, by far, the most polished version of the new iOS 8 platform yet. That, sadly, is not saying much – considering how shambolic the first upgrade, iOS 8.0.1 was, and how unsatisfactory its follow-ups (iOS 8.0.2 and iOS 8.1) have been. We will here do a round-up of the most disruptive bugs and problems that still persist in this upgraded mobile platform version from Apple:

 

  1. Weak wi-fi connectivity – This has been a bone of concern mainly for users of older flagship Apple devices (iPhone 4S and iPhone 5) who have upgraded their devices. If the reports at online forums are anything to go by, iOS 8.1.1 has done absolutely nothing to wipe out this problem – which had been present from the day iOS 8 was released. In particular, connecting to corporate wi-fi networks is a huge issue. Connection breaks are common, and in general, the signal remains weak.
  2. Copy/define in Safari remains on – The overall performance and speed of the default Safari browser in iOS 8 have improved quite a bit, but a snag still remains. Plenty of people have confirmed that they are not being able to turn off the ‘copy/define’ functionality from their phone browser, even after repeated tries. It’s worth mentioning that some early adopters of iPhone 6 have experienced this problem as well.
  3. The mystery of the missing ringtones – This is a new bug that iOS 8.1.1 comes with. Once you upgrade your handset – you might be in for a nice little surprise, since all your ringtones and text tones might have disappeared. Thankfully, the problem is not a major one, and doing a complete iCloud Restore would help you get back the tones on the phone. Keeping the device synced with iTunes is also advisable.
  4. iPad Mini has become virtually unusable – General users as well as iOS app developers had been confident about the new upgrade solving the performance glitches in the iPad Mini that iOS 8 had brought about. If anything, iOS 8.1.1 has compounded things further – with random screen freezes, app crashes and erratic copy-paste functions becoming more frequent. Even the keyboard has remained slow and buggy. iPad sales trends are not their most robust levels at present, and the new upgrade has done nothing to increase its appeal.
  5. Excessive battery drain – Probably the least important of the bugs that are being reported about iOS 8.1.1. Experts from mobile app companies have repeated time and again that battery performance of smartphones take a hit, every time a major upgrade is installed on a device. Users who are experiencing significantly shorter battery life after moving on to iOS 8.1.1 probably have the auto-brightness and/or the background app refresh features on. Turn off all these features, keep track of the applications that are eating up too much battery juice – and you might not have to reach for the charger that often.
  6. The tablet becomes hot – Playing games on an upgraded iPad for a couple of hours at a stretch has become a problem as well. According to gamers, the tablet heats up rather quickly, which, in turn, slows down the device and affects gameplay. Most app companies are shying away from developing new iPad apps for kids as well, till this problem is solved. iOS fans have always mocked at how even high-end Android devices tended to heat up – but the shoe is on the other feet this time.
  7. Overconsumption of data plans – None of the versions of the iOS 8 platform has done any justice to the mobile data plans users opt for. Reports have poured in about how the rate of data consumption has grown higher than ever – even though no additional heavy iPhone apps or games are being used. Toggling the cellular data (i.e., turning it off and on) can serve as a temporary solution. Some users have reported that activating the Airplane Mode for a minute or so also helps in getting rid of this glitch, albeit for some time.
  8. Downloading mails over Wi-fi – Oh well, if the wi-fi is not working fine, you can hardly expect to get new mails on a real-time basis on the go. Right from users of upgraded iPhone 5 handsets, to owners of iPhone 6/6 Plus – everyone has faced difficulties in accessing their inboxes/downloading emails from any IMAP account. To give credit where it’s due, devices upgraded to iOS 8.1.1 work fine in the EDGE and the 3G environments.
  9. Installing iOS 8.1.1 has not been straightforward for many – Before taking your call on whether the new iOS upgrade is ‘good’ or ‘bad’, you will have to install it – and even that has proved to be a hassle for many people. There have been many cases of incomplete installations, particularly when done OTA. Software maintenance and mobile app development experts are of the opinion that doing a ‘hard reset’ makes the installation procedure easier and significantly quicker.
  10. Bluetooth connectivity errors – For majority of iOS 8 adopters, Bluetooth connectivity has not been a problem – but there is a murmur of discontent growing in a small community regarding this as well. It has been noted that a significantly large proportion of people reporting Bluetooth problems on iOS 8.1.1 own iPhone 5S handsets. This has made the option of upgrading older flagship iOS devices to the new platform even more of a dilemma.
  11. Non-compatible apps – Not all iPhone app development companies have been able to release iOS 8-compatible versions of their applications yet. As a result, users (who have switched off the automatic updates option in a bid to save battery) are frequently facing app-related problems (freezes, crashes, too much battery drain, etc.). If you HAVE to upgrade to 8.1.1, keep the auto-update option on, so that bug-free new app versions automatically get downloaded on your phone.
  12. Potential problems with iMessage – Wondering why this topic is even being raised, when iOS 8.1 has reportedly ‘done away’ with the iMessage bug? Well, not every user has been fortunate – and the bug has remained on certain devices, even after the installation of iOS 8.1.1. Doing a full reboot of the tablet generally makes iMessage fully functional. If the problem persists, iOS app agencies advise doing Settings → General → Reset → Reset Network Settings.
  13. General performance issues – iOS 8 has already drawn plenty of flak regarding its unsuitability on iPhone 4S. Even after upgrading to the 8.1.1 platform, owners of these older handsets have reported general device sluggishness, call outages, and a host of other problems. However, instead of blaming Apple for this, users can work around these issues by removing unnecessary animations, and (if required) restoring the factory settings. Users of iPhone 5 and iPad Mini who are facing similar performance problems after upgrading can follow the same steps to troubleshoot their devices.
  14. Unreliability of Hotspot – Yet another problem that had surfaced with the iOS 8.0.2 update, and has not been entirely solved by iOS 8.1.1. Adding to the frustrations of affected users is the fact that, help from carrier companies has not been forthcoming – since this is more of a ‘device issue’. Many upgraded iOS devices have been randomly rebooting as well.

Considering the series of problems iOS 8 has run into since its launch, it’s shockingly low adoption rate does not come as a major surprise. Within the first 45 days, less than 50% iPhone users have upgraded to the new platform, while over 80% people had moved to iOS 7 during the same time-frame. It seems like iOS 8 has to exorcise the influence of its predecessor first – before taking on its biggest rival, Android 5.0 Lollipop.

 

An iOS 8.2 update is already in beta stage, at the iOS Dev Center. However, it would be more focused on extending support for WatchKit (for Apple Watch), and it remains to be seen whether the above iPhone/iPad problems are also ironed out. For the moment, those who have found iOS 8.1.1 to be buggy have the option to downgrade to iOS 8.1. Let’s just hope that the forthcoming update (release date unknown) will fix most of the above bugs.

 

Have you faced any of the above problems?

 

iOS 8 For Developers: Opportunities & Challenges

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

Apple’s iOS 8 platform may still be riddled with bugs, but the race is on among developers for making apps that are compatible with the new platform. In the following post, the key challenges and scopes that the new platform throws up for iOS developers have been highlighted.

 

It has been well over two months since the arrival of iOS 8, on the latest flagship iPhone devices. Already, four major updates have also been released – with iOS 8.1.1 being the latest among them. While functional issues, bugs and glitches are yet to be fully ironed out, there is considerable excitement among professional iPhone app developers regarding the new opportunities that iOS 8 brings to the table. We will here take a glance at some of the aspects about the new mobile platform from Apple that have got developers all abuzz:

 

  1. Increased need for cross-device support – It will no longer be enough for mobile app companies to create apps that are optimized for a single range of devices (for instance, iPhones or iPads). iOS 8, with its Handoff and Continuity features, has made it almost essential for every new app to have a properly functional OS X version as well (in addition to the regular iOS version). What used to be a mobile app only can now very well be used on an iMac.
  2. Cloud services have gained greater significance – iCloud Drive is still not without its fair share of snags – but as Apple fixes the problems, app developers have to start to consider cloud services as a part of their day-to-day tasks. With user-demand for iCloud Drive storage likely to increase at a rapid pace over time, every application needs to properly sync in the cloud, and be storable/usable on the cloud network. Poor performance on this count can lead to the failure of an otherwise promising iOS app.
  3. More APIs – A Double-Edged Sword? – At first glance, the 4000-odd new application program interfaces (APIs) of iOS 8 can appear nothing but a huge boost for developers. The scope for differentiating among apps in somewhat similar categories is immense. However, overdependence on the new APIs for app differentiation can be risky – since the chance of an app not performing as per expectations always remains. What’s more – in the absence of the requisite hardware, mobile app testing can also remain incomplete (for apps created with new APIs).
  4. Learn a new language – Few things get professional coders more excited than the prospect of learning a new programming language. While Objective-C is definitely not ‘out’, Swift is definitely ‘in’ after the arrival of iOS 8. The new language (optimized to work simultaneously with Obj-C) has already received the ‘Gold Master’ status – and many mobile app development companies have already started making ‘Swift-only’ apps. There are plenty of learning tutorials for Swift available online. It’s exciting, and far from difficult, to master the language and start using it to make apps of a new type.
  5. Greater design customizations are required - iPhone 6 and iPhone 6 Plus are by far the largest screen phones launched by Apple (screen sizes 4.7” and 5.5” respectively). To make sure that the user-interface (UI) of apps do not get distorted in any way on these new handsets, mobile app designers have to be more careful about customization in their graphic design services. All the screen sizes and optimal display resolutions (for the devices on which an app would be supported) have to be noted down, and UI/UX designing has to be done accordingly.
  6. More devices under the hood – The iOS 8 platform gives final users the opportunity to access and use mobile applications from a wider number of Apple devices than ever before, thanks to built-in apps like HomeKit and HealthKit. Prior to actually starting the app development process, developers have to jot down all the devices the app should run seamlessly on – and proceed accordingly. One of the biggest features of iOS 8 is the greater interconnectivity among devices it supports. Creating applications that offer top-notch performance across all devices is certainly a new challenge.
  7. App support on older iOS versions – The arrival of iOS 8 has thrown up a very interesting question, regarding the extent of backward support that new apps should provide. Till the last quarter, it was customary for companies to make apps that ran seamlessly on iOS 4, 5, 6 and 7-powered devices. Now that the eighth version of the Apple mobile platform is here, it is generally believed that the support for iOS 4 will gradually be phased out for new apps. While starting a project, developers have to take a stand regarding the platform versions their app would support.
  8. Need to be prepared for split-screen multitasking – Contrary to what everyone had expected, Apple did not bring split-screen multitasking feature in iOS 8. However, the very fact that this rumor had been doing the rounds for so long makes it advisable for iPhone app developers to create new apps that can operate in split screens (in landscape mode). In particular, considerations like battery drainage, display resolutions and mobile bandwidth consumption have to be taken into account. Split-screen will come on iOS devices soon, and it’s sensible to start preparing for the feature.
  9. The distinction between iPad apps and phablet apps are getting blurred – It’s time for a rethink for those app developers who used to maintain a clear distinction between iPhone and iPad apps. iPhone 6 Plus, for all purposes, is a phablet – and the applications created for iPhone 6 should be properly operable on the larger device too. On the other hand, iPad sales have flattened out over the past few quarters, which puts the necessity of making customized iPad applications under the scanner.
  10. New widgets and extensions – On iOS 8-powered devices, most apps need to have specific additional features – like the ‘Today’ view in the default calendar application. Widget support and new share extensions have been ramped up on the new platform, and developers have to ensure that their apps make optimal use of all the features of iOS 8. Focus on user-needs has emerged as the key concern for developers, who have to make customization of apps their priority.
  11. The race to get first-mover’s advantage – Well, this ship has already started to sail. Mobile app agencies that are first to announce that they have iOS 8-compatible applications are, understandably, likely to be at an advantage. As more and more companies upgrade their apps, this advantage would diminish. It’s all about making customized apps for the new iOS platform before rival companies – without compromising on the quality front.

Although iOS 8 is not radically different from its predecessor, iOS 7, as far as basic designs are concerned, there is a wealth of new features in the new platform. As such, people who have upgraded their handsets to iOS 8 (or have bought iPhone 6/6 Plus) would expect more from the apps they install too. The onus is on developers to match up to these client expectations. It won’t be long before ‘a good iPhone app’ became synonymous with an ‘iOS 8-compatible app’!

 

15 Early Problems With Android 5.0 Lollipop Platform

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

It is only natural for various types of bug reports to do the rounds, immediately after the release of a major mobile software platform. Much had been documented about iOS 8 problems in September and October, and it seems that Android Lollipop has also run into troubled waters now.

 

This was always going to happen. After Apple Inc. released its much-vaunted iOS 8 platform on iPhone 6 and iPhone 6 Plus, online forums had been abuzz with bugs and tech glitches in the new iOS platform. Android fanboys had not missed out on the opportunity to have a bit of a chuckle at the early flak that iOS 8 (and the disastrous iOS 8.0.1 update) faced. The shoe is now on the other foot though, with Android 5.0 Lollipop – released on October 15 – running into problems of its own. Here are some of the main bug reports and complaints about the latest version of Android:

 

  1. Problems in YouTube and video playback – Nexus 7 users who have upgraded to Lollipop have been complaining of this bug. After doing the upgrade, users have reported that interruptions in the playback – both in YouTube as well as the built-in video player of the device – have become more frequent than earlier. Clearing the YouTube cache is not being of much help, and doing a reboot is the only solution for now.
  2. App compatibility issues – Many applications that worked perfectly fine on the Jellybean and Kitkat platforms, have become unusable (or painfully slow) on Lollipop. According to reports at online Android app development forums, screen freezes and app crashes have become extremely common. In particular, the performance of Adobe Air-based apps has gone down after the upgrade (again, mostly on Nexus devices). Users trying to reinstall older applications have often been welcomed with a ‘505’ error message.
  3. Where has ‘Silent Mode’ gone? – Probably the most talked-about issue with Android 5.0 Lollipop at present. There is a rumor that Google has willingly taken ‘Silent Mode’ off its firmware, but that seems implausible – because: a) Silent Mode is a much sought-after feature, and b) Android tablets, like the new Nexus 9, still have this feature. Only phones have been hit by this anomaly, which suggests that the disappearance of ‘Silent Mode’ is definitely a bug.
  4. Instability of flashlight and camera app – Another common concern among the early adopters of the latest Android platform has been the so-called ‘flashlight bug’. It has been confirmed by leading mobile software analysts and app developers that using the flashlight toggle (via Quick Settings) along with the camera application can affect the stability of both – after a device has been upgraded. Once problems crop up in the flashlight, restarting the device becomes the only option.
  5. Problems in sending text messages – Be it the older Nexus 4 and 5, or the new Google Nexus 6 or even Moto X – almost all upgraded handsets powered by Vodafone have been hit by the ‘SMS bug’. People are being unable to send text messages to their contacts, after they have moved over to the new platform. Interestingly, some users have reported that this bug disappears when they downgrade to Android 4.4 KitKat. According to the official statement from Google, the bug has affected only Vodafone users from Netherlands. Complaints have, however, come in from India as well.
  6. Appearance of random apps – Even after all the cards have been swiped away. The revamped card-display system on Android 5.0 Lollipop had come in for much praise, but the sheen is gradually fading – thanks to this app-switcher issue. For users who have multiple cards open on their devices, chances of a recently-opened app coming up is the highest. Apart from Nexus users, this problem can be seen on upgraded Moto X handsets too. Doing a hard reboot is of no use, and mobile app developers feel that a bug-fix update might be released by Google soon.
  7. Wifi connectivity problems – For a platform that promises faster and more reliable web browsing features, this has come as a shocker. On Nexus smartphones as well as tablets, many early adopters of Android Lollipop are facing difficulties while connecting to the wi-fi networks at their homes/workplaces. Cases of weak signals and connection breaks have also been reported. The Google authorities are aware of the problem, and are working on a viable solution.
  8. Performance of mobile web browsers have been hit – On many of the devices that have been upgraded to Android 5.0, browser problems have also cropped up. Firefox has become slower than ever – but more remarkably, Google’s very own Chrome browser has become next to unusable. Opening YouTube videos via Google Chrome has become a tedious process. Coupled with the wi-fi bug, this issue has given the early adopters enough reasons for a grievance.
  9. Amazon Prime Instant Video is unrecognized – This is a relatively minor glitch, and would hopefully be rectified pretty soon. For the time being though, the unrecognized status of Amazon Prime Instant is creating confusion amongst users. In general too, live streaming/downloading of videos is proving to be a bit of a problem.
  10. Failures in installing Lollipop successfully – Let alone the bugs that come AFTER upgrading to Android L – there have been problems in the installation procedure too. Plenty of Nexus users have tried to upgrade, only to receive a ‘Error: Update Package Missing System.img’ message – following which the process is being automatically getting aborted. To counter this problem, users have been used to for the fastboot option for the upgrade. Whether that is a foolproof option remains to be seen.
  11. Problems in swipe gestures on keyboard – Another piece of frustration for Nexus 7 users in particular. As per reports, the phone keyboard becomes way slower after the upgrade. What’s more, trying to swipe the keyboard can either lead to no responses, or a screen freeze. Normal tapping gestures are working properly – but Android fans are eagerly looking forward for the new platform to support the keyboard better.
  12. Excessive battery drain – Well, at least this one cannot be exclusively pinned on Android 5.0 Lollipop. It was always expected that installing the new OS over the existing firmware would cause inordinately high battery consumption. Mobile app development experts recommend doing a full factory reset (from Settings → Backup & Reset), before doing the upgrade.
  13. Data loss during OTA update – If you thought you could avoid the entire ‘missing system.img’ mess by installing Lollipop over-the-air (OTA), here’s a bit of bad news. There have been several people who have already tried that – and most of them have ended up losing vital mobile data. There have been instances of devices becoming unresponsive during an OTA upgrade as well. If you simply have to check out the new Android platform now, at least remember to take a backup of all your phone data first.
  14. The status bar preview ticker has disappeared – It would be harsh to call this a ‘bug’ per se, but absence of the status bar ticker in Android 5.0 is not going to go down well with fans. Most people had loved the continuous notification-preview ticker, and it seems incomprehensible why Google would want to do away with it.

On devices upgraded to Android 5.0 Lollipop, long-pressing the ‘Power’ button displays only one option – to switch off the device. For users with rooted Android handsets, going for the OTA update can be rather complicated. Lollipop is easily the biggest Android update of recent times (at least since the launch of Ice Cream Sandwich), but the new platform is yet to become the ‘quantum leap’ it was billed to be.

 

Let’s wait and watch what bug fixes Google rolls out in the coming weeks.

 

Cocoa Vs Cocoa Touch – A Beginner’s Guide

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

Cocoa and Cocoa Touch are both widely popular for app development, among Objective-C programmers. Over here, we will take a look at the prime differences between these two frameworks.

 

For aspiring .Net and Objective-C programmers, there are plenty of useful online tutorials and code examples. Even so, there is every chance of a newbie feeling slightly lost in the myriad of different coding techniques, app development frameworks and other tools. It is of essence for any new developer to get his/her basics clear, before starting to work on any project. In the following discussion, we will clarify all probable confusions between the Cocoa and Cocoa Touch frameworks:

 

  1. iOS vs Mac development – This is probably the most important difference between Cocoa and Cocoa Touch, from the usability perspective. The former is used for coding for Macs (Mac OS X), while the latter is used exclusively for iOS app development. What’s more, things created for either Cocoa or Cocoa Touch only cannot be used/shared in the other framework.
  2. Underlying combination of frameworks – Both Cocoa and Cocoa Touch make use of the Foundation framework, but that’s where the similarity ends. The application framework for Mac systems makes use of AppKit, which is not present in Cocoa Touch. Instead, Touch is a combination of UIKit and Foundation. There are certain differences between the Foundation frameworks of Cocoa and Cocoa Touch as well.
  3. API differences – The APIs used for making desktop and mobile applications are not entirely similar – and that brings us to this point. All the classes used in Cocoa have the NS prefix (i.e., NSTextField and NSWindow). Classes in Cocoa Touch, on the other hand, are prefixed by UI (i.e., UITextField and UIWindow). A look at a Objective-C code snippet with classes should tell you whether it makes use of Cocoa or Cocoa Touch.
  4. Class portability – Keeping a few exceptions aside, most of the other classes in Cocoa and Cocoa Touch have roughly the same functionalities. Web and mobile app developers can port classes between the two frameworks – simply by changing the class names (along with certain other minor adjustments). In most cases, a complete overhaul of the program architecture is not required for porting classes.
  5. Better MVC patterns in Cocoa Touch – The pervasiveness of the Model View Controller (MVC) is the only field where we can go for a direct comparison of the two frameworks. Cocoa Touch comes out on top in this regard. The iPhone SDK has a reinforced MVC system, which performs better than the default MVC in Cocoa. Of course, Cocoa has multiple alternative design patterns – in addition to MVC.
  6. Absence of certain classes – We have already mentioned about the differences in the Foundation bases used in Cocoa and Cocoa Touch. There are certain classes in the Mac OS X development framework, that are not present in its iOS counterpart. For instance, Cocoa has NSHost, but no similar classes are there in Cocoa Touch. A thorough comparative study of the two frameworks would reveal a few other similar class-differences.
  7. Unified vs different views – Mobile app developers generally find it easy to learn and start working with Cocoa Touch. A key cause for this is the unified view of its SDK provided by UIView. Although Cocoa would rank pretty high on the user-friendliness count too, programmers would have to work with both NSWindow and NSView. The absence of a unified view can be an issue for some new Mac developers.
  8. Core classes – There is no differences on this count between Cocoa and Cocoa Touch. In both the app development frameworks, Application, Window and View are the three classes that are assigned maximum importance. During the code execution stage, these classes combine to perform a wide set of functions – ranging right from user-request handling, to displaying the generated UIs. All the Mac and iPhone apps created via Cocoa and Cocoa Touch respectively derive their functionalities from these three classes.
  9. Difference in the system support – There are certain unique features of Cocoa and Cocoa Touch, which can help a new app developer distinguish between the two. In particular, there are differences in the app lifecycle and sandboxing options in the two framework systems. Also, the total Memory Footprint in Cocoa and Cocoa Touch are significantly different. As already highlighted though, the nature of the classes is mostly similar.
  10. Device support – Apple had released the Cocoa API for desktop app development only, following the days of Rhapsody and Yellow Box. The framework can be used for for all types of Mac desktop app development. On the other hand, Cocoa Touch, with its additional animation features and gesture controls, is optimized for creating apps for iPhone, iPod Touch, iPad and even Apple TV. Over the next few months, Cocoa Touch is likely to become popular for making apps for Apple Watch as well. For probable types of applications for Watch, click here.

As is clear from the above discussion, there is not much of a common ground to base any comparisons between Cocoa and Cocoa Touch. We have only highlighted some broad differences between the two frameworks, so that new programmers find it easy to distinguish between the two. Most professional app agencies look for developers who are equally proficient in Cocoa and Cocoa Touch. It is advisable to have in-depth knowledge of both.

 

 

Apple WatchKit Arrives: 20 Types Of Apps For Watch

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

The wait is over for iOS developers. Apple has made WatchKit available, and app companies can start making native apps for Apple’s ambitious smartwatch, Watch. In what follows, we will take a tour through the various types of apps that are likely to become available pretty soon.

 

WatchKit software was officially released by Apple Inc. yesterday, much to the delight of developers worldwide. According to Philip Schiller (senior marketing VP), WatchKit would open up never-before possibilities for developers to come up with unique, high-utility smartwatch applications. Set to start shipping from early-2015, here’s an early roundup of the types of apps that can be developed for Apple Watch:

 

  1. Live ticker apps – Think ESPN live scores. Apple Watch has a very interesting ‘Glances’ feature (the Glance interface), which can be incorporated by iOS app developers to create live sports, news or other similar ticker applications. Users would have the option to check the app WHEN THEY WANT TO, and the information would be refreshed at frequent intervals. On Watch, it will always be about staying updated on the go.
  2. Document viewing apps – These would be particularly useful for busy business professionals and frequent travelers. Instead of having to remember where every vital document has been stored (or, folders and files have been saved), these Watch apps would provide a ‘Quick View‘ option for these papers, and store a digitized copy. The Watch is, after all, a wrist-worn device – and such apps would rule out the risks of misplacements of documents. Security won’t be an issue either.
  3. Navigation apps – Watch has been publicized as ‘Apple’s most personal gadget’. App developers can make it the most useful one too, in terms of navigation. An accurate, GPS-powered navigation app will enable people to find their way about anywhere (including foreign locations) without having to ask others for directions. Since all of Watch’s notifications can actually be felt, the apps can include a feature that generates vibrations – whenever a user deviates from the correct route.
  4. Fitness apps – Apple has two fitness-related apps (Activity and Workout) already built-in the Watch framework. With WatchKit and the iOS 8.2 beta SDK, it would be relatively easy for professional app companies to come up with fitness applications that would collaborate with these two. For instance, the total activity and calorie-burning data can be pulled in and summarized, to allot an aggregate ‘fitness score’ to users. The latter should also be able to compare scores with fellow-users of Apple Watch. Developers can even include short tips to improve fitness levels. Individuals would only have to check their wrists to read them.
  5. Remote control apps – Apple Watch is the perfect gadget for creating apps that would make the users’ homes ‘smarter’. Lutron and Honeywell have already developed applications for controlling the lights at homes, remotely. Developers can take this further, by developing a remote surveillance network through their apps. Whenever a Watch-user is not at home, (s)he would be able to check how much electricity (in units) is being spent (on an ongoing basis). In case there is a short-circuit, notifications will be sent immediately. To make the app more holistic, power usage would be categorized according to the different types of domestic electrical appliances. If any gadget is causing an inordinate power drain, the user will be intimated immediately. Electricity bills will be kept in check.
  6. Social networking apps – One of the most talked-about features of Apple Watch is Digital Crown. It allows people to stay in touch with preferred contacts via a single tap. This, in turn, serves as the perfect launching pad for social networking apps with a difference. With these new applications (preferably with GPS), it will become easier than ever to connect with old friends, make new acquaintances (on the basis of any common criterion), and even get recommendations on any topic. Every time a post or a new comment is published, users will ‘feel’ a vibration.
  7. Photo-sharing and editing apps – Developers can go one up on the Pinterest and Instagram apps for Apple Watch, by making apps that allow people to share photos as well as add interesting effects to them. Instead of going with the regular tap-functionality to browse across effects – it would be a cool idea to allow new effects to be applied (as preview) by simply waving Watch on one side. If anyone else edits a shared photo, notifications will sent to its original owner.
  8. Emoji apps – Apple Watch has Digital Touch – opening up the possibility of making user interactions easier and more innovative than ever before. In addition to run-of-the-mill IM applications (of which there will be many!), iOS app developers can create chat-based applications which support only pictures, shapes, sketches and emoticons. Move over heart-to-heart, with Apple Watch, friendships can now become wrist-to-wrist!
  9. Mobile payments apps – Those who have cribbed about the absence of Near-field Communication (NFC) in iPhone 6 would now have a reason to shut up – for Apple Watch boasts of powerful NFC functionality. It is rather obvious that app development professionals would churn out applications that serve as secure payment gateways. To give a boost to the app’s usability, Watch-wearers would be able to save the merchant names that they deal with most frequently under a ‘Favorites’ tab. The main challenge lies in making apps that would have more features than the default Apple Pay on Watch.
  10. Transit-help/Check-in apps – These would be an absolute delight for those who are…well…slightly geographically challenged. Developers can very well consider the taptic feature of Watch to make apps that send alerts whenever the user is within a certain distance of his/her bus stop, railway station, or other public locations. There should also be a general option to provide detailed locational information during journeys (including when the user is in a flight). By tapping the relevant tab on the app, the user can find out exactly where (s)he is – right from the Watch screen.
  11. Hands-free door unlock apps – Starwood Hotels has already shown the way – and it would be plain sad if professional mobile app agencies did not take the hint. Given how cumbersome it is at times to unlock doors using keys or swipe cards (particularly when you are carrying three bags of luggage!), it would be great if people could just activate the app, and tap it to unlock the door in front of them. Apps can also have the ‘wave-to-unlock’ functionality. Even simpler. (Note: The lock would, of course, have to be paired with Watch first).
  12. Kids’ apps – Mobile apps for kids can get a whole new makeover on Apple Watch. The smartwatch has a Sketches feature, which would enable developers to make fun drawing apps. Little users can even view and share their heartbeat loops with their friends (or on social media), and add new and interesting colors to them. A Watch-user can challenge another to a drawing contest. Watch has actionable notifications, which would alert the second person immediately when (s)he has been invited to join a contest.
  13. Vehicle parking and maintenance apps – Once again, BMW has introduced an app of this type, and we would, in all probability, see many similar applications by next year. The focus of these apps would be: a) finding reliable, convenient car parking spots, b) providing owners step-by-step directions to where their vehicles have been parked, and c) ensuring that there is no unauthorized access (read: car thefts). An additional functionality to keep a tab on the car’s fuel tank can be included to. People can simply get in their cars and check their wristwatches, to find out whether they have to stop at a pumping station. No more relying on the fuel meter of vehicles!
  14. Shopping apps – Yet another great takeout from ‘Glances’ on Apple Watch would be shopping-based apps. A properly customized native app for Watch can allow shoppers to find out about the best retail stores in their city, for any particular product. From fellow-users of Apple Watch, recommendations and reviews of local restaurants can also be obtained. If someone is off on a foreign tour, apps of these kind would double up as a trustworthy travel guide.
  15. Stock market-related apps – Instead of including stock market information in the ticker apps (discussed above), developers would be better-off making separate personalized apps for them. On the Watch screen, the app dashboard would display the stock quotes (with real-time updates) of the companies that a user is interested in. Ideally, people should also be able to buy/sell shares directly from these Watch apps.
  16. Gaming apps – Users of Apple Watch can tap the device screen to connect with each other – so how about making signal-based gaming apps? It will have to be a multiplayer game though, and each participant can send along patterned taps to the others (something like communicating in Morse Code). Whoever is able to guess the meaning of the communication would get the next chance create a tap code. Such a game might be a tad too difficult for kids, but adults with a penchant for solving puzzles would love it!
  17. Diet advice apps – With the Stand and the Move rings of the Activity app on Watch, users can get a visual representation of their daily activity levels (along with the calorie-usage figure). iOS developers can come up with third-party apps that work in sync with Activity, to generate personalized diet charts for each individual user (based on his/her health status and activities). As the fitness levels improve (Watch has an in-built Fitness app for that), the recommended diets would change. Push notifications can be sent along – if someone delays his/her meals by too long.
  18. Voting apps – There can be apps for Apple Watch that can make people interact directly with the live events/concerts that they are watching. For instance, if there is a live dance competition on the tele in progress, viewers would be able to vote for their favorite performer, simply by tapping on the Watch screen. Surveys have shown that nearly 85% people fiddle with their smartphones or tablets while watching TV, and these apps would make Apple Watch a cool ‘second screen’.
  19. Entertainment apps – Developers will have the chance to make Apple Watch more engaging than any other device from the Cupertino company. App companies can make applications that allow users to seamlessly connect their Watch with both iTunes Radio as well as Apple TV. These apps should ideally have pre-tested media screens/features, ensuring interruption-free video and audio playback.
  20. Dating apps – There are many online dating sites, and app developers can collaborate a few of them – to create interesting dating apps for Apple Watch. Nothing could possibly be more innovatively romantic than sending along the sounds of heartbeat (via HealthKit), or to simply share cutely sketched heart figures (via Sketches). The touch features of these applications would complement the Digital Touch, and would make conversations interesting like never before. People can save the names of their special someones, and send along a ‘tap’ whenever (s)he is feeling lonely.

iOS app development companies will require 2 separate executables while making apps for Apple Watch. Firstly, there will be the native version of the app, which will have the storyboards, and secondly, a WatchKit extension which would be operable on the paired iPhone. Apple has repeatedly emphasized that the Watch applications would not take the place of general iOS applications. Instead, they would complement the latter.

 

There can be many other categories of apps that can be developed for Apple Watch, which cannot be guessed right now. After all, when the first-generation iPad was released in 2010, who’d have guessed the sheer range of tablet apps that would become available over time?

AppBoard Tuesday – Deciphering The Success Of Freemium Apps

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

Hello everyone, and a warm welcome to yet another edition of AppBoard Tuesday (ABT). Now, if you are one of those who like to keep abreast with the latest data trends from the mobile app domain – you are probably already aware that well over 95% of the total annual revenues of Google Play Store is contributed by ‘freemium’ apps. At the Apple Store too, freemium applications have a healthy 60%+ share in the overall revenue figures. This week, we will try to find out some of the key causes for the popularity of these apps.

 

But first, a detour. A basic understanding of ‘freemium’ is essential, before we take this discussion any further. To start off with (till 2009), apps used to be of two types – the ‘free’/’basic’/’lite’ version (generally with limited features), and a more functional ‘paid’ or ‘premium’ version. Then arrived the concept of providing in-app purchase options within free apps. In other words, users could buy premium content on applications that were available for free at the stores. Hence evolved the concept of ‘freemium’ (‘free+premium’, see how the word has emerged?), and suffice to say that it has been a raging success among mobile app developers worldwide.

 

Okay, now let’s move on to the factors that make freemium apps tick. We can easily pinpoint the following reasons:

 

  1. Opportunity to earn more per user – In-app purchases allow developers to bundle such in-app purchase options that help them earn more from each user. For instance, in a free mobile app for kids – there can be additional digital storybooks available for download, each at, say, Rs. 100. Now, someone who has downloaded the app will download at least some of these paid files as well. With each download, revenues would increase.
  2. A natural extension from free downloads – The word ‘freemium’ might be new (at least it was when Apple introduced it first), but the concept is far from being anything novel. Mobile app companies have always offered free download options (mostly for a pre-specified trial period) with their applications. Providing ‘freemium’ content follows from this relatively old practice. It’s only that the ‘free downloads’ have now been replaced by ‘paid downloads’.
  3. People love free apps – The ratio of free app to paid app download is significantly skewed in favor of the former, at both iTunes and the Google Play Store. Freemium allows developers to earn revenues from their products, while keeping their apps free (which rules out the chance of people switching over to other applications). Users have full freedom to decide whether to pay extra bucks for the freemium content, while iPhone/Android app companies can boast about having (and retaining) huge download figures.
  4. Chance to gather more accurate user data – The way in which people are reacting to the in-app purchase options in a free app serves as a clear pointer of their preferences. To put in another way, the freemium content complements the mobile app analytics data. If people are mostly staying away from making paid downloads, that’s a telltale sign that they are not liking the stuff that is being offered. Via researches and survey, there is every chance of tweaking around with the freemium content over time (i.e., during every app upgrade). Chalking up a freemium policy is certainly not a one-shot game.
  5. Less dependence on consumers’ willingness to pay – Consider this: you create an excellent mobile game, and price it at $50. Getting five-star ratings on that game won’t be an issue – but there are serious doubts as to whether it would have enough takers to start with (and let’s face it, there is a lot of competition from similar yet  cheaper rivals). A mobile app development company can work around this uncertainty by going for the freemium strategy. The ‘lite’ version of the game would now have a ‘free-to-play’ environment, and users can download extra features ONLY WHEN they feel like doing so. Nothing is being forced on the end-users. Take our word – people love that!
  6. A way to target a larger audience – Going freemium can considerably expand the target audience set of certain web and mobile apps. For example, there is an IM app which can be used by a) a teenager to chat with his/her buddies and b) by his dad, for conference calls with professional colleagues. The latter option can easily be included under the freemium content of the app. No longer is there any need to create separate apps for users from different age groups (and worrying about their pricing strategies). A single freemium app would suffice.
  7. Strong stand against software piracy – The case of Angry Birds is a classic example in this regard. Both iOS as well as Android app development experts agree that software piracy is a big threat for paid apps, in particular. It is hardly difficult for any obscure company to develop and release a cheaper clone of a popular paid application, and eat into the latter’s sales. With freemium apps, there are no such risks. The basic app remains free to download, which makes it impossible for other companies to offer cost-advantages.
  8. Enhanced testing opportunities – Right from A/B testing to other forms of beta testing, freemium enables mobile app marketers to be extra sure about a lot of things. For developers whose apps have a pretty wide user-base, there are ample opportunities to test new products (read: mobile software content), before finalizing a particular set of freemium content to be offered. Since the testing involves actual users (instead of a sample focus group), the results are likely to be more useful than ever.
  9. Freemium model is easy to implement – For the simple reason that, mobile app companies do not have to lose their sleep about building a significant clientele for their new applications from scratch. A well-made, free app will already have a fairly large number of fans, and you can offer the freemium stuff (via an upgrade) to this existing user-base at one go. Now compare this with the task of popularizing a brand new paid app. Way more difficult and time-consuming.
  10. Smaller development cycle (and lower costs too) – Adopting the freemium app monetization strategy makes the overall mobile application development cycle smaller too. As already highlighted above, there already exists a healthy pool of users of your existing free app. All you have to do is release an upgrade, with freemium software add-ons that can be downloaded by users. Apart from the time-factor, the total app development costs are also reduced (compared to the expenses associated with creating an entirely new app).
  11. Offers greater market exposure – What if you have brought an entirely unique app to the market? People have no idea about it, and you cannot expect them to spend big bucks to download it. On the other hand, if you have made the app free (and do not have an advertising strategy), making money from the app can be a huge challenge. However, if your app is free but includes paid premium content – that offers a viable channel for earning revenues from new users. Those who shy away from unknown paid apps are more than happy to check out free ones.

While the popularity of freemium apps has no chance of abating in the near future – there can be a couple of potential issues with it. Firstly, there is no assurance that users WILL download the paid stuff (and developers are no longer forcing them to do so). As a result, conversion rates are likely to remain on the lower side, at least during the initial stages. The other concern would be about how the freemium package is priced. There have been cases where a company offering freemium apps has been upstaged by a rival whose premium apps are cheaper. Now that is a sad case of missed opportunity!

 

That wraps things up for this week’s AppBoard Tuesday (ABT). Next week, we will be back with a discussion on some other relevant issue related to the mobile app business. In the meanwhile, you can write in to us – suggesting probable topics that we can cover, and any queries that you may have. Till next Tuesday then, stay well…and stay in love with apps!

Why Should You Hire A Mobile App Company?

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

Brainstorming for a practically useful app idea is not the easiest task in the world. When you do manage to think up a good app concept, it is vital to not take any chances with its implementation. This is where the importance of mobile app companies come into the picture.

 

Anyone can have ideas that can be converted into apps. While fiddling with your smartphone, teaching your kid, waiting for a delayed flight at an airport, having your breakfast – a nice and interesting idea can easily come across your mind (particularly if you are interested in tech stuff) at any time. However, to give practical shape to your app ideas, availing the services of a good mobile app company is of essence. Here’s a few reasons why you will go nowhere on your own – even if you have the best app ideas at your disposal:

 

  1. Where’s the technical expertise? – Professional mobile app developers have it, you don’t. It would be a waste of both time and effort to think up an idea AND then, learn programming techniques to codify it in the form of a workable app. The responsibilities are distinct enough – you are in charge of unearthing a good concept, and the company will look into how the actual app development process takes place.
  2. Plenty of options – What with the rapid proliferation of mobile technology worldwide, every major city has multiple smartphone app development companies. There is absolutely no need to worry about how to create an iPhone/Android app, when a few minutes of research on the internet can get you in touch with leading agencies that specialize in the job. Make a shortlist of the companies, compare their fees and service offers, and hire the one which seems the most suitable.
  3. Customization – Let’s consider for a moment that you are a capable programmer yourself. Does that mean that you can ignore the need for hiring a mobile app development company? Far from it. At best, you will have a SINGLE idea of coding for the concerned app. A company, on the other hand, will be able to provide you customized app development solutions – depending on your precise requirements, budget and other relevant factors.
  4. The cost factor – There is a myth that availing the services of mobile app companies invariably involves huge expenses. That would hold true only if you fall for the charms of a shady company, interested only in sponging the maximum possible revenues from you. Any respectable app company would a) give you free app quotes and b) offer alternative budget options. There is no reason whatsoever for spending more than you need to.
  5. Way more systematic and timely – Even if you CAN create a mobile app, that does not mean that it would be a smart option to try your hand at it. Chances are that you have a proper day job, and you will only be able to devote time to app coding during your leisure (late nights, maybe?). There would be no way of saying when you will complete the app development. Mobile app agencies are just the polar opposite – they work on the basis of milestones, and promise a pre-specified completion and delivery date. The fees you have to pay is small price for the systematic service you get.
  6. Intellectual property rights stay safe – It is your idea after all, and it’s only natural to be worried if third-party developers claim ownership of the idea after the app has been developed. Well, most leading Android or iPhone app development agencies are prepared to sign non-competing agreements BEFORE starting to work on your project. That should keep your mind at ease regarding the issue of intellectual property rights. Once the app is at store(s), you can promote it under your name. There is no compulsion of mentioning the name of the company you had hired too.
  7. You are kept in the loop – Mobile application developers would share app wireframes, mockups and prototypes at regular intervals with you. This works to your advantage in two ways. Firstly, you can give your suggestions/feedback at any point (including requests for modification, in case the app is not quite being made according to your preferences). Secondly (and this one is not that important), you can learn some tidbits about the mobile app development frameworks, the underlying platforms, and the coding techniques that are being used. If you try making an app on your own, who are you going to turn to for feedback or on-the-job recommendations?
  8. The creative touch – There’s a world of difference between conceiving a great app idea, and actually giving it an engaging, attractive feel on devices. Any app company worth its salt will have expert graphic designers, animators, and other personnel looking into the creative aspect of the job. Even the most interesting ideas can fail, if the app developed from it appears boring to final users. Even if you can develop your own app, you will lose out on the creative front – because, let’s face it, developers cannot double up as designers!
  9. Help in app marketing – If you decide to make the app yourself, how are you going to market it? You will tell your colleagues and neighbors and relatives and acquaintances, maybe make a blog and publish posts about your app, and share snippets about it via social media. That, sadly, is not going to give your app sufficient exposure – particularly since thousands of both iOS and Android apps are being submitted every month at the stores. A professional agency would take up the responsibility of mobile app marketing as well. Their promotions are done on an ongoing basis – so that your app always remains in the news.
  10. The testing issue – You submit a buggy app at iTunes, and it will be rejected forthwith. The approval procedure is far easier at Google Play Store – but if your app has malware, it would soon create a negative buzz, and download figures would never be high enough. When you hire an app agency, you get reliable assurances on the quality issue. Developers perform thorough mobile app testing, so that there are minimal chances of user-complaints, and your app becomes more likely to be a success.
  11. Experience matters – When you look for any service provider, you search for experienced personnel, right? There is no reason why your approach should be different when a mobile app is to be developed. After all, you are a ‘fresher’ in this domain, while companies have teams of mobile app developers with years of relevant experience. The enhanced service efficiency you get more than justifies the app development costs you are charged.
  12. Devising app monetization strategies – Irrespective of whether you wish to make a free app or a paid app, a company would always have the resources to implement effective app monetization strategies. In addition, freemium apps are gaining in popularity at present – and for monetizing them, trusting a professional is a way better idea than trying to chalk up strategies on your own. If you wish to make money from your app, professional help is an absolute must.

Mobile app development companies generally provide excellent after-sales support too. You can get in touch with the developers at any time, for suggesting upgrades and modifications (for future app versions). The only thing you should not do is hire the very first app agency you come across. Each of them would claim to be the best, and the onus is on you to research properly, gather references, and pick the one that would indeed help to make the most of your app idea.

 

AppBoard Tuesday – Strategies To Come Up With Great App Ideas

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

It’s that day of the week again, folks – when you can dive into our free weekly newsletter, AppBoard Tuesday (ABT). We hope that the little tidbits of tech (and at times, not so tech!) knowledge that we share are being of help to each of you. Today, we tackle an issue that can have even the most proficient of mobile app developers stymied. They can know all the programming languages in the world – but actually zeroing in upon viable, interesting app ideas is an entirely different ball game (and no, merely being creative does not help!). Read on and find out how you can systematically look around for amazing ideas for your apps:

  1. Do not trust your gut feelings only – You might ‘feel’ that a certain type of iPhone or Android app would work. Sadly, such random hunches and gut feelings have every chance of failing. Instead, check out the top-selling charts at the stores – and find out the details of applications that have already become popular. This would give you a starter’s idea about the nature of mobile apps that have maximum chances of succeeding.
  2. Involve everyone – The more people contribute inputs for your app ideas, the better. It’s all about effective brainstorming – and if you are a professional mobile app entrepreneur, get as many of your employees as possible to provide ideas and concepts. For instance, if you are planning to make a mobile gaming app for kids, ask everyone to submit game ideas. The best ideas can come from the unlikeliest sources – so make sure you tap every resource at your disposal.
  3. Target a problem – Or a gap. Conduct customer surveys and researches (email questionnaires and social media interactions are easy tools for these) to find out about things that people want from their smartphones/tablets – but there are no apps for the same yet. Don’t waste your time on an app idea that seems captivating but is not of much practical use. In the United States, the average smartphone-owner has close to 30 apps installed, and they have little tolerance for ‘useless’ stuff.
  4. Make improvements – You might be wondering how you can possibly find an absolutely ‘new’ app idea – particularly when there are well over 1.3 million applications each, at iTunes and the Google Play Store. Don’t worry – no one has said that mobile app development requires full-blown innovation. While studying the most downloaded apps from the stores, jot down points on how you can add/improve its features. You will be, in essence, piggybacking an existing app idea (yay!), but with additional inputs and thoughts of your own.
  5. Put yourself in the customers’ shoes – The tendency to always think about download figures and revenues often prevents app developers to really understand common people’s mobile needs. Think like this: What are the things that irritate you the most about your own smartphone (don’t say ‘short battery life’ – you can’t make an app for that!)? Is it the absence of a personal finance manager? Or a smart, accurate GPS navigator? Remember, your frustrations with your phone can closely reflect those of your target buyers.
  6. Do not be ‘too unique – Selling public parking places, creating weird emojis, providing chat options based on GPS-functionality – all of these are unique app ideas, and terrible ones as well. Problems can crop up for such ‘way too different’ mobile apps on two counts: first, the chances of these apps getting rejected at the stores will remain high, and second, such overly-ambitious apps might have few takers (after they have been approved). A worldwide mobile app revolution is on and people are opening up to various types of applications – but to start off with, keep your ideas relatively conventional (not stereotypical though).
  7. Include a ‘wow’ factor – While framing the idea blueprint for your app, make it a point to have a single, specific ‘wow’ factor in your product. Apart from driving the sales/download figures, this point-of-difference would help you in arranging focused mobile app marketing campaigns. Find out how the leading apps are being promoted, and follow their cues. A trade secret over here – your ‘wow’ factor need not be something ground-breaking, it’s all about how you present it. Be a smart marketer!
  8. How complicated is your idea? – What seems a pretty straightforward app idea to you might seem weirdly complex for another person. Do a simple test – gather some of your friends/family-members, and describe your idea to them. If the listeners do not get a proper idea about your proposed app in 3-4 lines, that’s a telltale sign that you have overcomplicated things. Abandon that idea, and try to think up something simpler.
  9. The ‘do what you love’ rule still holds – Unless you are working on the project of a third-party client, you have full freedom in creating apps that offer a blend of: a) general user-requirements and b) your coding and development preferences. There is a rule-of-thumb – if you are creating a mobile app only to make big money, and are not enjoying the work per se, you will ultimately end up with a half-baked, substandard product. The biggest business visionaries, right from Steve Jobs to Mark Zuckerberg, were not (at least initially) spurred on by monetary motivations only. The same should apply for Android/iPhone app development professionals. The only thing you have to ensure is that your loves are in sync with people’s app-demands.
  10. Always work with a visual layout of your idea – If you own a mobile app company, you will have whiteboards, right? Sketch out visual representations of your ideas, to get a feel of how the app (in its final form) would work. There are several mind-mapping software available as well, which serve the same purpose. In case you are working on a freelance basis, reach out for that pen and notepad every time you hit upon a new idea. The ‘look’ of your idea matters!
  11. Study interest trends online – Google Trends is your best buddy for this. Find out which topics, ideas and tech concepts are trending at any time – and try to make an app that incorporates these popular trends. Be wary of short-lived fads though. Trends would give you a clear picture of what most people are interested in – and your goal is to make apps that satisfy those interests.
  12. Start off as soon as an idea checks the above points – Procrastination hampers every business, and mobile app development is no exception to that. If you keep putting off the start of your project in the hope of coming up with a ‘better’ idea – there’s every chance that you won’t be able to start developing at any time in the near future. Don’t be too worried about failing the first time – even if that occurs, you will be able to learn from your mistakes and prepare improved applications later.

 

Do not be shy of downloading as many apps as possible (try to find as many free ones, of course!) on your device – to check out their features, UI/UX designs, navigation options, and other properties. Create a background story behind your app, which users can connect to (might be a short story about how an app idea just flashed in your head). Finding and nurturing app ideas is not something only the biggest creative geniuses can do. Even regular developers can zero in on amazing ideas.

Story Time For Kids version 3.0 screen

That’s all we have in this week’s edition of AppBoard Tuesday (ABT). Two new iOS apps – Sting and Doo’l – are set to hit the App Store pretty soon, and final-stage testings are going on. The other highlight from our company last week was the release of Version 3.0 of Story Time For Kids - the award-winning kids’ app. We have totally revamped the UI designs, and have included a few minor bug fixes. Story Time For Kids v. 3.0 is compatible with the iOS 8 platform too.

 

Time to say ‘adios’ for the week, dear readers. ABT will be back with something new and interesting next week. In the meantime, do send us suggestions and ideas on topics that you feel we should cover. Till the next time, stay totally zoned in with apps!

 

Why Is Xamarin The Ideal Tool For Cross-Platform Mobile App Development?

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

The successor of Mono Touch – Xamarin – is rapidly growing in popularity among multi-platform app developers. We here take a look around the main benefits of using the Xamarin tool.

 

The debate will rage on as to whether it is easier to learn Objective-C (for iOS apps) or Java (for Android applications). The situation can be particularly difficult for cross-platform developers, who need to have thorough knowledge of both the languages. With the release of Apple Swift, there’s yet another programming language to muster. In such a scenario, it is hardly surprising that developers are increasingly switching over to Xamarin for cross-platform mobile app development. In case you are not familiar with this tool, here are some key advantages that Xamarin has on offer:

 

  1. Works around the uniqueness of the two platforms – Mobile app developers get separate sets of .NET classes to work with – for iOS and Android projects. The SDK and UI of Apple and Google are different, and Xamarin does not try to bring in any unnecessary commonality between the two. Instead, the unique features of the two platforms are used in an optimal manner by the core logic of Xamarin.
  2. Lesser lines of code – Compared to both Objective-C and Java (let’s not go into comparisons with Swift just yet), Xamarin involves lesser amounts of manual coding. The reason is simple – for most types of projects, C# involves significantly less typing than other programming languages. Additional boilerplate annotations are not required either. Since the coding remains crisp and compact, chances of developer mistakes become minimal.
  3. Full support for native apps – According to cross-platform mobile app developers, this is probably the biggest advantage of Xamarin. It comes with an extensive range of native application program interfaces (APIs), which enable developers to retain platform-specific look and feel, while using the shared code. It’s an absolute myth that C# is not as useful for creating native apps as Java or Objective C.
  4. Excellent library support – With the release of Xamarin 3 in June, Portable Class Libraries have been included in Xamarin. The supported .NET libraries can now be directly used for coding iPhone apps, Android apps, and even applications for Windows Phone. App developers no longer have to build their programs from scratch. Previously, the pre-compiled libraries were not compatible for iOS/Android projects, but that issue has been resolved now.
  5. The learning curve is a lot less steep – Particularly so for mobile app development experts who are proficient in C#/.NET programming. Even those who have not worked with the language earlier need to learn only one language (C#), instead of having to slog through both Obj.-C/Swift and Java – for developing apps with multi-platform features. A couple of weeks is the maximum time you need to invest, to learn how to use Xamarin.
  6. Additional advantage for functional programmers – Using lambdas in an Objective-C program is a hassle, even for experienced developers. Java, of course, does not even have lambdas. Xamarin offers a great solution for functional coders, thanks to the ease with which lambdas can be worked with in the C# environment. Since the code completion is ubiquitous, writing out code snippets becomes a lot simpler.
  7. Shortening the app development cycle – Along with the expenses that mobile app companies (and, in turn, clients) have to incur. Code-sharing is another key highlight of Xamarin – and the tool supports the native SDK of practically all popular app development platforms. Conditional compilation and file-linking help in making the best use of native controls – irrespective of whether you are working on an Android smartphone app or an iPad. On average, nearly 80% of the codes in the Xamarin framework can be reused.
  8. Significantly lower bug risks – This follows from the earlier points. When a mobile app testing expert only has to check a single set of code (in C#), instead of two different sets – it is only natural that the testing would be more thorough, and his/her concentration levels would not waver. What’s more – the total time required for the testing procedures are also considerably lowered. Leading mobile application development companies have to work with demanding project deadlines, and Xamarin helps them attain a high level of service-quality and time-efficiency.
  9. Advanced language-level support – When you start using Xamarin, you effectively bid adieu to all forms of manual bookkeeping and callbacks (which are necessary in Java, and even Swift). The procedure for asynchronous programming (async) with C# is comparatively much simpler. As a result, developers find it easier to add responsiveness to their apps. ‘Futuristic’ would be an apt adjective to describe the Xamarin system.
  10. Automated app testing – Apart from generally lowering the chances of bug-presence in mobile applications, Xamarin allows real-time testing on devices as well. This feature can be accessed via Xamarin TestCloud, which allows any iOS or Android app to be simultaneously tested on a large number of devices (the ones on which it would finally be used). Both object-based as well as fragmentation testing are supported. The reports generated are detailed and systematic – and chances of an error passing unnoticed is almost nil.
  11. Native UI support for all platforms – With the help of fully shared C# codes and Xamarin.Forms, native controls for iOS, Android and Windows Phone apps can be built during runtime. There are nearly 50 different layouts available, which makes customization of the native interfaces an absolute breeze. A much faster and easier alternative compared to creating UI using two different sets of codes.
  12. Support for Google Glass apps – Wearable technology is the future, and Xamarin comes in handy for making applications for them too. By using the features of Xamarin.Android (along with the supported GDK and SDK of the platform), apps that can be used on Google Glass can be created by developers. There might not be a huge buzz about this at present – but as Glass grows in popularity, demand for compatible apps would increase, and Xamarin.Android would be more and more used.
  13. And then, there’s Xamarin.iOS – While Xamarin.Android works with the JIT (just-in-time) compiler, Xamarin.iOS makes use of the Ahead-Of-Time (AOT) compiler system. The default naming conventions of the .NET environment are used, and the entire SDK of the iOS platform can be seamlessly imported into C#. The built-in apps in Xamarin.iOS can be directly compiled on the ARM assembly code as well. Xamarin also offers same-day support for each iOS version (including iOS 8). As a result, making platform-specific apps for Apple devices becomes easier than what it was with Objective-C.
  14. Developers can work with Xamarin Studio and Visual Studio – Depending on their preferences, proficiency and precise project-requirements – mobile app developers can use the Xamarin tool in either the Xamarin Studio IDE or the more familiar Visual Studio IDE (the former is also free). Both of them offer features that are at par with any sophisticated software/app development environment. The overall development procedure gets simplified, and there is a host of tech support features available as well.

With simpler, shared coding for iOS and Android, Xamarin allows mobile app companies to bring their products to stores more quickly too. One of the best things about the framework is its support for the Windows Phone environment, in addition to the two mobile platform leaders. Well over 600000 app developers use Xamarin on a regular basis at present – and the collaboration with Microsoft has further enhanced its features. For all those who are interested in cross-platform app development – Xamarin is a really user-friendly tool. It’s not that learning Objective-C and/or Java is unnecessary, but working with Xamarin is just that bit more convenient.

14 Reasons Why Apple Swift Is Not Quite The Ideal Programming Language Yet

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

Following the announcement of the Gold Master status for Apple Swift, there has been a marked increase in interest among developers to create apps with the new language. While there’s no room for doubting that Swift is a big improvement over Objective-C, the former is still not quite ready for use as a standalone language.

 

Swift has been in the news ever since its official unveiling at the Apple WWDC event, back in June. Apart from creating plenty of buzz among programmers and mobile app developers worldwide – Swift has recently been integrated with Parse, the backend service of social media biggie Facebook. In early September, the new language was given the ‘1.0 Status’, and at present, apps created with Swift can be submitted at the store (thanks to the ‘Gold Master’ status). However, there are still certain factors that stand in the way of Swift becoming the top choice for all developers. We here take a look at some of these inconveniences:

 

  1. Swift is not as ‘swift’ as promised – There had been all sorts of rumors in online iPhone app development communities about how Swift would be close to ten times faster than Objective-C. Detailed testing of the new language’s beta version has proved that this is far from being in the case. On the basis of several key parameters, Swift is around 1.5 times slower than Objective-C. Developers who had expected Apple Swift to be some sort of a ‘new magic potion’ are bound to be disappointed.
  2. Lack of Query Parameterization – Unlike Java, which has ‘PreparedStatement’ in its library, Swift comes up short on this security front. This issue assumes even greater importance in the light of the fact that ‘Command Injection’ is currently one of the biggest sources of coding vulnerabilities. Unless the developers at Apple add a query parameterization feature to Swift, the only other alternative would be working with SQLite library. Code reliability levels would remain low.
  3. Overdependence on Objective-C – Everyone has loved the fact that Swift has not been launched as a substitute of Objective-C – and app development experts can work with the two languages simultaneously. That, however, does not mean a thing for newbies who do not have a proper hang of Objective-C yet. They would have to (like earlier developers) learn the parent language properly, before turning their attentions to Swift. Apple has not made a ‘ready-to-use’ programming solution for new developers. In addition, there is an outside chance that Apple might pull the plug on Objective-C support in future. How would Swift be modified then?
  4. Optimized for a single platform – Many companies involved in cross-platform mobile app development would be initially reluctant to switch over to Swift. Although Apple has gradually opened up its app ecosystem to third-party developers, the new programming language is still about Mac OS X and iOS only. For Android or Blackberry developers, using Swift is still, and will probably remain, a pipe dream.
  5. Increase in competition among developers – Which, in turn, might lead to dwindling monetary rewards for individual companies. Leading mobile app companies have confirmed that it does not take more than a couple of weeks to learn up Swift and start making apps with it. Over time, more and more developers would start submitting Swift apps, competition among them would spiral – lowering the per-app returns. What’s more – if people are in a tearing hurry to create apps with Swift, errors/bugs might remain (due to inadequate mobile app testing), and app rejection rates might also rise.
  6. Absence of Taint Checking feature – Python has it, Ruby has it, but Swift does not. ‘Taint Checking’ is easily the most convenient way to ensure that the key variables in any app/software are not being handled/manipulated by end-users in an insecure manner. Given the importance that Apple has always attached to security considerations, it is rather surprising that Taint Checking has not been a part of Swift to start off with.
  7. Only experienced developers will find Swift easy to muster – Apple Swift has been positioned as a language that makes the task of creating long, complex codes considerably easier. Its benefits are not as general though. Let’s explain this with an example – only those already proficient in English will find it easy to write shorter, simpler sentences with a new guidebook. Similarly, developers who have been working with Objective-C for some time have advantages to look forward to from Swift. For new programmers, or developers from other platforms – Swift is just another language that has to be learnt, investing plenty of time and effort.
  8. Will developers with large codebases switch over? – We would have to wait for a couple of months more, for the jury to be completely out on this one. At present though, it seems rather doubtful that iPhone app developers who have built up a large Objective-C codebase over time would jump on to the Swift bandwagon immediately. They might learn the new programming language (the interoperability with Objective-C would help), but the number of Swift-only apps won’t skyrocket any time soon.
  9. Online tutorials and community support is still not adequate – This is a typical ‘early-stage problem’ for any new language. For all its advantages, there is still not much in the way of online learning communities and resources (there are certain textbooks, but developers have to buy them). As the community support for Apple Swift grows stronger, people would be able to clarify doubts and queries on a real-time basis. As of now, that is not impossible – but mighty difficult.
  10. Using AppKit and UIKit – Here we go again – another offshoot of the dependence on Objective C that is likely to frustrate mobile app developers for at least a few months. A developer who needs to work with AppKit and/or UIKit can only do so when (s)he uses Objective-C (the features won’t be available otherwise). Source codes, pieces, and even external libraries can be accessed only via Objective-C, and not only by Swift. Let’s just say Swift does not yet have the legs to stand on its own.
  11. Trade-off between advanced features and time-based efficiency – High-end playground simulation, simpler coding procedures (at least for experienced programmers), runtime code checking and mobile app testing – Swift has a host of attractive new features on offer. However, the same features have another effect too – on the execution time of codes. An iOS app developer will have to be prepared to spend more time on single Swift projects than what they had to for earlier Objective-C ones. Many mobile app agencies work under challenging client deadlines, and they might just be reluctant to move to a ‘slower’ language.
  12. Cocoa and Cocoa Touch are still in Objective C – In a year or so, most mobile app companies will start using Swift full-fledgedly. Till now though, all the essential frameworks for iOS app development, including Cocoa and Cocoa Touch, is written only in Objective-C. As a result, working with Swift only is virtually impossible, and Obj-C has to be included (that’s precisely why Apple made the two languages interoperable). For making functional iPhone/iPad apps, these frameworks are necessary, and you will have to use Obj.-C for that.
  13. Portability from Objective-C – This is an issue exclusively for new developers, who are not yet sufficiently familiar with Objective-C. Since they do not quite know the older language thoroughly yet – it would be extremely difficult for them to port code snippets/full programs from Obj-C to Swift. Once again, as online tutorial support for Swift grows stronger, portability will become less of a problem for newbies.
  14. Will all experienced developers take the plunge? – It’s one thing to show enthusiasm about a new language – and it is an entirely different thing to arrange for Swift training sessions (which involve time and monetary expenses) for mobile application developers. There are hundreds of established companies who have been doing good with their Objective-C projects for close to a decade – and initially, they might feel shifting to Swift is not really necessary.

All things said, it would be a big folly if anyone in the iOS app development business feels that learning Swift is not worth it. Swift is definitely the future for developers, and all the points highlighted above are likely to be resolved over time. All that we have emphasized is, Swift is not ready to become the only necessary language for iOS developers. Sometime in future maybe, but not just yet.