Author Archives: Hussain Fakhruddin

The Basics Of watchOS 2 App Development: Key Points

On the 9th of December, Apple announced its ‘Best Of App Store’ list for 2015. ‘Dark Sky’ – a weather based application – bagged the ‘app of the year’ award for Apple Watch (for iPhone, ‘Periscope’ was the winner). The Cupertino company has also already released the watchOS 2.1 update – and initial reviews of it from developers worldwide have been positive. The spurt in interest in making apps for Apple Watch is pretty much evident from the fact that, the total number of WatchKit apps developed by third-party developers is closing in on 12000 at present – a big jump from the 1500-odd figure in June. In what follows, we will provide a basic outline about making apps on the watchOS 2 platform:

 

  1. Download the latest version of Xcode – Many iPhone app developers have reported that Xcode 7 does not have the Watch simulator for applications – and hence, getting the upgraded Xcode 7.1 version would be advisable. Check whether the project wizard has a dedicated watchOS section in the left panel – between the iOS and the OS X sections. Click on watchOS → Application, and then choose ‘iOS App with WatchKit App’. This is the template you will be working with.
  2. Understand the ‘peer-to-peer’ architecture – Before getting down to actual coding, it is vital for WatchKit developers to understand the underlying system architecture of watchOS 2. Unlike its predecessor, the new Apple Watch OS allows the WatchKit extension of applications to remain and operate in a native manner within the smartwatch (earlier, WatchKit extensions used to reside inside the paired main iPhone app). In other words, with watchOS 2, the logic of WatchKit apps can now be present in the Watch itself.
  3. Enter the first set of details – On the screen that appears after you have selected ‘WatchKit App’, enter the information required. Apart from the ‘Product Name’ (choose something simple, like ‘My First Watch App’) and the ‘Organization Name’, you will have to select the ‘Project’ and the ‘Embed In Companion Application’, from the respective drop-down options. Most new watchOS 2 app development projects will be done in Swift – so choose that as the ‘Language’. For a basic Watch app, the boxes below ‘Language’ are not required…uncheck them all. The setup for making your Watch app is now ready.
  4. iCloud support will no longer be present – watchOS 1 had full support of iCloud technologies, but Apple has changed things up with the latest iteration of the watchOS. The paired iOS companion application is now in charge of performing the same tasks. What’s more – this information/results are transferred wirelessly to the WatchKit extension. On the other hand, managing files on Watch and its paired iPhone separately and locally is important, if a WatchKit app is heavily dependent on the connected iPhone application for data. Keep in mind that there is no automatic data backup feature in Apple Watch yet, and backups have to be taken from the iPhone.
  5. Know the folders in Project Navigator – Okay then, after setting up the app project in Xcode 7.1, you will need to get familiar with the revamped ‘Project Navigator’ screen of the IDE. In particular, those who make mobile apps should have in-depth knowledge about the purpose of three folders here: I) Demo WatchKit App, where all the main resources, as well as the storyboard files of the application are stored, II) Demo WatchKit Extension, which is the location for the ‘logic’ of the app, i.e., the source files of the app extension, and III) Demo, which houses all the resources and information about the iOS companion application.
  6. Playing video files in Watch app – watchOS 2 has come with an impressive array of new UI elements, and among them, WKInterfaceMovie has come in for particular praise from the contingent of iOS app developers. This component helps in integrating audio and video within the WatchKit application. All that you have to do is connect the IBOutlet in the app code with the new audio-video UI component in the Object Library (after dragging it to the main storyboard interface). Within your project, WKInterfaceMovie must reside inside the WatchKit extension, since the former supports only the URLs of local files. Add movie to the component by the command line setMovieURL:. Practically every feature of the videos in Watch apps can be customized – right from loops and gravity, to poster images.
  7. Configure Xcode and run your app – Before moving on to other interesting tidbits about developing apps for the watchOS 2 platform, let us build and run the basic application that you have already created. From the active scheme (Demo), select ‘iPhone 6 + Apple Watch – 38 mm’ and hit ‘Play’. Both the Apple Watch simulator as well as the iOS simulator should simultaneously appear in the Xcode dock. In case the Watch simulator is not visible, you will have to activate it from the iOS Simulator and click on ‘Show App on Apple Watch’.
  8. Real property animation arrives on watchOS 2 – All that the first version of watchOS had in the way of animations were lengthy sequences of static images. On the updated version of the OS, WatchKit app developers finally get the chance to include property animations in their applications. Within the IBOutlets of the code, you will need to add the WKInterfaceButtons (3) and the WKInterfaceImage. Values can be easily set for all the animation attributes, like background colour, alignment (horizontal vs vertical), alpha, and insets of group content. There is still a lot of room for improvement in the animation features on watchOS – but professional animators working on the Apple platform at least have been given a chance to get creative with their Watch apps.
  9. Use the new APIs – One of the best features of watchOS 2 for developers is the slew of new, usable APIs it has come with. It’s time to check out a few of them. Navigate to Demo WatchKit App → Interface.storyboard, and include the ‘slider’ and the ‘button’ components to your project. ‘Pickers’ are handled by ‘WKInterfacePicker’, in the same manner as they are managed by ‘UIPickerView’ in iOS projects.  With the help of the Digital Crown of Apple Watch, you can browse through the objects of ‘WKPickerItem’. Stacked, List and Image Sequence are the three different ways in which items can be viewed in ‘WKPickerItem’. For the ‘button’ component, you only have to drag-and-drop it to the ‘InterfaceController’ and name the Action correctly (showAlertPressed). You can play around with the ‘sliders’ component as well.
  10. Alerts and Actions – Experts from the field of iPhone and Watch app development have liked the new system for generating message alerts on watchOS 2. The platform has 2 separate options – ‘WKControllerAlertStyleSideBySideButtonsAlert’ and ‘WKAlertControllerStyleAlert’. As its name suggests, a maximum of two buttons can be horizontally placed with the first one, while the second option is for placing buttons vertically. There is yet another style, named ‘WKControllerStyleActionSheet’, which defines the features of the action sheet. There can also be three styles of buttons – Default, Cancel and Destructive (the first is present in most cases, while the last is shown when users are about perform a critical action, like data deletion). These buttons are created with ‘WKActionStyleDefault’, ‘WKActionStyleCancel’ and ‘WKActionStyleDestructive’ respectively.
  11. Make a Controller and connect the Outlets – Let us now get things organized and sorted out. WatchKit app developers need to click ‘watchOS → Source → WatchKit Class → Next’ (in the dialog box that pops up after ‘New File’ is chosen from ‘WatchKit extension’). The controller class has to be named, along with the name of the subclass this controller will be a part of. Outlets can then be added to the controller, with the help of the ‘Identity Inspector’. Simply select ‘Watch → Interface.Storyboard’, and add a ‘Custom Class’ to the Controller you have just created. You should now be good to connect the outlets and pass information to them.
  12. Including customized sketches and drawings – Native apps for Apple Watch can finally have custom drawings and figures – although there is no ‘UIView’ for the watchOS platform yet. App UI/UX designers can use tools like UIBizerPath and Core Graphics (for this, a prior knowledge of 2D Quartz programming will come in handy). After the ‘WKInterfaceImage’ component is brought inside the main storyboard interface and connected to ‘IBOutlets’, drawings can be made – including charts and graphics. If you wish the app image(s) to cover the entire screen real estate of Apple Watch, select the ‘Relative’ file size option in ‘Container’.
  13. Add and populate tables – For this, developers have to go to the ‘Attributes Inspector’ in the ‘Interface Controller’, and set the ‘Identifier’ and ‘Title’ first. Once that is done, a new table can be imported from the Object Library (to, of course, the interface controller). The ‘Table Row Controller’ is present in the drop-down navigation menu. Adjust the color and alignment of the table, along with its spacing properties. To populate this table, you will now have to drag from the ‘Table’ to the ‘ScheduleInterfaceController’. This creates an outlet, which populates the table. ‘Row Controllers’ can also be added.
  14. Migrating from watchOS 1 – Several indie developers as well as mobile app companies already have portfolios of Watch apps – which need to be ported to the watchOS 2 platform (just like how older iPhone apps are made compatible with new versions of iOS). To migrate an existing app for Apple Watch, open it in the latest Xcode version. A notification will flash at the bottom of the ‘Issue Navigator’ screen. There is a ‘Perform Changes’ button under that – and when it is clicked, the existing project is migrated to watchOS 2.

 

Note: In case you wish your WatchKit app to serve both the versions of watchOS, creating separate executables and targets will be necessary. Code-sharing, in particular, might be an issue, since the app development principles and architecture differ significantly between the two.

 

