Tag Archives: App

How to Safely Encrypt Sensitive Data in Your Mobile App

In November 2014, cybercriminals perpetrated one of the biggest cybercrimes of the decade. They hacked into Sony’s computer systems, stole sensitive data, paralyzed the company’s operations, and gradually leaked embarrassing information to the media. The hackers threatened to continue until Sony agreed to pull the controversial comedy The Interview from its theatrical release.

As the headlines will tell you, the encryption of sensitive data is one of the most important investments a company can make. Facebook is currently under heat for data protection practices. The UK National Crime Agency called WannaCry a signal moment for awareness of cyberattacks and their real world impact. With the stakes higher than ever, the encryption of sensitive data in apps has never been more important.

Here are our top tips on how to safely encrypt sensitive data in your mobile app.

TIP #1: Coding and Testing

Writing secure code is fundemental to creating a secure app. Obfuscating and minifying code so that it cannot be reverse engineered is critical to keeping a secure environment. Testing and fixing bugs when they are exposed should be an ongoing investment of resources as it will pay off in the long run.

Tip #2: Scramble Data

Sometimes, the best method of encrypting data is scrambling. Software and web developers often become obsessed with storing every bit of data in databases and logs, assuming it may be useful later, but doing so can create a target for cybercriminals.

Cunning developers will only store a scrambled version of the data, making it unreadable to the outside eye, but still useful for those who know how to query it correctly.

For an in-depth dive into scrambling data, check out this awesome essay on how Amazon does it.

Tip #3: In Transit Vs. At Rest Encryption

There are two types of data to be encrypted: in transit data and at rest data. In transit data is moving data, be it in transit via email, in apps, or through browsers and other web connections. At rest data is stored in databases, the cloud, computer hard drives, or mobile devices. In transit data can be protected through the implementation of robust network security controls and firewalls. At rest data can be protected through systematically categorizing and classifying data with data protection measures in mind.

Tip #4: Secret Vs. Public Key Algorithms

Secret Key Algorithms are algorithms that use the same key for encryption and decryption. Public-key algorithms us two different encryption keys, one for encryption and the other for decryption. The public key is how the data is sent and the private key decodes it. Public-key algorithms are more secure, but require more computer processing power.

Tip #5: Blockchain Cryptography

We’ve covered the Blockchain in our past article on The Revolutionary Mechanics of the Blockchain. Blockchain cryptography has been on the rise because blockchain databases are distributed and thus more resilient in the face of a DOS attack.

Tip #6: Apps that Clean Up after Themselves 

Apps that collect sensitive information don’t necessarily need to store it. It is wise to delete sensitive data from mobile apps when the data is no longer in active use.

Tip #7 Choose the Right Algorithm

There are several popular pre-existing algorithms in existence that can be used to encrypt sensitive data in mobile apps. Check out UpWork’s awesome rundown:

  1. Advanced Encryption Standard (AES)
  2. RSA
  3. IDEA
  4. Signal
  5. Blowfish and Two Fish
  6. Ring Learning With Errors or Ring-LWE

Over the last 10 years, enterprise-wide use of encryption has jumped by 22 percent according to the Ponemon Institute. When building a mobile app, investing in encrypting sensitive data will pay off in the long run and haunt those that short-change it.

Integration with Siri and iMessage: Everything Your App Can Do

The upgrade from iOS 9 to iOS 10 was the biggest upgrade iOS has received in its 11 year history. As we covered in our blog How iOS 10′s Open Functionality Can Take Your App to the Next Level, the biggest upgrade to the operating system was the opening up of Siri and iMessage for third-party extensions.

The ability to integrate applications with iMessage and Siri creates a host of new functional possibilities for software developers. Here’s our rundown of the top ways to improve apps through Siri and iMessage integration:

SIRI INTEGRATION

As Alexa has proved, the voice assistant is burgeoning billion dollar business. With Google and Amazon leading the pack, Apple has taken many steps to improve Siri, including opening Siri up to third party integration.

However, Apple is prioritizing quality over quantity when it comes to Siri integrations.  Limiting the types of apps that can integrate with Siri enables Apple to build out robust integrations that take into account complex verbal applications. With robust integrations, Siri will be able to fulfill actions without forcing the user to alter the colloquial, natural construction of their spoken sentences. In other words: the integration is comprehensive, but it will only work with the following types of apps:

  • VoIP (Voice over IP) Calling
  • Messaging
  • Payments
  • Lists and Notes
  • Visual Codes
  • Photos
  • Workouts
  • Ride Booking
  • Car Commands
  • CarPlay
  • Restaurant Reservations

