Author Archives: Hussain Fakhruddin

Mobile App Developers Worldwide: Key Stats & Figures

The latest trends from app developers

 

According to a recent worldwide survey, nearly 46% of all professional software developers are into making mobile applications. The global community of app developers has been expanding at a rapid clip over the last five years or so, and currently stands at just a shade under 8.9 million worldwide. Practically every country has a large number of mobile app companies, there are agencies with robust international presence, and there are plenty of indie developers operating as well. In today’s analysis, we will take a tour of the key statistics and trends associated with app developers around the world:

  1. Where are the app developers located?Asia comfortably occupies the top spot, as far as availability of mobile app developers is concerned. The continent accounts for 33% of all developers across the globe. North America and Europe, with 30% share each, come in next. Slightly surprisingly, the total count of app makers in Oceania is significantly lower than that in Africa (3% vs 1.5%).
  2. How big is the incremental growth? – More than 800000 professionals join in as mobile developers every year, a remarkable figure in itself. In particular, countries like South Korea and China have fast-growing economies, and over here, the annual rate of growth of mobile app developers is the highest. The markets in Europe, North America and Australia are expanding as well. Revenues from the app sector have also been spiralling, with growths of 65%-70% on a year-on-year basis (over the last half decade).
  3. Which platform is generating the most jobs for app developers?Apple’s iOS has a healthy lead over Google’s Android, when it comes to mobile app development jobs. Globally, 60.3% of all the new developer jobs are on the iOS platform, while Android accounts for around 39.4%. Geographically, it’s the United States that generates the most job opportunities for new developers, followed by India, Australia, France and the UK. This lead of iOS over Android is present pretty much in all countries – with one notable exception. In India, the Android platform generates 51% of jobs, while iOS follows with a shade under 49%. The city with the most number of developer jobs in the world is Seattle.
  4. What type of apps are being made? – A report from June 2016 showed that mobile games, with 23.35% download share, were by far the most popular category of apps in the Apple App Store. Business apps and educational apps occupy the second and third spots respectively, with travel apps also featuring in the top-10. Social networking applications, with a measly 2.08% download share, come in at a lowly 18th. The total app download count from the App Store is well in excess of 130 billion.
  5. Profession vs hobby – App development is an overwhelmingly male-dominated profession. In Asia, 95% of all developers are male, and the corresponding figure in North America is 90%, in Europe 96%, and in South America 97%. More interestingly, only 34% of all the mobile developers in Asia are into making apps professionally, while 51% are into this as a hobby. This trend is observable in North America (32% professional developers; 51% coding as hobby), Oceania (36% professional developers; 49% coding as hobby) and South America (38% professional developers; 45% coding as hobby) as well. Apart from mobile applications, developers are also increasingly getting into Internet of Things and Cloud Services. Desktop app development is also popular in all the countries.

Note: In Asia, mobile app development is more of a ‘young man’s job’ than in most other places. The average age of developers here is 27, compared to 32 in Europe, 34 in Oceania and 34 in North America.

  1. What are app development costs? – The prices charged by mobile app developers is the highest in North America (both for iOS and Android). It has to be noted here that the average Android app development cost here ($168/hour) is slightly higher than the average iOS app development cost ($150/hour). The prices are a lot lower in Europe (average for iOS → $70/hour; average for Android → $70/hour), and lower still in South America and Africa. However, mobile app companies charge the lowest in India, with an average hourly rate of $26 for Android projects and $30 for iOS projects. Not surprisingly, clients from all over looking for cheap app development services make a beeline for Indian firms.
  2. What are the mobile platforms developers work on? – In the duopoly established by Apple’s iOS and Google’s Android, it is easy to lose sight of the other mobile platforms that developers work on. Custom applications are regularly made by companies for the Blackberry (although its share is dwindling fast) and the Windows Phone platforms (in addition to the Windows 10 and HTML5 software platforms). While indie developers specialize on any one of the platforms, leading companies generally offer cross-platform app development services.
  3. What languages do app developers code in? – The usual suspects – JavaScript, Java and C# (in that order) – are the most popular programming languages among mobile app developers worldwide. Apple’s Swift, which recently overtook Objective-C in terms of popularity (according to a TIOBE Index report), is also used extensively by developers for making iPhone/iPad/Apple Watch apps. Overall though, Swift has a lot of catching up to do, with the likes of PHP, Python and C++ – each of which has higher tag counts on StackOverflow.
  4. How much money are the app developers making? – Many newbies choose mobile app development as their profession in the hope of earning big through their apps and software. Things are not that straightforward though. Among all professional app developers (i.e., excluding the ones who code as a hobby), more than 60% live below the so-called ‘app poverty line’ – i.e., their monthly earnings are less than $500 per app. The situation is the best on the iOS platform, where less than 50% developers are below the ‘app poverty line’, and the worst for Windows Phone – on which hardly 2 out of 10 developers manage to earn that benchmark amount. At the other end of the earning spectrum, only about 8%-9% developers manage to make more than $50000 per month on each of their applications. The number of these ‘top-tier developers’ is the highest in iOS, and the lowest in Blackberry. Around 65% of Android app developers fail to move beyond the ‘app poverty line’, while the number belonging in the ‘top-tier’ is less than that for HTML5 mobile platform.