Since the launch of Apple Watch, there has been an increase of around 280% in the number of native apps for the smartwatch, developed by third-party app agencies. While the first set of these applications were nothing to write home about, WatchKit app developers are gradually managing to come up with better concepts and ideas. The arrival of a separate app store for Watch apps has been a boost, and watchOS 2 is a lot more developer-friendly than the earlier version as well. Making apps for Apple Watch can be challenging and a lot of fun – you need to invest some time to learn the basics, and then get into it.

 

 

Top 15 Tips To Make Big Data Applications

The market for data-driven mobile applications is getting bigger – there are no two ways about it. By the end of this year, the global big data app market will be a $17 billion industry (as per IDC survey) – a mighty impressive figure, considering that the value of this market was only $3.3 billion in 2010. With most leading corporate houses across the world opting to extend operations with the help of such apps, developers are regularly taking up custom big data app development projects. In today’s discussion, we provide some essential tips on creating these big data apps:

 

  1. Prepare for revisions and iterations – Unlike general iPhone or Android apps, big data applications generally do not have any clear-cut objective to start out with. They are primarily created for data mining purposes – to collect and store customer information that MIGHT (and not SURELY) help in generating more business. As the app brings in more and more data, trends and insights become clearer, targets become more certain, and objectives can then be defined. At the time of conceptualizing and creating the prototype of big data mobile apps, developers need to be ready to make changes, as and when necessary. Flexibility is the name of the game here, and iterations with tweaks in the app are vital.
  2. Use real-time querying methods for data collection – Data-driven enterprise apps have to provide detailed, high-fidelity information to companies, and they need to perform this task quick. The reason for this emphasis on data mining speed is simple: the competition is getting hotter, and getting important customer data before competitors do can be a game-changer. In this scenario, mobile app developers invariably recommend the implementation of real-time query in big data applications. The data should flow in via an incremental, integrated and seamless manner. The app data is, more often than not, multi-structured – and they have to be managed efficiently and quickly by apps. That only can deliver competitive advantages.
  3. Never compromise on quality – True for any mobile app, and particularly critical for the ones with big data in their backend resources. The overall percentage of uninstallation of applications (on iOS and Android) due to bugs, speed problems and other performance issues stands at alarming 86% in 2015. With so many rival app companies jumping into the big data development bandwagon, there is hardly any room for making mistakes and hoping to rectify things later on. Do not ever be in a rush while working on a big data project. Apparently minor oversights can totally ruin your app.
  4. Decide how to monitor the app’s performance – Big data app development is iterative, and these iterations have to be based on the performance of the application (a circular process, if you will). Experts from the field of mobile app development have repeatedly highlighted the importance of using certain relevant Key Performance Indicators, or KPIs, for this purpose. The metrics in the KPI-set should be chosen in a manner that they continue delivering progressive reports on app performance for a long-time (a myopic approach would never work here). Depending on the precise nature of a big data app, the KPIs can include figures like revenue-per-installations and number of downloads-per-acquisition. The focus needs to be on enhancing the retention of big data apps.
  5. Be proactive during app testing – Yes, there are error logs and lists of previously seen viruses and other threats that can affect big data applications. However, testing your mobile app simply on the basis of these would be inadequate. The type of data that an application collects, and the way in which this data mining is done, can expose the app to new threats and issues. During the mobile app testing phase, take time out to jot down all the types of threats that your app might be exposed to (in addition to those mentioned in error logs), and check the software for each of them.
  6. Make the app data actionable – Purely descriptive information is great for writing research reports and thesis papers. For a mobile app driven by big data though, the information needs to be actionable. Make sure that your application generates such data that would indeed help businesses (or independent entrepreneurs, as the case may be) in strategy-making, marketing, and day-to-day operational purposes. In most cases, a big data app should also has the capacity to predict future trends on the basis of past data. Accuracy, hence, is of essence too.
  7. Kickstart with small databases – A large business house will potentially have hundreds of terabytes of information. Including all of it in the backend server database of a mobile app is a sureshot recipe of the latter’s failure. It is always a good idea to start off with a relatively small, manageable database – and then scale it up, if required. With the growth of Internet of Things (IoT) also on a fast track worldwide, the volume of available information will only get larger. App developers need to sit with clients and determine the size of data that should be present in the initial versions of the application. Apps with information overload often turn out to be messy and hardly of any use – and what’s more, their development costs are often exorbitant.
  8. Make use of cloud services – From shortening decision timelines and reducing capital expenses, to cutting down on important data security risks – cloud services offer a lot of advantages over traditional multi-structure databases on local app servers (such database maintenance can be financially draining too). Cloud services like Google Compute Engine and Microsoft Azure can also help in improving the scalability of big data applications (both upward and downward), on a very granular level. New datasets can be included with ease as well. The ‘pay-as-you-go’ cost models of data-driven applications with cloud support also make them popular among enterprise clients. They have to pay ONLY for whatever service they use.
  9. Use device hardware to capture data – Most of the latest flagship smartphones have 15-20 sensors. Most, if not all, can be used to capture data – data that is refined and obviously, collected first-hand. This is precisely why iPhone app development professionals harp on the need for any good big data app to work in sync with the various sensors present in the device hardware. Many existing business apps do not yet do this – and it is expected that compatibility with smartphone sensors will be a focus area of mobile developers in the foreseeable future.
  10. Relevant data matters, all data doesn’t – Why is a big data application even created in the first place? That’s right, to obtain pertinent, real-time information that would help in maximizing business growth potentials. There is absolutely no need for the final version of a big data app (the beta test versions can do this though) to collect gluttons of unsorted information – since only a fraction of it would be of actual use. What’s more, an app that neglects the relevancy factor while collecting data sacrifices on speed and efficiency, is more costly, and is more difficult to maintain as well. Find out from clients about the business metrics that your big data app needs to focus on, and develop accordingly.
  11. User-experience is still the most important factor – Data-driven mobile enterprise apps should never pose problems at the time of actual deployment. Remember, you can have as many fancy analytics features and data collection nodes in an app as you want – but it is the UI and ease-of-usage of the app that would determine its acceptability in an organization. Analytics are not, and shall never be, a substitute of user-experience. Another factor that app developers have to keep in mind is that big data applications are required to COMPLEMENT the existing knowledge pool of managers and entrepreneurs. The latter do not need to learn everything from scratch.
  12. The big data should help in formulating quick solutions – A successful big data app should have the capability to add ‘intelligence’ to the collected stats, analyze problems from a fresh perspective – and help users arrive at innovative, viable solutions. The customized information generated by these applications should be accessible to the decision-makers of organizations quickly and easily. Big data can go a long way in helping entrepreneurs think beyond static solutions, and your app needs to give them the right resources for that.
  13. Customization – On both the Android and the iOS platforms, mobile apps driven by big data need to have high-end customization features. Users of these applications might want, and often need to, access the data in different ways – to get the correct insights and understanding. The onus is on the app developers to make their app work beyond static hierarchical data systems, and create sandboxes and faceted search options. People who are in charge of taking decisions on the basis of information thrown up from big data apps are, in effect, ‘data scientists’ – and they need to be able to use your app in the way they want.
  14. One size most certainly does not fit all – Let us consider two business firms – Firm A and Firm B. The first is an advertising firm, and it is looking for an answer to the query – ‘What advertising campaigns should we launch for the next year?’ It needs a big-data app that provides ad-hoc information on past customer purchase behaviour, so that the right decision can be taken on its basis. Firm B, on the other hand, provides information services, and is looking for an application that would answer queries like ‘Which hotels near my house are currently accepting room reservations?’ In the data app for this firm, GPS-support and real-time data streaming are two must-have features (historical data is not of any use here). Understand the nature of business of an enterprise and get an idea of the problem(s) it is trying to solve with a big data application. That will help you in churning out the ‘right’ app.
  15. Automated test-driven development is the way to go – If a big data app has bugs or security concerns, its reviews will be poor, the client will walk away in a huff, and your mobile app agency will earn a bad reputation. With the total number of devices on which an app has to be compatible being large (and getting larger every quarter), automated quality assurance (QA) is the best possible method for dedicated app testing. This test-driven development process is meant to augment traditional manual beta testing – and can be of great help in quickly detecting bugs and errors, which can then be removed. Automated app tests act as a buffer over human errors, and also saves both time and money. A bug-free, properly functioning app – that’s what manual+automated testing promises.

 

Mobile app developers also need to include tools in big data apps for in-depth analysis and interpretation of the collected data. The core algorithms of such apps need to be sound, and users should have the chance to examine data from different unique perspectives. Be very careful while blocking out all possible data security threats (of which there are many) that your app might be susceptible to. The compound annual growth rate of big data applications will be almost 27% by 2018 – and developers need to create their apps with due care, to survive and thrive in this domain.

 

 

What’s New In iOS 9.2?