Siri integrations use “intents”. Apps that fit into the aforementioned categories describe a set of intents, or things the app can do, and Siri categorizes spoken orders by the user into intents to determine the next logical action.

Siri can pull up photos from applications like Vogue Runway through voice command. It can send money to friends through Square Cash and Monzo, and can send messages through WhatsApp and LinkedIn. Siri’s vocabulary can process complex requests like “Hey Siri, show me my best photos of idyllic sunsets taken last summer using The Roll.”

iOS 11 opened up a host of new intents. Siri can now lock smartcars and manage notes and to-do lists in productivity apps, as well as complete on-the-spot language translations.

With Siri integration, app developers can make use of one of the most extensive digital vocabularies on the planet to make life easier for users.

IMESSAGE APPS

iOS 10 not only opened iMessage up to developers, it also spawned iMessage apps: apps designed exclusively for the iMessage platform.

iMessage integration allows make it easy to pull up documents, links, and information right from iMessage and send it on the fly. Productivity apps like Evernote can integrate to allow for updates to be both sent and updated through iMessage. Travel apps like AirBNB make it easy to discuss potential travel plans. Games like Words with Friends and GamePidgeon make it easy to simultaneously play games and text. The Starbucks iMessage app allows users to send digital gift cards using Apple Pay. Dropbox and OneDrive make files stored in the cloud easily accessible and shareable.

Unlike Siri, there is no limitation on what types of apps can integrate with iMessage. Due to limited functionality, enthusiasm for developing apps exclusively for the iMessage platform is fading according to Mac Rumors, but integrating with iMessage can greatly enhance the UI of existing apps.

Should My Business Consider Accepting Cryptocurrencies? An Overview

Recently, Bitcoin has flooded the news cycle, rising in value from about 1,000 per bitcoin on January 1st 2017 to upwards of $16,000 as of December 7th 2017. Square, a prominent payment app, recently announced they will pilot a program that allows for Bitcoin trade. With Bitcoin on the rise, the all-important question becomes: Should your app or website accept cryptocurrencies?

Over the next several weeks, we will endeavor on a series of blogs to answer all of the questions necessary to make that decision, including:

  1. What cryptocurrencies are, how they work, and why they are important.
  2. The pros and cons of accepting cryptocurrencies on your app or website
  3. Choosing your cryptocurrency wallet.
  4. What Blockchain is, how it’s important to cryptocurrencies and its other revolutionary applications.
  5. An exploration of why Bitcoin is the most popular cryptocurrency and of  other prominent cryptocurrencies.

In order to explore cryptocurrencies, we must start at the beginning. The first successful cryptocurrency was Bitcoin, created in 2008 by the still unknown inventor Satoshi Nakamoto. While Nakamoto’s identity is still a mystery, the significance of their invention is not. They initially announced it as a “Peer-to-Peer Electronic Cash System”. Past attempts at creating digital currency involved a decentralized system, however, Nakamoto attempted to decentralize the currency by mimicking the technique of Peer-to-Peer file sharing networks.

In order for a payment network to function, there must be a ledger to prevent fraudulent double spending—forged transactions. In the physical world, banks function as the central entity which keeps records about balances. With Bitcoin, Nakamoto created an alternate system. Since the network is decentralized, every entity on the network must have a list with all transactions to check if future transactions are valid. Not only that, there must be an absolute consensus about the records in order for them to become a part of an immutable record of historical transactions known as the “Blockchain”.

Nakamoto set in place a rule that only “miners” can confirm transactions. Miners take transactions, verify them in exchange for a token of cryptocurrency, validate them, and spread them in the network so that every node adds them to the database and the transaction becomes a part of the blockchain. The only way to create a valid Bitcoin is for a miner to complete this function.

Technically, anyone can be a miner. Since there is no central authority to regulate mining and prevent a ruling party from abusing it, Nakamoto set a rule that miners need to invest some of their computing power to the solving of a cryptographic puzzle using the SHA 256 Hash algorithm, in order to verify transactions. Without getting too technical, the miner must complete a cryptographic puzzle in order to build a block and add it to the blockchain, the reward for which is a specific number of Bitcoins depending on the difficulty of the puzzle. Miners compete to solve these problems and the first to solve it and validate the transaction receives the reward. This is part of the consensus that no peer can break.

While the system is complex, the use of the currency is ultimately quite simple. As outlined in BlockGeeks overview, 5 properties separate Bitcoin transactions from other transactions:

  • Bitcoin transactions are irreversible.
  • They are not tied to real-world identities but to pseudonymous addresses. This is one of the reasons Bitcoins are frequently used on the black market.
  • Transactions are enacted instantly and are global.
  • Cryptocurrencies are secured by a cryptography, making them extremely secure.
  • Without a central authority, cryptocurrencies are permissionless to use.