Note: In terms of income-generation capacity for developers, iOS is easily the leading platform. While Android has a much larger market share across the globe (thanks to the large number of handsets and vendors), making big money on a continuous basis is a lot more difficult for Android developers.

     10. Moving beyond the smartphone screen – This is a trend that is expected to gather further momentum over the next couple of years. According to forecasts, there will be more and more developer migration – from making apps for smartphones, to smart cars, smart watches, smart homes, smart TVs, and the like. 53% of all developers are already interested in the Internet of Things. No longer is app development only about making software for phones – the technology is evolving, and evolving fast.

11. Consumer apps vs Business apps – The latter hold out a significantly stronger promise of higher revenues for developers. By 2016 Q1, 16% of enterprise app developers raked in $500000 per month – while only 6% of consumer app developers managed to earn in the similar range. Also, around 32% of those who make business apps were found to be below the ‘app poverty line’ – the zone where more than 47% consumer app developers find themselves in. The stats strongly suggest that developer interest would switch from consumer apps to business apps in the coming years.

       12. What is the most popular method for mobile app monetization? – For free apps, 2 out of every 3 app developers prefer including advertisements in their applications. Most of such apps allow users the option to upgrade to ‘Pro’ (ad-free) versions. Although banner ads and interstitial ads are still most commonly used, developers are steadily moving towards native ads – which tend to be less intrusive in nature. In-app purchases are also popular, but that strategy is nowhere near as preferred on by developers as advertisements.

The perception that the rise in mobile app development activities is a relatively new phenomenon is borne out by the fact that nearly 75% of developers have been in this line of business for 3 years or less. Although the iOS platform creates maximum new jobs, Android has the largest developer mindshare (iOS is, expectedly, second). The cumulative revenues from the global mobile app industry is expected to soar to $101 billion by 2020. One thing is for certain – application development is one line of business that is in the fast track of growth. For sure.

Why Is Apple’s iPad Struggling?

Apple iPad's sales have been flat

 

In 2016 Q1, the iPad accounted for nearly 22% of the total tablet shipments worldwide. Samsung, with less than 15% market share, was a fairly distant second. However, the picture is not rosy at all, when sales figures in absolute terms are considered. In the last quarter, Apple shipped approximately 9.9 million units of iPads. This is the weakest sale figure for the iPad since 2011. Compared to the first quarter of 2015, iPad sales have dropped off by an alarming 20%, and we here take a look at the probable causes behind the recent struggles of Apple’s iPad:

  1. Global tablet market nearing maturity – When the first iPad model was released in 2010, it was a one-of-its-kind gadget, something that effectively kickstarted the tablet market. Sales soared to 72 million units by 2013. Three years on, and mobile app developers and analysts feel that this market is nearing maturity, and iPad sales are stagnating as a result. The growth rate of global tablet shipments has been falling steadily since 2014. The downward sales trend of iPad is a direct consequence of that.
  2. Cannibalization by the ‘larger’ iPhones – It’s a classic case of the dog-eats-dog story. Apple’s own line of phablets is gradually eating into the sales of the iPad. A buyer who already owns the 5.5” iPhone 6 Plus has little or no interest in buying an iPad. The availability of Apple phablets at subsidized rates has brought down the price differences between the latest iPhones and iPads too. In terms of both style and utility, phablets are slowly replacing tablets – and iPad is losing out.
  3. Lack of interest among buyers – The novelty factor about the iPad when it first came out has well and truly worn off. Reports from online iOS app development forums confirm that the interest levels of buyers in the new iPad models are falling steadily. The general consensus is that, unlike the PC or the smartphone, the iPad is not an ‘essential device’ (in a recent Huffington Post survey, less than 5% respondents listed the iPad as ‘essential’). It’s no longer new, it’s no longer perceived as something terribly useful, and as a result, the iPad has become more of a niche product.
  4. Features in the new iPads seem dated – The multi-user support and split-screen multitasking feature in iOS 9 made a lot of news. However, the fact remains that Android tablets (4.2 Jellybean and later) have had the multi-user mode for quite some time now. The split-screen feature is not something revolutionary either. The 9.7” and 12.9” iPad Pro models are all sleek and fast – but their functionalities do not make them good enough substitutes of laptops. Apple has been playing the catch-up game in the tablet market for years, and that is hurting.
  5. Much longer upgrade cycle – Compared to the iPhone, people are a lot less interested in upgrading their iPads on a regular basis. A late-2015 study showed that iPad 2 remains the most shipped Apple tablet (with 20% market share), with iPad Mini taking up the second spot. On the other hand, the combined sales of the newer iPad models hovered around the 15% mark. This clearly indicates that people prefer having the ‘cheaper’ versions of the iPad, and the upgrade cycle of the iPad is very slow. After the spurt in sales in the first few years, things have come to a relative standstill now.
  6. Lack of room in the developed markets – In the United States, nearly 45% people own at least one tablet. With Apple being the market leader, it is only natural that most of these tablets are actually iPads. This, in turn, means that the penetration of the iPad in the US is already very high, leaving little scope for further growth. The scenario is the same in many other developed countries. The market is close to saturation, and iPad sales have hit a roadblock.
  7. iPad is a ‘shared device’ – This is also an important factor. The iPhone or the Apple Watch are personal smart devices, but the iPad is more of a shared gadget. Multiple users (e.g., family members) typically use the same iPad for various purposes. Each individual does not need to have a separate iPad, while everyone obviously has to have their own smartphones. Not surprisingly, iPad sales have never even come close to matching iPhone sales (which, incidentally, also declined in the first half of 2016).
  8. Lack of enough marketing thrust – Yes, there was extensive coverage when the iPad Pro and the Apple Pencil launched in November 2015. In general though, new iPads are not marketed by Apple as vigorously as, say, the flagship iPhones, or the Apple Watch, or even the latest iterations of the iOS platform. People are already losing interest in the iPad, and the half-hearted marketing is not helping.
  9. Positioning of the Apple brand – The iPhone 5C (which was a relative failure, anyway) aside, Apple has always positioned its devices as premium products. With the developed markets getting clogged, there is an opportunity to enter the developing markets in a big way – but here, Apple is losing the war against lower-priced Android tablets. Most people from these countries either cannot afford, or are not willing to, shell out $500+ for a new iPad, when cheaper, ‘similar’ alternatives are available. According to many experts from the field of Apple app development, the absence of the Apple brand in the lower end of the market is putting iPads at a disadvantage.

