Thursday, 2 November 2017

Top 7 Programming Languages for Mobile App Development

With the release of the iPhone X, smartphones continue to be one of the hottest and most trending topics online. We all have them, we all love them, and we all think we can come up with the latest and greatest mobile apps that will take the world by storm. The problem is unless we’re familiar with one, two, or a few programming languages, we’re left without a paddle.

One avenue of recourse is to team up with a developer or digital agency with mobile app development skills, but that might come with a hefty price tag. Instead, take a proactive approach; learn some programming languages and start coding some mobile apps. The hard part of learning is up to you, but here’s your first step: choosing from these top 7 programming languages ripe for mobile app development.

1: Swift

Swift is a powerful and intuitive programming language for macOS, iOS, watchOS, and tvOS. Released by Apple specifically for iOS and supporting systems, this programming language is a must if you plan to develop mobile apps for Apple users. It’s quite intuitive and easy to learn, and its popularity has been steadily increasing in recent years. If you want a language that makes coding fun, you can’t go wrong with Swift.

2: Objective-C

Before Swift, there was Objective-C, Apple’s language of choice for years. It’s one of the most popular programming languages for mobile app development, so consider learning it and Swift congruently for a well-rounded approach. It’s simple to use, pretty robust and scalable, and as it’s a C-language superset, it has a decent amount of functions geared toward graphics and display functions.

3: C++

C++ (pronounced C plus plus) is the language for you if you’re planning on entering the Android and Windows mobile app landscape. It’s one of the most powerful programming languages and is also very good for developing cross-platform mobile apps. Speaking of, C++ works with Objective-C libraries in iOS app development, so definitely consider adding it to your repertoire. No matter what type of app you’re thinking of, C++ can definitely help you out.

4: Java

With 5 million students studying it, 10 million developers using it, and 15 billion devices running on it, Java is the language of possibilities. It’s an object-oriented language that’s very easy to learn and use, which is probably why many introductory computer science courses use it as a starter language. As such, it’s also one of the most popular programming languages in the world (overall), especially for Android mobile app development. Not to say that you can’t use it for cross-platform app development — it’s actually one of the most suited languages for app development in general.

5: Python

Python is a programming language that lets you work quickly and integrate systems more effectively. It’s a high-level language perfect for a variety of projects, and one of its most appealing features is that it is excellent at readability. Because of its syntax, Python is also very good at writing fast code, as it helps programmers achieve results in fewer steps than other languages like Java or C++.

6: C#

Just like Swift is Apple’s brainchild, C# is Microsoft’s. As such, if you want to develop a Windows phone app, definitely consider C#. It’s a very versatile language and, with support from Xamarin and Unity, you can build everything from server and enterprise apps to games.

7: Javascript + HTML5

HTML5 is the fifth version of HTML, and while not a mobile app development language in and of itself, by pairing it with Javascript, it most definitely becomes one (Javascript can also be paired with CSS and AJAX for mobile apps). Therefore, it’s good for hybrid app developers who are not used to the mobile app landscape.

Final Thoughts

Take your pick of one or all of these languages — you can’t go wrong with either. Here they are all over again:
1. Swift
2. Objective-C
3. C++
4. Java
5. Python
6. C#
7. Javascript + HTML5

Good luck learning and coding!

Tuesday, 3 October 2017

10 Tips to Increase Mobile App Engagement

There are about 2.8M mobile apps in the Google Play Store, 2.2M in the Apple App Store, 669K in the Windows Store, and 600K in the Amazon App Store. In other words, the mobile app landscape is extremely competitive and developers are popping up left and right with new apps every day. For example, one year ago there were around 12 million people trying their hand in mobile application development, and about 149.3 billion applications were downloaded in that same year.

The point is that there are a lot of mobile apps out there, and if you’re a developer who wants to increase mobile app engagement, you’ll have a hard time competing with everyone else. After all, the last thing you want is for your app to finally get downloaded only to collect digital dust as it sits on your user’s phone day in and day out.