At the start of November, the estimated adoption rate of iOS 9.1 was nearly 67% (according to official App Store Distribution release). The figure is impressive, and in keeping with the fast start that the iOS 9 platform has got off to. The number of iPhone users worldwide making the move to iOS 9 and its update has increased by nearly 10% between the 5 October – 2 November time-span. The iOS 9.2 update is also in the offing – and although no official date of its release has yet been announced, Apple seeded the fourth beta of iOS 9.2 three weeks back. Here are some interesting new features that would be present in the latest iteration of iOS 9:

 

  1. Better 3D Touch – There have been reports about the 3D Touch feature of iOS 9.1 not being as smooth and efficient as it should have been. Mobile software and iOS app developers fully expect Tim Cook’s team to address this issue in the upcoming update. In particular, the problems in 3D Touch on iPhone 6S Plus – which have cropped up mainly due to the higher pixel count of the device – will be resolved. Once upgraded, handsets will be able to gauge the nature and extent of pressure applied on the display screen in a much more efficient manner.
  2. Third-party app extensions on Safari – This one will give a boost to both the web browsing experience as well as mobile app usage of iPhone owners. iOS 9.2 will bring in a new pop-up window in Safari, with complete support for external application extensions. In addition, the rough edges in the Viewer Control have also been ironed out. With the new update, web support on the latest flagship iPhones will become more streamlined and well-managed. There will be an edge swipe option as well.
  3. App switching support for iPad Air – iOS 9.1 is a fairly decent update (unlike the bug-ridden update that was iOS 8.1). However, general users as well as iPhone app development experts have been able to pinpoint certain glitches in it – among which the laggy app switch support on iPad Air is a glaring one. Fortunately, this problem has been brought to notice, and will be rectified by the Cupertino company in the iOS 9.2 update. The overall interface is going to be more immersive and fluid, providing: a) users the opportunity to use apps more easily, and b) developers to come up with newer and better iPad applications.
  4. Content Blockers without reload – This one is an interesting add-on fix for Safari in iOS 9.2. Users will finally get the option to reload pages online, without having to go through the troubles of disabling Content Blockers. This can be done by performing a long press on the ‘Reload’ tab in the Safari View Controller. Not a game-changing feature of iOS 9.2 – but a definite indication that Apple is striving to make its newest mobile platform more user-friendly.
  5. NumberSync service on AT&T – If the last one was not a big change, this one definitely is. Software analysts and iOS app developers have already talked about how Apple is trying to integrate its mobile ecosystem better, and with iOS 9.2, the company has taken another step in that direction. Those with iPhone 6S/6S Plus on the AT&T carrier will be able to access and make use of the NumberSync system. The service allows all AT&T smart devices (tablets, phones and even smartwatches) to be connected by a single, secure phone number. This, in turn, makes it easy to reply to messages or respond to calls on one device from another connected handset. Sprint and T-Mobile users won’t be getting NumberSync, however.
  6. Siri will understand Arabic – The family of languages of supported by Siri – the mobile digital assistant on iPhones – will receive a new member with the release of iOS 9.2. Last year when iOS 8 was launched, Apple had introduced Arabic support on both QuickType as well as Keyboard Dictation – and with the soon-to-release iteration of iOS 9, Siri would support Arabic as well (taking the total number of languages supported by Siri up to 18). According to industry insiders and experts from leading mobile app agencies, one of the key reasons for including Arabic as a ‘Siri language’ is the series of new Apple retail outlets at Dubai and Abu Dhabi. It is expected that the sale of iOS devices will get a lift in these cities, once Arabic arrives on Siri.
  7. Better audio streaming – Another slight hitch with the iOS 9.1 update was the lag in audio streaming on stereo devices. With iOS 9 putting stability and usability as its primary focus, it is natural to expect that such problems will no longer be present on handsets upgraded to iOS 9.2. Audio streaming to stereo systems will be faster, lossless and a lot smoother. The general sound quality of iPhones will probably get a lift too.
  8. Wi-fi calling on iCloud – This is an extension of the expected arrival of NumberSync on upgraded AT&T iPhones. Reviewers of the latest smartphones and mobile operating systems from Apple have confirmed that users will now be able to activate wi-fi calling on all devices that are inter-connected in iCloud. After upgrading to iOS 9.2, NumberSync can be set up by tapping on Settings → Phone → Wi-fi Calling → Add Wi-fi Calling For Other Devices. The wireless calling feature will get activated, and connected Mac systems will receive a real-time identification (FaceTime). Once that is clicked, a code will appear, and that will have to be entered on the paired iPhone.
  9. Multiple swipe feature on Safari – Yet another indication that Apple is trying to make the Safari browser on iOS 9.2 devices more powerful and efficient than ever before. The existing lags on iOS 9 and 9.1-powered phones would, hopefully, disappear – and what’s more, users will be able to make multiple swipe gestures quickly. Early reports from beta testers and Apple app developers have confirmed that the new swipe gestures indeed make navigation and browsing significantly smoother on Safari.
  10. Syncing with Apple Watch – Some reports related to iOS 9.1 suggested that a section of users faced problems while syncing their iPhone 6S (or upgraded earlier models) with Apple Watch. With watchOS 2 and iOS 9.2, this is yet another issue that will soon get resolved. Watch is still heavily dependent for many of its functions on paired iPhones – and the problem-free syncing would surely be a delight for users. WatchKit app developers would also get the opportunity to create better, more user-friendly apps for Apple Watch.
  11. Improved iCloud Keychain usability – In November, app developers received a fair few bug reports associated with the iCloud Keychain. The 2nd major iOS 9 update (incidentally, iOS 9.2 will be the 5th update overall of the iOS 9 platform) will solve this as well. Since its debut on iOS 7 in 2013, iCloud Keychain has increasingly grown in popularity as a secure database for passwords and other important personal data – and with the bugs of iOS 9.1 removed, it would become all the more usable.
  12. Viewing apps in the Safari view of other apps – This is a nice little feature that would enhance the convenience of users while operating certain iPhone apps. For instance, in the Safari view of the Twitter application, apps like 1Password and LastPass can be accessed and viewed. It remains to be seen what other native iOS apps support this functionality too.

 

The iOS 9.2 update will be available for download on iPhone 4S, the iPhone 5 series (including iPhone 5S and iPhone 5C), iPhone 6/6 Plus and, of course, iPhone 6S/6S Plus. The sixth-generation iPod Touch will get it as well, along with iPad Mini 4, iPad 3 and iPad Air 2. It has been close to 50 days since the stable release of iOS 9.1 – and the version has been mostly satisfactory. iOS 9.2 is almost certain to make the iPhone-experience even better.

Xcode Vs AppCode – Which IDE Is Better For iOS Development?