Note: iPads, unlike iPhones, do not come with any carrier contracts. This allows people to use their iPads for as long as they want, before even considering a replacement. This makes the upgrade cycle of iPads even slower.

10. That thing about apps – Third-party iOS app developers typically create applications for the iPhone. These apps and games may or may not have versions optimised for the iPad and the iPod Touch. However, things are never the other way round – where an app has been created exclusively for the iPad. In the grand scheme of the struggles of Apple iPad, this is a minor factor – but the absence of really popular iPad-only apps have complicated matters more.

        11. Struggles in the education sector – Traditionally, iPads have had a strong role to play in education technology. Teachers in developed countries have confirmed that the iPad (with pre-installed kids’ apps) are ideal learning gadgets for children. However, the Apple tablet is having to cope with stiff competition here too – particularly in the form of Google Chromebooks. In a study conducted earlier this year, it was seen that kids were much likely to accidentally damage iPads than the less expensive Chromebooks. There is also a tendency among children to use iPads for other, non-educational purposes (gaming, for instance). Schools have, as a result, started to hand out Chromebooks to students instead of free iPads.

12. Is the Macbook a better deal? – Recent trends have indicated that as well. The 12” Macbook Air models are sleek, lightweight and have practically all the features that the latest iPads can boast off. The price difference on the storage (GB) basis between MacBook Air and iPad is not huge either. Although not to the extent of the phablets, the smaller Macbooks are also eating into the sales of iPads. The trend of replacing older iPads with Macbooks is also picking up momentum.

A common complaint against Apple’s iPad was the absence of a 32GB model at the entry level – an issue that the Cupertino company resolved with the 9.7” iPad Pro last year. However, sales have not picked up as anticipated. With iPads making up more than 10% of the company’s stock price, the poor sale figures is certainly alarming. While Apple is not likely to announce wholesale price cuts anytime soon, it will be interesting to see how it tries to revive the flagging fortunes of the once-popular iPad.

 

 

Top 14 Amazing Selfie Trends: Facts & Overview

selfie trends 2016

 

We are living in a selfie-obsessed generation – there are no two ways about it. According to a survey conducted by a Boston-based teeth whitening company, millennials took nearly 26000 selfies during their lifetimes (on average). A large chunk of the total time spent by users with their smartphones is on taking pictures with the phone camera – and a high percentage of these pictures are…you guessed it…selfies. In what follows, we will do a roundup of some of the latest selfie trends, figures and estimates:

  1. Total number of selfies per day – Well over 1 million selfies are taken everyday by people, using either iPhones or Android devices. One out of every 3 individuals between the age of 18 to 30 takes selfies on a regular basis. Rather predictably, millennials (Generation Y citizens, if you so like) are the most active selfie-takers in the world – although older people are in love with selfies too.
  2. Selfies in different countries – Although Makati City (in Phillipines) holds the unofficial tag of being the ‘selfie capital of the world’, the most selfies/day are taken by smartphone users in Australia. The second and third spots are taken up by the United States and Canada respectively. A recent report revealed that around 67% of all Australian women post selfies on social media regularly. Makati City’s claim to fame as the ‘selfie capital’ is based on the fact that the city boasts of the highest percentage of people clicking selfies (250 out of 100000).
  3. Selfies on Instagram – The total number of selfies shared on Instagram is well in excess of 250 million, as per reports from mobile app developers and researchers. Over 58425000 pictures are posted with the ‘#selfie’ hashtag. Let’s just say that ‘#selfie’ is easily one of the most popularly used tags on social media at present – particularly among the 18-24 year olds.