And now we arrive at the gist of our conversation today: 10 tips that’ll help you increase mobile app engagement.

1: Create a Great First Impression

Just like any other relationship, your mobile app has to make a good first impression from the start. If people don’t like it from the get-go, they’ll delete it right then and there and out goes another user. That’s not what you want. You want to create an easy onboarding experience that’s marked by few, simple steps to get started, a splash screen that keeps users entertained as the app loads, and most importantly, a fast interface.

2: Leverage Analytics

One of the more important tips on this list, leverage your app’s analytics to get a better understanding of who your users are. By doing so, you’ll gain valuable insights into user behavior; you’ll know what’s working and what your users are responding to. From here, you can optimize your app and create an experience that everyone — or at least a majority — will like.

3: Use Push Notifications

More specific than other tips on this list for engagement, use push notifications to keep your app on your user’s mind. As long as your notifications serve a purpose and are beneficial, and aren’t generic ones akin to junk mail, your app will be a constant presence in your user’s mind, thereby increasing engagement. For example, reach out with personalized content that’ll make them feel wanted.

4: Utilize Location-Based Content

Location-specific notifications go a long way in enhancing engagement with your app because they’re contextual. By sending real-time information as a user enters or exits a geofence, they’ll be prompted to take an action through your app in that very moment. Like push notifications, make sure that they’ll benefit from them, otherwise they’ll get annoyed and may delete the app.

5: Offer Personalization

We’re all different and we’re all particular about what we like. What Jack likes may not be liked by Jill, and what Bonnie likes may not be liked by Clyde. By offering in-app personalization, you’ll enhance user experience (UX), guaranteeing that engagement with your app will increase as well.

6: Gamify Your App with Incentives

Everyone likes games and everyone likes rewards. Want to increase user engagement with your app? Gamify it and offer incentives like a loyalty program that’ll keep them coming back. For example, offering daily rewards that compound as users check in on consecutive days will guarantee that your users become daily users. If you have a game, offer in-game tokens that give them bonuses. If you have an eCommerce app, offer them promo codes or discounts. As long as you make it worthwhile, people will keep coming back.

7: Optimize Battery Consumption

A very important task in the mobile application development stage, optimize for battery consumption. Unless your app is a game, don’t make it too graphic intensive. Not only will this drastically increase battery usage, but it’ll also slow down the app, effectively lowering UX.

8: Integrate Social Media

Practically everyone’s on social media. Whether a youngster or a retiree, chances are good that they’ll have an account in one of the many social media platforms out there. If you offer social media integration, you’ll give your users a chance to share any information they want their friends and followers. You’ll essentially open an avenue for them to share their experiences, which will function to attract even more people to your app.

9: Offer a Free Trial

Is your mobile app a paid app? If so, consider offering a free trial that’ll give them a taste before they buy. The thing is, people may not be hooked from your app’s description alone and they’ll be hard-pressed to purchase it without knowing what’s in store for them. By offering a trial period, you’ll metaphorically dangle a carrot before them, increasing the chances of a download. And because we’re human, we tend to like things more if we have to pay for them.

10: Listen to Your Users

And finally, listen to what your users have to say. More often than not, someone writes a review for one of two reasons: if they had a good experience or not. If your users actually take the time out of their busy day to write a review for your app, you can bet they want to be heard. Listen to them and see what’s working and what’s not. Once you have this information, you can make any updates and create a better experience for everyone.

Final Thoughts

There are about 2.32 billion smartphone owners today and mobile apps for just about everything. We have some for eCommerce, others for social media, and even some that tell us when a planet is in retrograde. And yet, with all these apps, it’s still very difficult to increase mobile app engagement with your users. Do yourself a favor and use the following tips to increase mobile app engagement:
1. Create a great first impression that won’t turn users away
2. Use analytics to get to know your users better
3. Use push notifications to stay in your user’s mind
4. Utilize location-based content to stay contextual
5. Offer personalization to keep things interesting
6. Gamify your app with incentives to keep users coming back
7. Optimize battery consumption and keep your users happy
8. Integrate social media to keep current
9. Offer a free trial to get users hooked
10. Listen to your users through their reviews

