Monthly Archives: August 2016

10 Reasons To Use Apigee And Usergrid For Your Next 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

The importance of backend services for mobile applications (already discussed in an earlier post) can hardly be overemphasized. The trick lies in finding a backend API tool that is robust enough to allow smooth data management as well as user-handling on one hand, as well as keep a tab on the overall resources required for building an app. Apache Usergrid (which became a part of the Apigee backend-as-a-service (BaaS) tool in 2012), is really helpful for app developers in this regard. In what follows, we will explain why you need to use the open-source Apache Usergrid mBaaS and Apigee Edge in your forthcoming mobile applications:

  1. Support for agile app development 

    Usergrid offers end-end mBaaS services. It integrates application layer, updated SDKs (included in the client tier) and a powerful NoSQL database. These help developers create applications quickly, systematically, and with significantly lesser hassles. The presence of a wide range of common services and retrieval tools – data and file storage, user registration, geolocation & text-based search, for instance – is also a high point of Usergrid.

  2. Platform flexibility 

    The Apigee Edge BaaS comes with a highly flexible and customizable platform. App development experts can easily store all types of application data on the Apigee platform – ranging from user associations to customized item catalogs. Since all the data gets stored in the form of entities, it becomes simple for coders to perform complex queries and searches (on any field), as and when required. The data storage method in Apigee is contextual, which keeps things understandable for developers.

  3. JSON objects and asset management

    The API BaaS project of Apigee has Usergrid as its foundation, and for good reason. The latter can expertly store and index JSON objects. Runtime queries of JSON objects are supported as well. While creating mobile apps and games, developers need to manage assets in an efficient manner, and Usergrid comes up trumps in this regard as well. Among the additional features that this resource offers, the push notifications system and the secure user authentication feature are worth a particular mention.

  4. Moving beyond Swagger

    Apigee brings to the table truly cutting-edge API designing technology. It supports Open API Specificationwhich was previously known as Swagger (API framework) – and opens up the opportunity for app makers to create uniformly high-quality APIs. All APIs designed with Apigee are of production standard, and the entire task is performed by user-friendly, open-source components. After the API design, developers can smoothly implement Node.js in JavaScript. There are minimal chances of errors cropping up.

  5. Usergrid 2 is here 

    Apigee and Usergrid were always handy backend API technology tools for mobile app developers. However, coders did face certain glitches while working with Usergrid 1 (based on Cassandra) – like a sub-par performance of the index and query engine, and maintenance issues. These problems have been swept under the cover by Usergrid 2. Powered by ElasticSearch, the new iteration boasts of an excellent array of features, including an all-new built-in engine for query, index and persistence. Scalability has also been made easier than before, thanks to the separation of query/index from key-value persistence. Even if you had some qualms about Usergrid earlier in your apps, there is no reason to not use it now.

  6. High-end security 

    To be classified as a ‘good mobile backend API service provider’, a tool needs to have state-of-the-art security features. Apigee Edge delivers on this count, and then some more. Developers can take advantage of login and token authentication systems that are compliant with the OAuth 2.0 standard. To monitor access control and manage the overall data security, users have the option to define custom permissions. Custom events can be tracked, recorded and analyzed too.

  7. Excellent app testing framework

    With Usergrid, mobile app testing becomes just that much more foolproof. The software stack has a built-in Gatling load-testing framework – which was created by using a series of repeatable test cases. The framework ensures high performance levels and thorough validation (of the metrics) of each project. The Gatling scenarios are also open-source, just like Usergrid itself.

  8. Auto-scaling to handle variations in API demand

    According to professionals from the fields of software programming and mobile app development, fluctuations in the demand for APIs (from customers) tend to smooth out over time. However, two types of variations – the weakly or seasonal surges, and the sudden peaks that can last for a few hours to a couple of days (flash sales at e-commerce sites, anyone?) – have to be considered carefully. Apigee brings a custom auto-scaling feature, which can handle such peaks and surges. That, in turn, serves two purposes: i) it enhances the overall user-experience, and ii) it cuts down on unnecessary money/resource wastage. Changes in API demand does not affect the amount an Apigee customer has to make, but they have to be smartly managed nevertheless.

  9. Push notifications for greater user-engagement

    Yet another cool, developer-friendly feature of the Apigee API platform is the RESTful (Representational State Transfer) framework for generating push notifications. Those who make apps get full control over the audience to which notifications are to be sent, as well as the timings for sending notifications. The app footprint remains low, and all devices that are connected to the BaaS can receive the notifications. Apart from individual users, these push messages can be sent to devices as well as specific groups as well. User-engagement, understandably, gets a big boost.