Note: Nearly one out every four members of the so-called Generation X love taking selfies, while nearly 10% of ‘baby boomers’ have also caught on this fad. These figures, however, appear insignificant, when compared with the fact that over 55% millennials are fond of self-portraits.

  1. The use of photo-editing software – The widespread use of mobile photo-editing apps and online software clearly indicates that most people are after that elusive ‘perfect selfie’ – that they can share on their social media profiles. 37% of the respondents to the survey said that they alter their selfies with software in some way or the other. Interestingly though, only 14% of all selfies are digitally enhanced – not a particularly high figure.
  2. Rise of the ‘Planet of the Selfies’ – It is difficult to put a tab on exactly when the selfie-phenomenon started in full throttle across the globe. However, a Guardian report suggests that the popularity of selfie-taking started burgeoning from 2010 – the year when iPhone 4 (the first iPhone model to have a selfie camera) was launched. With front camera capabilities becoming more and more advanced in both Android phones and iPhones, it’s hardly a surprise that selfie-addicts (narcissists, somewhat) are absolutely loving it.
  3. The top selfie poses – If you thought that selfies were all about pouting and snapping, you are, sadly, well behind the times. The ‘Duck Face’ pose – a long-standing favourite among selfie-lovers is gradually giving way to the ‘Fish Gape’ facial expression. The ‘Frog Face’ and the ‘Sparrow Face’ are some other fairly popular selfie poses. Now whether these poses are indeed attractive is a matter of subjective opinion…let’s not enter a debate regarding that here!
  4. Selfies on Snapchat – Snapchat, the much-loved social media and instant messaging tool among young adults, serves as a great platform for sharing selfies. Nearly 78% of college girls share their self-portraits on Snapchat – although for guys, the figure is quite a bit lower (50%). In an average week, around 9 selfies are taken, and about 7-8 minutes are spent to post each picture on social media. Young women (in the 16-25 age group) while away a remarkable 5 hours (approx) every week, for taking selfies. In a year, nearly 55 hours are taken up collectively by the selfie-taking activity.
  5. The selfie-related gender bias – None to speak of, really. Studies conducted by mobile app development agencies showed that the percentage of males and females who took selfies were almost similar (50% and 52% respectively). However, there is a difference when it comes to the use of photo-editing filters and other such tools. While 13% of the female respondents admitted to ‘touching’ up their selfies after clicking , nearly 35% of males use software to make their selfies ‘better’. Maybe the males are more concerned about their selfies, or maybe women are just better one-shot selfie-takers!
  6. Selfies on social media – We have already talked about how college-goers are enthusiastically sharing their selfies on Snapchat. The platform, however, is far from being the most preferred social media channel for posting selfies. That position would go to Facebook (with a 48% share). Text messages and WhatsApp take up second position, with 27% selfies being shared through them. Twitter (9%) comes in next, and Instagram, Snapchat and Pinterest follow.
  7. Do everyone love the selfie game? – Not quite, but selfies are pretty close to being universally loved. In the survey by Luster, a whopping 95% of respondents revealed that they have taken at least 1 selfie in their lifetimes. The general feel among millennials is that selfies are the best way to chronicle their life events on social media websites. A beach holiday or a birthday party, for instance, seem ‘incomplete’ if selfies (and a lot of them, for that matter) are not taken.
  8. Types of self-portraits – Not every type of selfies is…well…called a ‘selfie’. There are different names for the different types of selfies taken by the owners of iPhones and Android phones. For example, a ‘Delfie’ refers to a selfie taken with a pet dog, an ‘Ussie’ is a selfie of two people, and a ‘Felfie’ is a picture of your face with a farm in the background. The ‘No Make Up’ selfie has become quite a rage among female celebrities, ‘Helfies’ are taken to show off cool hairstyles (the face can very well be hidden in them), and ‘belfies’ are often clicked to show off…ahem…shapely posteriors. A ‘Groupie’ (or ‘Groupfie’) is, of course, the picture of a group of people – with one of them having his/her arm rather awkwardly outstretched.
  9. The phenomenon called selfie sticks – Over the last couple of years, selfie sticks have been one of the top Christmas gifts around the world. It all started from the fall of 2014 (the year when selfie sticks made it in the list of Time Magazine’s 25 best inventions of year), when selfie-stick related online searches rose by a whopping 690%. In the United Kingdom, nearly 100 selfie sticks are sold from the eBay portal every hour. Between September and November 2014, the sale of selfie sticks on Amazon UK increased by almost 303%, with the next few months carrying on the momentum. Call them ‘sticks of narcissism’ as much as you like – but selfie sticks are here to stay (along with other selfie accessories).
  10. Celebs on the selfie-bandwagon – Coming across selfies of Justin Bieber a bit too often? The young singing sensation is only the 5th most prolific selfie-sharing celebrity in the world though. Kylie Jenner and Snoop Dogg are the two biggest celebs on the selfie bandwagon, with Ariana Grande and Kim Kardashian (surprised to see her slightly down in the list?) taking up the third and fourth spots respectively. The young generation is only taking a leaf out of the celebs’ book, and trying to capture their many emotions through selfies.
  11. Selfies – The Dangerous Addiction – In 2015, 8 people died from shark attacks. Here comes the alarming fact – during the year, as many as 12 people died while taking selfies. Many 18-24 year olds (in particular) border on carelessness while taking their own portraits, leading to a wide range of fatalities – right from electrocution and bits from poisonous animals, to serious falls and automobile runover incidents. The ‘I Am Driving’ selfie fad is also making drivers distracted while moving along roads. Mobile software and app developers repeatedly caution people to be very careful while taking selfies.

On average, the number of times smartphones are checked by owners every day is above one hundred billion. A fairly large part of that is for clicking selfies and sharing them on social media. In the last few quarters, mobile app companies have tried to cash in on this trend – by releasing many Android and iPhone image-editing apps. Selfies are fun, light-hearted and (if proper care is maintained) safe – and they have certainly caught on the imagination of mobile-users all over.

Agile vs Waterfall – Which Is The Right Strategy For Mobile App Development?