A couple of weeks back, Apple released the fourth beta of Xcode 7.2. However, that was not the only big news in November related to integrated development environments (IDEs) for the iOS platform – with the latest iteration of the Java-based AppCode (version 3.3.1) also coming out a week earlier. While Xcode is, of course, a must-have tool for iOS app development, many developers feel that AppCode has the tools to emerge as a more-than-worthy competitor. We will, in what follows, perform a Xcode vs AppCode comparative study, and try to find out which one is more developer-friendly:

 

  1. Coding for apps – Writing the codes for iPhone apps is fairly easy with either IDE, although the superior code completion features of AppCode (much like other JetBrains tools) would put it at a slight edge. Variables and code blocks that are not in use get automatically grayed out/disabled in the IntelliJ IDEA platform IDE, while creating ternary expressions with ‘if-then’ blocks is a convenient option. What’s more, AppCode prompts developers whenever they write out code blocks that are never going to be hit. Xcode is also fairly neat, and is probably a touch more accurate than AppCode – but the extra features of the latter do make a difference.
  2. InterdependenceAppCode requires Xcode, but the opposite is not true. To put it differently, a mobile app developer needs to have Xcode installed on his/her system, before even thinking about using AppCode. On OX 10.11 El Capitan, AppCode 3 requires Xcode 7.1 or higher (Xcode 6.4 is the minimum requirement for OS X 10.10 systems). AppCode is an IDE that is meant to SUPPLANT Xcode, and not REPLACE it altogether. You can work with AppCode, but while developing iOS apps, you cannot ever fully ditch Xcode.
  3. Refactoring tasks – This round is a huge #win for Appcode. On Xcode, the ‘Rename…’ command has to be used for renaming the names of classes globally – and the process is uncertain, slow, and can cause other unnecessary changes as well. The built-in tool for method signature refactoring is nothing to write home about either (many developers have reported about its unreliability). AppCode does away with all such chances of refactoring mistakes and associated delays. All that the Obj-C programmers for iOS have to do is hit ‘Shift-F6’ → (type the new name) → Enter, and continue typing without any interruptions. For playing around with method signatures, AppCode has three different values (0, Null and No) that can be passed through parameters. From enums and variables, to classes, constants, files and practically every other section of app codes – AppCode provides much easier and faster renaming options than what Xcode does.
  4. Navigating through code files – Nothing to pick between the two here. The two IDEs offer entirely different file navigation systems for Apple developers – and both are equally developer-friendly. On AppCode, there are four different file finders, while Xcode has its own method for fuzzy finding files and classes. The number of file finders in AppCode might be more, but locating and accessing specific files in Xcode is not at all problematic either.
  5. Personalization options – Hardly any comparison here. Most iPhone app development experts who have ‘switched’ to AppCode feel that enhanced, all-round customization is the greatest single advantage that AppCode holds over Xcode. The default theme of the former (taken from Xcode) can be adjusted to reduce the look and feel of a Java environment. Developers can tweak around the font colours and styles, coding methods, and even the menu structure (both the appearance as well as the order in which items appear). Customization in Xcode is, at best, mediocre – and it’s not surprising that many developers are prepared to spend those extra few minutes to set up AppCode just like they want.
  6. Storyboarding – And we arrive at the biggest advantage that Xcode still holds over the IntelliJ IDEA AppCode. Most high-end iPhone apps involve extensive use of storyboards, and the support for them on AppCode is fairly sub-standard. There are stability issues, while tasks that are simple in Xcode (like modification of properties, or addition/deletion of autolayout constraints) are impossible in AppCode. It does not even support the Xcode 6 size classes. If you are working with storyboards, AppCode ain’t your friend, Xcode is.
  7. Class creation – We have already touched upon the greater ease of writing codes using AppCode. In particular, it is a whole lot more developer-friendly – when it comes to creating and declaring new classes. With Xcode, iOS developers have to go the whole hog of making the class, finding the folder in which it should be stored, finding and declaring a suitable method name and removing the auto-implementation. A small mistake here can lead the entire program to crash. In Appcode, new classes can be created even while testing is going on, and there is a single command to indicate where the new file is to be stored. Extra parameters can be added or removed with ease, and the method signature can also be changed. It’s easy to see why so many dedicated programmers prefer coding in AppCode rather than Xcode.
  8. Code testing – For debugging codes for iOS applications in Xcode, the miniscule icons at the breakpoint spaces have to be clicked, and the code has to be executed line-by-line. It is neither very convenient and certainly not a quick process. There are shortcuts available, but trying to work with multiple other unit tests in the same module can be very confusing. Code block testing is a whole lot easier and more accurate in AppCode, since the latter can correctly specify the line on which a block is being executed every single time (something where Xcode can falter frequently). The bigger advantage of AppCode over Xcode in the context of mobile app testing, of course, is the ability of the Java-based IDE to reveal property values (including that of hidden properties).
  9. UI features and settings – This round would go to Xcode. AppCode has a long way to go to match the efficient, easy-to-work UI that has always been a feature of Apple’s very own IDE. Including app entitlements (something that is not possible in AppCode) is a matter of minutes in Xcode. The build settings featureset of Xcode is better as well. On Appcode, when you edit the build settings, only a long line of objects get edited. With Xcode, developers can do so much more.
  10. Code moving and syntax highlighting – Moving code snippets from one location to another for overall improvement is possible in both Xcode and Appcode. However, those who make iOS apps have to finish writing the entire program, before making such changes. The same task becomes much simpler in AppCode – thanks to the contextual menus (for suggesting improvements) next to every code selection. The run-time suggestions (for instance, for moving a method to private) can come in really handy at times – and it certainly does away with the need for app coders to remember all the changes that have to be done. The syntax highlighting support feature (right in the Podfile) of AppCode also makes it a more user-friendly IDE for coding Cocoa projects. The graphic user interface (GUI) is well-designed, and there is a dedicated ‘Update’ button to upgrade the ‘Cocoapods’. The Xcode interface is nice and simple, but when several changes have to be made and the code itself is lengthy, it can be found wanting.
  11. Likely glitches while coding – Chances of unexpected technical problems cropping up during iPhone app development projects in Xcode are minimal. The same, unfortunately, can’t be said for AppCode. There have been reports from developers about problems in code scrolling, due to recurring flashes in the application screen of AppCode. The entire system (OS X) can also get locked up, while working with the JetBrains IDE – and the only way to get out of the mess is killing the process. Xcode-users hardly ever face such problems.
  12. The cost factor – There is a reason why indie app developers (most of whom have to work on a budget) stay with Xcode. It is a free IDE, unlike Appcode. JetBrains offers a free 30-day trial period, and after that – the cost for using AppCode is $89 for the first year and $71 for the following year ($199 and $159 for mobile app companies). The best idea for new iOS developers would be to learn Xcode thoroughly, check out AppCode in for free in the trial period, and then take a call on whether it would be worth going for the paid subscription.

 

Appcode 3.3 has been launched with full support for Swift 2 and Xcode 7 (on OS X 10.11, the support for Xcode 6.x has been discontinued). Code inspection can be done in a special LIVE mode – which adds to the advantage of AppCode. There are several other native scripts in AppCode that make it an absolute breeze to work with for iOS app developers.

 

So, which of the IDEs is better? As we have pointed out, Xcode has its fair share of shortcomings, and JetBrains’ alternative does a good job of doing the same tasks in a much easier manner. However, it too has its rough edges (the hardly-there support for storyboarding, for instance), all coding related to core data has to be done in Xcode – and of course, there are expenses involved in using AppCode on a continuous basis. Both IDEs have certain definite advantages – it’s only that the ones of AppCode (refactoring, code writing, etc.) matter more to actual developers.

 

Xcode or AppCode – which one do you prefer using?

App Store Optimization: A Guide For Developers

Are you familiar with the concept of ‘zombie apps’? Nopes, they are not some sort of mobile games – these apps are the ones that have little or no visibility at all at the app stores. As per latest figures, nearly 51000 apps are downloaded by people (from Google Play and Apple iTunes combined) per minute – and these users have no chance whatsoever of even finding the 1.1 million+ zombie apps, which remain in a corner – with hardly any downloads. In today’s discussion, we will highlight certain key app store optimization (ASO) strategies, to ensure that your well-worked mobile application does not turn out to be an invisible zombie at the stores:

 

  1. Be careful while choosing your app’s name – For iOS app developers, the name of an application can extend to 255 characters. At the Google Play Store though, the maximum length of an app’s title is 30 characters. However, for both cases – only the first 25 characters are visible to smartphone users (after all, they will be the main downloaders), and it is important to focus on this part of the title. Do a thorough research to find out which keyword(s) your competitors are targeting – and try including them in your app title too. Avoid using any special characters in the name of an app. Make sure that the name you select is not too similar to any existing application (that would only mean more competition). In this context, app store optimization is practically like search engine optimization (SEO).
  2. Describe your app well – People download mobile apps after skimming through their store descriptions. That, in turn, brings the importance of preparing high-quality, engaging app store descriptions to the fore. In the description, emphasize on how your app would benefit the user and plug a particular requirement/need, instead of simply rattling off the app’s features. There is a conception that words like ‘free’ and ‘new’ should not be used in app descriptions – but when used in the right context (for instance, ‘free iOS multiplayer game’), they can serve as persuasive catchphrases. Android developers should make optimal use of the 4000-character space for writing a proper, detailed description (for iOS apps, the descriptions have to be significantly shorter). Remember, people browsing the app stores on their smart devices can see only the first 5 lines of app descriptions (before they tap ‘More’) – and hence, you need to capture the user’s’ attention from the very start.