Cryptocurrencies often limit the supply of tokens, which is true of Bitcoin. The token supply of Bitcoin decreases in time and will reach its final number sometime around 2140. The monetary supply is controlled by a schedule written in code—in other words, purely through mathematics.

Whereas the statement on your bank account represents a debt owed to you by the bank, Bitcoins are not indicative of debts, they are literal currency with inherent value like a diamond. And the value of that currency has skyrocketed in the past year. Only 10 years after its creation, Bitcoin and cryptocurrencies are currently in an inchoate stage, making it all the more important for intelligent citizens to track their progress and global impact.

Next week, we will review the pros and cons of accepting cryptocurrencies through your app or website. Stay tuned!

The Real Power of Artificial Intelligence

Technological innovations expand the possibilities of our world, but they can also shake-up society in a disorienting manner. Periods of major technological advancement are often marked by alienation. While our generation has seen the boon of the Internet, the path to a new world may be paved with Artificial Intelligence.

WHAT IS ARTIFICIAL INTELLIGENCE

Artificial intelligence is defined as the development of computer systems to perform tasks that normally require human intelligence, including speech recognition, visual perception, and decision-making. As recently as a decade ago, artificial intelligence evoked the image of robots, but AI is software not hardware. For app developers, the modern-day realization of artificial intelligence takes on a more amorphous form. AI is on all of your favorite platforms, matching the names and faces of your friends. It’s planning the playlist when you hit shuffle on Apple Music. It’s curating the best Twitter content from you based on data-driven logic that is often too complex even for the humans who programmed the AI to decipher.

MACHINE LEARNING

Currently, Machine Learning is the primary means of achieving artificial intelligence. Machine Learning is the ability for a machine to continuously improve its performance without humans having to explain exactly how to accomplish all of the tasks it has been given. Web and Software programmers create algorithms capable of recognizing patterns in data imperceptible to the human eye and alter their behavior based on them.

For example, Google’s autonomous cars view the road through a camera that streams the footage to a database that centralizes the information of all cars. In other words, when one car learns something—like an image or a flaw in the system—then all the cars learn it.

For the past 50 years, computer programming has focused on codifying existing knowledge and procedures and embedding them in machines. Now, computers can learn from examples to generate knowledge. Thus, Artificial Intelligence has already permanently disrupted the standard flow of knowledge from human to computer and vice versa.

PERCEPTION AND COGNITION

Machine learning has enabled the two biggest advances in artificial intelligence:  perception and cognition. Perception is the ability to sense, while cognition is the ability to reason. In a machine’s case, perception refers to the ability to detect objects without being explicitly told and cognition refers to the ability to identify patterns to form new knowledge.

Perception allows machines to understand aspects of the world in which they are situated and lays the groundwork for their ability to interact with the world. Advancements in voice recognition have been some of the most useful. In 2007, despite its incredibly limited functionality, Siri was an anomaly that immediately generated comparisons to HAL, the Artificial Intelligence in 2001: A Space Odyssey. 10 years later, the fact that iOS 11 enables Siri to translate French, German, Italian, Mandarin and Spanish is a passing story in our media lifecycle.

Image recognition has also advanced dramatically. Facebook and iOS both can recognize your friends’ faces and help you tag them appropriately. Vision systems (like the ones used in autonomous cars) formerly made a mistake when identifying a pedestrian once in every 30 frames. Today, the same systems err less than once in 30 million frames.

EXPANSION

AI has already made become a staple of mainstream technology products. Across every industry, decision-making executives are looking to capitalize on what AI can do for their business. No doubt whoever answers those questions first will have a major edge on their competitors.

Next week, we will explore the impact of AI on the Digital Marketing industry in the next installment of our blog series on AI.

Generate Downloads with the Ultimate App Promotion Guide

App PromotionAs app developers, retaining an adept understanding of the marketing side of the business is of the utmost importance. An improperly promoted app, whether it’s good or not, will falter in the 6 million apps in app stores. Some larger companies can afford to outsource this work. Independent developers and companies developing apps for clients must have the knowledge to guide projects from development through release regardless of their expected level of involvement in enacting a release strategy. When developing your app, take into consideration our overview of app promotion strategies and best practices.

APP STORE OPTIMIZATION 

