Monthly Archives: June 2016

Mobile Game Development – Top 15 Tools & Resources

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Latest posts by Hussain Fakhruddin (see all)

list of game engines, tools and resources

 

Making games for the mobile platform is clearly on the upswing. According to official download figures (from statista.com), games are by far the most popular category of apps on iOS, with a 23.55% download-share in June. Revenues from mobile games went past the $30 billion mark at the end of last year – an annual growth in excess of 21%. It is only natural that more and more indie developers and mobile app companies are turning their attentions towards making custom games. In what follows, we will list out some popular tools, engines and resources that are widely used by game developers:

  1. GameSalad – With user-friendly visual editors and a simple drag-and-drop mechanism, GameSalad ranks right among the finest game development tools, particularly for all the non-coders out there. Nearly 7000 games (iOS and Android combined) games have already been developed with GameSalad – a clear testament of its popularity. Mobile games created with this tool generally have considerable visual appeal. It is compatible with Windows 7-8 and OS X 10.7 and later versions.
  2. Corona SDK – This one is primarily meant to create cross-platform 2D games – and it is more than an adequate tool for the purpose. App developers have to code in the Lua programming language in Corona SDK, which has 500+ APIs in its built-in library. Box2D, OpenGL, SQlite and OpenAL are some of the resources that power Corona SDK. For new developers, the basic version (at a monthly charge of $16) is sufficient, while the advanced Pro version of Corona has a price tag of $49/month.
  3. Cocos2d – While this Objective-C-based open source game engine for iOS has lost some of its popularity after the arrival of SpriteKit, the Cocos2d-x cross-platform engine (in C++) remains in favour for making casual games. The high-end accelerated graphics support of Cocos2d is one of its several developer-friendly features, while the online community support is excellent too. Apart from C++, Cocos2d has versions available in Ruby, C#, Java and JavaScript. What’s more – thanks to the scripting language bindings in Cocos2d-x, app-makers can code in their preferred language and churn out high-quality native apps.
  4. Stencyl – Instead of final builds of games, iPhone and Android game developers generally use Stencyl to create initial prototypes of their applications. It also serves as a powerful tool for making Flash games – and offers impressive development speeds. Stencyl also works on an easy-to-understand drag-and-drop principle and there are additional code blocks available for programmers.
  5. Unity2D/3D – As many as 21 different platforms are supported by the Unity game engine – and it is easily among the most-loved tools for creating custom mobile games. With the release of Unity 5 (the latest update is v.5.3.4), a wide range of new features have been provided to users. From custom graphics interfaces and excellent rendering support, to the well-stacked Unity Asset Store – this game engine has it all. The monthly subscription fee of Unity 5 Pro is $75.
  6. Project Anarchy – One of the more underrated of the game development resources in this list. Released by Havok, the Project Anarchy tool suite has several powerful features, like auto script validation, Scaleform integration and particle lighting support. Developers can also ship their games to Tizen (in addition to Android and iOS) with ease – with the help of the free license of Project Anarchy. The Havok Vision Engine powers this tool suite, and the artificial intelligence (AI) and Physics support are both of the highest order. It also supports FBX files in the in-built asset manager.
  7. Unreal Engine – When Epic Games initially started out with the Unreal Engine (UE) game engine, it was exclusively used for making PC and console games. Mobile platforms were first supported in the third iteration of the engine. The latest edition – Unreal Engine 4 – is one of the best tools for making 3D games with rich graphics and smooth, life-like animations. To use UE4, app developers have to agree to a 5% revenue share from their games, on top of a monthly amount of $19. Unreal Engine is based on C++ and has a relatively steep learning curve – but once you get a hang of it, you can make really winning games with the engine.

Note: Check out our detailed Unity 5 vs Unreal Engine 4 comparison right here.

  1. Construct 2 – For mobile game development experts who are comfortable in working with HTML5, Construct 2 is a really handy tool. Used for making 2D games, Construct 2 comes with a highly intuitive drag-and-drop layout for programmers, and a whole bunch of development aids. Games created with this tool have cross-platform portability. Often referred to as the ‘Photoshop for Games’, Construct 2 is an ideal tool for those who do not have a high level of coding knowledge.
  2. App Game Kit – While game codes can be written in C++ in App Game Kit, the tool has its very own BASIC scripting language (Tier 1 and Tier 2). This, in turn, lowers the barrier to entry – with the resource being usable by both experienced and new, indie developers. App Game Kit operates on the ‘Build Once, Deploy Many’ principle (i.e., games created with it can be deployed on multiple devices) – and the 2D graphics and networking with AGK Script are at par with the best. Overall, a more than decent cross-platform game development resource.
  3. Libgdx – Apart from Android, libGDX is also widely used to create custom game apps for iOS/Mac OS X, Windows, Blackberry and Linux platforms. It comes with the general Apache 2.0 open source license – and offers a wide range of support tools for the creation of both 2D and 3D games. The gdxAI artificial intelligence framework is available as an extension with libGDX.
  4. Marmalade – Another C++-based tool suite for professionals from the field of mobile game development. One of the high points of Marmalade is the smooth portability of iOS games to the Android platform – thanks to the Juice tool. Developers coding with the Lua language need to work with Marmalade Quick, while for hybrid app development with CSS/HTML5, Marmalade Web is the go-to tool.
  5. PlayCanvas – Open-source, strong 3D support, cross-platform usability – the PlayCanvas tool has a lot going in its favour. Game makers have to work with HTML5 to create custom games in the cloud (that’s right, no extra downloads required). The WebGL engine also offers additional disk space to developers, adding to its overall user-friendliness. PlayCanvas, like many other tools on this list, is free to use.
  6. FMOD Studio – Like Unreal Engine, the FMOD sound effects tool was also initially used by developers to make AAA-rated console games. It is currently available for making mobile games though, and is fast gaining traction among both Android and iOS game developers – with its extensive set of features. Live recording of game outputs is one of the many new enhancements that came with the latest update of FMOD (v.1.4), while the quality of audio mixing was also taken up by a couple of notches. FMOD Studio is released by Firelight Technologies.
  7. Starling/Sparrow – For making the hugely popular Angry Birds mobile game, Rovio used the Starling game development tool. The open-source, cross-platform network has two big advantages – it takes up very little CPU-space and offers high-end code optimization for developers. Sparrow is the iOS-only spin-off of the Starling framework and it lets devs create iPhone apps with Objective-C from scratch.
  8. MonoGame – This engine is almost ideal for game developers who regularly work with C# and/or .NET. The buzzing community support gives a boost to MonoGame, which can be used for making software for the OS X and Playstation 4 platforms too (apart from iOS and Android). The total number of games made with MonoGame is rising at a rapid clip – a clear sign that it has received the collective thumbs-up from users.