Best of luck with your mobile application development!

Tuesday, 5 September 2017

The Future of Mobile Apps

The Current Mobile Application Scene

149.3 billion mobile apps were downloaded in 2016 and, by 2020, they’re forecasted to generate about $189 billion in revenue via app stores and in-app advertising. In other words, the mobile application industry is booming and, if you want to get a piece of the cake, you better jump into the mobile application development scene.

Rewinding a bit, the rise of mobile apps is due to the huge explosion in popularity of the smartphone. Whereas they were a luxury reserved for the elite in the early 2000s, now that they’re cheaper and much more affordable they’ve become a necessity for pretty much everyone, from top execs and CEOs to primary school teachers and entry-level workers.

When you boil it down, it comes to utility. Why buy a phone and a computer when you can have both in the same device? Not only will it usually be the cheaper option, but its size greatly accentuates its utility, allowing you to have a literal computer with you at all times. This is especially true when you add mobile Internet into the equation, which allows many apps to be used anywhere — as long as there’s a signal.

The Future of Mobile Apps

When discussing mobile Internet, the ubiquitous Cloud comes to mind, which allows developers to deploy apps anywhere and end-users to similarly sync and access their data anywhere. Best of all, the Cloud is behind many of the different aspects we’ll soon see that are influencing the future of mobile apps.


First up comes utility and the benefits that mobile apps provide. Aggregator apps, for example, are greatly increasing in popularity because of their ability to pull content from a variety of online sources, compile it in one interface, and present it to users. Not only does this save time, but also money when you consider that time is money. More importantly though, these types of apps eliminate the need to download multiple applications, as one can have the function of many.

We’re also seeing the rise of the mobile wallet, or the ability to store important data, like credit card information, on your phone. Essentially, this means that you have no worries if you forget your wallet at home. Most shops and restaurants accept Apple Pay or a similar form of payment, and if you want to order food or make a purchase online, all you need to do is select your desired credit/debit card and use it.

One final point we’ll touch on today regarding utility, improvements in mobile CPUs and graphics, paired with an Internet connection, have turned mobile devices into gaming systems that can fit in your bag. Similarly, these features that allow users to play games also allow them to take pictures with quality that rivals many high-end cameras.

The Internet of Things 

Next comes the Internet of Things (IoT), or the connectivity of physical objects through WiFi and the Internet. With its ability to streamline our lives with virtual control over our homes and devices has seen a drastic increase in popularity in recent years, it’s a given that the IoT has a place in the future of mobile apps.



Last but not least comes revenue. Monetization through in-app ads and in-app purchases are incentivising many people to jump into the app game, and further, developer kits and low-code/no-code platforms are making it easier for would-be developers to create apps. In essence, this allows people with little or no coding experience to develop apps that they would have otherwise been unable to.

Final Thoughts and TL;DR

A big factor contributing to the growing popularity of mobile apps is that many aren’t tied down to a single platform anymore. As a matter of fact, we’re seeing more and more cross-platform applications that work on all mobile operating systems. Adding to this is the ability to start a journey on one device and end it on a completely different one, all within the same mobile application.
For example, imagine that you want to buy a television. You start your purchase journey on your phone as you browse the many options out there, then take it to your laptop later on when you actually decide which to buy, and finally, when you receive a notification that your TV has shipped on your smartwatch, your journey is finished.

In case your schedule is tightly packed and you don’t have time for the full piece, here’s the tl;dr version:

We’re seeing a huge increase in the popularity of both smartphones and mobile apps, with the former bolstering the latter
The Cloud and its benefits is also spurring their popularity further
Mobile apps offer huge benefits in terms of utility
One of the biggest incentives to enter mobile application development is the monetization of applications
Developer kits and low-code/no-code platforms are making it easier to create apps
Good luck navigating through all the app stores out there!

