Author Archives: Hussain Fakhruddin

The Flop Show Of Google Glass: Looking At Key Reasons

From the highs of being named among the best innovations, to its production being stopped – Google Glass has gone through everything between November 2012 and January 2015. We here deliberate on some likely causes for the failure of Glass.

 

Less than two and a half years back, Google Glass was hailed as one of the best tech innovations of 2012 by the TIME Magazine. The fortunes of the ambitious wearable gadget plummeted quickly enough though – and the circle of failure was complete this January, with Glass getting the dubious distinction of being named among the ‘Failure Hall of Fame’ products (by Creators.com). What exactly went wrong with Google Glass? Let’s look at a few probable reasons:

 

  1. The price barrier – There was no scope of doubting the technological excellence of Glass, but was it worth its $1500 price tag (that too, for testing an unfinished version)? A resounding ‘no’, if the response of the general public was anything to go buy. Google made the age-old folly of subscribing to the belief that “If we build it, they will come”. This belief never quite materialized, people perceived Google Glass was a way too expensive gadget, and no one was interested to actually shell out big bucks on it. The official sale figures were not released (Google never does it, anyway), but the project never took off.
  2. Failure as a fashion accessory – Profession mobile gadget and wearable technology experts as well as app developers agree that the soon-to-release Apple Watch would do a fine job as a fashion accessory for users. Google Glass, sadly, lacked this ‘cool quotient’. The gimmick of making famous models and celebrities (Miley Cyrus to Roger Federer to Sarah Jessica Parker) wear Glass and get themselves clicked did not work. If anything, it came across as a desperate strategy on the part of Google to position Glass as a fashionable gadget. It was not.
  3. Privacy concerns – For all of its high-end technology features, Google Glass did not address a basic user-concern – the concern about privacy. The gadget kept recording videos (often without the wearers realizing it) – and this did not wow anyone. Within a small time, Glass started to be viewed as a tool that invaded the private space of the early ‘Explorers’. Not surprisingly, people decided to stay away from it.
  4. Glass was a path-breaker – This factor is important, and it justifies Google X’s stand to persist with the Glass project. Professionals from any software or app development company would confirm that first-time innovations often do not find the appreciation they might deserve. The super-successful iPad was preceded by several flop tablets (the Palm Pilot, the Message Pad, the Microsoft Tablet PC, etc.), and there had been plenty of (ho-hum) smartwatches before Apple Watch was announced. Google Glass did not have this type of a cushion to fall back upon. It was a revolutionary product, a vast majority of its targeted users did not know what it was all about, and the product remained out of favor. Hopefully, the next version of Glass – if and when it comes out, would have more anticipation and awareness about it.
  5. Who wants to be typecast as a geek, anyway? – Unfortunately, that’s what Google Glass made people look like. Early adopters began to be jokingly referred to as ‘Glassholes’, there were references about how Glass was only about functions that could be otherwise performed (say, checking the weather) much more easily. Tapping on the touchpad of Glass at a public place was the very definition of a geeky gesture. Naturally, no one wanted to be labeled as a ‘tech nerd’ (even if (s)he was one!).
  6. Google Glass took away a bit of user-freedom – A smart gadget should give its users the freedom to perform stuff that they want to, more easily. According to mobile app development experts, the sustained success of iPhones and iPads has got a lot to do with the ever-increasing availability of custom iOS applications. Ditto with Android phones and the apps at the Play Store. Jailbreaking iOS devices and rooting Android handsets offered even more personalization options (albeit at the expense of device warranties). The much-hyped ‘augmented reality’ of Google Glass did just the opposite. It made people stay stuck with what they had been doing (say, a difficult meeting, a boring class, etc.) for just that bit longer. It was too naive to think that people would spend big money only to become a bit less…liberated.
  7. Lack of focus on user-needs – Not even a mobile application succeeds if it does not satisfy a particular need of targeted users – and here, we are talking about a device as expensive as Google Glass. Its maker, Astro Teller, recently admitted that not much attention had been paid on thinking ‘why users would need Google Glass’. The thinking, instead, was more inbound – about how the gadget would capture user-data and create databases. This stood as a major stumbling block in the path of Google Glass becoming a mass product. Buying a pricey gadget just for the heck of it was never going to be mainstream.
  8. A risk that did not pay off – In the clamour of touting Glass as a flop, we must not lose sight of the fact that the company was, perhaps, ready for such a response. Google has earned considerable reputation over the years as a company that values and encourages innovation – to the extent that 20% of the work-hours of employees are dedicated to thinking up something innovative. Also, Google is no stranger to high-profile failures (its Nexus Q media player was dismissed as an ‘Apple TV clone’). When the plug was pulled on Google Wave, Eric Schmidt famously said that every failure is celebrated at Google – for they represent innovation, and open up scopes for making improvements. Yes, Glass has flopped…but it has also earned considerable PR for the company. Techies, those who create apps for smart devices, and even general users are still talking about it. Maybe, Google had bargained for a short-term failure, for a long-term success.
  9. Non-availability of compatible apps – Pebble smartwatches have their very own app store, with plenty of applications. The native app support of Apple Watch is solid, and third-party WatchKit developers have already started submitting apps for Watch. Google Glass came up short on that count too. There was a relative dearth in the availability of compatible apps for Google Glass. The Google Glass Application List (http://glass-apps.org/google-glass-application-list) was, at best, limited.
  10. Pushing technology as the USP – If Google did want Glass to become a mainstream wearable gadget, its marketing strategy was all wrong. Something propositioned as a high-on-technology product was always likely to garner a limited amount of interest – with general people preferring to stay away. Software reviewers and mobile app marketers have compared this with the ongoing promotions for Apple Watch. The latter boasts of equal (if not more) advanced technological functionality, but is primarily being pushed as an alternative fashion accessory. Proper emphasis has been placed on the design of the smartwatch – something that Google Glass, with all its protruding sides and edges, did not do.
  11. Glass did not offer value for businesses – While interest about Glass among individual users remained lukewarm, it did not offer any specific value for enterprises either. Representatives from leading IT firms, mobile app companies, software development agencies have confirmed that they are, to date, unsure about how Glass was going to help their businesses. Add to that the perceived ‘privacy breach’ of Glass and the sheer weirdness of employees walking about wearing the ultra-conspicuous eyewear (not to mention the costs involved) – and it was only natural that Glass did not catch the imagination of business-owners.
  12. The social factor – ‘Those who are wearing Google Glass are rude and aloof’ – at least that’s what the general perception among non-wearers were. Surveys revealed that people did not feel like interacting with anyone who was wearing Glass – simply because the latter seemed immersed in his/her own world of augmented reality. In addition, conversations (even casual ones) were recorded by the gadget. It was almost akin to talking in front of a video camera. People were not comfortable with it.

All of this is not to suggest that there is no light at the end of the tunnel for Google’s much-vaunted eyewear. The Glass website proclaims that ‘the journey does not end here’, ex-Apple man Nick Fadell (the guy behind iPod and Nest) has been roped in for redesigning/reconceptualizing Google Glass, and the second generation of the device has every chance of becoming more popular. The domain of wearable technology needs more personalized gadgets like Google Glass – and it will be a shame if the project gets finally shelved.

 

iOS 8.3 Releases: 14 New Features & Improvements

After four developer betas, iOS 8.3 finally arrived on Wednesday. We have here highlighted the major additions and improvements in the latest iteration of the iOS 8 mobile platform.

 

A couple of days back, Apple Inc. released the final version of the iOS 8.3 update. The first beta of the new version had been rolled out in February, and it took the Cupertino tech giants close to two months to smoothen its rough edges, and make it available to iOS-device users. Just as the expectations had been, iOS 8.3 comes with quite a few interesting new features, fixes and general improvements. We will here list out some of the best things about iOS 8.3:

 

  1. CarPlay wireless connectivity – You can now stop using that old Lightning Cable. Once you upgrade your iPhone to the latest version of iOS, you will able to connect it to Apple CarPlay in wireless mode. The connection is quick and, as per early reports, interruption-free. Using your handset on the go just got a bit easier!
  2. Improved App Rotation and Visual Orientation – iPhone app developers as well as general users had confirmed that the screen of iPhone 6/6 Plus (running on on earlier versions of iOS 8) often appeared upside down, after the device was taken out of a pocket. What’s more – in the multitasking mode, the pre-installed applications rotated incorrectly. All of these problems have been fixed in iOS 8.3. Toggling between the portrait and landscape view modes is no longer a problem either.
  3. Siri gets a smarter edge – It’s not quite the perfect mobile digital assistant yet, but Siri is definitely moving in the right direction. In iOS 8.3, Siri is packed with greater language compatibility, with Thai, Russian, Portuguese and Dutch being some of the new supported languages. In addition, the virtual iPhone assistant is now able to tell the difference between messages sent from unknown senders, and those from contacts. New accents have also been built-in.
  4. Host of new emojis – Most software critics and mobile app development experts feel that the emoji keyboard is the biggest surprise that iOS 8.3 packs in. New/Upcoming Apple gadgets, like the new Mac and Apple Watch, have separate emojis, while there are plenty of emojis depicting people and families. The total emoji count built in the iOS 8.3 platform is well over 300. The skin tone of the individual emojis can be changed too. Clearly, Apple is on a mission to give a more personalized experience to iPhone users.
  5. Two factor account authentication – It was a long time coming, and iOS 8.3 finally brings Google’s much-vaunted two-factor authentication system to the table. People would no longer require separate passwords (unique to every app), to add multiple Google accounts on their handset. The presence of two-factor authentication adds an extra layer of mobile security too.
  6. Support for high-end braille displays and Photos app – iCloud Photo Library has been upgraded in iOS 8.3 (out of beta). After installing the OS X 10.10.3 update on your Mac system, you can now sync all your phone images with the revamped Photos app. The new mobile platform delivers top-class support for Braille displays – thanks to its complete compatibility with VarioUltra 40 and Baum VarioUltra 20.
  7. Passbook is more systematic and user-friendly – A relatively minor fix, but one that would add to the convenience factor of iDevice users. The Passbook app in iOS 8.3 can now seamlessly separate Passes from all the Apple Pay content. With mobile payments and wallet management getting popular by the day, Apple Pay and Passbook needed a facelift. Apple has done just that.
  8. Better app performance assurance – For users and professional iOS app developers alike, this is a big relief. The earlier versions of iOS (iOS 8.1 in particular) had more than their fair share of problems – one of which was making the apps installed in devices perform slowly. Once you have upgraded your handset to iOS 8.3, you will find that installing and launching applications have become a lot easier. The improvement in the responsiveness of iPhone apps is also significant.
  9. More reliable Bluetooth and Wifi – iOS 8.3 finally comes out of the mesh of connectivity issues that its predecessors suffered from. Mobile app testers and early adopters have confirmed that the wireless connectivity on the upgraded platform is stable, with minimal chances of random connection drops. The frustrations of having to repeatedly type in your login information are a thing of the past now – and neither do you have to worry about audio problems in the Bluetooth speakers. The hands-free voice calling feature has also been made more stable.
  10. Improved keyboard – There had been complaints reported from iPhone 6 Plus users (in particular) about the dimensions of the ‘space’ and the ‘period’ (stop) tabs in the device keyboard. While typing quickly, many people have tried to enter a space, and ended up including a period in their typed text. The keyboard of the latest iOS version has been redesigned, to address this problem. The period tab has been made smaller, while the spacebar is significantly larger. While typing messages, or searching for Safari, chances of erroneous addition of periods have been minimized. The addition of the new Chinese keyboard is also worth a mention.
  11. Better ‘Ask To Buy’ – Like many other features of iOS 8.1 and iOS 8.2, the ‘Family Sharing’ feature left much to be desired too. Apple has addressed most of these issues, by tweaking around ‘Ask To Buy’, to make it more secure and reliable. Those using shared resources (i.e., family members) are now able to opt for free app downloads and/or launch any application without any difficulty (read: need to give passwords). The previous versions of iOS 8 had bugs related to this, and they have been ironed out.
  12. The speed boost – This is yet to be confirmed, but Apple has promised that the iOS 8.3 platform would be considerably faster and more efficient than iOS 8.2. Right from wireless connectivity, Control Center and iMessages, to 3rd-party keyboards and the tabs in the Safari browser on iPhones – everything is likely to work more quickly, once the upgrade is done. Many iPhone/iPad app developers have already tested their applications on the new platform, and confirmed that the latter were indeed working faster.
  13. Greater support for enterprise users – Apple has included a large number of important enterprise bug fixes in the iOS 8.3 mobile platform. Apart from smoother launch and installation of enterprise applications, the compatibility features of both web proxy as well as VPN have been bolstered. There is no longer any risk of loss of data from Exchange accounts  (for instance, due to short connection outages). Exchange meetings that include relatively long notes do not get automatically truncated in iOS 8.3 either.
  14. More text formatting options in iPhone 6 Plus – Upgraded iPhone 6 Plus phablets allow users to pick from new formatting options. In the landscape mode, text can now be italicized and/or underlined (earlier on, only the ‘Bold’ option was present). You will no longer see “FYI” getting auto-corrected, while QuickReply has also become more reliable in terms of providing contextual text predictions. In a nutshell, typing on a device running on iOS 8.3 has become faster, accurate and more personalized.

Siri’s new ability of making calls via the speakerphone is yet another handy feature of iOS 8.3. Apple has acquired the support of two new mobile carriers as well (yay!) – EE (in the United Kingdom) and Sprint (in United States). The backend support of the latest iOS version extends to iPhone 4S and iPad 2. The update can be downloaded for iPhone, iPad or iPod Touch from iTunes. Users can also go for the update ‘over-the-air’ (cloud update). Mobile software experts and app developers feel that iOS 8.3 is indeed be the best iteration of the iOS 8 platform – and it remains to be seen whether it gets the thumbs-up from users.

 

Will you be upgrading your iDevice to iOS 8.3?

Working With Cocos2D-x: A Beginner’s Guide

As far as open-source, cross-platform game engines are concerned, Cocos2D-x would rank right near the top. We have here explained some terms and features of this tool, for new and existing users.

 

Cocos2d-x would easily figure among the most popular 2D game development engines. Newbies can, however, find it rather complicated – and a significant amount of time needs to be invested by a developer on learning its nitty-gritty, before (s)he can start creating games with this open-source tool. With greater familiarity with the framework, you are likely to find the engine to be really user-friendly too. In the following discussion, we will take you through some important features and user-tips related to Cocos2d-x:

 

  1. Cross-platform support – The Cocos2d-x framework can be used to build games and apps on both the iOS and Android platform. This automatically makes it a more widely usable tool than the Objective-C based Cocos2d, which supports only the iOS platform. Depending on the platform you are working, you will have to download and install the latest version of Xcode (iOS) or Eclipse (Android). It is possible to use Cocos2d-x for desktop as well as mobile game development.
  2. Scenes and Nodes and Sprites – In particular, many new game developers find the concept of ‘Nodes’ and ‘Sprites’ confusing. Both of them refer to the objects visible on the game screen – but ‘Sprites’ are the ones which actually move about. All the other objects are simple ‘Nodes’. All nodes are stored in a ‘Scene Graph’, which is alternatively called the ‘Tree’. The in-order-work algorithm is deployed by Cocos2d-x to manage the sprites, nodes and animations in the ‘Scene Graph’. The ‘Scene’, of course, refers to the screen where the game menus, levels, and all other visual elements are displayed.
  3. Minimum system requirements (Runtime) – For iOS game development, Cocos2D-x requires the support of iOS 5.0 (or higher). Similarly, if you are making an Android game, you will be able to use this game engine only if your device is powered by Version 2.3 (or later) of the OS. For Windows and OS X games, the minimum runtime requirements of Cocos2D-x are Windows Phone 8 and OS X 10.6 respectively. For optimal game engine performance, it is advisable to upgrade systems to the latest versions of the respective OS-es (OS X Yosemite, iOS 8, Android 5.0 Lollipop, etc.).
  4. Simultaneously working on iOS and Android – The concept of ‘Classes’ in Cocos2D-x makes this easy for mobile game and application developers. The C++ files created and stored in the Classes directory under Xcode and Eclipse/Native Android Toolkit are the same – and all that users have to do is instruct the iOS and Android projects to refer/point to the same folder destination. Create a group called ‘Classes’ in the ‘Project Navigator’, and add the files that you need to keep together. Uncheck the box beside ‘Copy items into destination group’s folder’, and then just click on ‘Add’.
  5. Editor support – Cocos2d-x boasts of a vast range of supported editors. According to many professional mobile game/app development experts, this is one of the prime reasons behind the engine’s sustained popularity since 2010. Apart from CocoStudio (the official editor of Cocos2D-x), the tool is also compatible with ‘Dragon Bones’ and ‘Spine’ (both are animation editors), Sprite Helper, Glyph Designer and Tiled Map Editor. Developers can also work with texture atlases by using the Zwoptex or Texture Packer tools.
  6. Designing on Cocos2d-x – Game developers can take their pick from four alternative design options available in the engine – ‘Exact Fit, ‘Fixed Height’, ‘No Border’ and ‘Show All’. If you wish your game screens/scenes to be properly viewable on mobile devices with various-sized screens, the ‘Fixed Height’ option is the most suitable, since it does not involve unnecessary cropping or compressing of the images. Go through the CCEGLViewProtocol.h file carefully, to find out about the design policies of Cocos2d-x, and how they are affected by the screen aspect ratios of devices.
  7. Minimum System Requirements (Build) – For making a 2D iOS game with Cocos2D-x, you will need to install Xcode 5.1 (or any later version; 6.2 is the latest stable release). For developing on the Android platform, you have to set up NDK r9d first. On other platforms, the minimum build requirements for Cocos2D-x are Visual Studio 2012 (for Windows) and CMake 2.6 (or later). The engine can even be used to make games and apps on the Ubuntu platform, provided that you are using Version 12.10 (or higher) of the OS.
  8. Main classes in the engine – We have already highlighted how Classes can be used to store iOS and Android projects together on Cocos2D-x. However, to start working with the engine – game developers need to get acquainted with four other, basic classes first. These are CCDirector (for calling user-interaction, passing and rendering calls, and depiction of the various game scenes), CCScene (the CCDirector class shows this base node), CCFileUtils (for using ‘search paths’, and general handling and management of files in the codes), and CCEGLView (this renders the game visuals on the system screens). Among these, the first has to be used constantly, while CCEGLView is generally required only once – at the time of setting up Cocos2D-x for the first time.
  9. What are Actions? – If you are making a mobile gaming app, you need to be an expert at creating custom ‘Actions’ – i.e., movements of the characters in your game. Right from playing around with any Node object in the time-space continuum, to using Callbacks after the movement of Sprite objects – everything has to be managed with the help of developer-defined ‘Actions’. Some of the most frequently used Actions in Cocos2D-x are ‘Rotate’, ‘MoveBy’, and ‘Scale’.
  10. Supported widgets – Games created with Cocos2D-x generally have smooth and engaging UIs, and this has got a lot to do with the multiple types of widgets that the editor supports. PageView, ListView and ScrollView are the three containers built-in for Cocos2D-x, while there are separate widgets for adding TextField, Button, and CheckBox in the game scenes. You can also include sliders/loading bars. Cocos2D-x games can have Horizontal View, Vertical View, or both.
  11. Difference between Sequence and Spawn – Another probable source of confusion for app and game developers starting out with Cocos2D-x. In the engine, a ‘Sequence’ refers to a set of ‘Actions’ that are called/executed sequentially (creating reverse Sequences is also possible). On the other hand, a ‘Spawn’ refers to simultaneous execution of ALL the specified Actions. A Sequence is created with the auto mySprite = Node: :create() command line, while a Spawn is defined by auto myNode = Node: create().
  12. Layers, Anchor Points and App Delegates – Okay, let’s take a look at some other common terminology used by the users of the Cocos2D-x tool. The focal point around which every Sprite object moves is known as the ‘Anchor Point’ (default value → 0.5, 0.5). ‘Layers’ refer to a certain type of non-visible nodes, which are arranged in accordance with the z-order system of the engine (most simple 2D games require only single layers). ‘App Delegates’ are something about which only iOS app developers need to know. They are, in essence, classes that are used to call pre-defined methods. The delegates are present as virtual classes in C++, and are created as per protocols in Objective-C.
  13. Using Sprite Sheets for animation – Cocos2D-x lets graphic designers and game animators to use Sprite Sheets. In simple terms, this means that users can create a large texture (i.e., an image), in which all the animation frames are contained. The precise position of every frame is mentioned in the Data files that accompany the Sprite Sheets. When the sheets are exported, they remain in sync with the files in the ‘Resources’ folder.
  14. Enhanced Physics support – Presence of the Chipmunk 2D physics system (integrated in the engine) is yet another high point of the Cocos2D-x game development engine. For customizing character bodies, contact points, joints and the like, there are object-oriented wrappers. The tool supports parallax scrolling, and comes with the useful ‘Render To Texture’ feature as well.

The only blip in the other otherwise excellent programming language compatibility of Cocos2D-x is the lack of support for JavaScript on the WP8 mobile platform (C++ and Lua are supported). Innovative 3D skeletal animation support has been included in the latest version of Cocos2D-x – v. 3.2 for iOS 8. Several immensely popular games have been created with the Cocos2D-x tool, and once you are familiar with its operations, you can start making your very own customized game too.

 

 

AppBoard Tuesday – Trends & Figures App Developers Need To Be Aware Of

Businesses do not operate in vacuum. While this is true for all types of professional activities, the adage assumes particular significance when it comes to a field as dynamic as mobile app development. During our last Friday brainstorming session, we were reflecting back on how, less than 10 years back, all that we made were Java apps. Fast forward a decade, and we have started out with our first set of WatchKit applications. Keeping a constant, close tab on the latest changes and trends in the market has been key in whatever success we have had as a mobile app company. In the first AppBoard Tuesday of 2015 Q2, we will do a roundup of the facts and figures that every app developer needs to consider now:

  1. Dependence on cross-platform tools is increasing – As app developers are getting busier with more projects, they are increasingly turning to external, cross-platform tools for help. Since last November, the usage of these crash-reporting or app analytics monitoring tools has jumped by 7% (30% in March 2015 vs 23% in November 2014). In a recently conducted survey, it was found that nearly 85% of developers (both from app companies as well as indie developers) used these tools. The onus is on you to find out, and start using, the tools that would be helpful.
  2. Cloud technology is gaining in popularity – And at a rapid pace too. Scores of new mobile devices are being launched every quarter (with nearly all of them having smart cloud data syncing features), and the impending release of Apple Watch is likely to spark off more movements in the wearable technology sector. Cloud-based app development platforms are likely to grow in popularity in 2015 and beyond, and mobile app developers need to ensure that their applications have seamless cloud integration and syncing features. A standalone, offline app won’t serve much of a purpose.
  3. Secure mobile payment will be actively sought after – Google Wallet might have received only a lukewarm response, but the recent release of Apple Pay – together with the announcement of Samsung Pay in early-March – will help mobile payments move into new grounds. According to a section of the worldwide app development community, the usage of apps that support m-payments might even overtake that of credit/debit cards, by the end of the year (particularly in the West). Security remains a concern though, and it will be interesting to note how the different vendors/app developers handle this issue.
  4. Flat, skeuomorphic designs are back – This has been a direct ripple effect of the flat design of iOS 8 and the ‘Material Design’ of Android 5.0 Lollipop. Professional UI/UX designers have started to add the elements of height and depth to the elements of their apps (especially in gaming apps), to provide a more realistic feel to users. Layered displays and layouts, with transparency in the UI elements, are being deemed as ideal for most new applications.
  5. Developers are no longer obsessed with immediate payoffs – Even a couple of years back, most app developers believed that “If I can make ‘em, people will download ‘em, and I will earn handsome financial returns real quick.” Thankfully, that mentality has significantly changed – and at present, over 55% of mobile app developers consider getting a foothold in the app-making business as their primary concern. Once they are inside the so-called ‘Internet Of Things’ (IoT), they are prepared to wait it out – before profits/returns actually materialize. Over the next few months, the IoT domain would expand beyond the two mobile platform biggies – Android and iOS. The takeaway for new, aspiring app developers from this: You need to be patient…making mobile apps does not translate to overnight riches!
  6. Shorter app development cycles – The entire timeframe between the conceptualization of an app idea and the completion of the app project is getting shorter, and this trend will continue in future too. With mobile app companies taking up more and more projects, the race for meeting deadlines (while ensuring that client-specifications are being met, and there are no compromises in the quality of apps) is getting hotter. It is all about being ‘Quick To Market’ and delivering optimal value to customers. If you come up short on either count, you fail.
  7. People are seeking more contextual information from apps – And that’s precisely why app development experts have predicted that, more and more applications from now on will have location-sharing features. Depending on the exact location of any person, a mobile application will be able to provide customized service to him/her (for example, a road navigation app). Developers, however, should not include location-sharing in mobile apps for kids. That can be risky.
  8. Enterprise apps beat Consumer apps at the money game – Between enterprise apps and general consumer apps, more money lies in the former category. Researches have shown that less than 20% of consumer app developers manage to break even, while this figure shoots up to 45% for developers of enterprise apps. The reason for this is simple: the general public is not particularly interested in forking out real cash for downloading (hence, the prevalence of so many free mobile apps). Business houses, on the other hand, are much more willing to make investments on new mobile software – which are likely to prove useful in the long-run.
  9. Native apps will face a strong challenge – By the end of 2014, hybrid apps had started to grow significantly, and they will eat up at least some of the popularity of native mobile applications. Business enterprises, in fact, are mostly in favor of hybrid apps – since they help in reaching out to multiple mobile platforms with greater ease. Mobile web apps have precious little chances of making a resurgence though.
  10. Mobile games will have more social interaction features – We are not only talking about multiplayer mobile games replacing the single-player ones. In 2015, app developers have to focus on creating gaming apps that offer easy social interaction and integration. To put it in another way, modern-day mobile games need to double up as social networking  applications as well. Apps in this genre would, of course, require regular upgrades too – to keep the user-base engaged.
  11. iOS developers need to be able to ‘speak Swift’ – Objective-C isn’t going anywhere, but even so, the ability to code in Swift has become a must-have quality in iOS app developers. Within a quarter of the release of Swift, more than 20% developers had started using it (according to a study conducted by VisionMobile). More interestingly, many of the Swift developers across the world are working on iOS projects for the first time. If you are reading this, and are yet to try your hand with the Swift programming language…you are already way behind the eight-ball!
  12. Freemium apps and in-app ads will become more common – Instead of creating paid apps, the ‘freemium’ model (free apps with in-app purchase options) is gradually becoming the preferred method of mobile app monetization among developers. App companies have also started incorporating different types of ad networks, for including in-app advertisements – without messing up the user-experience factor. Juniper Research has predicted that the total value of app advertisements will be almost $7.2 billion (all mobile devices included).
  13. Greater emphasis on connectivity – Connectivity via mobile apps is getting more cutting-edge than ever before, thanks to the arrival of technologies like Bluetooth LE and Apple iBeacon (GPS is, for all purses, an ‘old’ technology now). The wide range of smartwatches and fitness bands available offer their own brand of app connectivity options as well. Coders of new-age iPhone/WatchKit/Android apps have to be masters at drawing up algorithms that will help apps monitor the behavior (and not just the location) of users, round the clock.
  14. Growing importance of user-experience – Any mobile app development company worth a mention places due importance on the user-experience factor of its applications. However, in 2015 and beyond, this task will become more and more challenging – with new devices hitting the markets with regularity. This, in turn, will bring the spotlight back on mobile app analytics tools. Developers will have to monitor the performance of their apps on different devices, seek feedback from users, and customize their products accordingly.

The gargantuan sales figures of iPhone 6 and iPhone 6 Plus have shown that the market is indeed ready for ‘larger’ handsets (the popularity of devices with 5” or higher screens will zoom up by 210% this year). App designers and graphic artists will need to keep this in mind. Hidden menus in apps is yet another app designing technique that has found favor among users. App store optimization and general mobile app marketing methods are becoming smarter too. It’s an exciting time to be a mobile app developer – but if you do not keep abreast with what’s happening around you, your business will suffer. The more information…recent, relevant information…you have, the better it is for you and your app company.

 

That brings us to the close of yet another edition of AppBoard Tuesday (ABT). Our ‘Rapport Card’ app (https://www.behance.net/gallery/22802271/Rapport-Card) will be released soon, and we have taken up a few new iOS/WatchKit app projects too. Here’s looking forward to a successful second quarter of 2015!

 

Stay tuned for next week’s AppBoard Tuesday, where we will put another relevant app-related topic under the scanner. Until the next time, take care…keep learning…and love thy apps!

 

Learn To Use SpriteKit For Game Development In The Best Possible Way

The number of iOS app developers using SpriteKit for making custom mobile games is increasing at a rapid clip. For coders who wish to start using SpriteKit, we have here shared a few important guidelines.

 

SpriteKit would easily feature among the most popular animation and graphics rendering tools among iOS app and game developers worldwide. The top-notch user-friendliness of the tools is one of the key reasons behind its enormous popularity – apart from its obviously vast set of customized features. The learning curve of SpriteKit is far from being steep, and all that newbies require is a bit of guidance, while working with it. If you are planning to make an iPhone game with SpriteKit, the following tips would come in handy:

 

  1. Initiate Xcode – It would be advisable to install the latest beta of Xcode 6.3 first. Once the installation is complete, you will have to start up the built-in Game Template (coded with Swift). Doing so is easy enough: click File → New → Project, and navigate to iOS → Application → Game. Once you have clicked on ‘Next’, a dialog box – prompting you to enter the Project name, programming language, devices, etc. will appear.
  2. Be familiar with SKAction spins – Next, the mobile game development experts working with SpriteKit will find that a single-scene app (with sample text area) has been automatically created by the built-in Xcode game template. Spin actions, a central component of basic Sprite animations, can now be made – with the help of SKAction (check the label node in MyScene.m). There are two different components of SKAction – the first for single radian (180 degrees) spins, and the other for infinite loops. Check out how both of these work.
  3. For large games, optimize the Tree Content – In theory, there is no need to remove any of the nodes from the parent ‘Tree’ in SpriteKit – irrespective of how many ‘children’ it already contains. However, coders from leading iOS game development companies opine that deletion of unnecessary nodes speeds up the coding process, and minimizes the chances of errors. Broadly speaking, if a node is not related to any action, or is not serving as a physics engine related to the actual gameplay – it is best to remove it from the Tree. The same goes for nodes that are not likely to be rendered anytime soon. Remember, you need to do this only if you are making a relatively large iOS game.
  4. Use particles and atlases – First-time iOS app developers might not be aware of this feature. SpriteKit comes with a wide range of atlases and gaming particles embedded to it, and they can be used to add a high level of customization to games. What’s more – even videos can be considered and deployed as sprites. There are several interesting masks and image effects that can be used too.
  5. Get rid of GameScene.sks – When you graduate to making mobile games that require visual creation of sprites and scenes, GameScene.sks would be necessary. For starting out with test apps on SpriteKit though, manual programming is a way simpler option. Move it to Trash (when prompted), and then, start working on the Gameviewcontroller.swift playground. Make sure that, under ‘Deployment’, the boxes next to ‘Landscape Right’ and ‘Landscape Left’ are checked, while the one against ‘Portrait’ is unchecked.
  6. Add your texture(s) – The groundwork is done, and mobile app and game developers can now start adding textures to their programs. These textures double up as the coders’ own sprites as well. Find out how you can use the components of image files to create textures. Name the texture/sprite and add an (arbitrary) position to it. You will need it later to add to a game scene. Repeat the process for creating multiple textures.
  7. Create the graphical content with care – Even small mistakes at this stage can lead to crashes in the node trees/scenes. Professionals from the mobile game development industry advise new users to avoid directly adding either heavy physics bodies, or any of the content nodes (creating content layers with extra SKNode objects is a better option). Nesting the effect nodes and the clipping nodes inside the node tree can be problematic as well (especially when you are creating a complex iOS game). The particle birth rates (during the creation of emitter effects) should be maintained at low levels. This will minimize risks of overloading during particle animation and rendering.
  8. Add your sprite to a SpriteKit scene – You know how to create textures/sprites, and now it’s time to actually use them on the main SpriteKit scene. To do this, you will have to call the ‘spritenodewith ImageNamed’ method, and then pass the name of the image (which you had saved earlier while creating the texture) through it. Then you will have to add the ‘addChild’ function to the scene, and specify the position coordinates of your game character (for instance, a fairy). In case the character is not visible, check for errors in the viewDidLoad (in ViewController.m) method.
  9. Incorporate Actions to the gameplay – The three action functions available in SpriteKit add to the convenience and customization options of this game development tool. You can add ‘SKAction.removeFromParent ()’ to remove characters from a scene, ‘SKAction.moveTo ()’ to make a character move towards the left of the scene (remember to specify the duration of movement as well), and ‘SKAction.sequence (_:)’ to clump together an action sequence/loop. You need to ensure that the characters appear lively, and more importantly, keep coming. That’s what will make the gameplay interesting.
  10. Use physics system simulations – Adding motions and special effects (pixie dust, anyone?) to game components is all very well, but do not miss out on the physics effects that can be seamlessly added in the SpriteKit tool. Create a self.physicsBody method, and mention the screen edge boundaries in it (this would ensure that sprites do not suddenly go out of the scene). After that, create a physics system for each sprite that you have created and added. From displaying gravitational effects, to the impact of particle collisions – in-game physics in SpriteKit can make iOS games a lot more realistic and engaging.
  11. Save game levels in scene archives – SpriteKit offers complete support to creation and maintenance of archives. This, in turn, makes it possible for game developers to: a) save the different game levels as scene node archives, and b) create separate archives for the all nodes that have been pre-configured. The game assets can be created by adding the Property list (which contains all saved SpriteKit data). While referencing nodes, use unique name properties instead of simple hardcoding.
  12. A bit about animations – Let’s turn our attentions towards the process of creating game animations via SpriteKit here. Note that each and every action is defined as a separate object. The SKAction class defines these objects, and when the actions are executed (in the nodes), the animation frames are processed. If you wish to override preset methods and/or add personalized processes per-frame, that can also be done by using scenes. Keep in mind, while certain actions need several animation frames, others can be executed within a single frame.
  13. Make the subclasses compatible – In SpriteKit, NSCopying and NSCoding protocols are supported by the node classes. App and game developers, while introducing new instances in subclasses, need to ensure that the latter contain these behaviors as well. For both OS X and the iOS platforms, there are custom event-handling codes that have to be implemented. Ideally, create your own calling conventions, to avoid confusions/errors during rendering.
  14. Using blend mode and viewing diagnostic messages – In case any form of opaque content is being used in your sprite(s), you will have to use a separate ‘blend mode’ – SKBLendModeReplace. In general, the alpha blend method is used for blending sprite contents and particles. The SKView class in the game development tool also allows users to check diagnostic messages. If you feel that your game is laggy, external tools – like OpenGL – can also be used to check the timings of the separate components of the game.

