Tuesday, 8 August 2017

How Mobile App Development is Changing the IT Job Landscape

source: http://www.techlofy.com
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

source: http://konwersatorium1-ms-pjwstk.blogspot.com

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

source: www.policetechnical.com

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

source: Toolbox.com
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!

Friday, 2 June 2017

5 Reasons Mcommerce is Important for Enterprises

                                                           Image Source: aumcore.com

Nowadays you can’t leave your home without seeing a smartphone somewhere. If one’s not in your own hand, you can bet that you’ll see one as you’re out and about; maybe with the person walking in front of you, the toddler sitting next to you, even with your Uber driver.
The fact is that we’re using mobile devices with such voracity that it seems impossible that smartphones were reserved for the elite a mere 10 years ago. As a matter of fact, mobile usage actually exceeded desktop usage a couple of years ago, and that gap has only widened since.

From Ecommerce to Mcommerce

The rise of mobile has been anything but subtle. Like a stone creating ripples on a pond, mobile usage affects everything it touches. For instance, the impact it’s had on business activities has prompted many enterprises to embark on mobile application development in hopes of snagging extra customers. To be exact, 80% of eCommerce retailers with at least $50 million in annual sales either currently offer or plan to offer mCommerce (mobile commerce) soon.
But what actually is mCommerce? As you might’ve guessed, it’s a subgroup of eCommerce that involves the use of smartphones and tablets (wireless handheld devices) for online shopping instead of desktops and laptops. That being said, why should enterprises adopt a mobile strategy revolving around mCommerce? Well, here are 5 reasons why.

1: More People Are on Mobile Devices Than Ever Before

Let’s use an analogy to illustrate this point. Imagine that you operate a food truck and have the option of parking in front of a busy construction site or next to a random road. Where would you park? If you’re like most people, you’d park in front of the construction site because there are more opportunities to make money there than next to a random road. The same goes for mobile versus normal eCommerce. The latter offers more business opportunities, so why not go with it?

2: Mobile-Friendly is Good for All, Mobile-Unfriendly is Bad for Business

                                                                 Image Source: aumcore.com

We already covered that more and more people are using mobile devices than ever before. Unfortunately, there are still a lot of eCommerce retailers that haven’t caught up with the times and still have unoptimized, mobile-unfriendly sites. Okay, but why is this bad? For many reasons, actually.

First and foremost, mobile-unfriendliness can hurt your bottom line and help your competition. No matter what you sell, if someone on a mobile device is on your site and can’t navigate properly, you can bet they’re clicking out and going to your competition. Even if they weren’t planning on making a purchase at that moment, the fact that they couldn’t properly view your products made them go somewhere else. And whenever they do get around to making the purchase, who do you think they’re going to buy from?

Second but still as important, not being optimized for mobile will negatively affect your normal site in search engine rankings. Google made it clear a while ago that they’re using mobile sites for indexing purposes. So if you’re not on mobile and your competition is they’ll benefit and rise through Google’s SERPs while you plummet into nonexistence.

3: Mobile Sales Are on the Rise

In 2014, mCommerce made up 11.6% of the $303 billion US eCommerce total, and estimates by Business Insider suggest that by 2020 it will reach $284 billion, or 45% of the total online market. Similar to more people flocking to mobile, if a metaphorical bigger slice of the pie is available through mobile devices, why wouldn’t you try and get your share? And as we’ll soon see, buying through mobile is so easy that all you need is a fingerprint.

4: Mobile Wallets and the Ease of Purchasing

My last mobile purchase consisted of tapping a button that read, “Finalize Purchase” and then pressing my thumb to my iPhone’s home button. That simple. Mobile wallets are making science fiction a reality. By storing card information on our phones, we can seamlessly pay for anything from a jacket online to a burger on the street. This purchasing option is not only easy, but also optimal for those who don’t have the time to complete the checkout by painstakingly typing a bunch of numbers.

                                                                   Image Source: macrumors.com

5: Mobile Helps Traditional Brick and Mortar Businesses Too

Being online is already a huge step up from sticking to a brick and mortar store because you’re opening up a secondary revenue channel. By virtue being online, you can bypass normal store hours and sell at any time. Mobile takes things to the next level and allows for purchases anytime, anywhere.

This alternative revenue source is helpful for enterprises of any size because it allows for sales without incurring the extra costs associated with having an in-person sales representative. In other words, you’re serving your audience on two separate fronts that combine for a multi-platform strategy.

Now or Later, the Choice is Yours

Apart from the vast mobile preference that most people show, there are also mobile-only demographics whose only means of accessing the Internet is through their phones. The fact of the matter is that if you’re not selling through mobile now, you will either have to start soon or end up closing shop.