Note: Apigee allows app developers to send as many as 10 million free push notifications every month.  

         10. Comprehensive monitoring of apps

The initial builds of apps are likely to have errors, even if the best developers in the world are working on it. The key lies in quick detection and resolution of such issues in subsequent builds – leading up to a completely bug-free final release. Apigee delivers top-class performance here as well, with its custom logging, usage-tracking, and monitoring of crashes. Richly detailed, high-quality visualizations are used to analyze the crashes and errors.

Apigee offers 10GB of free data storage space to app developers, enabling them to store JSON objects in the data store (NoSQL) without any hassles. The fact that Usergrid is a distributed BaaS that is operationally extendable makes it all the more useful for app makers. It’s high time you started using Apigee and Usergrid in your new mobile applications – they offer the smartest way to connect your app to the backend cloud.

 

Chief source: http://docs.apigee.com/api-baas

Top 10 Backend API Technologies (BaaS) To Use For App Development

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

The traditional ‘mobile-first’ approach for creating applications is pretty much outdated right now. The responsibilities of app developers go beyond simply making a website, and then following it up with custom software for the iOS or the Android (as the case might be) platform. Most apps have to be connected to a secure cloud service or backend (on the server side), which is generally connected to the web. This is where the importance of backend-as-a-service (BaaS) or mobile backend-as-a-service (mBaaS) comes into the picture. In today’s discussion, we will briefly feature the top 10 backend API technologies that you can use for your next mobile app:

List of backend API service providers for mobile appsBackendless 

On of the biggest advantages of this BaaS tool is that it completely does away with the need for server-side coding. Things become a lot easier for mobile app developers, as a result. As many as 6 core backend services are embedded in Backendless, which serves as a runtime platform as well. The REST APIs make development and deployment quicker, along with the built-in software development kits (SDKs). Apart from being a handy mBaaS service, Backendless works as an API engine, a hosting tool and an app marketplace.

Appcelerator

For cross-platform app development, Appcelerator is a highly popular backend API technology resource. It offers third-party developers the option to build and host their applications on private, public or virtual private servers. An additional advantage of Accelerator is the in-depth insights that it offers to users, via its high-end analytics engine. With this BaaS, developers can easily keep track of app downloads, retention and engagement levels.

Kinvey

Initially focused mainly for mobile app companies and agencies, the Kinvey BaaS tool is increasingly being used by indie developers across the world. Arguably the most user-friendly backend service for making apps on this list, Kinvey comes with an excellent range of features – right from app analytics and file store, to push notifications system, custom code compatibility and a data store. Coders do not have to worry about connecting their applications to the cloud either – this tool sets that up automatically. Kinvey allows users to follow the agile app development model, and is available for 4 different pricing options (Individual (Free), Startup, Business and Enterprise).

Firebase

A relatively new entrant in the mBaaS market (launched in 2012), Firebase has witnessed a rapid expansion in its user base over the last couple of years. The prime reason for this, according to experts from the domain of mobile app development, is the real-time data synchronization feature that it offers. This feature ensures that there is zero latency in the tool – something that cannot be claimed about many of the other BaaS service providers listed here. Robust security is yet another high point of Firebase, with built-in support for third-party authorization tokens (given by developers). Developers can also use HTTP REST API, or access third-party libraries on Firebase.

Kumulos 

Built on the ‘pay-as-you-go’ model, the Kumulos platform lets iOS and Android developers integrate features in their applications with absolute ease. It helps to shorten the overall app development cycle – consequently cutting down on unnecessary expenses. Kumulos is mostly used by app agencies, which get the opportunity to create applications on a budget, and earn big when the apps go live at the stores. In addition to iOS and Android, this backend API tool supports many other platforms, like OS X, Windows Phone, Lua Corona and PHP.