To locate the precise coordinates of a user-touch, the SKNode of SpriteKit has two extremely handy methods – previousLocationInMode (_:) and locationInMode (_:). Separate loading classes are required for storing textures that are called only once (when the game starts). Once you have made your SpriteKit/Swift game, test it on actual devices (iOS or OS X, as the case may be) – and find out if there are any CPU/GPU compatibility issues. SpriteKit is an excellent tool for making iOS games – and you can start developing as soon as you get a hang of working with it.

AppBoard Tuesday – Simple Tricks To Serve App Clients Better

“There is only one boss. The customer. And he can fire everybody in the company – from the chairman on down, simply by spending his money somewhere else.”

— Sam Walton

There probably has never been a truer thing spoken about the corporate world. Think of it this way – someone contacts your company for custom mobile app development, finds your services disappointing, and promptly gets in touch with another firm. You lose that particular business lead, along with a bit of your goodwill (the bad worth-of-mouth reports will take care of that). The concept of ‘providing client satisfaction’ has become too cliched as well. The domain of mobile app making is competitive to the core – and success (or otherwise) lies in the ability of a company to ‘wow’ its customers…give them something that ‘exceeds’ their expectations. In this edition of AppBoard Tuesday (ABT), we offer a sneak peek into easy ways to keep the smiles of your app clients always in place:

 

  1. Inquire a lot – Once you have accepted a project and provided a free app quote on it, interact with your client properly. To do a good job, you need to know about every little thing about the iPhone/Watch/Android app that the client wants to be made. Find out about the profile (age/gender/demographics/location, etc.) of the target audience. Prepare the groundwork with care – that will ease the actual process of making the app.
  2. Solve problems – On average, hardly 2 out of 100 clients have any sort of technical (coding, designing, yadda, yadda) knowledge. All that they have are ideas and concepts, which they want to transform into apps. It’s only natural that they would not get the hang of how professional mobile app developers go about their job – and, as a result, will ask plenty of questions. Resolve each of their queries (however trivial they might be), and do not go about charging money for such doubt-clearing sessions. After all, the clients are the ones paying money…and they have a right to know.
  3. Offer advice for free – People love anything that’s free – no two ways about it. Apart from giving free quotes on mobile apps, you can work further in this regard. Schedule webinars and online hangouts, and provide information and tidbits about app development to prospective/existing clients. Plan out these free interactions as some sort of teasers – they should motivate the participants to follow up and contact app developers.
  4. Focus on speed during customer interactions – The quicker you can answer your clients’ questions, the better. Researches have shown that responses given out within a couple of hours of customer queries invariably show up a mobile app company in a good light. Of course, you need to ensure that your response is actually helpful for the client (and with that, we are back to the importance of understanding client-requirements/preferences). No one is going to wait patiently, as you take your own sweet time to come up with an answer.
  5. Deliver more than what’s expected – And we are not talking only about the quality of the iPhone/Android/WatchKit apps you make. Constantly endeavor to give your clients something extra – something that they are not expecting, they have not bargained for. For instance, if a client wants to see four wireframes of an application, email six wireframes to him/her. That will convey the impression that you are really involved in the project, and are committed to make the app a success. Oh, and this ‘extra’ service also needs to be free!
  6. Never contradict a client – It’s possible that something that a client is saying is wrong. This is a tricky situation – and while you need to correct him/her, you certainly do not want to directly contradict the person. Coming out of this sticky scenario is no rocket science though – hear out what the (obviously misinformed) client has to say, and then patiently explain your own views and opinions. Do not refer to his/her ideas as ‘wrong’ or ‘crazy’, and yours as ‘right’. Instead, tell that you have an ‘alternative’ plan/method, which would serve the client better. (S)he will come around.
  7. Be personal in your approach – At the end of the day, clients want to do business with a fellow human-being, and not just an app company. As a mobile app entrepreneur, the onus is on you to ensure that your clients get a personal feel through all your communications (verbal/written) with them. When sending a mail, mention your name first, and then the name of your company. If someone has got in touch with you via Facebook or Twitter, respond from your personal profile – instead of the nameless business page. Faceless app companies do not work, those with caring, sincere, committed leaders do.
  8. Promote their apps – At many Android/iPhone app development companies, the workflow is like this: accept projects, complete them, deliver them, and…well…case closed. Adopting such a ‘one and done’ approach would be a folly. Just as app clients do not have coding expertise, they are not likely to be masters at mobile app marketing either. Your company needs to take up the responsibility of being the brand ambassador of each app you create (unless, of course, a client tells you not to). In general, customers would love it if you create apps just as they want, and then, promote it…that too for free. If your apps are successful, you can show them off in your portfolio as well.
  9. Do not ignore general users – The end-users of an app are not your clients. There is no saying that they will never become a client in future though. If an app-user complains about a bug/usability issue in an application that your company has created – find out in detail about the problem, and guide the person with the requisite app troubleshooting steps. It all adds up towards building up a strong, positive reputation for your app development company.
  10. Take responsibility – App developers, graphic designers, animators – they are all human beings, and as they say, ‘to err is human’. If a glitch in your work is discovered and reported by the client, own up to it, and rectify it as soon as possible. There is always the temptation to hide behind a bunch of tech jargons (most of which would be beyond the client’s comprehension), and try to prove that the glitch is, ultimately, not your fault. It is always better to come clean, take full responsibility of your app projects, and not get into any sort of blame game (“My UI/UX designer had not consulted me while working on this layout”!). A sane client would appreciate your honesty, and your trust-factor would receive a boost.
  11. Inject a fun, interpersonal element – One of the biggest myths that heads of mobile app companies believe in is that, indulging in some small talk with clients is a ‘waste of time’. Nothing can be further from the truth. You need to present yourself as a ‘partner’, and not just a ‘pay us and we will make your app’ service provider. If an overseas client drops in at your office, take him/her shopping, plan a nice lunch (your wallet, please!), share some local information – to put him/her at ease. How about sending along ‘Happy Birthday’ and ‘Merry Christmas’ emails to clients? We feel that that would also be a great thing to do.
  12. Do not deliver on the pre-specified deadline – That’s because, your target should be on completing and delivering every mobile app at least a week before the schedule deadline (as mentioned in the app quote document). This would buy you just that extra bit of time to fix issues, if any, prior to the submission of the app at the store(s). Project delays and missed deadlines are surefire things to put clients off, and you should always stay at an arm’s length from such possibilities (presence of a large app development/designing team would help).
  13. Treat customer feedback as gold dust – If you feel what matters most is how you feel about an app – change your mindset. As developers, your job is to create iOS/Android applications as per the specifications of clients. Once you have built an app prototype, request your client to test it, and provide his/her feedback. If (s)he says that certain improvements are required (even if you feel they are not necessary), implement them. Provided that the overall app performance does not get hampered in any way, the opinion of clients should be given precedence. Always.
  14. Have a refund policy in place – Another factor that contributes to the trustability of your app development company. Make sure that your client has the option to ask for a full monetary refund, in case the app created by your developers is deemed to be unsatisfactory. It has been seen that the companies that offer such refund policies have the least probability of actually having to make such refunds. The reason is simple enough: you are absolutely confident about your app development services. Your clients will get the idea too.

 