If you’re still not convinced, take everything we’ve covered into consideration. More and more people are on mobile devices today than ever before, and with increased usage and the ease of shopping through a phone comes increased sales. Not only that, but mobile will also help your physical location (if you have one) and doing otherwise will actually help your competition.
Make the right choice and optimize your site, get in touch with mobile application development specialists, and of course, best of luck.

Monday, 1 May 2017

What You Need to Know About Developing an App in the Cloud

Cloud computing is quickly revolutionizing the enterprise with the many competitive advantages it offers, especially when dealing with mobile application development. From the risks and benefits to the actual development, here’s what you need to know to develop an app in the cloud.

Do I Need to Adopt Cloud Computing?

Before we go into specifics, let’s focus on what cloud computing actually is. The National Institute of Standards and Technology (NIST), from the US Department of Commerce, defines cloud computing as consisting of five characteristics, summarized below:

1. On-demand Self-service: consumers can unilaterally provision computing capabilities automatically, without requiring human interaction
2. Broad Network Access: computing capabilities are available over a network and can be accessed through standard mechanisms, such as mobile phones, tablets, laptops, etc.
3. Resource Pooling: the provider’s computing resources (e.g., storage, processing, memory and network bandwidth) are pooled to serve multiple consumers
4. Rapid Elasticity: computing capabilities can be scaled rapidly outward and inward, in some cases automatically, commensurated with demand
5. Measured Service: cloud systems automatically control and optimize resource use, which can be monitored, controlled and reported, providing transparency for both the provider and consumer

The topic in question now becomes, should you adopt cloud computing for your enterprise? In short, yes. As a matter of fact, estimates by the International Data Corporation (IDC) suggest that spending on public cloud computing will increase by 24.4% in 2017. Here’s why:

Benefits of Cloud Adoption

Developing and maintaining mobile apps in the cloud offers the advantages needed to survive and thrive in the competitive enterprise environment. Our focus being mobile applications, let’s start with mobility, and similarly, availability.
Because of its ubiquitous nature, information stored on the cloud can be accessed anywhere and at any time. This results in greatly increased productivity, as the limitations of time and space are eliminated and replaced with the ability for an enterprise’s employees to work even when not at work, as long as there’s an Internet connection.

                                                              Image Source: digitalunite.com

Also due to its ubiquitousness, the cloud offers the much needed flexibility to quickly respond to market changes and deploy and maintain mobile apps almost instantly. If a problem arises within your mobile apps, you can quickly asses the issue, make an update, and deploy them to all your employees, quickly and efficiently.

One final benefit we’ll discuss today is the scalability to adapt to any changes in demand, whether positive or negative. As an enterprise, one of your goals is to grow. As such, you want to access the resources you need, when you need them. And thanks to the cloud, you can do just that.

Risks of Cloud Adoption

We can’t discuss the benefits of cloud adoption without touching on the risks (even if small). Far and wide, the biggest and most expressed risk is security. Partly due to the lack of control over the physical infrastructure that houses the actual information on the cloud, security breaches are a real concern, especially when dealing with public cloud services.

A second risk posed by the cloud is unplanned downtime. The fact is that nothing is perfect, not even the cloud, and unexpected outages can happen in the most inopportune times. Depending on the industry and business, this can be as benign as not being able to load a picture, or as detrimental as losing money if you’re running an ecommerce business. This is why you have to plan for outages. Come up with multiple plans, test them out, and modify them as you go.

Mobile Application Development in the Cloud

Now for the actual development. Brought to you by Cloud Technology Partners and the Doppler, and summarized below, here are five steps to build a cloud-ready application architecture:

1: Design the Application as a Collection of Services
APIs (application programming interface) are resources or tools used to develop applications, and when it comes to the cloud, it’s best to deploy applications as a collections of APIs.

2: Decouple the Data
As opposed to tightly coupled data, decoupled data is better suited for the cloud because you can store and process it on any public or private cloud instance.

3: Consider Communications Between Application Components
When designing your application, make sure to optimize communication so that your application’s components aren’t constantly communicating, as this is not desirable and can lead to poor performance and delays.

4: Model and Design for Performance and Scaling
This one’s quite evident because we briefly discussed the scalability that’s enabled by the cloud. Elaborating, make sure to design your application so that it can handle unexpected heavy loads in traffic.

5: Make Security Systemic within the Application
Given the importance of security, it’s best to design and build the application’s security directly into its architecture.

Concluding Thoughts

Although embarking on cloud-based mobile application development has its share of pros and cons, in the long run, the cons are effectively negligent when compared to the opportunity costs of doing otherwise. Do your research, plan everything out, and good luck!

Monday, 3 April 2017

10 Things to Consider When Creating an Ecommerce Mobile App

                                                                Image Source: Aumcore.com