App Store Optimization is the bread and butter of all app marketing efforts. App stores are the largest driver of downloads for the vast majority of apps. When enacted properly, ASO will drive tens, hundreds, or even thousands of daily downloads from app stores depending on the search traffic of the keywords. Experienced developers create ASO strategies before they begin the programming process.

Selecting keywords is the first and most important process of ASO. Searches in the app store are typed out with thumbs rather than a full keyboard, thus thinking of key shorthand terms is vital to improving search rankings. Developers must evaluate the amount of search traffic for each keyword and how competitive that search traffic is. Pursuing high traffic search terms can backfire because apps can falter against the high level of competition. Developers should continually refine their keywords and have a strategy ready for when their apps improve in search rankings. Over time, apps grow stronger in app store search and can eventually rank for more competitive keywords. It’s vital for developers to constantly refine their ASO strategies and build toward more competitive search terms. Many companies create one strategy for when their apps are first entering the store and a separate strategy for when they improve in ASO strength and can compete with higher volume search terms.

ASO does not end with the release. Engagement signals like retention, number times people open the app, and length of usage increase app store rankings. Developers must constantly be working toward improving the UI of their apps, as retention will boost ASO.

PAID ADVERTISING

While paid advertising, specifically social media ads, can be a major driver of app downloads, it’s important to understand where paid advertising factors into the equation. Before enacting paid ads, developers should have established a proven revenue model and overall business model. How much revenue an app generates per download will dictate the paid advertising budget. Without a model for revenue per download, app promotion can quickly become too expensive to maintain and end up in the red.

THE BENEFITS OF A SOFT LAUNCH

A soft launch is when developers make their app available in app stores without any promotional push. The small set of users you acquire through a soft launch can act as an initial beta user group that will inform your understanding of how consumers are using your app.

App developers often come to realize a major disconnect between why they think their app is good versus the opinion of their users. Experienced developers make the most of their analytics and continuously dedicate resources to the iterative process of improving their apps.

THE DANGERS OF CROSS-PROMOTION

While cross-promotion is a popular tactic, it’s also one that can backfire. App developers find partners with relevant but separate audiences and promote traffic to one another’s pages or content. The key to cross-promotion is finding a partner with an audience that is going to give an equivalent amount of exposure. The potential pitfall is that when users redirect out of the app, it reduces retention, ultimately damaging ASO.

Rather than partner with another app or company, some developers elect to develop feeder games and alternate apps which cross-promote to one another, maximizing downloads without detracting from outside marketing efforts.

SEARCH ENGINE OPTIMIZATION

Many app developers promote their apps through their website with Google SEO, social media, content marketing & more. While some apps treat their website as a landing page with a large download button, there is much more that can be done. For example, hosting Youtube content or a blog on your site will draw users in to your brand and retain them on the web page.

Enacting SEO for your app store URL can be even more effective than for your website. App Store URLs can outrank websites in SEO because of the authoritative domain of iTunes and Google Play.

PUBLICITY AND OTHER ENTREPRENEURIAL METHODS

While effective ASO and app promotion can be done on a relatively low budget, app promotion doesn’t have to begin and end on the tech side of things. Many developers make a point of developing their public persona through social media and external publicity in order to foster an audience to whom they can later market their products.

THE ROAD TO SUCCESS

Ultimately, the road to success is not smooth, but bumpy. With the right mix of expert development, continuous maintenance, vigilance and dedication, an app can break through the sea of competition and become a profitable enterprise.

App Promotion Strategies and Best Practices

As app developers, retaining an adept understanding of the marketing side of the business is of the utmost importance. An improperly promoted app, whether it’s good or not, will falter in the 6 million apps in app stores. Some larger companies can afford to outsource this work. Independent developers and companies developing apps for clients must have the knowledge to guide projects from development through release regardless of their expected level of involvement in enacting a release strategy. When developing your app, take into consideration our overview of app promotion strategies and best practices.

APP STORE OPTIMIZATION 

App Store Optimization is the bread and butter of all app marketing efforts. App stores are the largest driver of downloads for the vast majority of apps. When enacted properly, ASO will drive tens, hundreds, or even thousands of daily downloads from app stores depending on the search traffic of the keywords. Experienced developers create ASO strategies before they begin the programming process.

Selecting keywords is the first and most important process of ASO. Searches in the app store are typed out with thumbs rather than a full keyboard, thus thinking of key shorthand terms is vital to improving search rankings. Developers must evaluate the amount of search traffic for each keyword and how competitive that search traffic is. Pursuing high traffic search terms can backfire because apps can falter against the high level of competition. Developers should continually refine their keywords and have a strategy ready for when their apps improve in search rankings. Over time, apps grow stronger in app store search and can eventually rank for more competitive keywords. It’s vital for developers to constantly refine their ASO strategies and build toward more competitive search terms. Many companies create one strategy for when their apps are first entering the store and a separate strategy for when they improve in ASO strength and can compete with higher volume search terms.