In a recent IT sector survey, nearly 67% of the respondents revealed that the business methodologies they followed were either ‘leaning towards agile’, or ‘purely agile’. Of course, there is a fairly large section of entrepreneurs who still favour the ‘Waterfall’, or the sequential, production strategy. From the very outset, a mobile app company has to take a stand on whether to follow the waterfall or the agile development method. Over here, we have done a pointwise comparative analysis, to find which strategy comes out on top in the agile vs waterfall study:

  1. Revisions and feedback loops – For professional app developers, client feedback and suggestions are critical. The development method followed has to be such that revisions and changes can be done at any stage after the initial planning and wireframing. This is where agile wins big over the waterfall methodology. The latter is a unidirectional process, with developers having to ‘close’ one stage before moving on to the next – leaving them with no scope to make changes, as and when required. For implementing client suggestions and feedback, agile is certainly the way to go.
  2. The risk factor – Another major disadvantage of the waterfall development method is the lack of visibility of projects to clients. In this method, the overall process of making a mobile app is linear, and there is no concept of a Minimum Viable Product (MVP) – that can be changed later on. Instead, the software is churned out at the final stage, when it is no longer possible to implement changes (one of the key reasons why the last 20% of waterfall projects often take up 80% of the total project time). This, in turn, makes projects much riskier than what is the case with agile projects – in which feedback can be implemented at any stage. The higher visibility brings down the risk factor.
  3. Structured planning – This is a point where the waterfall technology trumps agile development. In-depth planning and upfront framing of visions are key elements of the linear development model. The documentations are also more detailed and extensive than in agile, where there is always room for flexibility at later stages. Although somewhat rigid, the waterfall method can potentially lead to shorter app development cycles too – since all the planning have been done at the beginning itself.

Note: The fact that changes have to be made almost invariably during app development process negates the last-mentioned advantage somewhat.

  1. Projects with not specified goals – There are many instances when a client has an overall idea of the type of iPhone or Android application (s)he wants, but is not entirely sure of all the features it should have and goals it should serve. In such cases, the agile development method is easily the more suitable one. As the development advances, new goals and functionalities can evolve, and they can then be implemented in the app with ease.
  2. Adapting to technology changes – Mobile technology is in a constant state of flux. Good app and game developers need to have the resources and the knowhow to make use of the latest development tools and frameworks. While the static waterfall technology is hardly ideal for this, the agile methodology fits perfectly here. In particular, the ‘agile sprints’ and iterations are extremely useful when app updates are released. If an app is supposed to have frequent updates, the agile development method has to be followed for it. In all, the method is way more responsive to technology changes than the waterfall strategy.
  3. Ease of testing – In the top-down waterfall framework, mobile app testing is done at the very last – just before the app store submission and subsequent release. This makes the task of testers more complicated, particularly if glitches and bugs were present from an early stage of coding. Finding and rectifying the error can be troublesome, and developers might even have to do the entire process all over again (waste of time and manpower resources – not to mention the dissatisfaction of clients). In the agile environment though, testing is done at every stage, and bugs are ironed out. The final testing, hence, becomes a lot simpler and quicker.
  4. Quality of developers – As already mentioned in an earlier point, agile development practices involve less documentation. Android/iOS app developers working on agile projects, hence, have to make up for this with their knowledge about app-making in general, and the project they are working on in particular. New programmers would be better off following the waterfall methodology, enhance their knowledge pools, and then make the switch to agile.

Note: App development teams following agile practices are typically small in size, and are fully dedicated to the project they are working on. In addition they should ideally be working from the same physical location.

  1. Teamwork and collaboration – An agile development environment requires all members to constantly interact and communicate with each other. This, understandably, takes the overall team spirit and productivity levels to an altogether higher level. In addition, those who make apps also have to work in close collaboration with clients. This level of fluid, two-way communication is absent in the waterfall strategy. Here, things are more sandboxed, and the need for interaction is lesser.

Note: To be fair, the waterfall method of developing does have an advantage related to this. Since documentation is a lot more extensive here, the process can handle employee turnover (in case that happens in the middle of a project) a lot more easily. In an agile scenario, if a member leaves midway, that can lead to communication breakdown and inordinate delays as a result.

  1. The importance of iterations – Irrespective of whether it is an iPhone or an Android development project, the importance of iterations can hardly be overemphasized. Apart from allowing developers to implement changes as per client recommendations, it also lets them do a lot of experimentation with their codes (to see the effects on the download time, overall app size, data usage requirements and the like). There are many factors that can lead users to uninstall apps frequently, and the agile reiterations are ideal to check whether a new app indeed has some lingering problems. Iterations are not possible in the waterfall technology, and that puts it at an immediate disadvantage. User-experience, the factor on which the success or failure of a new application hinges, is considered in agile methods. Waterfall does not take that into account.
  2. Initial idea vs final product – In the sequential methodology for making mobile applications, clients and developers have a very clear idea about the final deliverable product from the start. Since everything is documented and closely followed (with hardly any changes), the app in its final form is the same as initially conceptualized. With agile though, evolving ideas of clients are deployed, designs are revised and re-revised, additional functionalities are added on the fly – and the final deliverable can end up looking a lot different from what the app was envisioned as at first.

