Tag Archives: Developer

Blog Cover Security

Protect Your Enterprise with the Top Mobile App Security Tips of 2019

A recent study conducted by AppKnox concluded that out of 100 top E-commerce apps, 95% failed basic security testing, 68% had four or more loopholes present in them, and 68% of apps were diagnosed with high severity threats.

Some of the most popular applications, including WhatsApp, Pokemon Go, and Facebook Messenger, are among the most frequently blacklisted among top enterprises due to the security risks they pose.

As a mobile app developer, security can lead to disaster for both your business and your consumers. Here are our top security tips for 2019:

TESTING AND CODE OPTIMIZATION

The two most important processes for building a secure app are extensive testing and constant refinement of code.

Disorganized code often causes data security risks. Minify code to ensure it is clean and concise and does not burden the application. When coding, think like an attacker and address any vulnerability a hacker could use to penetrate your application. Use libraries that show coding errors to ensure you catch security risks.

By budgeting for a rigorous testing and quality assurance process from the outset of the application development process, software developers ensure their applications will be thoroughly secure. Do not allow time-constraints getting a product to market to interfere with this crucial step. Test for functionality, usability, and security. Test, test, and test some more.

SECURE YOUR APIs

Enterprise developers are relying on application programming interfaces (APIs) more than ever, posing additional security requirements. API development and mobile app development share security considerations. Any vulnerability in an API is a vulnerability in the applications that the API connects. Solve potential headaches with the following tips:

  • Ensure all APIs integrated in your app are optimized for security.
  • Monitor all add-on software carefully to ensure that they do not present any system vulnerabilities.
  • Budget time to test the security of your APIs as well.

Check out TechBeacon’s 8 essential best practices for API security for additional reading.

LIMIT DATA COLLECTION AND PERMISSIONS

By collecting as little data as possible and minimizing permissions, app developers limit vulnerable attack points on their app. If the app does not require access to the camera or contacts, don’t request it. The same sentiment can be applied to data: make sure  users are aware of what data your application is collecting from them and only collect user data that is vital to the application’s functionality.

INTEGRATE A SECURITY TEAM FROM DAY ONE

Incorporating a dedicated security team from the inception of the development process on will ensure that the application has a cohesive security strategy intertwined with app functionality. Bringing the security team in from day one will minimize vulnerabilities that otherwise may slip through the cracks if they are brought on later in the process.

PROTECT CONSUMER DATA

Consumer data is generally the most vulnerable element for any app. The higher the volume of consumer data, the more there is for hackers to steal. In addition to limiting data collections, app developers should look into new data encryption technologies and biometric authentication. Decentralized database technology like the blockchain cryptology are among the most high-tech data protection measures tech companies can undertake.

Learn more about the Blockchain for mobile development via Application Development Trends.

CONCLUSION

In order to maintain secure environments, app developers must stay constantly stay up-to-date on the latest security technologies. Reading tech publications and maintaining awareness of the latest trends will ensure your enterprise is ready to integrate with tomorrow’s tech.

Android Pie (Image Via XDA Developers)

App Developers Take a Bigger Slice of the Pie with Android P

App developers looking to witness what Machine Learning can do to improve UI should take note of Android 9.0 Pie. First announced in March 2018, Android P was made public in August 2018. Android 9.0 marks a major overhaul of the Android OS focusing on UI and integrating Artificial Intelligence to optimize user experience.

AI HELPS ANDROID PIE HELP YOU

Android’s latest OS takes a big step forward integrating AI into the UI. The Android website advertises that “Android 9 Pie harnesses the power of AI for a truly intuitive experience”.

One of the major implementations of AI in Pie is called App Actions. Android 9.0 monitors your routines, processes data, and offers predicted actions directly in the phone’s app launcher when appropriate. For example, it can recommend a song to you on Spotify when you’re on your morning commute. Android has focused on quality over quantity with regard to App Actions and they are startlingly accurate—when it has enough data collected on how you use your phone, often it predicts exactly what you do next.

In addition to App Actions, Android Pie also offers Adaptive Battery and Adaptive Brightness. Android teamed up with the AI company DeepMind to create Adaptive Battery, an AI-based program that learns how you use your phone and optimizes usage so that inactive apps and services don’t drain the battery. Adaptive Brightness learns your preferred brightness settings and automatically adjusts them to your liking.