Tuesday, 8 August 2017

How Mobile App Development is Changing the IT Job Landscape

As our tendency to reach into our pockets for our phones increases, so does the need to develop the mobile apps that are powering our obsession. The thing is, as our mobile usage grows, ripples are created that effect everything they touch. For example, marketers now have to account for mobile SEO when they develop websites and create content, business owners have to make sure that their websites are mobile-friendly and accessible to all users, and the crux of the matter today, mobile app developers are facing an evolving workplace.

The Changing IT Job Landscape

On the face of it, it seems like all is good for developers. After all, more demand for mobile apps means more demand for the people creating the apps, right? Yes and no; yes, there’s more demand for mobile application development, but this isn’t necessarily creating more developer jobs.

When asked on the changing developer landscape, John Carione, Product and Corporate Marketing Leader at QuickBase Inc., said that:

In 2017, we'll see hiring managers redefine the term developers and developer job roles, and start thinking outside the box to help fill their organizations' development needs. This will be fueled by the continuing shortage of skilled developers, an increase in popularity of tools that allow for the development of software with little to no code and greater familiarity with these tools among job candidates.”

Let’s focus on the last part, the ‘increase in popularity of tools that allow for the development of software with little to no code and greater familiarity with these tools among job candidates.’ These tools fall under no-code/low-code (NCLC) platforms, which are mobile application development platforms that let anyone with minimal coding experience develop apps.


These NCLC platforms are, in turn, giving rise to a new class of developers, a class exemplified by the ‘citizen developer.’ These developers are assisted by tools that make the mobile application development process somewhat less technical and more visual. Think of it as a drag and drop or lego building process in which the developer builds up UI (user interface) components to complete the application.

Artificial Intelligence and Machine Learning


Similar to no-code/low-code’s impact, artificial intelligence is also making waves in the IT job landscape. Take DeepCoder, for instance. Researchers at the University of Cambridge and Microsoft teamed up to create a system called DeepCoder that uses machine learning and program synthesis to write its own code. Essentially, DeepCoder uses lines of code from existing software to create brand new programs.

So far DeepCoder can only write a couple of lines of code, but the implication for the future is that anyone can code their own programs by giving DeepCoder an outline of what they want, and then letting it do all the heavy-lifting.

The Future

Talk of NCLC and AI makes it seem like developers have an expiration date. This is not so. Coding, of course, is still vital, but now we have tools that are opening the doors to people with little or no formal training to do what previously only developers could do.
What is actually happening is an amalgamation in which the less coding-intensive work is done by developers with less experience, and the more intensive and challenging projects are handled by those that can take them on. In a similar vein, so called citizen developers can start the project and build its foundation, and then hand the reins to higher-level developers.

Final Thoughts

With the changing IT job landscape, seasoned and citizen developers are benefiting with tools that are making their jobs easier, and consumers are benefiting from an influx of new mobile apps. More than more apps, these automation and AI tools are opening the avenue for better apps that place the focus on UI.

Tuesday, 4 July 2017

7 Tips to Improve Your Mobile App’s Security


As smartphones continue to engrain and integrate themselves into our lives, we’ve come to depend on them more and more as information strongholds.
When we want to make an appointment, we schedule it on our phone.
When we meet someone new, we store their contact information on our phone.
When we want to get in touch with someone, we message them with our phone.
When we want to make eCommerce easier, we store our banking information (credit/debit card information) on our phone.
When we are always on the go, we store our business data on our phone.

Security for Mobile Apps: Why You Need It

Our point today being that our smartphones are a one-stop-shop for all of our information. The problem with this is that we tend to indiscriminately download apps from both authorized app stores such as Apple App Store, Google Play and Amazon Appstore, and unauthorized app stores that have no security requirements.

This is a problem because rogue apps from unauthorized stores may contain malware that steals your information. This problem is furthered by the fact that even apps from authorized app stores can also fall prey to those seeking our data.