Sencha/Sencha Space

If you are more into making HTML5 applications, Sencha Space might just be the ideal mBaaS solution for you. It can be used for developing apps for both smartphones as well as desktop, and comes with a powerful and completely secure runtime environment. The data security feature of Sencha Space is, in fact, one of its best features, along with the smooth user access and controls. There are two versions of this BaaS tool – the Workforce version and the (more pricey) Enterprise version.

Amazon AWS

Seamless scalability and easy deployability have got to be the two biggest pros of the Amazon AWS backend tool. It offers a plethora of services for mobile developers, including data storage, user analytics, authentication, content delivery, and obviously, robust backend logic. The BaaS resource ranks high on flexibility, and requires users to pay on the basis of the services they use (for instance, Amazon CloudFront or Amazon Cognito or Amazon Dynamo DB, or any of the others). Amazon AWS allows developers to save money during app delivery.

Kii

With a strong vendor support and an abundance of SDKs, Kii is one of the best backend connectivity resource for any new application. What’s more, the tool has a clear focus on the Internet of Things (IoT) – something that is expected to grow bigger in the next few quarters or so. From within the same cloud platform, coders can test and optimize their applications, as well as handle scaling requirements. Kii also supports push notifications and in-built geo-location features.

Appery.io

Widely used to create both iOS and Android applications, Appery.io has its very own ‘App Builder’ – which sets it somewhat apart from the other popular mBaaS service providers. Appery comes with an impressive collection of custom API plug-ins. Since the tool is completely cloud-based, developers need not be concerned about platform maintenance. The browser-supported rapid development model of Appery.io is complemented by enterprise-standard middleware, and top-notch visual development support. Appery.io is available in 5 alternative versions – Basic, Standard, Pro, Team and Enterprise.

AnyPresence

Among the first to offer comprehensive mBaaS solutions, AnyPresence gives total control over source code to mobile app developers. This is ensured by the non-proprietary technology stack of the tool, which also allows for easy portability of app projects. Coders can customize their code as much as required, while working with AnyPresence. The strong system architecture of the tool is one of the key reasons for its success.

Parse, which was acquired by Facebook in 2013, will be discontinued from January 2017. It was a hugely popular BaaS tool – and there have been angry reactions (including a protest petition) over the news of it shutting down. Other mBaaS service providers that have been stopped include StackMob and OpenKit.io (a powerful tool for game developers).

By using backend API technology, developers can unify the entire app development process – bringing together the repetitive tasks for different operating systems and devices. With apps becoming more and more complicated over time (thanks to the constant evolution of technology), mBaaS is growing in importance – since it allows developers to deliver more within a shorter period. Having secure server-side cloud support is an absolute must for many new apps, and any of the tools mentioned here (depending on the specific requirements) can be used for the purpose.

 

 

Sources:

http://nordicapis.com/why-you-should-build-apps-with-an-api-backend-baas/

http://www.androidbegin.com/blog/list-best-android-backend-service-baas-provider/

http://waracle.net/how-to-choose-the-right-backend-as-a-service-baas-platform/

Why Should Every Business Need An API And An App?

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

Importance of APIs and mobile apps for business

 

On average, 6 out of every 10 listings on eBay are done via their APIs. On microblogging site Twitter, close to 15 billion APIs are called everyday. We are well and truly in the midst of a booming API economy – with more than 15000 APIs being accessible on ProgrammableWeb (by May 2016). These APIs, or application programming interfaces, are, in essence, methods or tools with which coders can interact with their software applications. These have to be called whenever data has to be accessed from any application. In what follows, we will discuss the importance of APIs and mobile applications for businesses:

Consistency across versions

business apps need to provide uniform user-experience Mobile apps for business need to be customized for multiple versions – iOS and Android primarily, and maybe even for smartwatches and smart TVs). APIs help in bringing uniformity to the manner in which data is sent to and received from different versions of such applications. This, in turn, gives a consistent experience for end users. The ‘data loop’ of business apps are provided with an extra layer of security as well. As a result, app maintenance becomes a lot easier too.