Note: This, however, is not essentially a point against agile development. Many mobile app developers report that the needs and preferences of clients change during the course of development – which makes changes necessary.

         11. The quality factor – Agile has successive iterations, small, dedicated and highly knowledgeable teams (hopefully) who are completely dedicated, and takes into account feedback from both clients as well as app-users. Not surprisingly, this allows developers to come up with more high-quality software outputs (particularly since the iterations generally divide the overall process in shorter, customizable units). Once again, the traditional waterfall method comes up short in this regard.

12. Launching a basic version of the app – Keeping the intense competition in the field of app development in picture, releasing a basic version of the product (i.e., the MVP) is often very important. The full version, with all the features can be scheduled for later. This is possible when developers are following agile practices to create apps. With waterfall, the final product (app) is obtained only at the last stage, and there is no concept of an ‘intermediate’ or ‘basic’ release. Agile methods can run into trouble in cases of employee turnover or delays due to the constant interactions required – but it promises higher quality, and allows a quicker arrival of apps at the store (time-to-market of a MVP can be very short).

Our analysis makes it fairly clear that agile has many additional advantages over waterfall, for mobile app entrepreneurs. The traditional method is not bad per se, but in the context of app-making, it can be used only when there are zero uncertainties about final goals, and changes are not required in the later stages of development (conditions that are hardly ever fulfilled in the real world). All things considered, the agile strategy is by far the more suitable one for the mobile app industry.

 

 

All Set For Android Nougat?

List of features in Android Nougat

 

It’s not Nutella, it’s not Nectarine, and it’s not any of the several other names for Android 7.0 suggested and guessed by people. Google has announced via Snapchat that the latest iteration of its mobile platform will be named ‘Nougat’ – a chewy candy used in popular items like the Snickers bar. The fifth and final Developer Preview of the upcoming Android version is also out, with the  stable release expected in the second half of August. In what follows, we will deliberate a bit on the choice of name, some key features, and many other things related to Android 7.0 Nougat:

  1. What’s in a name? – Well Android 7.0 is Android 7.0 – but when a mobile OS has a whopping 85% market share across the globe, every little detail matters. The reactions of the general public to ‘Nougat’ – the name finally chosen – has been mixed till now, with many feeling that it is a relatively lesser-known tasty treat (particularly outside Europe). The Android Nougat statue has also received a fair bit of flak, with lack of creativity being the biggest criticism against it (it’s a big Android drone standing on a large ‘N’, that’s all!). There is a general feeling among fans and Android app developers alike that Google wished to stay away from choosing a brand name (a la KitKat) and related license issues. Nougat was the next best possible solution. Oh, and it is pronounced as ‘NEW-GAT’.

          Note: There is a feeling that the name ‘Nutella’ was not chosen as it sounded rather uncomfortably similar to Nadella (Satya Nadella is the CEO of Microsoft, a direct competitor of Google).

  1. What’s new in Nougat? – In the Developer Preview 5 of Android Nougat, several interesting new features have been added. These include the final set of API level 24, an efficient emulator for mobile app testing, and Nexus system images. The new Android version also brings with it as many as 72 new emojis and quicker, more streamlined notifications. More on some of the other new features of Nougat later.
  2. What’s the early adoption rate going to be like? – On the lower side, just like the case with all the earlier versions of the platform. Unlike iOS iterations, Android versions are never ever off to a fast start. Last year’s Android Marshmallow has crawled up to a measly 13.3% adoption rate this month, with Lollipop and KitKat still being the two most popular versions of the platform (with 35% and 31% adoption rates respectively). To put things into context, the adoption rate of iOS 9 is inching towards the 85% mark. The rollout to the various Android vendors is expected to be uncertain as usual, and it won’t be surprising if Nougat takes a year (or two) to register a significant overall adoption rate.
  3. Will Nougat finally have native virtual reality support? – Yes, and according to professionals from the domain of mobile software and app development, it is going to be one of the biggest highlights of the version. The new VR platform in Android 7.0 is named ‘Daydream’, with built-in support for stereo notifications and head-tracking features. Third-party app makers will get the opportunity of adding true mobile-quality VR experiences in their applications (e.g., the option of single render buffering). In the third developer preview of Android Nougat, the latency graphics of the platform was tested (device: Nexus 6P) – and the motion-to-photon latency was found to be less than 20ms. To put it in another way, Android Nougat is well-equipped to provide users a uniformly immersive app-experience. It will certainly be an upgrade over Google Cardboard.
  4. What’s the news on the Direct Reply feature? – Direct Reply will be a feature that will debut on Android Nougat. With the help of this, people will be able to reply to notification popups – as and when they appear. The ‘Recent Applications’ feature has also been overhauled, and users can simply double-tap the ‘Overview’ button to move to the most recent app. The need to browse through several active app windows has been done away with.

Note: The build number for the Android Nougat update is NPD90G.

  1. Project Tango in Android 7.0? – Tango technology (‘Project Tango’ was the earlier in-house name) will be yet another interesting implementation in the upcoming version of Android. The new technology will allow handsets – those with compatible hardware, that is – to identify locations, without having to fall back on the GPS support. The Tango technology works by incorporating computer vision in tablets and smartphones. It did not make the cut in Android 6.0 Marshmallow, but will be definitely present this time.
  2.  Better battery performance in the new version? – Android users and mobile app developers expect Nougat to show improvements in battery performance. The much-appreciated Doze Mode – which arrived with Android 6.0 – has been tweaked around. Whenever the screen of a device goes off, the active apps are automatically moved to a special low-power mode (exceptions are made for important notifications). Earlier on, Doze used to kick in only after a handset had not been touched for a certain time-span.
  3. Optimized, stacked notifications panel? – The notifications panel in Android 7.0 Nougat will be more clutter-free than ever before. System updates will happen seamlessly in the background (as they happen in Chromebooks), and notifications from apps can be classified under as many as 6 different settings (Min, Low, Normal, High, Urgent Importance, apart from the ‘Blocked’ option). To access this, users have to go to ‘Settings’, toggle the ‘System UI Tuner’ to on, and then navigate to Other → Show Full Importance Settings → Apps. There is a slider that lets people alter the importance levels of notifications from different applications.