For monetization, testing and deployment of HTML5 games, CocoonJS is a very useful tool. DragonFire and iTorque are two other powerful 2d iOS game development engines. Android app developers, on the other hand, can work with platform-specific tools like AndEngine and CatCake (for 2D and 3D games respectively). Mobile has overtaken consoles as the most popular game development platform – and there are plenty of tools and resources for developers to go about their job.

 

 

AppBoard Tuesday – Using React Native To Make Cross-Platform Mobile Apps

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Latest posts by Hussain Fakhruddin (see all)

‘Learn something new everyday’

Well, as long as the ‘everyday’ part of this quote is not taken too literally, we at Teks do try to learn new stuff on a regular basis. At present, our iOS app development team is real excited about trying the first preview of Swift 3 – which was released at last week’s Apple WWDC event. The second quarter of 2016 is on its way out, and among the set of new apps that we are planning to launch soon – two are worth a special mention, since they have been made with an all-new technology, React Native. In today’s edition of AppBoard Tuesday, we will be putting the spotlight on the React Native tool, and how it is useful for making native applications:

  1. Underlying language – React Native uses Javascript to create native views, and allows coders to manage view controllers in a systematic, programming-oriented manner. The technology was brought along by Facebook in early-2015, for making applications for the iOS and Android platforms with a never-before ease (native apps with a web-based language). This is not a tool for making web-wrapper apps…mobile apps that offer high-end native experience can be built, and built easily, with it.
  2. Different from (and better than) HTML5 – A significant point of difference between React Native apps and HTML5 apps is, while the former operates on the Javascript VM of smartphones, the latter works within the webview. Most mobile app developers feel that this somewhat limits the performance of HTML5 applications. React Native also makes use of several interesting UI components – adding up to the overall native experience of the published software.
  3. Community support and third-party libraries – React Native is a relatively new technology, and as with all new technologies, it requires regular learning and upgradation on the part of those who use it to make apps. This is where the importance of third-party libraries online comes into the picture. It is next to impossible to create custom additional functionalities within the framework, and even for using the latest features – taking reference from external libraries is essential. Android and iOS app developers who work with React Native should also keep an eye out on official PRs and community announcements.
  4. Shared features with React – The Facebook and Instagram-managed React.js arrived in March 2013, and it forms the backbone of the React Native technology for building cross-platform native apps. There are several common features between React and React Native – right from unidirectional data flow (using ‘props’) and re-rendering, to the entry point that has a single rendering option (with the ‘render’ function). It won’t be stretching matters much if we say that React itself is the single biggest feature of React Native.

Note: JSX is the name of React’s Javascript extension.

         5. Components rendered as platform widgets – Experts from the field of iPhone app development highlight this as one of the most important advantages of using React Native. For each component called within the tool (using Javascript), a native platform widget gets rendered, adding to the convenience of developers (particularly those who have experience of coding in Javascript and/or Objective-C). With a framework like Apache Cordova, native components can be approximated and smooth UIs can be created – but React Native takes truly native app development to an altogether new level.

          6. React Native vs Xcode – This one makes for an interesting little comparison. When we started out with the two React Native applications, we felt that the new technology, with all its re-rendering – will be on the slower side…certainly slower than Xcode. However, during actual implementation, it was found that this difference was more than offset by the fairly large volume of ‘click-and-drag’ requirements in Xcode, to create methods, elements, constraints, and the like. Views have to be declared only once in React – and provided that component data changes as and when necessary, the development can go on without a hitch. Xcode is, of course, still the ‘set IDE’ for building iOS applications, but React Native is a great alternative for apps that need to have cross-platform compatibility.