ASO does not end with the release. Engagement signals like retention, number times people open the app, and length of usage increase app store rankings. Developers must constantly be working toward improving the UI of their apps, as retention will boost ASO.

PAID ADVERTISING

While paid advertising, specifically social media ads, can be a major driver of app downloads, it’s important to understand where paid advertising factors into the equation. Before enacting paid ads, developers should have established a proven revenue model and overall business model. How much revenue an app generates per download will dictate the paid advertising budget. Without a model for revenue per download, app promotion can quickly become too expensive to maintain and end up in the red.

THE BENEFITS OF A SOFT LAUNCH

A soft launch is when developers make their app available in app stores without any promotional push. The small set of users you acquire through a soft launch can act as an initial beta user group that will inform your understanding of how consumers are using your app.

App developers often come to realize a major disconnect between why they think their app is good versus the opinion of their users. Experienced developers make the most of their analytics and continuously dedicate resources to the iterative process of improving their apps.

THE DANGERS OF CROSS-PROMOTION

While cross-promotion is a popular tactic, it’s also one that can backfire. App developers find partners with relevant but separate audiences and promote traffic to one another’s pages or content. The key to cross-promotion is finding a partner with an audience that is going to give an equivalent amount of exposure. The potential pitfall is that when users redirect out of the app, it reduces retention, ultimately damaging ASO.

Rather than partner with another app or company, some developers elect to develop feeder games and alternate apps which cross-promote to one another, maximizing downloads without detracting from outside marketing efforts.

SEARCH ENGINE OPTIMIZATION

Many app developers promote their apps through their website with Google SEO, social media, content marketing & more. While some apps treat their website as a landing page with a large download button, there is much more that can be done. For example, hosting Youtube content or a blog on your site will draw users in to your brand and retain them on the web page.

Enacting SEO for your app store URL can be even more effective than for your website. App Store URLs can outrank websites in SEO because of the authoritative domain of iTunes and Google Play.

PUBLICITY AND OTHER ENTREPRENEURIAL METHODS

While effective ASO and app promotion can be done on a relatively low budget, app promotion doesn’t have to begin and end on the tech side of things. Many developers make a point of developing their public persona through social media and external publicity in order to foster an audience to whom they can later market their products.

THE ROAD TO SUCCESS

Ultimately, the road to success is not smooth, but bumpy. With the right mix of expert development, continuous maintenance, vigilance and dedication, an app can break through the sea of competition and become a profitable enterprise.

Android O: What Google’s Latest OS Offers App Developers

On March 21st, Google unveiled the developer preview for the latest version of the largest OS in the world: Android O. For consumers, it means improved UI, design, battery life, & more. For app developers, it has far deeper implications. With release anticipated in Q3 2017, here is our rundown of the top takeaways about Android O for Android developers:

BATTERY LIFE

The main focus of Android O appears to be to continue Android Nougat’s initiative to reduce battery life. The OS will limit and manage what launched apps can do in the background when multiple apps are open. For example, if a user has a geolocation app open in the background while using another app, location updates will happen less frequently for the background app.

In technical terms, background execution & location limits have been reigned in, allowing the OS to better manage background activity. Background apps are defined by Google as apps showing no visible activity, no foreground service & not connected to a foreground app through its services. Location changes affect the following APIs:

  • Fused Location Provider (FLP): The local system service computes a new location for background apps only a few times each hour, according to the interval defined in the Android O behavior change. Foreground apps will not experience location sampling rates in relation to Android 7.1.1 (API level 25).
  • Geofencing: Background apps can receive geofencing transition events more frequently than from FLP.
  • GNSS Measurements: Callbacks registered to receive outputs from GnssMeasurement and GnssNavigationMessage will stop executing for background apps.
  • Location Manager: Location updates will be provided to background apps only a few times per hour according to the interval defined in the Android O behavior change.

NOTIFICATION CHANNELS

Android OS’s have always thrived in the notification department. Android O allows developers to group notifications into channels. Developers must select a channel for each distinct type of notification they send with the goal of making things easier and more customizable for the user. For example, a user can turn off the “Sports” notification channel from the New York Times app if they are already getting sports notifications from the ESPN app.

Developers can also allow user behavior to dictate notification channels. For example, the developer of a messaging app can create separate notification channels for each of a user’s messaging threads.

WI-FI AWARE