Greater visibility to prospective clients

APIs ensure higher business visibility

 According to a recent Flurry report, app-interactions make up 86% of the total ‘mobile time’ of smartphone users in the United States. In comparison, usage of the mobile browser constitutes a measly 14% of the time. Across the globe, nearly 3 and a half hours are spent by people every day on accessing mobile applications. Having a strong presence in the mobile app stores, hence, can be the ticket for any business for becoming more visible to customers. A lot of client-interactions with businesses happen on the go, and creating a fast, user-friendly, updated mobile application is an absolute must for that.

Importance of APIs for making apps

Open APIs are used to make business applications Open APIs are often used by both Android and iPhone app developers, while creating custom business software and applications. Data is pulled from these open APIs, in a manner that makes both the app (in particular) and the business workflow (in general) more neat and streamlined. While working on a business app, APIs are extremely important for developers.

Getting more from competitors and customers

APIs help businesses convert competitors into partners

 APIs can, when properly used, help a business generate more value from both its rivals as well as its customers. For instance, if APIs are not extensively used by firms in any particular domain, a particular company can grab first-mover’s advantage by applying resources and data-driven services on the products/services of competitors. This can, in turn, even convert these competitors into collaborators. Also, APIs open up the opportunity for customers to create certain new custom tools and solutions. With increased reach, these solutions help businesses generate more value without having to shore up investment levels.

Facilitating prompt, specific actions

With APIs, buinesses allow customers to take prompt, custom actions The main reason why every business needs an API is that the latter helps customers receive information on a real-time basis (through mobile apps) and take quick, specific, focused actions on its basis. Put in another way, APIs make it easier than ever for the entire audience of a business (or a cross-section of it) to interact with information in a more prompt and efficient manner. API-driven development is already fairly popular in the private sector, while the public sector is gradually moving towards it too.

Business automation

APIs help to automate routine business tasks Using APIs help businesses cut down on total man-hours spent on any particular task. This becomes possible thanks to the seamless business automation solutions that application programming interfaces provide. Right from sending email messages to a customer as soon as (s)he makes a purchase from your store, to sending social media messages and adding calendar events – practically all routine tasks can be automated with APIs. This frees up a large volume of man-hours, which can be put to other productive uses.

Establishing a personal connection

With APIs, marketing efforts can be more personalized and focused This is one of the main things that make mobile business apps stand out from other conventional advertising channels. Be it hoardings or billboards or newspaper ads or even banner ads on websites – all of these forms of communication are ‘one-to-many’ – i.e., they are posted by one source, are impersonal, and are meant to grab as many eyeballs as possible. In contrast, advertising and other marketing activities through mobile applications is a lot more personal (i.e., ‘one-to-one’). They give a face to a company, establish a brand personality, and go a long way in building customer loyalty. After all, there is certainly a ‘wow’ factor when a company wishes you on a special occasion personally, through its iOS/Android app!

Fostering innovative practices

Business innovations are facilitated by APIs and apps Modern-day businesses need to be dynamic in their approach, to constantly evolve and innovate. Jeff Bezos, the Amazon CEO, had identified the importance of APIs and is regarded as a pioneer in this regard – for it was he who had decreed that all software interactions in his company would take place through APIs from 2004 – a move that had held Amazon Inc. in good stead in the long-run. Companies, irrespective of their field of operations, have to come up with new, client-focused innovations and tools regularly, and APIs are of great help for that.

Importance in e-commerce portals

APIs are useful in ecommerce portals

 On online shopping portals like eBay, it is well nigh impossible to manually implement all the functionality on the numerous product pages (the time and resources required for doing so would be prohibitively high). Instead, the common practice is to customize ‘best-of-breed’ software, and implement them in online shopping sites. From prices and SKU inventory, to images and social integration – the API system handles all the information to be displayed. The catalog management system, the social integration tabs, the recommendations engine, and even the actual e-commerce platform (the ‘Add to Cart’ call-to-action) can all be smoothly integrated by API calls.