Note: You do not need to use the name of the app as a keyword. It is already treated as one.

  1. Score with screenshots – Experts from the field of mobile app development agree that screenshots and icons (we will come to that one in a bit) are the two most important tools to visually market applications. The App Store allows developers to upload 5 screenshots, while in the Play Store, as many as 8 screenshots can be put up. Irrespective of the platform, select the two most important screens of your apps as the ‘primary screenshots’ (these are the one that would show up in the search results). In the other screens, try to emphasize on the reasons why a person should invest time, money (if it’s a paid app), and space on his/her smartphone, by downloading your app. Highlight the in-app navigation as well. Contrary to what many new app developers believe, you need not tell a chronological story with your screenshots – they purpose is to VISUALLY EXPLAIN your app.
  2. Select the correct category for your app – Make a mistake here, and your target audience would find it extremely difficult, if not impossible, to find your app. Go through the list of app categories at the stores, and select the one which fits your application the best. If there is an option of selecting a sub-category, pick the one that would be: A) accurate and b) will not have too much of competition. Stay away from the temptation of wilfully putting your app in a wrong category (because it has low competition) – that can lead to penalizations, and your app can be flagged by users.
  3. Create a promo video – This tip is for Android app developers only. Grab the opportunity to enhance user-engagement, by including a short promo video for your app at the Google Play Store. The length of the video should be around 120 to 150 seconds, and you need to include the most important features of the app in the first part of the video. Adding the video is easy (by linking the YouTube URL), and it appears in the first position on the app listing page. People browsing Play Store from their mobiles can see the promo video in the top ‘feature graphics’ section.
  4.  Optimize the app icon – The icon is, without an exception, the first point of interaction between your app and general users. The icon that you come up with should provide potential users a clear idea of the nature of your application – even before they move on to the app title and description. Ideally, use icons in the .PNG format (1024×1024), and do not put any words, or the app title on it. Many leading app developers prefer adding borders to the app icon, to ensure that the latter looks good against all backgrounds. Use a single prominent theme in the icon, be creative, and be consistent in your usage of the icon on different platforms. For instance, if your app is available for iOS, Android and Windows – users should see the same icon at the different stores. Use the same icon for the app website and social media channels too. It’s all about building up a brand for your app. A well-designed app icon can boost downloads by up to 30% – that translates to thousands of downloads!
  5. The Keywords field – Unlike Google Play, where keywords are tracked from the app title and description only, the Apple App Store has a separate field for entering multiple keywords/tags (max. 100 characters). Do not waste space by adding spaces between the keywords (the section is not visible to general users) or including ‘stop words’ like ‘at’ or ‘the’. While writing numbers, use digits instead of words (i.e., ‘5’ instead of ‘five’). Do not repeat single keywords too many times, which tantamounts to spamming. App store researchers also note that shorter keywords help more in app discovery than elaborate, long-tailed ones.

Note: Whenever possible, use the plural version of a word (‘instead of ‘download’, write ‘downloads’). Plural words have slightly less competition, and their effect in app store search is the same.

  1. Expand the device compatibility of your app – This one’s practically a no-brainer. For two identically optimized mobile apps, the one that is compatible with more devices will obviously generate greater downloads. Most high-performing iOS apps have custom versions for the latest iPhones, iPads, iPod Touch and even a Apple Watch extension. On the other hand, Android apps should be tested and made compatible with as many devices as possible (the huge number of vendors makes this a slightly arduous task). If your app targets a global audience, offer multilingual support on it. That will pull up the download figures too.
  2. Pay attention to reviews and ratings – Surveys conducted by several online leading software and mobile app companies have revealed that almost 50% of all downloads from the App Store take place on the basis of word-of-mouth publicity (the corresponding figure for Android apps is 42%). To put it plainly, many people download mobile apps after having a chat with their friends, family and acquaintances. Keep track of the initial ratings and reviews that the early users are leaving for your app. Within the app, prompt users to share their feedback. People are sceptical about downloading mobile software that have poor ratings – and if your app’s reviews are not too flattering, try to identify the problems that users are facing, and fix things accordingly.

Note: Beta testing an app is vital. Give users a chance to check out your MVP, before releasing full upgrades.

10. Web search data differs from App Store search dataApps that have the correct keywords in their titles and keywords have been found to perform nearly 10.5% better than those with wrongly-chosen or no keywords. Developers and mobile app marketers have to realize that the search data available in general on the World Wide Web is significantly different from the way a viewer searches for apps at the App Stores. Yes, free tools like Google Keyword Planner would give you an early guide on which keyword(s) would suit your application – but you need to factor in the data available on app store-specific tools like AppAnnie and SensorTower. The keywords you select have to be well-researched and not random.

11. Downloads in the first 72 hours – The initial volume of downloads go a long way in determining whether your app will be featured at the app stores, or will lag behind as a ‘zombie’. At the Apple App Store, the download-count in the first 72 hours (with maximum weightage on the first 24 hours) after the launch is considered. At the Play Store, you have a little more time – since download data from the first 30 days are taken into account for determining app rankings. Go for paid promotions on Google, Facebook, and other popular channels – to bolster the download figures of your app. Publish blog posts, submit press releases, and share the links of these resources in the ‘What’s New?’ section. Submit your app for reviews on high-quality sites, and exchange reviews on FB and G+. Create a strong buzz about your app, which would translate into high download figures and better rankings.

12. Do not oversell your app – It’s a temptation to praise your app to the skies while writing its description for store listing – but stay away from supplying false information about your product. Apple is smart enough to catch on to exaggerations (both in the description and the metadata) – and even if your app does get published, it will not satisfy user-expectations. Explain in an informative, engaging, and most importantly, truthful way why a smartphone-user should download your application. If your app is good, the reviews would prove it – you don’t need to lie for that!

For apps that are geo-targeted, developers need to translate the keywords and create localized descriptions. Keep in mind that app testing is an ongoing process, and you need to think long-term for the sustained success of your app. Close to 65% of all iOS app downloads and 58% of all Android app downloads take place through general browsing in the stores – which only highlights the importance of efficient app store optimization. In the US app store, 100000+ downloads are required for an app to feature in the top-10 list (the requirements are lower, but challenging enough, in the app stores of UK, Germany, France and Italy as well). Unless your ASO strategies are good, it will be tough to, firstly, make your app visible, and secondly, convert general viewers to actual users.

How Can You Correctly Validate Your App Idea?

It is no longer as easy to hit on a good app idea as it was even 3-4 years ago. Both iTunes as well as Google Play Store has literally hundreds of mobile apps belonging to the same category/genre – and it is nothing short of a challenge to think up a concept that is unique, and has chances to be actually transformed into an application. That’s precisely why it is important to ensure that when you actually get an idea (and hey, it can come to you at any time, at any place, when you are doing anything!), you validate it properly. In other words, you need to thoroughly check whether your idea is indeed viable, and has the legs to be transformed into a successful mobile app. Over here, we guide you on how to validate your app idea:

 

  1. Similar apps will exist – That’s at least very likely. There are 1.6 million apps in Play Store, another 1.5 million at the App Store – and chances are pretty low that your idea (which you probably consider to be really ‘unique’) hasn’t already been thought up, worked upon, and released by mobile app developers. Do not lose heart by this though. Check the apps that are similar to the one you wish to build, list down their features, and go through the user-reviews they have got. Try to find out how you can improve on the existing applications and whether there is a gap that needs to be plugged.
  2. Estimate search volumes – It’s all very well to come across an app idea that seems nice enough to you – but will the general public, the people who use smartphone applications regularly, be interested in it? The only way to get an objective answer to this is by estimating the expected search volume that your app would generate. There are handy tools like Google Keyword Planner, where you can type the nature of your app and/or other words related to your idea. If you find there is enough interest in your concept, hire a good app development company to work on your project. In contrast, if search volumes appear thin, it would be advisable to give that idea a miss and try thinking up another one.
  3. Get the opinions of others – There is no better judge of your app idea than actual people – who are likely to download and use your application. Share the broad details of your concept with people you know and trust (don’t just talk to anyone, for violation of intellectual property rights might be an issue). Attend conferences and seminars organized by local mobile app entrepreneurs, network with developers, and ask whether they feel your idea is indeed working on or not. These people have years of experience in the Android/iPhone app development industry – and they can easily identify a good app idea when they see (or hear!) one. General people, on the other hand, can tell you whether your idea seems interesting enough.
  4. Making apps for a niche market – When you are just starting out, it is always better to make a mobile app that has a broad target audience (a nice roleplaying game, for instance). However, it is neither impossible nor a sacrifice on revenue, if your app idea is designed to cater to a relatively small sector of the overall market (a ‘niche’ market). Medical apps for doctors, counselling apps for lawyers, fitness apps for professional sportsmen – all of these are examples of such ‘niche applications’. What you need to do in such cases is to ensure that your app idea is such that it would indeed bring in focused traffic and generate very high conversion rates. It is certainly possible to make money on mobile apps, even without a huge search volume!
  5. Will your app be ‘good-to-have’ or a ‘must-have’? – Always go for the latter. There is no harm in conceptualizing a fancy app idea – which, when developed and released, will be an interesting inclusion in the app stores. However, analysts and app developers agree that such ‘good-to-have’ apps often fail to motivate general smartphone users to download them. Instead, your idea should be about creating a ‘must-have’ app – an app that would solve a particular, important, regular need of users. People should be convinced that having your app on their personal devices would indeed be handy.
  6. Examine app store trends – This is yet another part of the app idea validation process that you cannot afford to ignore. Check the app store of your country, to find out which are the top ranking apps in terms of downloads as well as revenues. By monitoring the list of top paid apps on a regular basis, you will also get an idea on how to monetize your mobile application. On the other hand, checking the free apps (which, on average, have nearly ten times the download volume as paid apps) will familiarize you with viable methods to include in-app purchase options. If the hot trends in the app store have nothing related to the app idea you have, take the hint, and move on to another concept.

 