Those concerned with privacy should note that Android has stated that all machine learning is happening on the device rather than in the cloud.

ANDROID ADOPTS GESTURES OVER BUTTONS

Perhaps the biggest UI overhaul is the transition from buttons to gestures. Android P is following the  iPhone X’s lead in using gestures rather than buttons. This means UI is very home-screen button centric. The overhaul may be jarring to some. Luckily, app users can have it both ways as gesture navigation is adjustable in the phone’s settings.

Check out the video breakdown of the differences between Apple iPhone X and Android P gestures below.

THIS PIE’S GONNA HAVE SLICES

Android has announced App Slices in Android Pie, but has yet to unveil them at this time. When you search for an app on Android,  the app icon comes up. With App Slices, Android will not only pull up the icon, but will pull up actual information within apps and allow you to interact with the app directly within the search results. For example, if you search for Uber, it may bring up time & price estimates to go to commonly frequented locations and allow you to set a pick-up without having to open the app directly.

Android Slices present a great opportunity for app developers to create shortcuts to functions in their app. They also constitute the beginnings of Google’s approach to “remote content.” Learn more about Slices below:

APP LIMITS FOR ENCOURAGING HEALTHY USE

Addicted to your phone? Android P not only tracks the amount of time you spend on your phone, it allows users to set time limits for how long an app can be used for a day. App Time Limits prevent you from opening apps when you’ve gone over your limit with no option to ignore—the only way to access them again for the day is to turn the time limit off from the Settings page.

HUNGRY FOR PIE?

As with all Android OS’s, Android Pie will have a staggered release across devices. As of November 2018, it is available on Pixel phones as well as The Essential Phone.

Meanwhile, Android Pie is anticipated to be rolled out on many other phones by December 21st. For a comprehensive, frequently updated breakdown, check out Android Central’s list of the expected roll out dates for each phone manufacturer.

Android Oreo

How to Optimize GPS and Background Processes for Android Oreo

As our past article Android Oreo Serves Up the Sweets will show, Android Oreo lived up to expectations upon release and gave both consumers and app developers plenty of enhancements to enjoy.

However, for app developers, enhancements to the UI aimed to conserve battery life affect GPS services and require changes to the code in order to optimize pre-existing apps for the new OS. Specifically, Android Oreo restricts apps that are running in the background with limited access to background services. Additionally, apps can no longer use their manifests to register for most implicit broadcasts. When an app is in the background, it is given several minutes to create and use services, but at the end of that time slot, the app is considered idle and the OS will stop running background services.

These changes directly affect apps with geolocation functionality. Android Oreo limits how frequently apps can gather location in the background. Background apps can only receive location updates a few times each hour. The APIs affected due to these limits include Fused Location Provider, Geofencing, Location Manager, Wifi Manager, GNSS Measurements and GNSS Navigation Messages.

Apps that currently use location services in previous Android OS’s will require an update to optimize for Android Oreo. Apps that use location services range anywhere from navigational apps like Waze and Google Maps to social media apps like Twitter, and food apps like Yelp and Seamless.

For apps that require frequent location updates, increasing the usage of the app in the foreground will ensure that the app gets frequent access to location information. In order to program this, developers must implement startServiceinForeground() instead of startService() in Activity class.

In Service class in onStartCommand(), developers can use the following code:

Screen Shot 2018-05-07 at 12.46.57 PM

Via StackOverflow

When foreground services running in the background consume high energy, Oreo fires an automatic push notification to the user informing them of the battery-consuming service. With the push notification in place, app users are more likely to uninstall apps that track location without conserving battery life, putting the onus on software developers to deliver battery-efficient apps. One of the biggest issues facing some app developers is ensuring that battery life is not sucked as a result of tracking location in apps. Check out our full rundown of how to build battery-efficient geolocation apps for supplementary reading.

The results of the limits put in place with Android O are increased battery life for the user and the necessity for app owners to consider how their apps interact with location information. Retaining a thorough understanding of how location information will be retrieved and used through out the development process ultimately benefits both software developers and consumers with better UI and more energy efficient processes.

Android Oreo