Direct, dynamic marketing tools

APIs help in direct marketing Open APIs are used for making business applications, and the latter serve as extremely effective direct marketing tools, confirm mobile app entrepreneurs from across the world. All types of relevant purchase information (price, models, shipping information, etc.) can be accessed directly from the app. Businesses can send along information on special deals, offers and loyalty programs directly through the app. Researches have shown that customer-engagement levels jump by about 20% when a business has its very own mobile app.

APIs as final products

APIs can generate revenue as final products Obviously not for every company out there – but for select large businesses, the APIs themselves can be their final products or core offerings. The buyers would be third-party mobile application developers. In this way, APIs can generate their own revenue generation systems, as well as establish a core infrastructure in companies. Over time, such ‘pure play’ API companies can develop a strong business ecosystem.


Note:
Sendgrid and Twilio are two examples of such ‘pure play’ API companies.

Creating service integrations and custom automated reports

With APIs, business can generate custom reports

      APIs let businesses use cloud services in a smarter way than ever before. Multiple services (for instance, Google Analytics, Google AdWords and Google Webmaster Tools) can be integrated by professionals by calling suitable APIs. What’s more, custom dashboards can also be created, so that companies can view and use only the most relevant data – all neatly organized at one place. Information from the integrated services can be used to create custom automated reports as well.

It has been projected that, over 50% of all B2B interactions will take place via web APIs, by the end of 2017. From the list of Fortune 1000 companies, 3 out of every 4 are expected to to provide public web APIs. There are a couple of concerns associated with API usage to be pondered over – namely, the increased operating expenses and the probable security threats. However, there is no way of arguing that the advantages of APIs and mobile apps for business are considerable…and they can indeed take professional organizations to the next level.

Objective C vs Swift: Which Is The Better Language For iOS Developers?

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

In a Stack Overflow 2016 survey, Apple’s Swift programming language came in second in the list of ‘most loved programming languages’ (behind Rust). Objective-C – for so long the go-to language for iOS app developers – was nowhere on the list, and in fact, it was mentioned among the ‘most dreaded languages’ this year. The balance of power from Objective-C to Swift is further made evident by results from the TIOBE Index. Swift had lied below Objective-C (15th and 14th places respectively) in November 2015, but had overtaken Obj-C by the first quarter of 2016. According to predictions by mobile app entrepreneurs, Swift should rank among the top coding languages by the end of the year, while Objective-C might just drop out of the top-20 list. Over here, we have done a comprehensive Objective C vs Swift comparison, and tried to find the reasons for the burgeoning popularity of the latter:

  1. Volume of coding required – Swift wins hands down on this count. Not only is the amount of coding required less in Swift, but the entire code is a lot simpler as well. Instead of using multiple strings for passing repetitive information (as needed in Objective-C), app developers can easily use the ‘+’ string operator for combining both strings and characters. Since string interpolation is supported in Swift, coders do not have to memorize the used string tokens either. In Obj.-C, any mistake with a string token can cause an app to crash. The inline support for data manipulation is also an advantage of Swift.
  2. Dynamic vs Static libraries – Prior to the arrival of Swift and iOS 8, Apple had never provided support for dynamic libraries on the iOS platform. Objective-C developers had to work with static libraries, which were updated only at the time of platform update releases. Swift has changed the game here, and those who make apps can now use blocks of dynamic code in their applications. That way, apps created with a certain version of Swift can be linked with future updates of the language. Obj-C lacks this dynamism.
  3. Syntax simplicity and stability – Let’s admit something at the very outset – Objective-C is not a particularly easy language to learn for newbies. The syntax is elaborate, and the same thing can be written in Swift in a shorter, crisper way. However, it also has to be kept in mind that Obj-C, by virtue of being an established language, has a stable syntax, while that of Swift is still evolving. There have also been reports about the frequent crashes of the Swift 2.1 compiler. Swift 3.0 Preview 2 is already out, and the upgrade should sort out the syntax stability issue.