Be on your best behavior while interacting with a client (a ‘Please’ here, a ‘Thank You’ there can work wonders). Be very careful about the proficiency of the coders, UI/UX designers and mobile app testers you induct in your workforce. After all, they are the ones who will determine whether you manage to live up to your promises to the client.

 

It’s high time indie app entrepreneurs and CEOs of mobile app companies stopped limiting themselves to delivering ‘customer satisfaction’. It’s all about having the ‘wow factor’ – it can make or break the fortunes of your company.

 

Okay, so that’s the ‘Teks-gyan’ we have to share in this week’s AppBoard Tuesday (ABT). On a personal front, we have started working on a couple of new app projects…and we are happy to report that clients have started requesting for customized WatchKit apps too. Wish us luck on what will be a new challenge for us.

 

We will return with yet another topic of interest related to mobile applications, in next week’s AppBoard Tuesday. Till then, take care, work well…and love thy apps!

 

 

Unity 5: 15 Features Game Developers Would Love

The release of Unity 5 was one of the most noteworthy events during GDC 2015. In the following discussion, we will take you through some of the best new features in the latest iteration of the game engine.

 

This year’s Game Developers Conference (GDC), organized from the 2nd to the 6th of March, offered two key highlights for mobile game developers. As was widely expected, Unreal Engine 4.7 was announced (it is now free, apart from the 5% royalty fee). Unity Technologies had the perfect riposte to that, with the official release of Unity 5 – the game development engine everyone was looking forward to. It has been a somewhat delayed announcement, since app and game developers had been expecting the arrival of Unity 5 since late-2014. The initial reviews are uniformly positive, primarily due to the following interesting features of the engine:

 

  1. StateMachine Transitions – Unity 5 supports the addition of enhanced transitions from one StateMachine to another, with the help of the StateMachine Transition feature. The number of callbacks available in the set of StateMachine Behaviors have also been enhanced. Mobile app and game developers can now make use of callbacks like OnStateMachineEnter and OnStateMachineExit, to make their games more customized. The Animation.GetBehaviour() function is useful for organizing slide animations too.
  2. High-end audio options – Unity Technologies has really gone all out with the audio features of the fifth iteration of its popular game development framework. The option to add mixing graphs is a nice addition, with users now being able to master and mix sounds on a real-time basis. Ducking effects can be implemented with ease as well. Within a group, game developers using Unity 5 can also make ‘Sends’+ ‘Returns’. Custom snapshots can be created too, and there are additional options of organizing the mix in ‘Play Mode’.
  3. Free version = Full version – The absence of any form of royalties on Unity 5 is one of its highest points (and perhaps something that makes it more attractive to startup mobile app and game companies, than UE 4.7). Coders can now get all the features of the professional version of the engine in the Free edition, provided that their annual revenues from the game development business is under the mark of $100000. There is a Professional edition of Unity 5 still available, of course – which involves a monthly expense of $75. Unity Analytics Pro is one of the best features of the Pro version of Unity 5.
  4. Physical Shading – For independent game developers, the all-new Physical Shading feature of Unity 5 means that there is no need to learn up multiple shading languages. Single shades can be used in the latest iteration of the game engine, to create a vast range of effects – right from metal and skin, to hairy effects and wooden textures. Even if some slots do not have any textures, they are automatically optimized, to ensure continuity. The makers have clearly gone for a mix of realism and consistency with the Physical Shading feature, and it works like a charm.
  5. Enhanced platform support – The cross-platform mobile game development support feature of Unity has received a significant boost, with the arrival of Unity 5. The latter supports as many as 21 different platforms – and game developers can create high-end interactive elements (2D or 3D) on virtually any platform of their choice. In terms of sheer usability, this edition of the Unity engine scores over all its predecessors.
  6. Arrival of the 64-bit editor – For game developers working on Mac systems, Unity 5 comes with a multi-featured and user-friendly 64-bit editor (Windows users can still use the old 32-bit installer though). The one thing that users have to ensure is that all the native plugins being used are also of 64-bit (otherwise, compatibility issues would crop up). The revamped build system (AssetBundle) has built-in support for incremental builds. The dependency chain has been made more organized, with AssetBundle and AssetBundleManifest. The AssetBundle includes all ‘type trees’ as well.
  7. Interstitial content with Unity Cloud – For app companies which include ads in their mobile games, this is great news. The new and improved Unity Cloud on Unity 5 supports interstitial content, and ensures that third-party software development kits (SDKs) are not required for the creation of such advertisements. After publication, the ad content gets dynamically loaded – ensuring that the performance of the engine is not affected. Cross-promotion of mobile ads is a lot easier too. Cloud Build Pro is available on Unity 5 Personal Edition at $25 (per month).
  8. WebGL support instead of plugins – Admittedly, Unity 5 is on relatively shaky ground here – but if and when the WebGL support is activated on the game development framework, developers would be greatly convenienced. No longer would external plugins or players (the current Unity Player, while fairly reliable, can be susceptible to malware attacks from third-party software) be required. End-users will be able to play the games on any browser that has WebGL. At present, only Mozilla Firefox and Google Chrome is supported, but Unity Technologies would surely go for an expansion soon.
  9. Global Illumination, Real-Time – The visual brilliance of mobile games created with Unreal Engine 4 is well-documented. Unity 5 finally emerges as a worthy challenger in this regard, with the innovative real-time global illumination feature. Attractive and personalized lighting treatments can be added to games created for low-end gaming consoles as well as the latest mobile platforms. The detailing is of the highest order, and it allows game developers to really show off their dynamic, creative side.
  10. Skybox & HDR Workflow – The procedural skybox of Unity 5 enables game development experts to add directional lights to all new ‘scenes’. HDR textures can be used with the new Skybox shaders, while the ‘Inspector Preview’ option has also been given a lift. Textures saved in both .exr and .hdr formats are compatible with the HDR Workflow – and what’s more, they get encoded automatically to RGBM. Game developers can also drag-&-drop cubemap textures in the Scene View.
  11. Better Physics Engine – This is particularly important for 2D game developers. Version 3.3 of PhysX makes its debut on the Unity 5 engine, with the SDK of PhysX3 being used at the backend. Four different types of effectors are available on the new edition of Unity – Area Effector, Surface Effector, Point Effector and Platform Effector respectively. There are significant improvements in the wheel collider element (suspensions now seem much more real). For mobile app developers working on games that include characters moving quickly, the revamped Continuous Collision Detection feature comes in really handy. No longer would particles simply pass each other even after high-impact collisions!
  12. Real-Time/Baked Reflection Probes – With Unity 5, shiny, glossy surfaces be created by mobile app and game developers – thanks to the built-in Reflection Probe. This feature nicely complements the Physical Shading and RealTime Global Illumination of the engine. The procedure of working of the Reflection Probes is simple enough: pictures are captured and applied on surfaces that have reflective properties. On the flipside, using real-time Probes might just affect the performance of Unity 5 – and that’s precisely why developers have been given the option to go for baked Probes.
  13. Cool new animation effects – In addition to the StateMachine transitions (mentioned above), Unity 5 packs in several other powerful animation tools and features. Professional software developers and mobile game animators have identified Transition Interruption, Root Motion Authoring, and Linear Velocity Blending as the best new additions to the game engine. The Previewer Camera has been armed with Scale, Orbit and Pan functionality. Developers can perform edits directly on AnimationEvents (runtime editing). There is a new Animator Gizmo as well, while the older Atomic transition setting has been done away with.
  14. Support for IL2CPP technology – To ensure top-notch native development experience, Unity Technologies has introduced a new technology – called ‘Intermediate Language To C Plus Plus’. This tool automatically renders all scripted assemblies to the C++ programming language. At GDC 2015, it was mentioned that IL2CPP will, to start off with, be available only for WebGL and iOS game developers. Support will be extended to all the other platforms gradually.
  15. Cloud Building – Unity 5 allows users to save their projects in three alternative source control repositories – Perforce, Git and Subversion. Teamwork is, in particular, facilitated – since the Cloud Build tool generates emails to all developers involved, whenever a project is edited and a copy of it is saved in the cloud (this happens automatically). 1 GB of Cloud Build space is available for free to developers, while paid versions (for larger projects) are also available.