One of the best things of living in the 21st century is that you can be a business owner without owning an actual business — a brick and mortar business, that is. Unfortunately, the benefit of being able to do business without a physical location also creates the problem of low customer visibility. That’s where a mobile app comes in. One of the many benefits of mobile apps is that they give your business the much-needed mobile presence it needs in our mobile-first world. Take a look below for
10 things to consider when creating an ecommerce mobile app:

1: App Store Optimization (ASO)

A natural first on this list is app store optimization (ASO). If you’re familiar with search engine optimization (SEO), you have the foundation for what ASO is. The goal with ASO is to optimize your app to make it rank higher in the app store, whether it’s the Apple App Store, Google Play, Amazon App Store, or any variation out there. This means analyzing your app’s keywords, description, in-app screenshots, the works.

Remember, higher ranking means more discoverability, which translates to more downloads. Hence, ASO is a must.

2: Competition

Some items in this list go hand-in-hand by nature. One such example is ASO and your competition. To clarify, this means analyzing your competition to see what they’re doing right and what they’re doing wrong. Regarding ASO, look for ecommerce apps at the top of app store search results and take everything in. What keywords are they using, and similarly, what does their description say? What do their in-app screenshots look like?
Unrelated to ASO but still important, download some of your competitor apps and test them out. What you want here is to create a checklist of what works and what doesn’t. When you create your app, improve what works and fix what doesn’t.

3: User Interface (UI)

User interface (UI) guides the user’s experience throughout the app’s interface, and describes how elements in your app function. It’s an ecommerce mobile app, so don’t present it like a desktop ecommerce site. Begin the design process with a mobile user in mind and go from there.

4: User Experience (UX)

Out of UI comes UX. UX is all about creating a seamless experience throughout your app. It’s the sequence of actions, thoughts and impressions that your users generate as they maneuver through the app. A UX optimized design focuses on usability and ease of use. It takes into account how users will interact with your app and how that interaction can be improved.

5: Scalable Infrastructure

Your ecommerce app’s scalability is of utmost importance if you plan on growing in the future. Imagine a spike in downloads because your app was mentioned in a popular blog. You want to be able to accommodate for the extra traffic and unexpected loads. Start with a stable API foundation that’s easy to scale. As an example, a lot startups nowadays are developing apps in the cloud with services that allow you to pay only for what you use. This allows you to minimize expenditures while leaving an open avenue for growth.

6: Customer Service

One of the easiest considerations to look over in mobile application development, good customer service is vital for ecommerce mobile apps. It’s where your customers turn whenever they come across an issue with your app or services, and can make the difference between a customer and a dropped cart. As such, you need to make sure that your users always have a good customer service experience.

7: Incentives for Sharing

Incentivizing users to share your app creates a whole new marketing channel. If 88% of consumers trust online reviews as much as personal recommendations, imagine what you can do with actual recommendations in the form of shares? For example, you can offer discounts for users who share the app with their friends and family (higher discounts if third-party becomes a customer).

8: Checkout Process

                                                                     Image Source: Aumcore.com

Arguably one of the most important things on this list, you need to make the checkout process as simple and user-friendly as possible. The fewer steps the better (aim for a maximum of three), so do all that you can to facilitate the journey from cart to checkout. Some things you can do (besides making the ‘Add to Cart’ button as prominent as possible without being obtrusive) are:

Store customer information
Enable automatic reordering
Eliminate multi-page sign-ups

9: Repeat Purchases

If your app ends with the checkout process, you’re doing something wrong. Give your customers a reason to return to your app and make more purchases to generate residual income. You can offer discounts for repeat customers, loyalty programs that encourage multiple visits, or memberships for limited items. As an ecommerce app, one of your goals is to not only create customers, but also retain them.

10: Analytics

Rounding off this list are your ecommerce app’s analytics. These include tracking your users, both new and returning, your app’s most popular features/items, etc. The point of tracking analytics is to get an understanding of how your users are interacting with your app so that you can improve their experience. Accentuate what users like and fix what they don’t. Is there a certain point within your app in which an abnormally large number of users are logging of? If so, you might have some issues to deal with that’s causing high abandonment rates. Go through everything until you have a seamless journey from launch to checkout.

Wrapping Up

There are many benefits of mobile apps that come with pairing one with your ecommerce business, and hopefully by now you’re ready to tackle your next ecommerce mobile application development project. If that’s you, here’s a roundup of what we covered today:

1. App Store Optimization (AOS)
2. Competition
3. User Interface (UI)
4. User Experience (UX)
5. Scalable Infrastructure
6. Customer Service
7. Incentives for Sharing
8. Checkout Process
9. Repeat Purchases
10. Analytics