Rodrigo Cericatto, Feb 14

Phone callbacks in Android Using TelephonyManager

If you are an Android Developer and you need to detect if your phone is in idle state, off-hook (receiving state) or ringing state, this tutorial was created for you. The objective here is to show you how to implement phone callbacks in Android, allowing detection of calls to your phone. In this topic, the most important class that will be talked about is the TelephonyManager. This class uses a listener called PhoneStateListener to listen for telephony service updates. An object of type TelephonyManager will be instantiated, and it will listen for updates of Context.TELEPHONY_SERVICE. In order to monitor updates of telephony states like PhoneStateListener.LISTEN_DATA_CONNECTION_STATE, PhoneStateListener.LISTEN_CELL_INFO and others, a class called PhoneCallback will be created, extending from PhoneStateListener. With TelephonyManager the telephony services of a device can be accessed and with the method TelephonyManager.listen(PhoneStateListener listener, int events) all information the telephone is receiving can be monitored. The class PhoneStateListener receives callbacks when some event of TELEPHONY_SERVICE is observed. In this tutorial, the flag PhoneStateListener.LISTEN_CALL_STATE will be used. It will monitor and listen to the call state of the phone. As can be read in the PhoneStateListener documentation (see section “Further Reading” below), there are other constants that can be set into the argument int events of the method TelephonyManager.listen. For instance: LISTEN_SIGNAL_STRENGTHS listens for changes to the network signal strengths (cellular). But in this tutorial, the flag LISTEN_CALL_STATE will be used, which listens for changes to the device call state.
Aaron Osteraas, Feb 14

How to Prototype Web Apps Quickly with AppGini

Learn how to quickly prototype database-driven web apps with AppGini.
Design & UX
Sasha Manusama, Feb 14

bo_rad Shows off His Designer Superpowers

Graphic designer Boris Radulovic (bo_rad) shares his industry insights and how 99Designs has helped him with his freelance career.
Ivan Mushketyk, Feb 13

Beyond POJOs - Ten More Ways to Reduce Boilerplate with Lombok

How to use Lombok to reduce Java boilerplate in logging, null checks, variable definitions, concurrent code, exception handling, laziness, and more.
Baljeet Rathi, Feb 13

A Comprehensive Look at jQuery DOM Traversal

Learn how to select elements that are parents, children, or siblings of an element, and more! Baljeet Rathi explains jQuery's many DOM traversal methods.
Jose Rosario, Feb 13

Achieve 60 FPS Mobile Animations with CSS3

Animating elements in your mobile application is easy. And doing it the right way is easy, too... if you follow our tips here.
Eugene Dementjev, Feb 13

Achieving Modular Architecture with Forwarding Decorators

Eugene explains Forwarding Decorators: a crazy concept for approaching modularity in apps - wrapping them in other classes and recompiling everything.
M. David Green, Feb 13

Scrum Artifacts: Scrum Board

There are electronic tools and services that are designed to help teams capture and manage stories as they move from one state to the next.
Design & UX
Ophelie Lechat, Feb 10

Giveaway: Get a New Logo from 99designs for Free

The best 99designs offer available: a free contest giveaway, and a free $99 upgrade on any logo or design contest. 
Claudio Ribeiro, Feb 10

Taming the Snoo: Playing with the Reddit API

Claudio explores the Reddit API - from searching to authenticating with Oauth and downloading user data. Come tame this powerful beast!
Chris Burgess, Feb 10

WordPress SSL Plugins to Make Switching to HTTPS Easier

Chris Burgess covers several useful WordPress SSL plugins and testing tools to help make your switch to HTTPS hassle free.
Galo Navarro, Feb 10

How Does the Default hashCode() Work?

Java's Object class has a hashCode() implementation. But what does it do? Where do the values, often mistakenly assumed to be memory addresses, come from?
M. David Green, Feb 09

Scrum Artifacts: Sprint Backlog

The sprint backlog is the set of developer stories that the team has committed to working on during the current sprint.
Tahir Taous, Feb 09

How to Customize the SitePoint WordPress Base Theme

In this tutorial, Tahir Taous explains how to create a child theme and modify the new SitePoint WordPress Base Theme.
Design & UX
Kaitlyn Ellison, Feb 09

Learning from Long-Time Community Leader DSKY

Meet Konstantin Yastrebov, a freelance graphic designer making waves in the industry for his unique creativity. We discover how he got his foot in the door.
Maria Antonietta Perna, Feb 09

Awesome Front-end Resources and CSS Animation Course

Maria Antonietta Perna presents some front-end learning resources and the new SitePoint Premium's CSS Animation course by Donovan Hutchinson
Roman Lubushkin, Feb 09

Introducing GraphicsJS, a Powerful Lightweight Graphics Library

Create beautiful graphics with ease, as Roman Lubushkin introduces you to GraphicsJS, a new and powerful open-source, SVG-based JavaScript drawing library.
George Martsoukos, Feb 08

Animating Bootstrap Carousels with the GSAP Animation Library

George Martsoukos shows you how to build a full-screen Bootstrap carousel and apply stylish looking animations using GSAP — the GreenSock Animation Platform
Donovan Hutchinson, Feb 08

Bringing Websites to Life with CSS Animations

CSS animations are fast becoming an essential design tool and tap into a more engaged audience through micro interactions and visual validation.
Ivan Mushketyk, Feb 08

Java's Thread Class in Five Minutes

Threads are Java's basic abstraction for running code in parallel. Learn how to use the Thread class to launch, finish, and wait for threads.
Design & UX
Alex Walker, Feb 08

Catching Frontend UI Design Tricks with SnappySnippet

Often the key to understanding complex things is to understand their simpler parts first. SnappySnippet is a tool that can help you with that.
Design & UX
Gabrielle Gosha, Feb 08

GIF, PNG, JPG or SVG. Which One To Use?

This short guide outlines the differences between the file types and also uses a couple of examples to show you how the file sizes vary.
Xuyen Bowles, Feb 08

Why We’re Fearful of Health and Fitness App Security

Health and fitness apps have changed the way we exercise, eat, and even sleep. Hundreds of thousands of these diverse apps exist — more than 165,000 at last count. While these apps are serious about counting our calories, and tracking our sleep cycles, very few of them take security as seriously as they should. An incredible 90% of mobile health apps have seriously risky security vulnerabilities. Given the wealth of valuable health and personal information these apps can contain, this is troubling — the app that’s smart enough to count users’ steps, or remind them to take their blood pressure meds, may be leaving these users (and their personal information) vulnerable to hackers. If that wasn’t enough, a study from the Future of Privacy Forum found that only 60% of health and fitness apps had privacy policies; compared to 76% of general apps. What implications does this have for those of us developing health and fitness apps for a loyal and trusting user base? Are we putting consumers in danger if they use our apps to keep a food log or monitor their REM sleep cycles? How can we keep our customers’ information safe and private, while still offering top-notch digital tools for their fitness and wellbeing?
Tiffany Brown, Feb 08

CSS Pseudo-classes: Styling Form Fields Based on Their Input

Let’s take a look at some pseudo-classes that are specific to form fields and form field input. These pseudo-classes can be used to style fields