Note: To deploy the final build of an app, Xcode is required.

          7. Apps can be reloaded live in simulator – Another fascinating feature that drew our (and that of many other professionals who make mobile apps) attention to React Native. Developers can simply save their programs within the framework. This, in turn, does away with the need of repeated compilation – and the application can just be reloaded real-time in the simulator, for coders to see the results. Just like the swift development cycle for web projects that Facebook maintains (on average, half a day for each project), React Native ensures that that the mobile app cycle will be short too.

           8. Virtual Document Object Model – This is also a feature that React Native shares with React. Whenever any component is re-rendered in the framework, a virtual document object model (virtual DOM) gets created, which is a lot easier to work with than the elements present in a real DOM. The virtual DOM uses the component tree to generate element representations, and makes the overall process quicker and considerably more systematic. All changes in the component tree can be checked first, before they are applied to the real DOM.

            9. It’s all about the UI – With React Native, mobile app makers and designers have to worry less while working on custom interfaces and layouts. Instead of trying to second-guess the final users’ navigation path at every stage, coders only have to make their view declarations optimal (so that different shapes and states can be properly handled). Thanks to React’s greater machine understandability, detecting design bugs and issues also becomes an easier task.

             10. The speed factor – React Native offers as close a native app development experience as possible (unlike several other cross platform frameworks that do not seem close to either Android and iOS). While the speed of Javascript cannot be as high as that of true native code – it is possible to run React Native applications at 55-60 fps. All that the developers have to do is make sure that the Javascript thread is not blocking out the UI in any way. Animations, as and where applied, are fast and glitch-free as well.

Hybrid app frameworks like Ionic (with AngularJS) also do a fair job, but React Native is lighter than most of them – and hence, is more efficient. The fact that React has already climbed to the 6th position in the top-ten starred Github projects is a clear indicator of the popularity of this technology. We enjoyed using React Native for makingthe two new applications, and are looking forward to implement it in certain future projects too. It’s a very handy cross-platform tool.

And that, readers, is the end of yet another week’s AppBoard Tuesday (ABT). If you have worked with React Native, do write in to us – sharing your experience and opinion about the technology. New programmers can get in touch with their development-related queries too.

AppBoard Tuesday will return in a week’s time, with another relevant app development-related topic. Till the next time, love thy apps!

 

Are You A Unity Developer? Be Wary Of These Mistakes!

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Latest posts by Hussain Fakhruddin (see all)

Sommon errors while working with Unity game engine

 

With nearly 46% market share and 48% developer share worldwide, Unity is by far the most popular game development engine at present. While Cocos and Unreal Engine have their own sets of fans, it is tough to argue with the leadership position of Unity in this domain – particularly when the latter has more than 4.6 million registered game developers working with it. With the barrier to entry being much lower than most of the other engines, many newbies try their hands at creating custom 2D/3D games with Unity too. There are certain common mistakes that Unity developers often face, and we turn our attentions to those in what follows:

  • Using both C# and JavaScript in object scripts – Those who make mobile games with Unity can use either JavaScript or C# in the scripts (that would be attached to the objects). Mixing up both would be a folly though. A script that uses both the languages becomes difficult to access by another script – and for the developer too, things can get very confusing. It is an absolute myth that working with C# or JavaScript in Unity has any particular advantage – and developers should stick with any one (and not use both) while coding for games.
  • Concatenating strings in every frame – Doing so should not throw up any errors per se, but it is nevertheless a lot of avoidable, time-wasting work. Instead of using the conventional method to concatenate strings (say, ‘Hello’ + ‘World’), programmers should ideally do it without using the ‘+’ sign. Remember that every time you cache stings, a new string object gets created – and hence, concatenating in each frame can make the whole code bulky and unmanageable.
  • Runtime null reference error – New Unity2D developers often face the problematic Null Reference Error. This error is generally thrown when either any of the object fields do not have anything called in them (for instance, in GameObject or Transform), or when GetComponent is used but that required component is missing in the game object. For assigning variables at runtime, it is always advisable to include RequireComponent(Type).
  • Not using force in Rigidbody – Contrary to what many new mobile game developers think, position is NOT the only property of objects in a game. An object also has values like angular velocity and speed – and all the properties should remain consistent with each other, to make sure that the game physics is not botched up in any way. There is every chance of things going wrong when a developer uses Rigidbody, alters the position of an object with a script – and does not call any force or torque on it. When a force/torque is used, the collision handlers are managed properly, and the overall physics no longer remains dependent on the frame rates. Keep in mind that functions like AddForce and AddExplosiveForce need to be called in FixedUpdate.