Wi-Fi Aware, or Neighbor Awareness Network (NAN), allows devices to discover and connect directly with each other without any other connectivity between them, like Wi-Fi Access Point or Cellular. Two phones can connect with each other with NAN and share data at high speeds without any additional apps or configuration, opening up tons of possibilities for developers.

Learn more about Wi-Fi Aware:

HI-FI BLUETOOTH AUDIO

Android O supports Hi-Fi Bluetooth audio. While the quality of the audio still depends on the speaker or headphone through which one listens, this is a major improvement for music lovers.

ADAPTIVE ICONS

Android O will introduce adaptive launcher icons. Adaptive icons support visual effects and can display a variety of shapes across different device models. Adaptive icons are a major tool for developers to guide the user’s eye and enhance UX. Check out Android’s developer site to learn more.

RELEASE SCHEDULE

via Android Developers

via Android Developers

The O Developer preview will run from March 21st to the final Android O public release anticipated in Q3 2017. Android will provide incremental updates in mid-May, June, & July. Until Q3 2017, the onus is on Android developers to prepare their future and existing apps for the latest operating system.

The Business of Emojis: How Top Companies Monetize Emoji Apps

They say a picture is worth a thousand words.

Emojis have become a staple of text communication in the 21st century. According to Digiday, over 6 billion emoji messages are sent per day. iMessage, Facebook Messenger, GChat, Snapchat & more have all integrated unique emojis into their platforms. Where there is popularity, there is money to be made.