Before going forward, it’s important to understand that there are millions of apps available for download, and the developers behind them range in expertise and security concerns. While some may place great value in privacy and security, others may simply want to create apps and don’t think twice about security. This is often seen as a trade-off in the app’s security and the service it provides.
Even worse, some developers link third-party programs like maps or the camera without fully understanding how they’re using their users’ data or whether there may be issues with security. To bypass and alleviate these issues, consider employing the following tips to improve your mobile app’s security.

1: Use Threat Modeling Analysis

Threat modeling is “the process of identifying potential threats and enacting countermeasures to prevent or mitigate them.” Understandably this is is very important, as it offers you the opportunity to analyze your app and see where it’s most vulnerable. The problem lies in the act itself. Many are not familiar with it, others mistakenly do it incorrectly, and yet some don’t even bother because of the intricacies involved.

The thing is, if your app has a security issue and users are not using or downloading it because of said issue, you’re still going to have to go ‘under the hood’ and fix the problem.  The difference is that in one scenario you could have put in the effort in the beginning of the mobile application development process and prevented any problem down the line, and in the other you still have to put in the effort, but this time you’ve also added downtime to your app while you fix it.

2: Implement a Password or Another Authentication Process

Authentication processes are vital for anything that stores sensitive information. Thankfully for you and I, there are a lot of ways you can go to authenticate users. There’s the basic, a password that serves as first level security, and more protective measures like mobile phone authentication at login. As a side note, phone authentication is a good measure for password resets, rather than using the standard ‘mother’s maiden name’ or ‘the name of your first pet’ questions that can be easily hacked.

3: Ask for Permission

As we covered earlier, mobile apps frequently link to third-party apps/programs to carry out specific tasks that they can’t on their own. For example, you may have a photo editing app that needs to link with your photo library or camera for images, or an eCommerce app that links with you virtual wallet. In these situations, those in which your app needs to integrate another app to perform a function, the user should always be asked for permission to connect. Just remember not to ask for more than they’ll be willing to give.

4: Keep Your App Updated with the Latest Operating Systems

It’s vital that your app is always up to date with the latest operating systems available for the platform it resides in (Android, iOS, etc.). Because these updates regularly include security patches that were found in the time period between then and the previous update, not updating regularly places your app at risk.

5: Use Static Analyzers

There’s no doubting that coding is tedious, and even a small error can result in the whole program crashing. Because of this, many security issues encountered by mobile apps are caused by careless errors that slipped through the cracks. To counter, consider performing a static code analysis to catch anything that you may have missed. If you’re unfamiliar, these static analyzers debug your code by examining it without executing it. In other words, you’re getting an overview of the code structure to make sure that everything is working well together.

6: After Static Analyzers, Perform a Code Audit

Static code analysis is excellent, but sometimes you have to go deeper. This is where a code audit comes into place. While code audits should actually be performed regularly to ensure continually smooth performance, opting for one to catch any bugs is a must. Keep in mind that code audits require more technical security knowledge than the average coder has, so hiring outside help can be useful if you’re not up for the task.

7: Test Your App in the Real World

Finally and when you’ve done with everything related to mobile application development and security, the only recourse left is to test your app in the real world. When it comes down to it, lab tests can do a lot, but they also have their limitations. These alternate ‘field tests’ are perfect for finding issues that your actual users may find because you’re using the app the way they would.
Final Thoughts

If there’s a single thing that you should take from this, it’s that security should be implemented early in the mobile application development process, not as an afterthought. A lot can go wrong from start to finish, and if you’re not vigilant every step of the way, your app can be targeted by those with nefarious intentions. For your benefit, here’s what we covered today and what you should be doing:

1. Implement a password or another authentication process
2. Ask for permission
3. Keep your app updated with the latest operating systems
4. Use static analyzers
5. After static analyzers, perform a code audit
6. Use thread modeling analysis
7. Test your app in the Real World

Best of luck and remember to stay secure!