Note: OnCollisionEnter and OnTriggerEnter are two examples of collision handlers used in Unity.

  • Not making optimal use of the Profiler – With Unity 5, Profiler has arrived in the free version of the game engine (earlier, it was available only in Unity Pro). It serves multiple functions for game development experts. However, many newbies do not know, and hence, fail to use Profiler in the proper manner. For starters, it allows developers to remotely test their Android or iOS games – which leads to more accurate results than testing games on editors in the same system. Garbage collection and fixing memory leaks are two other important functions of the Profiler as well. It can even be used for profiling scripts by making code blocks (to make the overall performance of the algorithm more systematic). Unless the Profiler is used, and used well, developers will not be able take full advantage of the updated Unity game engine.
  • Basic syntax errors – There is no other way of putting this – programming requires undivided attention, and that too, for relatively long periods at a stretch. If you are a Unity developer, check and double-check whether you have put brackets and inverted commas in pairs (e.g., if a “ or a [ is present but their closing “ and ] is not, errors will be thrown). In addition, ensure that you have not missed out on any of the semi-colons at the required areas. Finding and rectifying a mistake here later on can be a big (and unnecessary) challenge.
  • Overusing the Unity Asset Store – Make no mistake, the Unity Asset Store is wonderfully well-stacked. From audio and scripts, to textures and models – there is a whole lot of things available, and it is hardly surprising that game developers use resources from the Asset Store in their games. Doing so too much would not be a good idea though – particularly if you wish to lend a unique visual feel to your iOS/Android game (field depth, outlines and chromatic aberration are some of the resources that are used by nearly every game-maker). What’s more, in a hurry to gather more resources, new developers often end up downloading scripts that are not even compatible with their games. Make sure that everything you get from the Asset Store indeed goes with your game, and try to create your own effects instead of the standard ones (whenever possible).
  • Not using scripts that are generic enough – This is particularly important for mobile app developers coding in C# with Unity. The extent of reusability of a code is directly proportional to the degree of generic nature of the underlying scripts – and if your scripts are too specific, you will have to create everything from scratch for every new project (instead of having a fairly readymade template). Avoid using the same set of interfaces for all classes though – since that can cause serious code maintenance problems. Reusing codes as much as possible also minimizes the potential issue of code duplication.
  • Messing up the project scale – Irrespective of whether a Unity game developer is working with PhysX or Box2D, (s)he simply cannot afford to gloss over the issue of project scaling. Before importing them, the size of each object has to be checked – and the developer must do the resizing for the objects which are not in the correct scale (note: size is measured in meters). Do not make the mistake of using too much gravity to show falling objects either. That will only end up making your game more cartoony and less life-like.
  • Overlooking Garbage Collection problems – We have already briefly touched upon how the Unity Profiler can handle Garbage Collection (GC) requirements. There are other ways to handle GC efficiently too. For example, developers should enable/disable objects after declaring them at the start, instead of repeatedly instantiating and destroying them. Garbage Collection can also be invoked by calling a set of Components (by GetComponents). The GC will start when this set of collections is no longer required.

Note: Shaky, unstable frame rates – particularly visible in the mobile build of a game project – is a sign that there are problems in the GC method being used.

  • Spelling errors in Unity methods – Another common beginner’s mistake. If any of the methods called in Unity (including Start or Update) is not spelled correctly, the entire code is likely to become unresponsive. This ‘freeze’ can also happen if the GameObject has not been correctly attached to MonoBehaviour. For bringing MonoBehaviour on the GameObject, the names of the concerned file and class have to be the same.

The SendMessage function in Unity, while useful, is rather slow and can be unpredictable while generating new scripts. Game developers should stay away from making their projects too reliant on this function. Also, components should be included as their actual type in GetComponent, and not as strings (both options are available, but the former allows fast spelling error detection during compilation). Using prefab references instead of simply calling the name of the prefab is also advisable.