Note: Avoid working on apps that become popular all on a sudden, and lose their popularity pretty quickly too. Instead, look for sustained, consistent trends. They will be a better guide for you to decide what app idea you should work on.

 

  1.  Create a Minimum Viable Product – Ideas do not generate profits, actual pieces of software do – and that too, when there exists enough demand for the same. Share your app prototype with a core group of mobile app testers, and then, make it available to actual users. Such a Minimum Viable Product (MVP) must contain the core value, or the most important component, of your app idea. Find out whether the MVP/prototype is indeed able to create a ripple among customers. If yes, you are good to move on to creating a more polished version of the app.
  2. Make use of social networking sites and landing pages for testing – Another easy and effective validation method that many mobile app development professionals recommend. Prepare a website/single landing page dedicated to your app idea, optimize it (hire a digital marketing agency for the purpose, if required), and monitor the number of hits the page is getting. Analyse the user-behaviour (bounce rates, average duration of stay, etc.) as well. These will give you a fair idea about whether people have indeed got hooked to your idea. Similarly, you can use channels like Facebook, Twitter and LinkedIn groups to create promotional campaigns for your application (yes, even before developers start to work on it). If there is sufficient interest, consider starting a paid Adwords or Facebook ad campaign.
  3. Work on one idea at a time – You have four great app ideas, so why not try validating each of them simultaneously and start working on them? Sounds cool on paper, but doing so would be a folly in reality. It is always advisable to process one app idea at a time. If you try to balance multiple ideas, chances are that you will only skim through them – and not be able/will not have the time to perform in-depth analysis of all the aspects of each idea. And, as we all know, a half-baked app idea is never worth wasting time, money, or effort on. Give your best to one app idea, and move on to another one only when you are done with the first.
  4. Create and upload product development videos – Put them on your landing page, on your social networking channels…anywhere where the target audience can view them. The video should clearly illustrate the rationale behind your app, the core essence of the software, and how it will be developed. Specify the platforms (iOS, Android, Windows, Blackberry, etc.) on which the app will be available. If your app video manages to go viral, that’s a clear pointer that you are on to a winning idea.
  5. Be prompt in executing your idea – Okay, so you are fairly sure that your app idea is a good one – it has the potential to be a success. There would be no point of such findings, if you do not act promptly after this. Instead of procrastinating, look on the web for mobile app companies which would be able to work on your project (don’t worry, a few minutes of search will enable you to find several such companies). Make a shortlist of 4-5 such agencies, request for free app quotes from each of them, and delegate your project to the most suitable app firm.

Note: If you are good in programming with Java or Objective-C/Swift, you can code your app yourself as well. Finding proficient mobile app designers is also a factor.

     12. Write about your app – By now, you must have realized that app idea validation is all (or at least, mostly) about generating awareness about your idea and finding out what others think about it. Creating a blog is a great way to gauge such user-interest levels for free. Publish posts on a regular basis about different aspects of your app idea, and keep a tab on the readership levels and the  comments that readers leave on your blog. In addition, publish press releases and classified advertisements about the features and functionalities of the mobile application you wish to make. You can also collect the email addresses of your blog readers – for more focused app marketing later on.

Be aware of the seasonal trends that result in big spikes in the download-count of certain types of apps (sports apps at the time of major sporting events, shopping apps at the time of holidays, etc.). If your app idea is related to any such event/occasion, validate and release it at the right time.

Once you are satisfied with the viability of your idea, hire a good mobile app development agency to start working on it. If your app idea is good, it should see the light of day (or should we say ‘light of app store’?) soon!

Improving User-Experience: A Guideline For Mobile App Developers

Every day, an average smartphone-user spends more than 2 hours and 40 minutes with his/her mobile device. More tellingly, for nearly 87% of that time (which also comes to more than 2 hours), (s)he uses mobile applications. With the total number of available apps rising rapidly – the combined app count at the App Store and Play Store is in excess of 3.1 million – the onus is firmly on developers to deliver optimal app-using experience to customers. The fact that 1 out of every 4 downloaded apps do not last even one full day on users’ devices is proof enough that most applications come up short on this user-experience count. In what follows, we have outlined some pointers to help mobile app developers in this regard:

 

  • User-interaction is not User-Experience – The two are, unlike what many newbies in the field of app development feel, not synonymous terms. ‘User-Interaction’ refers to the way in which a person uses your application – how (s)he navigates through the screens, exchanges/stores data, performs transactions, and the like. In a nutshell, it is the overall behaviour of the user while operating an app. On the other hand ‘user-experience’ is all about whether a person likes or totally hates using the app – maybe due to poorly-conceived layouts and interfaces, or a laggy nature, or frequent crashes, or…oh well, there can be many problems if the app developer is not careful enough. User-interaction generates a positive or negative influence in the minds of the user, and that translates to user-experience. Monitor the first with a proper app analytics system, and try to improve the latter accordingly.
  • Make your app a quick-performer – According to leading mobile app entrepreneurs across the world, speed is a vital factor in determining the success or doom of an application. The average app-interaction time of users is small (way less than that with desktop apps), and people want to get things done quickly. After all, that is one of the key reasons for downloading any app. If your app takes too long to load, the splash screen remains visible for more than 10-15 seconds, users have to navigate through a truckload of screens – rest assured that the application will be chucked out of most devices pretty soon. Follow the simple three-tap rule – a user should not have to make more than three taps after opening an app, to arrive at the screen (s)he wants to view.
  • Identify your target users, and design accordingly – The role of UI/UX designers, graphic artists and animators in influencing the app-using experience cannot be overemphasized. Any good mobile app agency would place prime importance on first identifying the profile of the audience group a new app would target, and then instruct its creative department to prepare the layouts and designs accordingly. For instance, a personal finance application should have a completely different look and feel from a mobile fitness tracker, which, in turn, should not be anything like an Android or iPhone app for kids. Know your users well, and design keeping their requirements and preferences in mind.
  • Native ads are the way to go – This holds true for both general apps as well as mobile games. Apart from in-app purchases and providing paid subscription options (which, for many apps, is not advisable) – the other popular mobile app monetization strategy is the inclusion of in-app advertisements. Unfortunately, many developers make a mistake by placing invasive ads that hamper user-experience (for gaming apps, such ads can deter proper gameplay). Instead, you should consider including native ads – which are never similarly disruptive. Decide how and where these ads are going to be placed, right at the time when you are chalking out the app layouts. The ads should blend in seamlessly with the application, and not appear as distractions.
  • Be proactive about seeking feedback – If an iOS app developer hopes to create successful apps, (s)he needs to be open to feedback and suggestions. Share the wireframe sketches and mockups with the potential users, and find out whether they have any recommendations or improvement suggestions that can be implemented. For mobile app development agencies, seeking feedback from the clients at every stage is imperative. Even the best mobile app developers can overlook certain stuff – and the opinions and feedback from third-party sources always come in handy.
  • Make optimal use of the screen real estate – Creating an app for a mobile screen is not the same thing as making a desktop application. Once you have identified the platform and the devices that your app will be operable on – prepare the screens in a manner that the total space on the device screens is properly utilized. There should neither be any unnecessary clutter (stay away from cramming in too much of content or images), nor should there remain too much of blank space. In this context, the job of Android developers is more challenging than their iOS counterparts – simply due to the huge array of Android devices currently available in the market. For Apple, it’s only about the iPhone, the iPad, the iPod Touch, and yes, the Watch.
  • Do not try to cut corners – Agile development is something every mobile app company has to follow, while working on new projects. The competition is getting fiercer, and there is a definite need to shorten the app development cycles. However, this should never be done by glossing over the need for implementing top-notch, user-friendly, customized UI/UX designs in an application. Depending on the type of app you are working on, frame an idea about how long it would take to complete, and specify that clearly when you provide free app quotes to clients. If you try to rush through the development, you will almost surely end up making a defective application – one that would satisfy neither the client nor the end-users. Invest as much time on an app as it warrants.
  • Perform A/B testing – We have already talked about the importance of collecting and working on external feedback. Professional Android and iPhone app developers can make things more objective – by creating two (or more) beta designs for an app, showing them to clients as well as a core group of testers, and seeking their opinions on them. Such A/B split testing would provide an objective idea about which app design layout is superior – and developers can proceed with it.
  • Do not design the app you are coding for – Programming and creatives are two entirely separate specializations, in the context of mobile app development (in most other fields too, for that matter). You might be an absolute genius with Xcode and Swift programming (for Android developers, it would be Eclipse and Java) – but when it comes to using Photoshop, or Maya, or SpriteKit, or any other app designing/animation tool, your skills might be just about ho-hum. In general too, there is a common adage that developers do not make good designers, and vice versa. Work in collaboration with a professional graphics team – who would take care of the UI/UX designing, as you concentrate on the coding part. After all, there is a reason why the big mobile app agencies have separate teams of developers and designers.
  • Check the effect on battery performance – Most smartphone users randomly search for stuff at the app stores, and download and install the software they like. In 2015, over 95% of such downloaded apps were uninstalled within one month. A common complaint among app-users is that certain applications cause significant battery drain and/or lead to devices getting overheated. Make sure that your app is not a battery or bandwidth hog, and it does not adversely affect the overall performance of the target devices in any other way. Many people play games or chat on social networking apps (WhatsApp, anyone?) for hours on end – and even such ‘power-users’ should not face any problems.
  • Test your app. Very Thoroughly. – Completing an iPhone app development project without proper testing is pure guesswork – something that iOS developers should stay well away from (the same, of course, goes for those making Android apps as well). Apparently minor bugs, random screen freezes and crashes, unsatisfactory designs, complicated in-app navigation – all of these can wreak havoc on the app-experience of general users. Not only is a problematic app promptly ditched from devices, the affected users, justifiably, spread negative word-of-mouth opinions and reviews about it. Keep such risks at bay, by assigning a certain time for dedicated mobile app testing. The importance of NOT TESTING YOUR OWN APP should be reiterated here. You might be way too much in love with your creation to notice its flaws!
  • Proper software and hardware integration is essential – The mobile app you create should be able to use to the hardware resources of the device(s) it is installed on. Otherwise, the functionality of the application will always remain half-baked, and it won’t take long for a user to find a better alternative. In addition, developers also need to make their apps well-integrated with other native applications on devices. That’s the only way smartphone-owners can be given the holistic mobile-using experience that they often seek. For instance, an image-based app should be able to integrate the camera features of a phone.

 

