Amit Diwan, Feb 07
Android App Accessibility Checklist
Developers and designers of mobile applications must always focus on ensuring accessibility for vision and hearing impaired users. This article will offer some checklists you should complete to ensure your application is more accessible. While working on any app, users rely on touchable controls. The controls should have appropriate size and be easily visible. Your app should have controls with a minimum of 48dp in length as well as width. It is approximately equal to 9mm and recommended for controls for which a user can select or take an action. In the below figures, you can see the correct and incorrect ways of sizing buttons. EditText is a control which configures itself to be editable. For ensuring accessibility, add an android:hint attribute for EditText fields. Adding the attribute will help users in understanding what content is written when the text field is empty. The content of the android:hint attribute can be spoken.
Valdio Veliu, Feb 01
Mastering Complex Lists with the Android RecyclerView
Valdio Veliu looks at the RecyclerView in Android, perfect for handling long lists of data efficiently.
Deivi Taka, Jan 31
Understanding iOS Proactive Suggestions
With the introduction of the “Proactive” feature in iOS 9, Apple is trying to proactively assist you. The system learns from your actions and attempts to anticipate them. It starts showing suggestions, recommendations, apps you frequently use, etc. The Handoff feature hasn’t changed but the space usually reserved for it in the lock screen is used for suggested apps. Apps shown in the bottom-left corner of the lock screen and in the app switcher are based on your location or habits. The following screenshots show quick access to the Music app when I plug in my headphones. iOS has noticed that when I plug in my headphones, I immediately go to the Music app, so it now gives me quicker access to it. The same will happen for an app that uses location. It will appear when you are near your favorite restaurant, for instance. Spotlight search can be reached from the home menu; by swiping down or by swiping all the way left. The first thing to notice are the Siri suggestions below the search bar. By default, you’ll see the 4 apps you are likely to use at that given time (of the day or night), but it can be expanded up to 8 apps. It also depends on your location, or on whether your headphones are plugged in. So Siri suggests apps depending on your previous behavior or on the time of the day. In the screenshot below on the left, Siri has suggested messaging apps and a game I currently play. Notice that in the screenshot on the right, the suggestions change as I plugged in my headphones. Just as in the previous example, the system is trying to help access the Music app quicker.
Ada Ivanoff, Jan 27
The 12 Best Android Tutorials for First-Time App Developers
When you are a beginner, it's easy to get confused about where to start. To make it easy for you here are 12 Android tutorials to start with.
Abbas Suterwala, Jan 24
Kotlin Techniques that Improve Your Android Code
Kotlin is a general purpose language. It compiles to Java bytecode. Kotlin is developed by the company JetBrains which makes IntelliJ IDE. This article covers techniques which make writing Android code in Kotlin efficient or easy. You can find the code for this article at GitHub Using Static layout imports in Kotlin One of the pain points of working with Android is when we want to use one of the views in the activity. We have to use the ‘findViewById()’ function and then type cast it to the appropriate view type. Kotlin takes a different approach: it lets you import all the views in your layout file. For example, suppose we have a layout file as below
Joyce Echessa, Jan 19
Using the YouTube API to Embed Video in an Android App
Joyce Echessa shows how to use the YouTube API to embed video into an Adroid App.
Theodhor Pandeli, Jan 18
Crash Reporting an Android App with Crashlytics and Fabric
Theodhor Pandeli looks at how the Crashlytics library, a part of Twitter's Fabric, can help identify common crashes in an Android app.
Chris Ward, Jan 17
Chris Ward, Jan 17
Build Native Apps in the Browser with Configure.IT
Chris Ward looks at Configure.IT, a service that allows you to build native mobile applications in the browser.
Theodhor Pandeli, Jan 11
Retrofit, a Simple HTTP Client for Android and Java
Theodhor Pandeli covers Retrofit, an HTTP client Library from Square that helps Android and Java developers make network calls easier and quicker
Clay Unicorn, Jan 10
Using MeasurementFormatter in Swift
The MeasurementFormatter class provides formatted and localized representations of units and measurements. When catering to a global audience, you should present this data in local units. Suppose your app shows the end user a distance between two points. Assume that the distance is in imperial units: feet, yards and miles. When catering to a global audience, you should present this data in local units. Consider the following: The distance between New York and Paris is 3,626.81 miles In French, you would want to not only translate the string’s text, but also the measurement units therein contained: La distance entre New York et Paris est de 5 836,78 km Instead of attempting to write your own utility classes to perform these conversions, you should leverage the power of Apple’s Foundation. When dealing with distance measurements, MeasurementFormatter does great work with zero configuration. By the time the user installs your app, the user’s device has a default locale. Working with the distance measurement above, we can convert to the user’s localized standard:
Theodhor Pandeli, Jan 04
Integrating Stripe into Your Android App
In this tutorial I will show how to allow users buy products or services from your app, using Stripe. Stripe is one of the simplest way to manage your online products, orders, and payments. You can find the code for this tutorial on Github. In the end of this tutorial, users would be able to buy plan subscriptions. The first step is creating some simple plans. To begin with, login to Stripe (or create an account if you haven't already). Make sure that you are in Test Mode before creating the plans from the dashboard.
Hunter Jensen, Jan 03
IoT Predictions for 2017
To consider how far the Internet of Things (IoT) could take us, consider the example of comic book superhero Tony Stark (aka Iron Man) and his virtual assistant, JARVIS, an artificial intelligence. The name JARVIS is an acronym for “Just A Rather Very Intelligent System,” but is also an obvious hat tip to the idea of a human butler. JARVIS takes care of all the things a butler would — he runs Tony’s home, keeps an eye on his master’s health, and helps him with administrative tasks. But JARVIS can do much more than merely dim the lights at Tony’s command. He also controls his car and computers. JARVIS is like Siri on steroids, able to fulfill nearly any request once asked. Each year, IoT gets a little closer to JARVIS-level intelligence in real life. We’re excited about smart home gadgets like the very tech-savvy Samsung Family Hub Refrigerator, as well as personal trainer substitutes like the HOIST fitness machines. What will happen with this technology next year? In the next 10 years? To date, most of the buzz around IoT has concentrated on technology in the home. But will other spaces start to see the impact of IoT, too? How much is the phenomenon predicted to grow? Here’s what you need to know about where IoT might be headed.
Valdio Veliu, Dec 21
Volley, a Networking Library for Android
Valdio Veliu looks at Volley, Google's standard library for network requests that takes care of a lot of the hard work for you.
Mike Canarelli, Dec 20
Google's Interstitial Ad Penalty and Its Effect on Mobile Marketers
Last year, Google put digital marketers on notice that a deep freeze was coming for interstitial ads. Now, the search giant has officially put them out in the cold, a move that will open opportunities for marketers willing to create a better mobile experience for consumers. Starting January 10, 2017, Google will institute what some observers are calling a “pop-up penalty,” targeting ads that hide or gray-out most or all of a mobile screen. Websites displaying the intrusive advertisements on mobile devices may not rank as highly in search results. It’s a change that will leave a significant footprint; mobile use drives about 56 percent of consumer traffic to top U.S. websites, according to SimilarWeb’s State of Mobile Web in the U.S. 2015 report. The move isn’t exactly a surprise; in 2015, the search engine giant announced it would penalize websites that displayed interstitial ads prompting users to download an app. Soon after, Apple gave Safari users the ability to install ad blocker apps that would stop interstitials on iPhones and iPads. It’s important to note that Google will penalize a website in mobile search results only, which seems appropriate given the challenge of navigating the intrusive ads on screens as small as 4.5 inches versus ads viewed on a laptop or desktop. What’s more, interstitial advertising remains one of many signals the search engine uses to assess ranking. However, don’t expect these mobile pop-ups to disappear completely. If you’re a company using them for age verification, cookie usage, or paywall logins, Google won’t ding you in search results. It also won’t impose a penalty if your business displays mobile banners that are easy to dismiss and don’t take up a large amount of screen space.
Theodhor Pandeli, Dec 14
Integrating the Facebook API with Android
In Theodhor Pandeli's first post for SitePoint, he looks at integrating the Facebook API into Android apps for login, profile information and posting.
Valdio Veliu, Dec 13
Optimizing Battery and Data Consumption in Android
Battery and network data consumption are two core issues developers have to deal with when developing mobile apps. This is more of a concern in mobile technologies because smartphones have limited resources. There are two key points I will be focusing on this article: battery life and network data reduction. I will go through some tips and examples on how to save battery life and keep network consumption at its minimum. Optimizing battery life The hardware components that consume most of the battery are the CPU, sensors, and the screen. Sensors include GPS, NFC, Bluetooth, etc. Keeping this in mind is simple to determine what are some points for a developer to focus on while developing. Tasks like keeping the CPU utilization to a minimum required, minimizing the radio utilization and minimizing network operations are difficult to apply in many cases but are necessary to build a top of the line app. In the following sections, I will go through a few factors that have an impact on battery drain. Also, I will mention some tips on how to avoid or reduce battery drain. Carefully use Animations It is obvious that animations need a lot of processing power by the CPU and therefore consume a significant amount of power. According to the documentation, most animations look fluid at 30 frames per second. So, going over 30 frames can be a waste of processing power and furthermore, more battery. Another tip that comes from the documentation is to let the CPU sleep between animations. This is due to the fact that continuous animations lead to constant changes on the device screen. As I mentioned earlier the screen is one of the main factors of battery drain.
Hannah Levenson, Dec 13
Why Your App Optimization Is Lacking and You Don't Even Know It
This post originally appeared on Appsee. Hannah Levenson discusses the importance of app optimization and how to maximize optimization for your own app.
Design & UX
Daniel Schwarz, Dec 07
What is Adaptive Design? (And is it Different from Responsive Design?)
We all have an understanding of responsive design, but how does it relate to 'Adaptive design'? Turns out the answer depends on who you ask.
Theodhor Pandeli, Dec 07
What's New in Android Nougat
Android Nougat 7.0 is the latest official Android Operating System update and is currently available only on 0.3% of Android devices, including the Nexus 5X and 6P, and the Android One devices like General Mobile 4G. As with every update, Nougat brings many new features make users’ experience better, easier and more customizable. Let’s start with the new features of Android N: That square you see in the Navigation buttons now has a new use. If you double-tap it, you will switch between your two most used apps. It is the short form of tapping it once, then choosing the second app window. If you are using Google Docs but you need to check something on Chrome, just open Chrome, find that information and double-tap on the recent apps button that will take you automatically to Google Docs.
Hunter Jensen, Dec 06
6 Medical Apps Revolutionizing Healthcare
Smartphone apps put a world of valuable information at our fingertips, including information about our health. We’re not talking about the ability to Google diagnoses on your phone — the healthcare apps of today are incredibly advanced and are revolutionizing the way we engage with the medical world. Whether you’re a doctor, patient, or researcher, smartphone apps can no doubt provide fast, efficient, and convenient solutions for your medical needs. Apple officially entered the healthcare market in 2015 with the introduction of ResearchKit and CareKit. Those two software frameworks allow doctors and other medical professionals to create iOS apps that can be used to collect medical research data and help people better understand their medical conditions. ResearchKit allows the 700 million iPhone users worldwide to participate in medical studies — and the information gleaned from those studies is used by medical professionals to identify patterns and better treat patients. As well as allowing medical institutions to create apps that work for their research needs, ResearchKit launched five apps of its own, including mPower, an app that’s been used to conduct a large scale (10,000+ participants) study of Parkinson’s disease. That study has already provided researchers with greater insight into the condition.
Julian Kühnel, Dec 05
Building a Cross-platform Desktop App with NW.js
Tatsiana Levdikova, Dec 02
Using Color Schemes in Mobile UI Design
According to Kissmetrics, a product’s visual appearance is the number one factor influencing consumers’ purchasing decisions. Nowadays, it is common practice among marketing managers to hire color consultants to get assistance in determining a color (or colors) that would attract their customers. They understand that colors are an important marketing tool. Mobile app developers have many useful things to learn from them. The color wheel based on the three primary colors (red, yellow, and blue) has been used by artists for centuries. The first color diagram was developed by Newton 350 years ago. The color wheel used nowadays includes primary, secondary (green, orange, and purple) and tertiary colors (yellow-orange, red-orange, red-purple, blue-purple, blue-green, and yellow-green).
Elio Qoshi, Nov 22
Firefox OS post-mortem - Interview with Andre Garzia
I am happy to be joined today by Andre Garzia, a Mozilla Tech Speaker, Firefox OS book author and contributor at Mozilla for the past few years. At SitePoint we tend to cover cutting edge topics and keep developers in the loop about the latest happenings around the web. This time however, we will have a look back and talk about Firefox OS, which as you might have heard, was discontinued earlier this year. We will have a look at the things Firefox OS stood for, what impact it had on the web and what lessons we can learn from it. Elio: It’s great having you here Andre! Also thanks for taking the time to cover a few things about Firefox OS, which might be a rather difficult topic, as we have all been so passionate about it. Andre: It’s my pleasure. After all this time we can have a look at Firefox OS in a less biased way, I believe. Elio: I suppose. It would be great if you could tell me more about yourself at Mozilla and how did you get involved with Firefox OS in the first place? Andre: I was participating in a hackathon, on a brazilian campus party. They had these huge hackathons there lasting for many days. People basically camp there with activities 24/7. I went to that event alone, I didn’t have a crew to hang out with and a couple of days before that event, I went to a Firefox OS app day, where they explained the system and the API-s.