Note: In Android Nougat, a single-tap on the battery icon displays the remaining battery juice. A double-tap, on the other hand, shows the apps that are causing the highest battery drainage. Third-party applications will include a ‘Quick Settings’ tab.

  1. Will Multi-Window mode actually be present? – Reports about the arrival of Multi-Window feature in Android N have been buzzing ever since it was announced at Google I/O 2016. Users will be able to simultaneously operate two different Android apps – something that should add considerably to the convenience factor. What’s more, the relative screen sizes of the active apps will be customizable too (if supported by the device). Apps can be placed either side-by-side or on top of one another. This feature will be more than useful on tablets.

Note: Multi-window mode is coming to stock Android well after Samsung had introduced it with TouchWiz (earliest version: 3.0 Lite; latest version: 6.0).

     10. A boost to mobile graphics too? – OpenGL will be making way for the high-end Vulkan API in Android 7.0 Nougat. The new 3D rendering tool will allow Android game developers to deliver really high-end graphics, and bolster the engagement levels of their apps in the process. At the Mobile World Congress this year, Epic Games displayed the power of Vulkan with Unreal Engine. While OpenGL is not being stopped or anything, experts feel that Vulkan (or DirectX 12) support will be more in demand among game developers.

11. Looking beyond Google Hangouts? – Again, those who make software for Android do not expect Hangouts to be discontinued anytime soon. However, the arrival of Allo and Duo on the Android Nougat platform (Google’s riposte to iMessages and FaceTime, respectively) does indicate that Google has plans to gradually phase out Hangouts. Allo will have both voice and SMS support, and will complement the already-efficient Google Now assistant. Duo, on the other hand, is being billed as a ‘video-calling app for everyone.’

   12. What’s uncertain and what misses out? – While the 3D Touch feature (like the one present on iOS) was mentioned in the early Preview documents, it will not be present in the final release of Android Nougat. Google has been working on Project Svelte (for smoother performance of newer versions of the platform on older, underpowered devices) since the days of KitKat – but that is unlikely to be implemented in the upcoming version either. Since ‘Picture-in-Picture’ is being presented primarily as a feature for Android TV, it remains to be seen whether it arrives on smartphones and tablets too.

Note: Night Mode is likely to be present in Android Nougat. It will bring down the screen brightness with the help of a red filter, easing the strain on the eyes (when the background is dark).

Android 7.0 Nougat will bring in several important improvements in terms of productivity and security. The seamless updates will work with a robust file-based encryption, to make devices more secure than ever before. The ‘Clear All’ feature (a productivity enhancement), will let  users close multiple app tabs at one go.

The new Nexus phones by HTC – Sailfish and Marlin – will be the devices Nougat will debut on. LG and Samsung are likely to get it next up, while a clear picture of when the update will be available for other vendors is not yet available. One thing is for certain though – Android Nougat will launch soon enough, but its rollout is likely to continue well into 2017.

Jailbreaking An iOS 9.2 – 9.3.3 Device: All That You Need To Know