An Emoji is defined as a small digital image or icon used to express an idea, emotion, etc., in electronic communication. Emojis evolved from emoticons, which are pictorial representations of a facial expression using ONLY punctuation marks, numbers and letters. The first intentional use of an emoticon has multiple origins depending on your source. In 1857, historians documented the use of the number 73 to express love and kisses in Morse code. Some credit a New York Times article covering an Abraham Lincoln speech in 1862 with introducing the phenomenon. The first documented use of “:-)” and “:-(”  overtly to express emotion was in 1982 at Carnegie Mellon.

As online chat became popular, so did the use of emoticons. In an era of computer-mediated communication, emoticons help communicate nonverbal cues in digital threads. From emoticons, emojis emerged, eschewing the punctuation and using images to directly convey emotion. The first emoji was created in 1998 or 1999 in Japan by Shigetaka Kurita. Emoji was first integrated with iMessage in iOS 5. Snapchat recently bought BitMoji for $100 million. Messaging apps like Facebook Messenger and G-Chat are all following WeChat’s lead in creating their own visual keyboards. iOS 10’s iMessage App Store pushes stickers, opening up a new visual possibilities for app developers and advertising.

With big money on the line, here’s how top companies are monetizing their emojis:

DOWNLOAD FEE: Some emoji companies sell their apps with a download fee. For a flat rate of $1.99, the user receives access to all emojis. Most users will find it hard to justify paying for an emoji app unless they have a pre-existing relationship with the brand, thus this technique is best for major brands like Kimoji, Amber Rose’s MuvaMoji, the newly released Mike Tyson emojis, etc.

EMOJI PACKS/PREMIUM CONTENT: A more popular monetization method than a download fee is the individual pricing of emoji packs and premium content. Both paid and freemium apps can enact this monetization method. A company may offer one emoji keyboard for free with download of the app, then offer premium content, potentially sponsored by another brand, for a fee. Emoji> is among the top purveyors of this strategy.

BRANDED CONTENT: Perhaps the most effective monetization method for emojis is branded emojis and stickers. Fortune recently profiled a start-up named Swyft that generates revenue creating branded emojis & sticker packs. A sticker pack they created for Gwen Stefani’s album Spark the Fire was downloaded almost a million times and resulted in 41 million impressions in 10 days.

App developers looking to push their own emoji packs can generate revenue with branded partnerships after establishing popularity. BitMoji built up an audience over time with a seemingly endless keyboard of expressions. Upon attaining popularity, BitMoji was able to acquire tons of sponsored sticker packs to generate revenue. BitMoji’s success led to Snapchat’s decision acquire BitMoji and integrate an established brand rather than create their own unique emojis.

RETENTION: In order to build an audience and monetize, emoji keyboards must retain their users. Ads aren’t a popular monetization method for emojis since users like their digital conversations ad-free. Animated Emoji Pro integrated games into their app in order to increase user retention and ascend in ASO rankings. Users get lost BitMoji’s vast selection of icons, increasing usage time.

LOCALIZATION: Localization is another major way of enhancing retention on an emoji keyboard. A study by SwiftKey found radically different patterns of emoji usage depending on geographic location. Creatively utilizing geolocation services to localize the user experience for an emoji keyboard can be a vital tool in building and retaining a national or even global audience.

Succeeding with an emoji app requires innovative thinking, attention-to-detail, marketing & careful consideration of audience. Like TV, print, & web messaging, well-crafted emojis require good creative, and meaningful visuals that convey emotion. With 45 billion messages sent per day in the US alone, there is great potential for a well-crafted emoji app to become profitable business with the right combination of concept, execution, and an experienced app developer.

How To Design Battery-Efficient Geolocation Apps

The ability for smartphones to offer location services fostered major opportunities for app developers looking to create new apps and enhance functionality of existing apps. Tinder, FourSquare, & Waze use geolocation in the center of their functionality to great success. In combination, these three apps can help a user determine a dinner companion, restaurant of choice, and route to the restaurant. By delivering location-sensitive information to users regardless of where they are in the country, these apps appeal to massive audiences.

Programming geolocation services into an app will have a major impact on the overall quality of the app—and it’s easier said than done. Inefficient geolocation services drain device battery life and deliver inaccurate location data. When apps drain battery life, users uninstall them. In order to determine the best method of programming geolocation services, it is vital for app developers to know who is going to be using the app and how they are going to use it.

Location can be determined by a smartphone in a number of ways. The most widespread include:

GPS: All modern iOS & Android smartphones are equipped with GPS technology. GPS can use at least four satellites to determine a user’s location within about 60 feet.

Cell ID: When GPS isn’t available, phones can use Cell ID, information from cellular towers, to determine location. Cell ID is ideal in big cities with vast amounts of cell towers. Serial fans should be familiar with how cellular tower information can be vital in identifying one’s location. GPS & Cell ID can also work in conjunction to deliver a more precise GPS location.

Wi-Fi: Devices can detect Wi-Fi networks in the same way they can detect cellular towers, but Wi-Fi is more precise as Wi-Fi networks cover smaller regions. Devices can use RSSI (Received Signal Strength Indication) to refer signals from the phone with Wi-Fi points database. Devices can also use the user’s frequently visited places, a profile or wireless fingerprint based on locations in Wi-Fi networks frequented by the user. Wi-Fi can identify a user’s position within 2 meters of accuracy.

The decision of how an app should prioritize these three methods to determine location is a vital one. If users are located in the city, that means both dense Wi-Fi router and cell tower coverage will open up options. If the app is being used primarily in a domestic situation, Wi-Fi might be both the most accurate and efficient method. Apps designed for rural areas may have to use Wi-Fi due to lack of cell towers.

Geofencing Graphic from Applidium

GEOFENCING

Geofencing utilizes a device’s GPS to determine a user’s distance from a particular point. Geofencing can sense when a user enters within a set radius defined by the coordinates of its center. Geofencing will sense when users are inside or outside of a retailer and offer action prompts for either space. There are three types of geofencing:

Static geofencing is based on a user’s position in relation to a specific place. For example, a retailer app sends a message to users who pull into the parking lot of a mall containing the retailer.

Dynamic geofencing takes into account both a user’s location and a changing data stream. For example, a parking app sends the user a message about a recently evacuated parking space that the user is approaching.

Combined geofencing determines when a user enters into a location in relation to other users. For example, apps like Yelp, Facebook, or FourSquare send notifications if a friend checks into a nearby merchant .

CREATING BATTERY-EFFICIENT APPLICATIONS

Making a geolocation app battery-efficient is one of the biggest challenges  app developers face in the programming stage. Developers must create a comprehensive strategy based on their audience.

ACTION THRESHOLDS: Defining accurate action thresholds and use-cases for an app’s geolocation services will dictate its level of battery-efficiency. The more precise your location accuracy requirements, the greater the battery drain. Action thresholds and use-cases define how an app is intended to be used, allowing a framework for developers to enact an efficient model of internal processes for location determination.

COMPREHENSIVE TESTING: Testing the app aggressively to gather a large amount of data is the only way to know the most efficient action thresholds. The more the developer understands how an app is being used, the more they can refine their programming. After release, continuing to gather analytics from user behavior and refine tactics based on how users are getting value from the app becomes a crucial ongoing process.

POLLING FREQUENCY: One of the major variables dictated by action thresholds is polling frequency. The more an app polls for locations, the better its location accuracy. The necessary level of location accuracy varies depending on the app. The precision of location accuracy necessary for an app to be functional can vary. A restaurant app, for example, might be able to get away with accuracy from 200 meters to a few kilometers, while an app that locates friends might need accuracy within 10 – 20 meters.

Evaluating the most efficient polling frequency requires thorough use-cases and some creativity. Programmers can design algorithms to reduce polling frequency if an app hasn’t changed locations for several minutes. Programmers can also analyze the speed of the device and use this data to change polling frequencies. A developer may elect to increase polling frequency as a car accelerates to ensure they maintain location accuracy within a selected radius.

DEFERRING TO OS: Many major mobile platforms will share geolocation information at an operating system level. As a result, any app that is listening can receive location updates requested by other apps. By deferring to other apps already polling for location data, apps can minimize battery drain while still retaining acceptable location data.

Check out Apple and Android’s developers’ sites for more information on best practices for programming location services.

Everything You Need to Know About Machine Learning

A calculator can solve complex problems which would take even the most savvy mathematicians an incomparable amount of time. Artificial intelligence has become one of the most hotly debated and highly funded aspects of technology because the speed at which machines can process information yields innumerable possibilities and applications which can and will benefit humanity. One of the first popular incarnations of AI is Machine Learning.

Machine Learning is the ability for a computer to learn without being explicitly programmed. Machine learning focuses on computer programs which can identify patterns and create its own algorithms when exposed to new data. It is used in self-driving cars, in newsfeed algorithms on social media, in evaluating job candidates, in recognizing faces on your phone, and more.

The most powerful form of machine learning currently active is called “deep learning”. “Deep learning” builds a complex mathematical structure known as a neural network out of vast quantities of data. Machine learning’s ability to handle mass amounts of data makes it crucial to the advancement of IoT. The IoT collects enormous amounts of data which require computers with machine learning to recognize patterns and create algorithms.  In self-driving cars, IoT cameras and sensors in each autonomous vehicle absorb their surroundings and turn them into huge amounts of data. The data is then sent to the cloud where it is accessible to all autonomous vehicles on the road. Thus, when one self-driving car makes a mistake, all of them learn. In conjunction with the Internet of Things, machine learning will be vital to the building of a smartworld.

TOP PROGRAMMING LANGUAGES

Machine learning requires a great deal of statistical analysis; it demands an intelligent programming language which can process a number of complex issues and general paradigms.

R: Considered a statistical workhorse, R has emerged as one of the top programming languages for machine learning. R is intended for advanced users because of its complex nature and wide learning curve.

Python: A rising star for machine learning, Python is a data science book which has been in use in the manufacturing industry for awhile. Python gives users direct access to predictive analytics, making it the foremost data science language. Developers turn to Python when they are looking to frame better questions or expand the capabilities of their existing machine learning systems.

MATLAB/Octave: Millions of engineers are already using MATLAB, a matrix-based language, to analyze and develop cutting edge systems. MATLAB has emerged as the simplest way to demonstrate computational mathematics.

MACHINE LEARNING AND iOS 10

Machine learning laid much of the groundwork for the biggest upgrade in iOS 10. It is very difficult for computers to comprehend the intricacies of the human language. Machine learning has enabled iPhones to sense contextual clues with increasing confidence, improving iMessage’s ability to autocorrect and for Siri to understand the particulars of your vernacular. In the iPhone 7 camera, machine learning allows the device to separate the background from the foreground to achieve amazing portraits once possible only with DSLR cameras.

MACHINE LEARNING AND ANDROID

Google is among the dominant forces in machine learning. Much of Google Search’s prominence is owed to advances in the machine learning field. In November 2015, Google released TensorFlow, an open-source software library for machine intelligence. TensorFlow effectively simulates “deep learning” neural networks across different computer hardware and offers a straightforward way for users to train computers to perform tasks by feeding them large amounts of data.

Google uses Tensorflow in many of their internal processes, including RankBrain for information retrieval, image classification, SmartReply, and more.

MAXIMIZING MACHINE LEARNING IN MOBILE APPS

Now that mobile devices have the high productive capacity level to perform tasks to the same degree as a traditional computer, the question of what machine learning can offer apps has arisen. Large retailers like Amazon and eBay use machine learning in their mobile apps to improve customer experience with smarter product search and recommendation features, along with the ability to forecast buying trends with analytics.

While Machine Learning algorithms require a high level of programming experience and a ton of data to be effective, integrating apps with Siri & iMessage for iOS 10 allows developers to take advantage of the vast deep learning neural networks embedded into Apple’s 1st-party apps.

While the future of machine learning  on a commercial level remains to be seen outside of tech titans like Facebook, machine learning algorithms will be crucial in conjunction with the IoT in building a new SmartWorld with unparalleled predictive capabilities.