Providing prompt, reliable customer support – aimed at resolving user-problems and queries as quickly as possible – is yet another important factor for improving the overall user-experience. Mobile app developers also need to provide as many customization options as possible in the software they create. People love using their apps, their way.

 

It all boils down to this…if users are not satisfied with your app, they will not keep using it. It is the responsibility of app-makers to deliver a winning user-experience.

 

iPhone OS 2.0 to iOS 9.2 – The BIG BEAR to MONARCH Journey

In 2007, Romania and Bulgaria became members of the European Union. Microsoft burnt its hands with the disastrous Windows Vista. Gordon Brown became the new Prime Minister of the United Kingdom.

 

And the Apple iPhone was born.

 

Cut to a year forward (July 2008), and Apple Inc. released iPhone OS 2 – codenamed the ‘Big Bear’. That was the point when we full-fledgedly started making apps for the iOS platform. Seven years have passed since, the fourth beta version of iOS 9.2 is out – and it makes us almost nostalgic to look back on our long – and if we can say so ourselves – successful journey as a mobile app company. In today’s discussion, we will compare the iOS version we started off working with, iPhone OS 2.0, with iOS 9 – the version that is codenamed ‘Monarch’:

 

  1. The devices – iPhone 3G made its debut with iPhone OS 2.0 – opening up a slew of new, and exciting, opportunities for app developers worldwide. Also running on that iOS version was the older iPhone 2G and the first generation iPod Touch (iPod Touch Gen 2 joined in with the iOS 2.1 update). And what devices do we have with iOS 9? Apart from iPhone 6S and iPhone 6S Plus, there is the sixth-generation iPod Touch, the iPad Mini 4, the hyped-to-the-skies iPad Pro, and the iPad Air 2. As far as backward support goes, iOS 9 can be downloaded and installed on iPhone 4S handsets.
  2. The App Store – By mid-2015, the number of third-party applications in the Apple App Store had gone past the 1,500,000 mark. Reports conducted by iOS app development experts reveal that mobile games, business applications, and educational software are the three most popular categories (in that order). All of these is a far cry from the situation in 2008 – when Apple introduced the App Store with iPhone OS 2.0. General users heaved a sigh of relief at having the App Store on their devices (as well as within iTunes) – and not having to download stuff from buggy external app stores. Distribution of iPhone applications got revolutionized with ‘Big Bear’.
  3. The screen size – Let’s turn our attentions exclusively to the iPhone now. In 2008, the iPhone 3G (a revolutionary ‘finally!’ device at that point in time) had a 3.5” display screen, with what was at that time a mighty impressive 320×480 screen resolution. Things have got literally ‘bigger’ in recent years, with iPhone 6 being the first ‘large-screen’ iPhone, with a 4.7” screen. The display resolution of the device is 750×1334. The comparison is not even close.
  4. The iOS SDK – Another point of interest of professional iPhone app developers was the software development kit (SDK) that iOS 2.0 ‘Big Bear’ came with. 3D game development, for the first time, received some sort of momentum – and in general, iOS applications became more user-friendly, seamless, and well-designed (compared to the apps users had access to earlier) than ever before. Only after the launch of Xcode 3.1 did it become the default IDE for mobile app development for the iOS platform. Its features seem thoroughly inadequate if you (unfairly!) compare with those of Xcode 7 for iOS 9.
  5. iPhone storage space – The good ol’ iPhone 3G, running on iPhone OS 2, had a RAM space of 128 MB – a fairly measly level. The internal memory was 8GB or 16GB. It’s a good thing that the storage space of iPhones have increased in sync with the expansion in activities of mobile app agencies, and the propensity of people to install more and more software on their devices. The iPhone 6S is available in 16GB, 64GB and 128GB models, with a RAM space of 2GB. The only thing that has remained constant is the status of card slots in iPhone 3G and iPhone 6S. Wasn’t present then…isn’t present now!
  6. Cloud service – For all of its innovative features, iOS 2.0 wasn’t without its fair share of disappointments. The cloud-based service MobileMe, which was supposed to be an ideal replacement of .MAC, turned out to be lacking in terms of reliability. The lofty price (the subscription fee was $99/year) kept MobileMe from becoming really popular as well. Apple persisted with the service till June 2012 though – until it was finally replaced by iCloud – a better, more secure, and way more user-friendly feature.
  7. Battery performance – The battery life of the iPhone 6S/6S Plus is still nothing to really write home still – but compared with the performance of the battery of iPhone 3G, it is practically out-of-the-world. The Li-ion battery of the iOS 2.0-powered handset promised 10 hours of talk time and a full day of music play. The 3G-supported talk time has been revved up to 14 hours by the 1715 mAh Li-Po battery. There has been a big difference in the standby times of the ‘Big Bear’ and the ‘Monarch’ iPhones. The former had a standby time of 300 hours (max.), while the latter offers 3G-based standby of 240 hours.
  8. The evolution of iTunes – As iPhone app developers and Apple fans gear up for the stable release of iOS 9.2, iTunes 12.3.1 has already been made available for download. Back in 2008, the latest version of iTunes was iTunes 7.7. The corresponding OS X version was 10.5.4. The oldest version with which iTunes 12.3.1 is compatible with is OS X 10.8.5.
  9. Email – Microsoft Exchange arrived with iOS 2.0 for push email support – and that was big news at the time. The revamped contact search and calendar also came in for praise from software and mobile app developers. It all seems pretty much trifling when compared against the email features of iOS 9 – with the long-press option to add attachments to the body of mails, and the breakthrough multitasking features that make Mail extremely user-friendly.
  10. The ‘iPhone without the iPhone – Or, the iPod Touch. With a high percentage of iPhone applications at the App Store being compatible with the iPod Touch as well, it is worth noting how the device has evolved over the years. The first-gen iPod Touch had (what was at that time good enough) 8GB of storage space, and 22 hours of music-playing feature. While the display screen of the sixth-generation iPod Touch has not increased much (4” vs 3.5”), users can now choose either the 16GB or the 32GB (Blue or Gold) models. Customizing new applications for the latest iPod Touch has emerged a priority for mobile app developers.
  11. Processor – iPhone 3G and iPhone OS 2.0 hark back to the days of the slow (it did not seem so at the time though) ARM 11 412 MHz CPU. Successors of that device have got faster and more efficient – and the iPhone 6S comes with the dual-core Twister 1.84 GHz CPU (along with the cutting-edge Apple A9 chipset). The six-core GPU of the iOS 9 device was also a distant pipe dream in 2008.
  12. Stability vs New features – Those were early days for Apple’s mobile ecosystem, and understandably, iOS 2.0 was armed with a host of new features and enhancements. As general users of iPhone 2G/3G as well as iOS app developers would confirm, the version performed poorly on the stability count though. App crashes, screen freezes and general laggy behaviour were common, and the Cupertino company had to hurriedly come up with the iOS 2.1 update for fixing the bugs (somewhat similar to the problematic iOS 8 and its damage-repairing successor iOS 8.1).
  13. Camera features – iPhone 6S and 6S Plus has fancy features like Live Photos and dual LED flash – things that had not even been conceptualized seven years back. Compared to the 12 MP camera of the latest flagship iPhone, the 2MP snapping tool of iPhone 3G seems decidedly miniscule. The resolution of photos taken with the iPhone was 1600×1200 at the time, as opposed to the sharp 4032×3024 that the new model offers. Users can now capture videos (2160p) and 30fps. The iOS 2.0-powered smartphone neither had video recording capability, nor was there a secondary (selfie) camera. Yep, sounds pretty outdated now!
  14. NFC vs no-NFC – In 2010, Google launched the first-ever smartphone with NFC support, the Nexus S. It took four more years for Apple to catch up with its arch-rival in this field, with 2014’s iPhone 6 being the first iDevice with a NFC chip. Contactless payments via Apple Pay is quickly gaining in popularity, and iOS developers are releasing many new m-commerce apps every quarter. Back in 2008, there was no NFC (of course) on iPhone 3G. It had Bluetooth 2.0 headset support (as opposed to Bluetooth 4.2 in iPhone 6S). Unlike iPhone 6S, the older device had no reversible connector (USB) either.

 