One of the best things about Unity 5 is that it can be used simultaneously with the previous edition of the engine, Unity 4 (the folder, of course, has to be renamed). Frame Debugging, Version Control and the Timeline Profiler view are some other cool new additions in Unity 5. XIB launch screens (iOS) are supported, as is the fullscreen mode of Android 4.4 KitKat. There have been major overhauls in the Unity game development engine, and all the changes seem geared towards making it more efficient and user-friendly than ever before.

 

14 Reasons Why Apple Watch Won’t Go The Google Glass Way

Less than a year ago, Google Glass was seemingly doing great. At a 1-day sale organized in April 2014, Glass was reportedly sold out. A month later, images of Roger Federer sporting Google Glass started doing the rounds on the internet – fueling public interest further. And then, the tables turned – sale figures tapered off (they were nothing great to start off with), and although Google does not reveal actual sales figures of its products, Glass has been acknowledged as one of biggest tech flops since the turn of the century.

 

Apple Watch, which would probably rank even higher in terms of hype in the domain of wearable technology, is slated to start shipping from 24 April. General tech enthusiasts, software experts and app developers have a common query: Will Watch’s fate be similar as that of Google Glass? We will here point out why that is not likely to be the case:

  1. Less emphasis on technology – Glass was about technology, and Watch is also about high-end technology. However, there is an important difference between the two. While Google chose to highlight the tech features of Glass, Apple has been raving more about how Watch would double up as a fashion accessory as well (the Gold Edition, anyone?). Not naming the product a smartwatch, or iWatch, has also been a smart move. Unlike Google, Apple has not assumed that technology would automatically appeal to potential buyers.
  2. Support of a paired device – To use Watch, it has to be paired with a compatible iPhone (read: iPhone 5 or higher). This, according to mobile software and app development experts, is a major support. People have a clear idea about how Watch apps would work (with the WatchKit extension). Google Glass was a standalone wearable gadget, and all that people knew about it was that it offered augmented reality views.
  3. Elegance vs Awkwardness – With all due respect to the designers of Google Glass, it has to be said that the thing made wearers look like thoroughbred geeks. On the other hand, Apple Watch (all the three editions) is high on the glamour/prettiness counts, and would take up the style quotient of users by a couple of notches. It’s only natural that the latter would appeal to general users more.
  4. Watch would not interfere with people’s lives – Earlier this year, Phil Schiller, the marketing head at Apple Inc., came out with a statement that he had a hunch that Glass would flop. The ever-interfering nature of Glass is one of the key causes behind this belief. People gradually fell out of love with the concept that they would be continually filmed by Glass, and understandably, moved away from it. There has been no indications (till now at least) that Watch would ‘disturb’ people in any such manner. Wearers won’t have to worry about invasion of privacy.
  5. Non-intrusive vs Intrusive – Let’s follow up the previous point a bit further. Google Glass, for all its technological excellence, was heavily intrusive in nature. Right from early adopters of Glass to Android app developers, everyone talked about how Glass offered weather information whenever a wearer looked up at the sky, or displayed maps as soon as (s)he viewed any particular road. The problem was, such information was being ‘pushed’ to users, even when the latter did not want/need it. Contrast that with Watch, on which third-party apps, created by WatchKit developers, can be installed. People can activate and use the apps, and avail the benefits of Glances/Notifications WHEN they require. At all other times, Watch will be…just a snazzy wristwatch.
  6. And then…there was the idea of attaching a mini-computer to the face – Hardcore UI/UX designers working on the Android platform might disagree, but Google Glass was too chunky a device to succeed in the long-run. In effect, it was a mini-computer that had to be attached to the user’s face. Sites could be browsed and views changed by flicking the screen from the outside…which was plain ridiculous. In comparison, the taptic engine of Watch (which would generate haptic feedback on a real-time basis) is much smarter and sophisticated. The incompatibility of several popular websites with Glass further compounded the problem for Google.
  7. Contrasting app scenarios – iOS app developers have correctly pointed out that strong app support would be key to the success of Apple Watch. The Cupertino company is obviously aware of this – given the sheer range of applications that are embedded in the smartwatch. In addition to taking calls and viewing messages, Watch apps would help users monitor their activities, check in hotel rooms and airports, and even share images. The first set of 3rd party Watch applications has also been released. Google Glass had no real app-support to speak of, and that definitely hurt.
  8. Not releasing Glass in stages – Google Glass had too many features – and since initial ‘Explorers’ did not know much about the gadget – it was all too overwhelming for them. The smart approach would have been launching a basic version of Glass first, with only a few elementary features. Google could have then proceeded with more advanced versions. Tim Cook and Johnny Ive have definitely taken a cue from this, and have created the introductory version of Watch as a fashionable timepiece which supports a fairly wide range of WatchKit apps. If the sales are robust enough, a newer, more advanced edition of Watch might be announced. The iPhone had also not been released in stages – but then, it was a revolutionary device, unlike Glass.
  9. Much more pleasing to the eye – Apple Watch may or may not turn out to be the absolute marvel it is being hyped to be, but the hard work and innovative thinking gone in for designing it is pretty much evident. The Digital Crown is a lovely addition, and is high on usability. Software and mobile app developers feel that the Cupertino company clearly wants Watch to become a mainstream device – something that Google did not probably intend Glass to become. How else can you explain the jagged edges and riffs, and the uncomfortable-looking frames (the initial lot did not even have lenses). It’s still cool to say “I am wearing Glass” to anyone who is listening – but there is not much in the way of visual excellence in it to boast of.
  10. The ‘first-mover advantage’ factor – Google Glass had that much-sought-after ‘first mover advantage’, and that mostly backfired. Since people had not come across a similar smart device before it, there was lack of information – leading up to low interest levels. In stark contrast, Apple has willingly given up the first-mover advantage position (there already exists plenty of Android smartwatches, although none of them are very successful). The opportunity has opened up for Apple to take wearable technology to the next level, prove its superiority, and show the world that the company is in good hands in the post-Jobs era.
  11. Watch is not an ‘incomplete’ product – Until Apple’s ‘Spring Forward’ event on March 9, no one was sure about the launch date of Watch. During the iPhone 6 launch event last September, only the first look of Tim Cook’s ‘one more thing’ was revealed. Apple has not been in any hurry to bring Watch to the market – which, unfortunately, cannot be said for Glass. On the 19th of March, Vanity Fair ran a report in which Astro Teller, the maker of Google Glass, admitted that the device was ‘incomplete’ when it was first released. This was what app developers and software testers have been saying for months. Watch, on the other hand, has been willingly delayed, and all probable issues with it ironed out prior to release.
  12. The price barrier – Apple (with the exception of the disappointing iPhone 5C) has never bothered to position its products as anything but ‘premium’ devices. Watch carries on that tradition, with its cheapest version bearing a price tag of $ 349 (the Gold Edition will cost more than $10000). However, at least on the lower end, these figures appear small in comparison with the price of Google Glass – which was available for developers and explorers at $1500. Maybe, just maybe, the consumer edition of Glass would have been a tad cheaper, but we’ll never find that out now.
  13. Chances of greater adoption – Provided that a user owns an iPhone (if (s)he doesn’t, there is no point in buying Watch), the smartwatch can easily substitute his/her regular wristwatch. Of course, if something is constantly on the wrist, chances of wearers having glances at it and interacting with it become higher. Google Glass was not substituting any other thing of everyday use. Clearly, users did not have the reason to wear it (and keep it on) frequently enough.
  14. Better marketing strategy – Apple is a past-master at building up curiosity levels about its new products. The way in which it has released information about Watch in stages is a classic example of that. Google, on its part, made the tech-features of Glass the most highlighted point in the latter’s marketing campaigns. Glass was acknowledged as one the top inventions of 2012 – tech geeks and select software/app developers liked it – but general users never quite warmed up to it. If a new version of Glass ever comes out (it’s a big ‘if’), the promotions would surely be more customer-oriented.

 