Last week, Team Pangu finally announced the arrival of a stable tool for jailbreaking iOS 9.3.3, with backward jailbreaking compatibility till iOS 9.2. By making the tool available to end users, Pangu also reclaimed its position (as an ‘iOS jailbreak leader’) from TaiG – which led the way when iOS 8.3 and 8.4 were launched. In today’s discussion, we focus on the main features, interesting points and some necessary steps for using the new Pangu tool for iOS 9.2-9.3.3 jailbreak:

  1. Device compatibility – The latest version of the free jailbreak tool brought out by Pangu can be used ONLY on 64-bit Apple devices. Apart from iPhone 6S and 6S Plus (the maximum interest is for the flagship smartphones), people can use it to jailbreak iPhone SE, iPhone 6/6 Plus, iPad Air 2, iPad Mini 4 and the new iPad Pro-s (both the 9.7” and 12.9” models). iPhone 5S is also supported, although there are odd chances of the jailbreak not working properly on the ‘older’ handset. The 6th-generation iPod Touch can be jailbroken with the new Pangu tool too.
  2. The disadvantages of using the tool right now – Tweaking around with an expensive iDevice without being aware of the probable consequences would be all too naive. As is often reiterated by Apple experts and specialized iPhone app developers, doing a jailbreak renders all existing warranties on a device null and void (unless, of course, Cydia impactor is used to completely restore/unjailbreak the concerned handset). There are certain other iffy things about the Pangu jailbreak tool too. For starters, the tool is available only in Chinese as of now – and many feel that it would be prudent to wait for a stable English version to release, before performing the jailbreak. A bigger downside of the new iOS 9.2 – 9.3.3 jailbreak tool, however, is that it is ‘semi-tethered’ (and not ‘untethered’, as jailbreak tools usually are). This means that users have to re-jailbreak their devices every time they reboot their handset – even if the device had switched off on its own (battery exhaustion, anyone?). Generally, jailbreaking is a ‘once and done’ task – but this one is a (not-too-convenient) exception.
  3. OTA update or download via iTunes – Oh well, it’s a no-brainer that you have to update your iDevice to iOS 9.3.3 (the latest firmware version of Apple that the Pangu tool supports). However, professionals from the field of mobile app development have reported that the tool does not always play nice with updates that have been done over-the-air (OTA). It is advisable to download the latest iOS version through iTunes, and then proceed with the jailbreak.

   Note: A 25 PP installer is required to perform the iOS 9.2 – iOS 9.3 jailbreak procedure. Hence, you will need a Windows PC to go ahead with the tool.

  1. Why do the jailbreak? – As already highlighted, there are several points of concern with the recently released Pangu jailbreak tool. So why bother using it at all? The potential advantages are plenty: after a successful jailbreak and installation of the Pangu 9.2 app (visible on the Home screen), users can browse, pick and choose from a much, much wider range of third-party iOS applications, and even play around with the available shortcuts and animation features. There are quite a lot of tools in the Cydia store that are worth checking out as well. For avid gamers, there’s another big motivation for doing the jailbreak. Doing so would allow them to fake their actual locations while playing ‘Pokemon Go’. Catching Pikachu might become just a tad easier!
  2. The need for prior backup – This one is very important. Mobile software developers and those who make apps repeatedly warn users that jailbreaking might lead to loss of stored data. It, hence, is almost mandatory to take a complete data backup before applying the new jailbreak tool – either in iTunes or on iCloud. Also, make sure that Touch ID, Passcode and Find My iPhone are deactivated. You can toggle them back on after the jailbreak is done.
  3. Create a new Apple ID for the jailbreak – Jailbreaking an Apple device brings along security concerns. To avoid these, it is a good idea to create a throwaway Apple ID for the purpose, and not use your regular credentials. Of course, you might be asked to enter a captcha instead of providing Apple ID credentials (after the device to be jailbroken is connected to a PC with an USB cable, the PP icon is visible, and the user has selected the ‘Run as administrator’ option). The Apple developer profile details are, at times, required to sideload the PP jailbreak tool.
  4. Disconnect the paired Apple Watch – If you have one connected to your iPhone that is to be jailbroken, that is. At the very start, turn off the Bluetooth feature on your handset, so that paired device(s) are not affected by the jailbreak in any way. Remember, the Pangu tool is meant for the iOS platform only – it is not supposed to work on watchOS, an entirely different platform.
  5. Starting the jailbreak process – Okay then, all precautions have been taken, and you can now move on to the actual jailbreaking. After you see the PP jailbreak app on your phone screen, navigate to Settings → General → Device Management. In the Pangu developer profile, you should see the Apple ID you had entered earlier. Tap the ‘Trust’ tab below it to initiate the jailbreak.
  6. Delays and warning messages – iPhone-owners have reported certain problems and warning messages that pop up while the jailbreak is going on. This has been corroborated by iOS app developers as well. For instance, the ring within the green box that rotates during the jailbreak might become unresponsive. In case you face this problem and nothing happens after 5-6 minutes, close the jailbreak app, and restart it a little later. A ‘Storage Almost Full’ message might also be flashed after jailbreak is complete and the Cydia app is being installed. There is no need to worry about this message, thankfully.
  7. Be careful with the tweaks – The new model of the Pangu jailbreak tool has plenty of tweaks – but that does not mean you should install them all. Compatibility can be an issue on the various iOS versions, and certain tweaks can even brick your iDevice altogether. Backup your device at the very start, and choose the tweaks you download on your handset very carefully.

Note: When you reboot a previously jailbroken iOS 9.2 – 9.3.3 phone, the Cydia application will become inactive. This is not a glitch, but a feature of the ‘semi-tethered’ Pangu jailbreak tool. Every time the device reboots, it becomes ‘unjailbroken’.

     11. Manually lock your phone after accepting push notifications – After being installed, the Pangu PP app will ask for permission to send push notifications to your device. According to iPhone developers and testers, you need to accept it, and then lock the device manually (i.e., simply quick press the Power button). When you unlock the screen next, a message from the PP app will be visible, indicating that the jailbreak has been successfully performed.

Note: Cydia should be present on your device at this stage.

     12. Launching Cydia for the first time – After your device reboots automatically, you can launch the Cydia app from the Home screen. When you do this for the first time, the application will spend some time for ‘preparing filesystem’. Avoid handling your device (unless prompted to do so) while the jailbreak is going on.

While Pangu has been the first to release a working iOS 9.2 – 9.3.3 free jailbreak tool, other teams (like K33n and TaiG) are also working on similar applications. Luca Todesco, an iPhone developer and the brain behind iOS 8.4.1 jailbreak, might launch a new tool as well. The Kernel Patch Protections (KPP) layer of iOS 9 should not pose any problems – since iOS 9 has already been jailbroken successfully by Pangu by last September itself.


Disclaimer: This article does not encourage iOS jailbreak in any way. The purpose of this write-up is solely informative, and readers should use their discretion to decide whether to jailbreak their devices or not right now.

 

Mobile Game Development – Top 15 Tools & Resources

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

‘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!