While the differences between iOS 2 ‘Big Bear’ and iOS 9 ‘Monarch’ might seem huge at first – the changes have been, in fact, subtle – introduced over the different versions of the iOS platform. There was a major design overhaul with iOS 7, while other features have been gradually added on by Apple. As the platform has evolved, so have the challenges and required knowledge pool of those who create iPhone applications. The baton of helming WWDC keynotes and iPhone releases have passed on from Steve Jobs to Tim Cook – but new iPhones have not ceased to generate their customary excitements among fans and detractors alike.

 

iOS 10 ‘Fuji’ is up next!

Apple Pencil: How Good Is The New Stylus In Town?

These are exciting times for Apple fans. The long-awaited 12.9” iPad Pro released a few days back – and according to projections, a whopping 2.6 million units of the device will be sold by the end of this year. According to software and app developers, the new offering from Apple will be arresting the slide in iPad sales that we have witnessed over the past few quarters. One of the most interesting accessories that the iPad Pro comes with is a stylus (would Steve Jobs have scoffed at it?) – called Apple Pencil. Let us here take a tour of the good and the not-so-good features of the Apple Pencil:

 

  1. (Good) Look & Feel – Trust Apple to come up with smart-looking devices and accessories every single time. The white-colored, bluetooth-powered Apple Pencil has a sleek metal band near the back end – close to the charging point. The weight is nicely distributed, with the writing end being slightly lighter than the charging end. Device analysts and iPad software/app developers have opined that holding the Apple Pencil feels almost similar to gripping an actual pencil. An extra tip is provided as well in the box. Provided that the Pencil is not held too close to the writing tip (which can cause the stylus to become unbalanced), using it is an absolute breeze.
  2. (Not-so-good) Cylindrical Shape – The completely cylindrical shape of the Apple Pencil can be a point of inconvenience for the slightly absent-minded user. There are no stands, and the stylus can very easily roll off desks and tables. A clip or a magnetic strip on the body of the Pencil would have helped matters a lot here. As it is, misplacing the Pencil is fairly easy – and that is not something any user would like!
  3. (Good) Recharging – According to reports and reviews from software and mobile app development forums online, ultra-fast recharging is one of the best features of Apple’s new stylus. The overall battery life of Pencil is 12 hours – but a closer look would reveal the excellent recharging features of the device. All that users have to do is plug in the lightning connector to the iPad Pro (yep, no external plug-points/charging stations required) – and it takes all of 6 minutes to get Apple Pencil fully charged (i.e., from 0%). Running short of time? Worry not – within 15 seconds, the stylus gets up to 30 minutes of battery juice.
  4. (Not-so-good) Device compatibility – Apple might expand the compatibility of the Apple Pencil over time – but for the moment, it is usable ONLY with the $799 iPad Pro. This really opens up the opportunity for other existing styluses (from Fifty Three to Wacom) which have multi-device support, to keep the the adoption rate of Apple Pencil at a low level. Yes, the new stylus brings in advanced granularity and takes sensitivity to an all new level – but it should have been usable on at least the iPhone 6S (along with the iPad Pro). There is a section of the global iOS app development community which feels that this is a deliberate ploy on the part of Apple to push the Pencil along with iPad Pro.
  5. (Good) Near-zero latency – Apple Pencil shrugs off a common problem that bugs most other iPhone/iPad styluses – the lag time (or latency) between the time a user starts drawing, and when the same appears on device screens. The signal from Apple Pencil is scanned at the rate of 240-per-second, resulting in outstanding responsiveness of the stylus. Early adopters have also corroborated Apple’s claim that the iPad Pro can indeed distinguish between touches with the Pencil and simple finger touches. There is hardly any lag here, and drawings appear almost instantaneously.
  6. (Not-so-good) That plasticky feel – While it is easy to hold and use Apple Pencil, it is interesting to note that the Cupertino company decided to go with a plastic body of the stylus. This is a move that is in contrast with the dedication with which the company stays away from using plastic in any of its flagship devices (except for the disappointing iPhone 5C). Surely the developers at Apple could have opted for a more sophisticated full-metal body, along with a support clip?
  7. (Good) Workable with third-party applications – In addition to full support for all of the built-in apps in the iPad Pro (which has the iOS 9 OS), Apple’s stylus can be used with third-party apps downloaded from the App Store as well. This, in turn, ensures that users can have a complete app-using experience, while using the ambitious (and not exactly inexpensive!) new tablet. iPad app developers have to make sure that the applications they come up with can be operated with the stylus. Otherwise, it will be an opportunity wasted.
  8. (Not-so-good) The price tag – Apple has always been a maker of premium, high-end products, and Pencil carries on with the tradition. Those who have bought/are planning to buy the iPad Pro will need to shell out a further $99 (or 79 Pounds) to get the Apple Pencil. The point here is, there are several styluses already in the market that offer multi-device support (unlike Pencil’s iPad Pro-only property) that are priced at much lower levels. Apart from hardcore Apple fanboys and girls, it remains to be seen whether the superior functional features of Apple Pencil are able to motivate general users into replacing their existing styluses with the new drawing tool.
  9. (Good) Drawing and adding shades – Apple Pencil comes up trumps when it comes to creative drawing and shading on the iPad screen. As already mentioned above, there is no lag to speak off, and the built-in pressure sensors of the stylus can differentiate between a light brush and a harder press. Thicker, bolder lines can be sketched by pressing down the tip of Apple Pencil on the iPad Pro screen while drawing. Creating a wide range of shading effects is easy too – thanks to the pair of tilt sensors placed near the Pencil’s tip. With help from the Multi-Touch display of the iPad Pro, the sensors can detect the orientation and the angle at which the Pencil is held, and help in creating shades accordingly. It’s just like tilting the good ol’ wooden pencils to create shades on paper.
  10. (Good) A great tool for 3D graphic designers – Mobile animators and app designers have been more than excited over the possibility of making 3D shapes and sketches with the Apple Pencil. Once again, the sensors of the Pencil would be instrumental in helping these creative artists draw the shapes that they want to. Provided that there is someone to hold up the iPad Pro while the designers start to work – there is indeed ample scope to manipulate objects and assets in the 3D space, by carving with the Apple Pencil.
  11. (Good) Using Pencil with the iPad Notes app – The ruler feature is one of the new features of iOS 9, and according to device testers and mobile app development professionals – this feature would perfectly complement the Apple Pencil. Users will be able to draw straight lines without any hitch, since the iPad Pro system can distinguish between touches from the Pencil tip and palm, wrist, finger touches. Apart from sketching and drawing in Notes, users can also make creative doodles with the stylus. There is also a built-in highlighter that helps people keep track of their important tasks.
  12. (Not-so-Good) The overall integration – It’s very early days for the Apple Pencil, and things might change as the newer versions/models of the stylus are launched. For now though, it is not as well integrated with the iPad Pro as the Surface Pen (with Microsoft Surface Pro 3) and the S-Pen (with the Samsung Galaxy Note 5). For instance, the former has a button for quick access to the note-taking app on the Microsoft tablet. The fact that Apple Pencil has to be separately bought (both Surface Pen and S-Pen are free with their companion devices) does not do it any favours either. Over time though, Apple Pencil can certainly become as integrated and compact as any of its rivals.

 

Eight years after the famous ‘Nobody wants a stylus. So let’s not make a stylus’ quip from Steve Jobs, his company has gone ahead with making the Apple Pencil. To put matters into context, that comment was made at the 2007 iPhone keynote, and that moment, styluses were certainly not in favour among most people. Reviews of the Apple Pencil from early users, device analyzers and iPad app developers have been mostly positive so far. There are a few rough edges still, but those should be smoothed out over the next few months.