Android Oreo Serves Up the Sweets

Like the candy, Google’s newest delectable dessert-themed operating system Android 8.0 Oreo offers the best of both worlds: crunchy cookie goodness of versatile functionality and the creamy frosting of beautiful UI and presentation.

PROJECT TREBLE 

Project Treble is one of the major aspects of Android Oreo that makes it a full 1.0 update. Project Treble is designed to reduce device fragmentation by making it easier for hardware manufacturers to issue updates on Android devices. The architecture redesign modularizes the Android OS away from the drivers and other hardware-specific code. By making it easier for manufacturers to update Android devices, Project Treble makes accessing the latest Android OS from your devices  easier than ever.

HIGH-PERFORMANCE BLUETOOTH AUDIO

Android Oreo is loaded up with BLUETOOTH 5 and LDAC, making Oreo capable of supporting audio quality that surpasses what the vast majority of high-end audio equipment can reproduce.

LDAC is a codec that supports the transfer of 24 bit, 96kHz audio via Bluetooth. The closest competitor is Qualcomm’s aptX HD which supports 24 bit, 48kHz technology. LDAC was created by Sony, who donated the codec to Android for Oreo as a part of the core AOSP code for other OEMS to implement.

Whereas previous iterations of Bluetooth offered a range of 50m-100m outdoors and 10m-20m indoors, Bluetooth 5 can reach up to 200m outdoors and 40m indoors. Additionally, Bluetooth 5 BLE doubles Bluetooth 4.x BLE’s data transfer rate with up to 2Mbps. The kicker is: Bluetooth 5 actually utilizes up to 2.5 times less power while increasing range and speed.

BATTERY LIFE

The Android Oreo update includes multiple initiatives designed to improve battery life. Background execution limits have been enacted to limit requests to scheduled windows of activity, resulting in longer battery life and less strain on the device by inactive apps.

Android Oreo places two major limitations on what apps can do while users aren’t directly interacting with them:

  1. Background Service Limitations limit the use of background services by idle apps. This does not apply to foreground apps, which are defined as apps with visible activity, apps with a foreground service, or apps that are connected to another foreground app.​
  2. Broadcast Limitations prevent apps from using their manifest to register for implicit broadcasts. Apps can still use their manifest to register for broadcasts at runtime and for explicit broadcasts targeted specifically at their app.

For the most part, app developers can work around these limitations using JobScheduler jobs. Android has also made several improvements to JobScheduler.

Background execution limits will have a major impact on the functionality of existing and future apps, check out a full breakdown of the new functionality directly from Android.

Additionally, Android Oreo comes with Vitals. Vitals is an initiative by Google that improves system performance and stability by offering developers various tools to monitor app usage on a device. Vitals enables developers to  optimize their apps for improved battery life and performance.

UI

Google’s strategy with OS updates has become more and more minimal in recent years. The last major visual OS overhaul was enacted by Google in Android 5.0 Lollipop. Android Oreo does not change the name of the game, but offers a variety of UI improvements.

DOWNLOADABLE FONTS: Android 8.0 Oreo offers support for apps to request fonts from a “provider” application, reducing the amount of disk space spent by apps on storing font libraries individually.

NOTIFICATION CHANNELS: Notifications have always been one of the strong suits of Android Operating Systems. With Android Oreo, app notifications must be sorted by the developer into channels based on type, so that the user can then customize what types of notifications they would like to receive and how they receive them.

For example, users can modify characteristics of notification channels that apply to all notifications in that channel, including:

  • Importance
  • Sound
  • Lights
  • Vibration
  • Show on lock screen
  • Override do not disturb

PICTURE IN PICTURE MODE: Oreo ports Android’s famous “Picture-In-Picture Mode” for phones and tablets. Picture-In-Picture Mode allows users to view multiple apps at the same time. It is most handy for watching video or having a video call while using another app.

TAKEAWAY

Overall, Android 8.0 Oreo delivers the goods. It’s sleek, supports the best audio quality available, allows more UI customizability, saves battery life, and it’s a major step toward conquering device fragmentation which has plagued Android since its inception.

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-3

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

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.

via Symbols & Emoticons

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.

battery-life-charge-tips_thumb800

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.

toptal-blog-image-1407508081138

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.