Note: C and Objective-C codes can be seamlessly used in the Swift environment. The reverse, however, is not possible. This an important point in favour of the ‘older’ language.

  1. Level of interactivity – The arrival of Swift Playgrounds is one of the biggest reasons behind its rapidly rising popularity among iPhone app developers worldwide. With Playgrounds, coders can test their programs dynamically and on-the-go, instead of having to compile the entire app code (which can often be messy). Swift allows developers to interact with their codes in a much more effective manner than Objective-C ever did. For custom views of codes as well, the Swift Playgrounds are really useful.
  2. Swift is ‘swifter’ – Experts from the domain of mobile app development confirm that Swift is comparable to C++ for Mandelbrot as well as FFT algorithms. The code performance of Swift witnessed a big jump since the release of Swift 1.2 and Xcode 6.3. The main reason for the better speeds of Swift is the absence of the general legacy C conventions (which bog down the Obj-C language somewhat). Apple has clearly made an effort to improve app logic with Swift, and the results are for all to see. The API legacy in Objective-C makes it a significantly slower language.
  3. Platform portability – Swift is a much more useful coding language for cross-platform app developers than Objective-C. It went open source in December 2015, and has since started to be used on the Linux platform. Reports of Swift is becoming available to Android app developers are also doing the rounds (a ‘Port to Android’ option is already present in the Swift repository master branch). Although the prime focus of Swift is, obviously, iOS, watchOS, tvOS and mac OS X, it is not an Apple-only locked language like Objective-C.
  4. Readability – We have already mentioned that coding syntax in Swift is a lot less complex that what it is in Objective-C. Let’s examine this in a little more detail here. For starters, iOS developers do not have to use brackets/parenthesis within if-else statements, or be wary of missing semicolons at the end of each line. The comma-separated parameters used to call methods and functions in Swift is also more convenient than maze of brackets that developers have to deal with while calling methods in Obj-C. In Swift, new keywords do not have to be declared with a preceding ‘@’ either. In all, a Swift program is more easily understandable for non-Apple programmers (Java coders, for instance) than Objective C.
  5. Size of app – This is a point where Objective-C has the edge, at least for the time being. iOS applications created with Swift 1.x or 2.x need to have the runtime libraries included in their underlying codes. This, in turn, makes the average Swift app about 15-20 MB larger than a similar Objective C application. However, it is expected that APIs will be stabilized in Swift 3.0, the dependence on runtime libraries will be reduced, and applications created with Swift will no longer be larger than their Obj-C counterparts.
  6. That thing about pointers – Pointer handling can be a potentially troublesome task for app makers working with Objective-C, even if it does not seem apparent at first. A ‘no-op’, which is generated when a method with a nil pointer value is called, can throw up a large number of bugs. Identifying and resolving them during the final mobile app testing phase can be a frustrating experience and a waste of time. Swift, on the other hand, uses ‘Optional’ types, which generates compiler error as and when any bug is detected in the nil optional values. These runtime crashes in Swift makes the overall code behaviour much more predictable – a big improvement over the uncertain pointer logic of Objective C.
  7. Support from IBM. Support from Apple – Craig Federighi has already hailed Swift as the ‘next major programming language’. While there is no chance of Obj-C being phased out anytime soon, mobile app developers would agree that all the new updates in its frameworks are being made for a single main purpose – to make importing to Swift easier. In collaboration with Apple, IBM has come forward to create Swift sandboxes, conduct app experiments, and develop/deploy via IBM Cloud. All eyes are on the development of the Swift language, and Objective-C is receding to a supporting role in the background.
  8. Code maintenance – Swift allows Apple app developers to move away from the cumbersome two-file requirement of Objective-C (yet another problem cropping up from C legacy). The implementation files (.m) and the header files (.h) of Obj-C are included in a single (.swift) file in the newer language. The incremental builds in Swift, allowed by the smart LLVM compiler, can automatically detect dependencies, doing away with the need for performing repetitive tasks and maintaining two code files for each class. In a long app code, this is indeed a big factor.
  9. More unified language – That would be, once again, Swift. While both Obj-C and Swift supports Automatic Reference Counting (ARC) for memory management – the support is a lot more holistic for the latter language. For example, while working with any low-level API, or even Core Graphics, iOS developers have to manually manage the memory. This can lead to significant memory leaks (with ARC in Obj.-C being limited to only Cocoa APIs). Swift implements ARC support for both procedural and object-oriented coding, while Objective-C only supports the latter.