While Apple Watch should do way better than Google Glass in terms of acceptance and sales, WatchKit developers and market analysts feel that the BMO forecast of 19 million unit sales (in 2015) is a bit far-fetched. Of course, if Watch does not become the roaring success Tim Cook is praying it to be, Apple would not be seriously inconvenienced (it will always have the superstrong revenue stream from iPhones). The world is waiting for Apple Watch…and we will soon know if the ‘time is right’ for it!

AppBoard Tuesday – What Makes An App Company Stand Out?

There are close to 700000 mobile app developers (including freelance developers) in Asia alone. If you think that’s a stunning figure, check this out – the total count of app developers across the globe is just a shade under 2.5 million. Many of them have been in this business for years, and have moved on to entrepreneurial roles in their respective companies. It’s, in essence, a crowd out there – and the challenge for any app development company is to stand out from it, to capture and maintain a steady clientele. How to do this? By following a few basic rules, which form the crux of the discussion in this week’s AppBoard Tuesday (ABT):

  1. Promptness in dealing with prospective clients – The good ol’ adage ‘first impression is the best impression’ holds true for the business domain too. When someone submits an app idea and asks for a free app quote, you should provide it within a maximum of 24 working hours (in fact, that’s sort of a standard). The more you delay, the greater is the chance of the concerned client slipping away to another mobile app company. There is no dearth of them, you see!
  2. Maximize chances of discovery – This is where the power of the internet comes into the picture. Admittedly, any app development company worth its salt will have its own website – but not all such sites are optimized properly. Do some research on the type of words/queries used by people while searching for app developers, and create your site content accordingly (do not, however, start spamming!). A strong online presence can do wonders for your business.
  3. Showcase your work – How would a new client know that your company has the necessary relevant experience and technical expertise to handle his/her project? That’s right, by browsing through the apps you have already churned out. Make sure people can check out the iOS apps and Android apps in your portfolio (from your website, on your social media pages, on app review portals, on request, etc.). If yours is a new company, create a few in-house apps with the latest technology. Your work should speak about your expertise – you need not make a separate song-n-dance about it.
  4. Learn, learn, and then, learn some more – The field of mobile app development is in a state of flux, and it always shall be. New programming languages (Swift 1.2 is out now), frameworks (have you checked out Xcode 6.3 beta 3?), game development engines (everyone’s talking about Unreal Engine 4.7), SDKs (beta of iOS 8.3 is available too), and other such tech stuff are regularly being launched. Add to that the scores of smartphones/phablets (mostly Android) that hit the markets every quarter. You and your team of developers need to constantly stay updated about all that is happening, related (in any way) to the creation of mobile apps. If your knowledge base is static, you will drown in the competition.
  5. Transparency is the best policy – Wouldn’t it be just great if you could earn a few extra dollars from each of your app projects, by adding some hidden clauses in your terms of service (say, selling of intellectual property rights)? How about charging a fee for giving out app quotes? Attractive as these ideas might seem on paper, they are sureshot recipes for ushering in business failure. Yet another poor strategy practiced by many mobile app agencies is charging a certain amount for app upgrades. Make sure that your terms and conditions are user-friendly (no big jargons please!), there are no hidden costs involved, and you are prepared to sign non-competing agreements (if required). The trust-factor is vital, and you can flout it only at your own peril.
  6. Keep your promises – It’s all very well to tell a client that your company will finish his/her app development project in 10 days flat. What if you cannot keep your word, and the project gets delayed? That will lead to two things: a) a loss of face for you, the app entrepreneur, and b) the loss of that client (rest assured, (s)he will never contact you for another project). Make promises that you know you can keep – and do not go overboard in your endeavor to impress clients. Sincerity, rather than hollow tall claims, is the most sought-after virtue.
  7. The cost factor – Well, you cannot do much about it. Making an iPhone app or an Android app involves fairly large expenses (that for the former being higher), and there is no way on earth that you can cost-cut your competitors to any significant extent. What’s more – your company won’t survive for long, if you keep taking up projects, and incur losses on them. What you can do is let your clients select from alternative budget plans for their projects. That way, people will be able to choose the expense slab that suits them the best, and not turn away because your app-making service is ‘too expensive’.
  8. Work with your clients – It’s normal practice for many mobile app companies to provide quotes, take up projects, and deliver the app after a certain interval (weeks, a couple of months, whatever). The poor client is practically shunted out from the actual process of app creation – something that the more discerning clients will surely not like. Be more ‘open’ about your activities, and make clients, in effect, a part of your team of developers. Share wireframes and mockups, and seek feedback and additional recommendations (if any). At every step, make your clients feel that they can jump in with suggestions and ideas. After all, they are the ones paying!
  9. Focus on innovation – There is a reason why an iOS app company is different from, say, a packaging firm. You should never treat projects as stuff coming along on a virtual assembly line/conveyor belt – finish the first as soon as possible, and move on to the next. Conduct intense brainstorming sessions for each project, and find out how you can address the requirements specified by the client AND add a touch of innovative feel in the app. There are thousands of companies that develop apps in the run-of-the-mill way…your services need to have a fresh, different feel.
  10. Create teams and train your staff – If your company is into making apps for multiple platforms (cross-platform is, indeed, the way to go), you need to have separate teams for Android and iOS app development. They are different specialized domains, and the training you need to provide to the two teams are not at all identical (for starters, it’s Xcode for iOS apps and Eclipse/Android Studio for Android apps). In addition, recruit a separate team of UI/UX designers, graphic artists and animators. You know what they say about coders not being the most creative of people!
  11. Participate in events and app competitions – Let’s cite the example of one of our own apps – Story Time For Kids – here. It bagged the Adobe Flash Summit award in 2012, was shortlisted at mBillionth South Asia Awards 2014, and has won a couple of other prestigious awards. That, in turn, has bolstered its popularity significantly. A travel app – Stopover – won big at Talent Unleashed Awards last year. Participate in as many such competitions as possible, and submit your best apps. If you manage to win, nothing like it. Even if you don’t, the additional publicity won’t hurt.
  12. Keep people happy – The more smiling faces you have in your company – the better would be its long-run prospects. Focus on two things: offering complete customer-satisfaction by providing app development services of the highest quality; and maintaining a healthy, enjoyable work-environment, in which your staff would love to work. Recruiting good app developers is tough enough, and retaining them is a challenge that you have to manage. You certainly do not  want to invest time and money to train new recruits, only for them to leave your company after a couple of months.

These points, if followed properly, should give your company the room to compete on an even keel with your rivals. Whether you succeed in the long-run or not would, of course, depend on the quality of mobile applications you make. It’s not a walk in the park to make a mark in the fiercely competitive world of mobile app development – but having the right infrastructure and following the best practices would certainly put you on the right path.

 

With that, let’s wrap up yet another edition of AppBoard Tuesday (ABT). If you are new to the app development business and are looking for some tips and guidelines, do write in to us. Feel that there is any other rule of thumb that app companies need to follow? Share it with us too.

 

ABT will be back next Tuesday, with yet another interesting topic related to…what else…mobile apps. Till the next time, love thy apps!