This is, obviously, not an exhaustive set of problems that a mobile game developer can run into, while working with Unity2D/3D. When any error message flashes, check the line that has the error (and the line before it) very carefully. You can also look for help online, either in the many Unity forums, or by simply searching with the error message – along with a keyword (say, Unity or JavaScript or C#) on Google. Making Unity games is fun and is certainly not hugely difficult…all that you have to do is keep an eye out for, and avoid these mistakes!

Apple WWDC 2016: Top 14 Announcements At The Keynote

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Latest posts by Hussain Fakhruddin (see all)

Highlights from Apple WWDC 2016

 

It’s over. While this year’s World Wide Developers Conference (WWDC) will continue till the 17th of June in San Francisco (Moscone West), the keynote is done and dusted – and we have plenty to talk about the latest ‘new’ stuff from Apple. Many software experts and mobile app developers have dubbed WWDC 2016 as an ‘increments’ event – considering the updates that Apple have come up with, for iOS, OS X (it’s no longer called that, but more on this later), watchOS and tvOS. Here’s a recap of all the key takeaways from this year’s Apple WWDC event:

  1. watchOS 3 – For some time now, Apple Watch has been struggling. User interest levels have fallen off after the initial hype, and a recent report found that app developers were more interested in making software for tvOS rather than on watchOS (iOS is, of course, by far the chosen platform). The wearable should, however receive a boost with the launch of watchOS 3 – which was announced at the WWDC keynote. As was widely expected, a fairly large number of new watch faces have been released, while users are going to get an interesting safety SOS feature in the new watchOS iteration. Those who make apps for Apple Watch have also been delighted by the fact that the loading speed of applications on watchOS 3 will be much higher (up to 7 times faster). The Find My Friends and the Reminders apps will be present too.

Note: watchOS 3 will have a new texting system called ‘Scribble’.

     2. Apple Pay on Safari – Tim Cook and his team are focused on taking contactless payments technology to the next level. Apple Pay is now usable on the web via the Safari browser – with secure TouchID authentication support (through Apple Watch or iPhone). The NFC-powered Apple Pay will be rolled out to three new markets – Hong Kong, Switzerland and France – by the end of this year.

     3. OS X is now macOS – This had been predicted by Apple app developers and analysts worldwide, from months before the 2016 WWDC. The desktop operating system has been rebranded as macOS, with the upcoming version being named Sierra. Arrival of Universal Clipboard is one of the high points in macOS Sierra (for Continuity across more than one Mac system). Apart from mirroring a desktop on multiple systems, people can play a video file on top of their active windows. Users also have the option of unlocking their computers with their iPhones or Apple Watch – thanks to the new ‘Auto Unlock’ feature.

    4. iOS 10 – If stability was the prime area of focus when iOS 9 was released, the tenth iteration of Apple’s mobile platform has several new things – from the faster, revamped lockscreen and improvements to Siri, to an all-new ‘Raise To Wake’ capability (remember how Moto X used to do this for glanceable notifications?). iPhone app developers will be, for the first time, able to use a SDK to integrate their applications with Siri. iOS 10 will come with a fair few customizable home screen widgets too. Users can delete certain pre-installed apps as well (e.g., Stocks).

Note: Game Center in iOS (which arrived in 2010) will make way for the new GameKit platform in iOS 10.

  1. Siri arrives on Mac – With Google Now for Android getting consistently better and Microsoft getting good traction with Cortana (on Windows 10) – it’s not surprising that Apple would also spend time and resources to improve the usability and availability of Siri. At WWDC 2016, Craig Federighi showcased how the virtual digital assistant will be workable on the macOS platform. With this, Siri will, from now on, be available on all Apple devices. This would bolster the continuity factor further.
  2. tvOS 10 – Nothing as game-changing as OS X 10.12/macOS Sierra or watchOS 3 here – but even so, the latest version of the tvOS platform has quite a few noteworthy new features. There is a custom Dark Mode that should add to the convenience of users, while the Remote app has been redesigned to look and function just like Siri Remote. On Apple TV 4 upgraded to tvOS 10, Siri can search for YouTube videos, movies on Netflix and iTunes and quite a few other service providers. Apple also announced a new collaboration with Sling TV from Dish at the WWDC keynote session. There will be a single cable sign-on option, and users will be able to access 1300+ video channels on TV.

Note: The total number of apps for tvOS has also breached the 6000 mark.

  1. Redesigned Apple Music – Experts from the field of iOS app development have hailed the improvements/new features in Apple Music as well and truly ground-breaking. For starters, there is a ‘discovery mix’ – that allows listeners to customize their own playlists (this might be a sign that Apple Music will be coming on Spotify – its foremost rival – soon). Apart from the daily curated lists, the Apple Music will also have separate categories for recently added files and  general downloaded music. At the event, Eddy Cue showcased a new ‘lyrics tab’ as well. It sure seems like that the Apple Music vs Spotify tussle is going to heat up further!
  2. Swift Playgrounds app on iPad – This one is a piece of great news for all the new iOS app developers who wish to learn to code with Swift. On iPads running on iOS 10, users will be able to access a vast range of interactive sessions and tutorials on Swift programming, through the dedicated Swift Playgrounds application. Interestingly, the primary target audience for this free iPad tool is kids and teens. Apple evidently wants programmers to get into its development ecosystem from an early stage.
  3. Improved Messages – With the new iMessage, Apple seems all set to get into the war of the chat tools (Facebook is the biggest player here) in the big way. With new emojis – which can be 3 times larger on transcribed messages – and the option to write with own handwriting, the Messages app has become livelier than ever before. Font sizes of messages can be adjusted, photos can be shared seamlessly via the new ‘live camera feed’, and songs/tunes (from Apple Music) can be shared as well. In addition to several animations (e.g., confetti and strobe lights), there will an option to conceal messages with…hold your breath…invisible ink!
  4. Siri for third-party apps – By now, you must have got an idea that Siri enhancements played a major part during the announcements at the WWDC keynote this year. The virtual assistant can now work with third-party applications like Pinterest and Uber (for image search and calling cabs respectively). WeChat messages can also be sent through the new and improved Siri. Activity apps can be monitored with the ‘finally useful’ Apple assistant as well.
  5. Apple Maps makeover – Easier navigation is clearly the most apparent feature of the revamped Apple Maps announced at WWDC 2016. General Apple enthusiasts as well as app development experts have only good things to say about the options to hire rides (payable through Apple Pay) and booking restaurant tables – directly from Apple Maps. High precision Maps will also be a great help on CarPlay – with alternative route suggestions and updated traffic information. It’s still not as efficient or accurate as Google Maps, but Apple is certainly getting there.
  6. Voicemail transcriptions and more on iPhone – Tired of those spam calls? With iOS 10, users can view caller IDs on the lockscreen itself (with the help of the embedded VoIP), and get spam call alerts even before picking up. What’s more, all voicemails can now be automatically transcribed and displayed as text messages. Communication just got a whole lot simpler, and spam threats have been minimized.
  7. QuickType for predictive typing – QuickType is in-built within the latest avatar of Siri – and it takes up the ease of predictive keyboard typing by a couple of notches. Third-party mobile app companies can take advantage of the improved AI (artificial intelligence) to help people find movies or eating joints through their applications. Location-sharing will be possible in Messages, while the predictive typing will help in framing message responses as well. The new intelligent typing mechanism should make the upcoming flagship iPhones just that bit more user-friendly.
  8. Apple News gets an overhaul – The layout of the popular Apple News tool has been tweaked around as well. As displayed at WWDC 2016, the new-look Apple News will have neatly streamlined, separate sections for ‘Trending’, ‘Sports’ and ‘Top News’. A new editor-picked ‘Featured Section’ will also be included, along with a notifications system for real-time breaking news. Readers can also sign up for subscriptions of magazines and newspapers.

Note: The current number of regular Apple News readers is in excess of 60 million.

The Photos app also has been updated with a slew of new features (the option of creating montages with Memories, for instance). On the Internet of Things (IoT) front, HomeKit has received a new Home application – providing more control to users. All the incremental versions of Apple platforms will have their beta releases soon, with the final launch coming this fall. Incidentally, it was reported that the Apple App Store has 2 million applications at present.

Interestingly, the share prices did not show much movement on the day of the WWDC keynote (it dropped by around 1.5% before the event started, and pretty much stayed there right through). Even so, there was no dearth of exciting news at the annual Apple developers conference – with the Cupertino tech giant sticking to (like it generally does every year) the software side at the WWDC. The event definitely lived up to its billing as the biggest tech conference of the year.

 

 

AppBoard Tuesday – The Recipe For Making Highly Addictive Mobile Games

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Latest posts by Hussain Fakhruddin (see all)

For a couple of days last week, the internet connection at our office was – let’s put it this way – rather shaky. Things were slow, and whenever the net was taking one of its (frustratingly frequent!) breathers, most of our in-house developers and testers got busy with their phones – catching up with the next level of jelly-blasting games, or word-search, or endless running games, and the like. That’s when it occurred to us – how about using this week’s AppBoard Tuesday (ABT) to highlight some tips and pointers for making really addictive mobile games? Here are the things we consider to be the most important:

  1. Keep the gameplay simple – The good ol’ KISS principle. Going back to our office example again – we were playing games only during intermittent periods, when we could not work. Similarly, most people love to use gaming apps to ‘spend’ the time (not ‘waste’ the time, mind you!) during short journeys, while they are idle, or some such relatively small time-spans. A nicely designed, easy-to-play game would fit this bill nicely. A highly complicated game has every chance of being viewed as ‘too tough’, and hence, abandoned.
  2. Go for an intuitive gameplay – An extension of the previous point. Yes, all popular iPhone and Android game apps have a dedicated ‘Instructions’/ ‘How To Play’ screens – but let’s be honest here, do we ever really bother to read through what’s written on those screens? It would be a folly to assume that general people (whose attention span is already low when it comes to interacting with their mobile devices) would take time out to ‘learn’ how to play your game first. The gameplay needs to be intuitive – one glance at the game screen should be self-explanatory.
  3. Include a ‘hook’ in your game – To be addictive, a mobile game has to get its audience hooked. iOS and Android game developers can increase the chances for this, by making their apps relatable to the actual users, in one way or the other. Triggering an emotional response – excitement or stress or frustration – is a great way of having smartphone-users try the same game over and over again.
  4. The player should always be in control – This an absolute must. It’s built into our human psyche that we love to be in charge of whatever we do – and this extends to playing mobile games as well. In fact, this is one of the reasons behind the huge popularity of first-person shooter games (“I see. I shoot. I win.”). Game-makers have to include as much personalization options as possible in their software. The more ‘free’ a person will feel while playing a game, the more (s)he will get attached to it.
  5. Consider device compatibility – The conventional top-down approach (idea first, device-considerations later) of mobile app development does not work well, when it comes to making games. Instead, developers need to first consider the devices a new game would be compatible with, and how the latter will be able to use the hardware resources of the handset optimally (the camera, the keyboard, wi-fi connectivity, GPS, etc.). It’s important to give customers a ‘unique’ experience – and it has to be remembered that a mobile game should never be just an extension of a desktop game.

Note: iOS game developers have an advantage here over their Android counterparts. They need to consider only the iPhone, iPad and iPod Touch (yes, backward compatibility of iOS versions is a factor). Android developers, on the other hand, have to test their games on thousands of devices from different vendors.

  1. Increase the difficulty. But gradually. – Start things off with ridiculously easy levels/modes in your games. Make sure that no one – not even a kid – has any difficulty in understanding what the game is all about. And then, as players become familiar with your game – start making each level slightly trickier than the previous one (never bump up the game difficulty too much at one go…that will cause many users to lose interest). The gradually increasing difficulty would be viewed as an enjoyable challenge.
  2. Get those competitive juices flowing – Forget mobile games – people play any game for one purpose…to win. As a game developer working on the iOS/Android platform, the onus is on you to challenge the users at every step. Make them play against a countdown timer, towards a ‘not-that-easy’ deadline and/or give them a limited number of tries/moves (Candy Crush Saga is a game that does this brilliantly). Make people want to win…that’s the only way they will keep coming back to your game.

Note: This also boosts up the ‘replay value’ of a mobile game. Without it, users might just grow disinterested after a while.

  1. Give rewards – Not monetary ones, obviously. However, there should be the option of ‘earning’ extra coins, stars, points, lives – and stuff like these – for players who manage to register good performances on your game. Many games have their higher levels locked to start with – and players can unlock them only by accumulating rewards from the lower levels. That there is a reward waiting at the end of a game level should always be at the back of a player’s mind. It works as a great source of ‘positive feedback’ and an incentive for ‘doing it again’.
  2. Stability and reliability – Something that every good mobile app, and not just games, should have. Take a tour through the many unsuccessful mobile games in iTunes, and more importantly, at the Google Play Store. You will see a similar problem – they are either laggy and/or crash often, and/or has other usability problems. Imagine the chagrin of a kid playing, say, Subway Surfers, having collected a million points – and then, poof! The app crashes, and the hard-earned progress is lost. Not a nice feeling, right? (that’s precisely why reports of crashes in Subway Surfers are practically unheard of). Test your games well before releasing, and make sure that players can save their progress on the game at any time easily. In case a user changes his handset or the game app gets deleted accidentally – there should be no problems in recovering it either.
  3. Repetitive is good. Notifications are important – Successful mobile games are, more often than not, repetitive. They compel users do the same tasks/gestures/actions over and over again (consider 2048 and its many variants, for example) – and while looking to catch up on a quick break with their smartphones, people tend to look for precisely such simple, repetitive games. Experts from the field of Android and iPhone game development also advise the inclusion of a proper notifications system in mobile gaming software. This helps in reminding people about the game (numerous apps jostle for space on an average user’s smartphone) – and prompt repeat visits. Avoid making the notifications annoying/too frequent though. You do not want to end up disturbing the users!
  4. Remember the splash screen – A book should not be judged by its cover and a mobile game should not be judged by its splash screen – but even so, this factor is vital. After all, the splash screen is the first point of interaction between the user and your game…and it needs to leave a favourable impression on him/her. The splash screens should not hang around for too long (a maximum of ten seconds maybe), and app developers often add a subtle dynamic touch to it (e.g., adding a ‘Loading’ progress bar). The initial onboarding should be smooth, prompt and likeable. Otherwise, even a great game can suffer.
  5. Provide a ‘social’ experience – A mobile game should ideally have powerful social integration features. This is all the more important for Android/iOS multiplayer games. People should have the option to invite their friends on Facebook to the game, challenge them, and enjoy the social gaming fun. What’s more, seamless FB and Twitter connectivity also allows players to share their high scores and achievements in mobile games. How many times have you seen updates from your friends on Facebook, about how they are progressing on Criminal Case?
  6. Never force in-app purchases on users – It would be absolutely great if your audience actually spends money to buy stuff (coins, characters, boosts, etc) via in-app purchases – but you should never force them on users. Many shady mobile app companies make certain levels/stages of their games practically unsolvable without taking the help of in-app purchases. That, in turn, has the counter-effect of gradually alienating people from the concerned games. In-app purchases (IAP) are, of course, one of the best ways of monetizing free games and apps…just make sure that they do not HAVE TO BE USED by gamers.

Note: Worry not, hardcore gamers will naturally purchase stuff from your game (iPhone users are more likely to spend money on apps). You do not have to be overly pushy about it.

        14. Include patterns in the gameplay – Remember what we said about the importance of a good mobile game being, in essence, repetitive? In addition to that, games should also include a definite pattern in them (take the example of the many ‘connect the dots’ games). The challenge of identifying and following patterns naturally excites the human brain. Ask yourself: ain’t the prospect of arranging a haphazardly laid out jigsaw puzzle board appealing?

More than anything else, mobile game developers have to ensure that the fun-element associated with playing their gaming apps is considerable. Whenever possible, players should be able to show off their creative side. For strategy games in particular, the game environment, characters and assets should be fairly life-like. With excellent game engines like Unity3D and Unreal Engine, this is hardly difficult. Making addictive games is no rocket science – all that app makers have to do is follow these simple tips.

This then brings us to the end of yet another addition of AppBoard Tuesday. Do write in to us about your opinions on addictive games. Also, let us know which mobile game you find to be the most enjoyable.

Another interesting topic related to app development will be waiting for you in the next ABT. Till that time…love thy apps!

One Year On: How Is Apple Watch Doing In Terms Of Sales?

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Latest posts by Hussain Fakhruddin (see all)

Analyzing Apple Watch performance one year after launch

 

 

Thirteen months and counting. That’s how long Apple Watch – the first wearable device from the Cupertino tech giant – has been with us. Although official sales figures for Watch have not been revealed, it is a known fact that the shipments of the device were off to a super-strong start last April. How has the sales trends, figures and forecasts for Apple Watch been since then? Let’s take a look:

  1. Immense initial hype – And that worked big-time in favour of Apple Watch. Reports from iOS app development forums and channels reveal that nearly 12 million units of the smartwatch were sold last year – approximately two times the 6 million-sales of the first-generation iPhone in 2007. However, the fact that iPhone took its own time to ‘change the way smartphones are used’ should also be factored in, to get a proper perspective. In comparison, Watch already had eager early adopters waiting for it.
  2. Slackening demand – As the early blitzkrieg wore off, the mixed reviews about Apple Watch started to affect its hitherto rampaging sales. A senior analyst from Pacific Crest Securities lowered his sales projections by 4.5% in 2015 (from 11 million to 10.5 million). For 2016, his estimates are even more grim. Around 21 million units of Watch are expected to be shipped this year – 12.5% less than the initially projected sales volume (~24 million).
  3. Per-day sales – Another metric that should have Apple sit up and take notice is the rapidly declining per-day sales figures of the smartwatch. Last April, around 200000 units were purchased in a single day (during the April 10 week). From those heady figures, the sales figures have plummeted to an average of 18000 to 20000 per day (with disappointing days registering 5000 to 10000 sales not being uncommon). Overall, the per-day sales have fallen by over 90% since April 2015 – an alarming decline.
  4. Poor app performance and over-dependence on iPhone has hurt – The lofty price figure of Apple Watch is a big barrier for the average buyer – but even those who can and have afforded the device have not been entirely satisfied. One of the biggest complaints about Watch has been its extremely laggy processor speed app performance. Without a paired iPhone, the Watch isn’t of much use – and that has also come in for some flak. Even after a year, the perception about Apple Watch is that it is an ‘expensive notifications device’, with unsatisfactory app performance. Hopefully, those who make apps for Apple Watch will come up with better native apps (mandatory from June 1) for the smartwatch.
  5. Interest is dwindling – The falling demand levels of Apple Watch, understandably, stems from flagging interest about the smartwatch. Professional WatchKit app development experts have reported that the interest in Apple Watch is only about one-fifths of what it was for the iPhone in 2007. At present, going by search volume data (from Google Trends), the interest level in Apple Watch is lower than the iPod. The launch of Apple Watch 2 later this year will boost the interest levels for sure – but it remains to be seen whether the interest sustains over time.

Note: Traditionally, Apple does not do any major overhaul in the form factors of consecutive versions of its devices. As such, Apple Watch 2 is likely to be just an S-styled upgrade (like the ones iPhones get). Will that be enough to get prospective buyers hooked?

  1. Not the leader in the wearables market – Far from it. At the end of 2015, Apple Watch managed to take up just a tick under 15% market share – a long way off the 21% share that Fitbit enjoys. Interestingly, the year-end market share of Watch was lower than even that of Xiaomi. Given that both Fitbit smartwatches as well as Xiaomi is significantly cheaper than Apple Watch, this is not much of a surprise. What’s also noteworthy is, the cheapest version of Watch (Watch Sport, at $349) has the maximum demand, while the more premium models have fewer takers.
  2. Made a mark in the luxury watch market – Not all is doom and gloom for the first-generation Apple Watch. It might not have been a game-changer like iPhone – but it has definitely created a splash in the luxury markets sector. Market analysts and mobile app developers reported that Watch pulled in $6 billion in sales revenue in 2015 – a whopping $1.5 billion more than what Rolex managed to do during the year. In fact, the first-year revenue figure of Apple Watch was around 30% of the total revenue from the collective sales of leading Swiss watch brands in 2015.
  3. Slash in price did not translate to increased sales – The entry level price for Apple Watch Sport was slashed by $50 at this year’s March 21 event (where the iPhone SE and the 9.7” iPad Pro were launched). That, however, did not lead to a spike in Watch sales – as many iPhone app developers had expected. On the contrary, a recent ITG Investment Research report showed that sales of Apple Watch plunged by around 40% in the 2nd fiscal of 2016. A definite indication that the novelty factor of the smartwatch is well and truly gone.
  4. Steadily dropping global market share – In 2016 Q1, Apple Watch had a 52% share in the worldwide smartwatch market. While not a poor performance in any stretch of the imagination, the fact remains that this figure is almost 11% lower than that in the previous quarter (~63%). The figures from last quarter, in turn, were down from the 75% market share reported in 2015 Q2. At a time when total shipments is rising rapidly (the increase was almost 225% in the first quarter of 2016), Apple Watch is going backwards.

Note: Some of the dropping sales can be attributed to the fact that many people are actually waiting for Apple Watch 2 to arrive this fall. Instead of spending money on the ‘older’ and the ‘laggy’ first-gen device, they would prefer getting the new and improved model.

        10. Customers remain undecided – KGI has also estimated the shipments of Apple Watch, and its report makes for dull reading too. The sales are likely to be around 3 million units lower this year – a remarkable stat, considering that the smartwatch had only about 8 months in 2015, and will get the entire year in 2016. In a recent survey (sample: 2500 respondents), only 47% opined that Apple Watch is a ‘successful’ product. Interestingly though, nearly 78% of existing Apple Watch-users were satisfied with the gadget, and most of them were planning to upgrade to Apple Watch 2.

        11. The price factor – As none other than Steve Wozniak pointed out at a Reddit session, the price difference between a lower-end and a higher-end Watch model is around $500 – and all that the more expensive models have are extra bands. However stylish and attractive these Watch bands might be, they cannot really justify the huge gulf in the pricing points. Apple Watch has become more of a player in the jewelry market, and not many people are bothering to buy the more pricey models.

         12. Troubles ahead? – Right at this point in time, market forecasters and mobile app developers feel that Apple does not have to be too worried about the shaky performance of its smartwatch so far. After all, the iPhone is still the single biggest money-earner for the company – contributing around 68% of the total revenue of the company in 2016 Q1. However, iPhone 6S and iPhone 6S Plus have performed weakly in comparison with the record-breaking iPhone 6 and iPhone 6 Plus. iPhone 5S, a 2-year old flagship, is still going strong. With iPad sales remaining flat and Apple Watch struggling – there might be problems as the iPhone market moves towards saturation.

Note: Of course, iPhone 7 might turn out to be super-successful, and Apple Watch 2 (free from its over-reliance on iPhone) can get the company moving forward in the smartwatch market.

It would be unfair to brand Apple Watch as a flop already. Yes, the smartwatch has run into problems after the first few weeks’ impressive sales – but it still remains a strong enough player in the domain of wearable technology. If the existing processor lags and battery problems (along with a bump in the quality of Watch applications) are resolved in the upcoming Watch 2, things can once again start looking up for the Apple smartwatch.