Note: Neither Objective-C nor Swift uses any Garbage Collector (like in Java) for cleaning unused memory.

13. Developing for the newer platforms – Let’s round off our Objective C vs Swift debate with a question: which one to use for making iOS applications? Well, for apps that are meant to be compatible with iOS 7 and later versions only, Swift should be the go-to language. As already mentioned, recent updates to Objective-C have mostly been for making it more compatible with Swift. The best reference materials are all available for versions earlier than iOS 7 – and there is a definite chance that such tutorials are no longer completely usable for apps made exclusively for iOS 8, iOS 9 platforms. Yes, Objective-C still has to be learnt by developers – but looking forward, Swift will be the more used language by far.

Swift is easily a less error-prone language for iPhone app makers than Objective-C. The need for manual code synchronization is minimal, lesser lines of code have to be written, and code maintenance is much easier too. Objective-C still has to be learnt by new developers (preferably, before learning Swift) – but Swift has indeed emerged as the more convenient language between the two.

 

 

Top 12 Acquisitions By Apple

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

The news of Apple acquiring Gliimpse – a health startup founded by two Indian entrepreneurs – is making all the headlines at present. The move is a direct riposte to the recent acquisition of Genee by Microsoft Corporation. With Gliimpse, Apple seems all set to incorporate artificial intelligence (AI) and machine learning for compiling and sharing important medical and health information in a better, more efficient way. Over the years, Apple has made many other such interesting acquisitions, and in today’s discussion, we highlight some of them:

  1. NeXT (1997) – A landmark acquisition in the history of Apple Inc – one that marked the return of Steve Jobs to the company, and triggered the recovery of the latter. Founded in 1985 by Jobs himself, NeXT was into making making computers. It launched the NeXTSTEP operating system (object-oriented) – which later went on to become the foundation for the World Wide Web, as well as the OS X and iOS platforms. Apple shelled out a cool $429 million to acquire NeXT and get Jobs back as the CEO of what was then a struggling company.
  2. PowerSchool (2001) – This web-based education technology platform was bought by Apple on the final day of 2001, for more than $63 million in Apple Stock. PowerSchool served as a powerful internet-powered data management tool for teachers and students. It was sold off to Pearson in 2006, and last year, it was acquired by BlackBoard. By 2015 estimates, PowerSchool is used in 75+ countries across the globe, and generates close to $100 million revenue.
  3. Burstly (2014)Burstly were the makers of the popular app testing tool TestFlight, and it was snapped up by the Cupertino tech giant in February 2001. The service allows iOS app developers to test their applications at early stages, before making submissions to the Apple App Store. Not surprisingly, TestFlight’s support for Android was discontinued soon after the takeover. The FlightPath analytics platform was also discontinued. To date, TestFlight remains the go-to app testing tool for iPhone developers worldwide.
  4. Siri (2010) – If the Siri mobile digital assistant had not been acquired by Apple in the spring of 2010, we would probably seen it arrive on Android and Blackberry phones as well. As things turned out though, the acquisition did take place, for a sum upwards of $200 million. Siri debuted on 2011’s iPhone 4S, and has been a key part of the iOS platform ever since. It is also present on watchOS and tvOS. This fall, Siri will be arriving on the latest iteration of the OS X platform – macOS Sierra. The intelligent personal mobile assistant has limited support for smart cars via CarPlay too.
  5. Spotsetter (2014) – Johnny Lee and Stephen Tse (a former Google maps designer) co-founded Spotsetter, a social map application that provides intelligent recommendations on nearby places – based on reviews and feedback given by friends. The function of Spotsetter is somewhat similar to that of Foursquare, but Apple still went ahead with the acquisition. Information is taken from personal Twitter, Instagram and Facebook profiles, to generate place recommendations. This acquisition led to rumours among many software and mobile app developers that Apple Maps (not a particularly accurate service) was due for a redesign.
  6. Anobit (2012) – With an eye to upgrade the NAND flash memory chips, Apple acquired Anobit Technologies (an Israeli startup tech company) in 2012, for an approximate sum of $390-$400 million. Since the chips are used in iPhones, iPods as well as iPads, and Apple has been struggling in the flash memory game for some time – the acquisition of Anobit made complete sense. When the company did buy Anobit, it received another big advantage – with 160+ Anobit engineers joining the team of developers at Apple.
  7. Beats Music (2014) – When Apple forked out $3 billion to purchase Beats Music, software analysts and experts from the field of iOS app development expected the company to emerge as a serious challenger to Spotify – the worldwide leader in the music-streaming market. Apple Music was launched soon after the Beats acquisition – and that, interestingly, limited the user-base of Beats Music. In November 2015, Apple finally shut down Beats Music, primarily due to the negligible growth in the user base. The deal that made Dr.Dre the most recognizable name in hip-hop music did not quite have the expected after-effects.
  8. Nothing Real (2002) – $15 million was the value of the acquisition deal of Apple for Nothing Real - a top post-production and visual effects software development company. The takeover also included Nothing Real’s well-reviewed proprietary software, Shake. While Apple did use Shake for the OS X platform following the acquisition, it steadily decreased the price of the software over the years. Shake 4.1 (2006), in fact, had zero maintenance fee. Things came to a head when Apple finally discontinued Shake in July 2009.

Note: Apple acquired Emagic, a noted music software production company, in 2002 as well – soon after the deal with Nothing Real.

  1. Swell (2014) – ‘When you can’t cope with a competitor, buy it’ – that seemed to be the rationale behind Apple’s acquisition of Swell – a mobile radio application. It offered high-quality music streaming services to iPhone users, with the content being customized from USA and Canada. Interestingly, the Swell app managed to garner much higher ratings and better reviews than Apple’s very own Podcasts application. By mutual agreement, the Swell Radio app was removed from the App Store after the acquisition went through.
  2. AuthenTec (2012) – This one ranks third in the list of most valuable acquisitions made by Apple ever (after NeXT and Anobit). AuthenTec was bought at a time when concerns of the security of Apple’s devices were rising, among general users and those who make iOS apps alike. The acquired company was founded in 1998, and had made a name for itself in building robust fingerprint sensors and other security add-ons for mobile devices. The deal went through for a whopping $356 million, and was probably a precursor to the now-integral NFC technology in the Apple ecosystem.
  3. FoundationDB (2015)FoundationDB was a NoSQL database startup based in Virginia. It used to make cheap, high-speed and completely secure databases that could be seamlessly used in various web applications. The prompt data access feature of FoundationDB, in particular, made the tool extremely useful for many of Apple’s online services, like iTunes and iBooks. Following the acquisition, it was officially announced that FoundationDB’s software would no longer be available for download. Instead, its capabilities were used to improve the quality of iCloud services.

Note: In 2013, Apple had snapped up Acunu a data analytics and database setup built on Cassandra (yet another NoSql database).

        12. C3 Technologies (2011) – Apple followed up its relatively low-key acquisition of Placebase and Poly9 (3D mapping agencies) with the takeover of C3 Technologies in 2011. The company was based in Sweden, and after the acquisition, the division was renamed ‘Sputnik’. The deal was valued at $267 million, and Apple clearly had plans to take advantage of the 3D mapping technology to upgrade iOS maps and gradually move away from the Google Maps service.

Prss, a digital magazine publishing startup, was bought by Apple in the second half of 2014. Chomp, an app search engine, was also acquired in 2014 – while the Ottocat search engine was taken over a year earlier. In the last 12 months or so, Apple has acquired companies from various domains – from Mapsense (mapping visualization), LegbaCore (firmware security) and Emotient (gesture recognition), to VocalIQ (speech technology) and Turi (machine learning). The Cupertino company does not make as many acquisitions as Google – but there is no dearth of interesting Apple takeovers over the years.

 

 

Mobile App Developers Worldwide: Key Stats & Figures

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

The 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?

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

Apple 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

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

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?

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

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.