Tuesday, December 1, 2015

The State of Email Marketing 2015 - #infographic

What is the current state of Email Marketing? - #infographic

This infographic illustrates the current state of email marketing based on a major research study between Smart Insights and Get Response, in which they surveyed 1800+ email marketers from a range of business sizes and sectors around the world.

Marketers agree about the potential and power of email marketing. When sorted by effectiveness ratings of Good and Very Good, email marketing is the clear winner with 64 percent rating email marketing positively.

Take a peek at this infographic for more insights on why optimizing email marketing matters in 2015, why do marketers rate email marketing so highly, how are marketers measuring success, and more!

by Irfan Ahmad via Digital Information World

Using the Battery Status API to Optimize Your Development

battery icon

Imagine if you could program your app to adapt to the end user's device -- such as turning off certain processes if the user's device has a low battery status. Well, you can.

The Device APIs Working Group is a series of specifications drafted to provide developers with access to additional information about a user's device, so that a more tailored experience can be created. This working group contains several evolving standards, including the Battery API which we will take a look at in this tutorial.

The Battery API is now supported on several desktop and mobile browsers, so now is a good time to look at the Battery API and see what it is, where it's supported, and why you should consider leveraging it in your upcoming projects.

The Battery API: A Brief Introduction

The Battery Status API (Battery API) is exactly what it sounds like: an interface that lets developers access information about the current user's battery.

It's a JavaScript-level API that enables developers to hook into various events and properties of the user's device. For example, if we have access to the API, we can get the current battery percentage and, based on that value, set good default settings. For example, if the user's device is in a low battery state, we can remove all background tasks and make them manual only.

Since early 2011, this API has been continually under development, moving back and forth from working draft to candidate recommendation status at the W3C. Over this period, several browsers have adopted support -- though some more than others.

How Can the API Help Us?

Since the specification is not yet finalized, we can't count on developing websites or web apps that fully depend on the Battery API. What we can do, however, is provide additional functionality, or a more customized experience, if the current browser supports the API -- i.e., using it in a progressive enhancement style.

What Information Can We Access?

Since we can access the user's battery state, we can determine their current battery level and whether the device is charging or discharging. In addition, we can sometimes get the device's approximate charge or discharge time (the time until the device is either charged or dead).

With this information, we can start to change the user experience to help the user.

What Could We Use This Information for Anyway?

Even though battery optimization generally isn't in the forefront of a developer's mind, it's a factor that should be considered, especially with everything moving towards mobiles.

Websites offer a range of useful but expensive operations that could be adjusted so that your users spend less of their battery on your website. (No one likes a website or web app that demolishes your battery.)

Let's look at some of the ways we could save some battery power:

  • We could customize the Geolocation elements so that they have a lower accuracy and don't request usage of the inbuilt GPS by default. We could have two options displayed to the user, one to request it normally and another with high accuracy.
  • We could set video streams or playback to lower quality levels by default, making data transfers are quicker (and thus requiring less work of the device). An option to download the high quality stream could be provided.
  • We could reduce complex CSS animations or interface elements and provide a more basic interface.
  • We could use the battery level to determine the default interval in which background tasks are run -- such as Ajax and Web Workers. We could use the state to determine how frequently our tasks should be called, in order to minimize network usage. Providing an option or setting so users could set what they want is also a good idea.

Overall, the idea is that we can use the Battery API to provide some good defaults that save battery power, while providing more options for interacting with the website.

Browser Support

Since the Battery API is not finalized, it doesn't have universal support across all browsers yet.

On a positive note, a good number of browsers now support it (as of November 2015), so now's the perfect time to get up and running with this API.

Mobile Devices

Mobile browser support for battery status API

Mobile browsers are where support is most important. FireFox mobile has had the longest support, ranging back to early days of version 18 (January 2013). Opera followed suit in version 25 (October 2014) and finally Chrome in version 40 (April 2015).

  • Firefox 18+
  • Opera Mobile 25+
  • Chrome 42 +

Desktops

Desktop browser support for battery status API

While the Battery API makes the most sense for mobile devices (and their browsers), it's still important to have support for the API across the traditional browsers, as they're often used on laptops and other portable devices (where the API is useful).

Firefox, again, has the longest history of support, back to version 18 (launched in 2012). Chrome added support in version 39 (October 2014), closely followed by Opera with its 25th version (October 2014)

  • Firefox 18+
  • Chrome 39+
  • Opera 25+

Continue reading %Using the Battery Status API to Optimize Your Development%


by Simon Codrington via SitePoint

The 10 Big Web Design Trends of 2015

Remember 2015? The Apple Watch, the new iPhone 6S, falling in love with Jurassic Park again. It seems like only yesterday.

2015 left its unique style on everything, including web design, which continues adapting this year to mobile browsing overtaking desktop. Based on my own discussions with the design team at UXPin, let's explore the top ten trends and how to continue reaping their benefits going forward into 2016.

1. Minimalism

[caption id="attachment_119929" align="aligncenter" width="800"]OMEGA Watches Source: OMEGA Watches[/caption]

Minimalist sites embody one of the central ideals of web design in 2015: simplicity. Stripping away all but the essential elements does more than give your site an air of elegance – it also reduces loading times, a nice advantage for mobile browsing. Plus fewer elements means easier responsive design.

As explained in the free guide Web Design Trends 2015 & 2016, the minimalist aesthetic also worked together with advancement in visual capabilities, which encourages other trends like HD backgrounds.

In the example above, OMEGA includes only what's necessary: language settings, expandable menu, and the logo for returning to the home page. This draws attention almost exclusively to the hero image of the luxury product because there's not many other UI elements to compete with.

Tips

Save space with slideouts or pulldown menus.

Applying different degrees of symmetry keeps the site from looking dull, especially asymmetry.

Free Resources

Gallery of Minimal One-Page Websites - A site dedicated to featuring the best one-page websites.

Best Minimalist WordPress Themes - A nice launchpad for minimalist templates, though not all are free.

Design Trends: Elegance of Minimalism - A free guide teaching useful web minimalism techniques based on 28 examples of the year's best designs.

2. Long Scrolling

Smaller screens means longer scrolls.

With the "below the fold" myth proven wrong, today designers and users alike are recognizing the value of long scrolling: more creative freedom, improved storytelling, stronger interactions, and simplified navigation (if the site is small enough).

Long scrolling works best for sites with heavy mobile traffic or frequently updating content, and is less effective for sites with heavy media like videos, which drag on loading times.

[caption id="attachment_119927" align="aligncenter" width="316"]Shadow Source: Shadow[/caption]

Tips

Sticky navigation menus or jump-to-section options protect against disorienting users, which is a common concern with scrolling.

Draw out the playful aspects of long scrolling with effects such as parallax and scrolling-triggered animations.

Avoid the negative SEO effects by following the advice in this Moz article and this Quicksprout article.

Free Resources

One Page Love - A gallery of the best single-page websites, updated regularly.

"Apple Resurrects the Scroll Wheel" - A TechCrunch article analyzing how the Apple Watch may breath new life into scrolling websites.

How to Create a Parallax Website - A two-part tutorial that teaches the fundamentals, including coding, for parallax design.

3. The New Flat Design

Today's flat design has evolved from its roots as an alternative to skeuomorphism. The new, more nuanced iteration of flat design - Ryan Allen calls it "Flat Design 2.0" - offers more opportunity for details and flourishes:

-Lighting glares and highlights -Gradient and/or drop shadows -Greater values for detailing

[caption id="attachment_119928" align="aligncenter" width="800"]Toyota: Dream Car Collection Source: Toyota: Dream Car Collection[/caption]

Like minimalism, flat's simplicity remains its strength. The almost cartoonish graphics, legibility-first typography, and playful colors keep the style geared for easy comprehension.

Tips

Ghost buttons can be used outside of flat design. Their transparency keeps focus on background image, making them a popular addition to hero images.

Flat's simple graphics make loading a breeze. This works perfectly for responsive design.

Free Resources

Design Trends: Evolution of Flat Design - A free guide teaching flat techniques based on 18 examples of the year's best designs.

25 Flat Device Mockups: Templates for creating flat design mockups on a variety of devices.

50 Flat Icon Sets: Digital Synopsis's roundup of 50 flat icon sets that are free to use or peruse.

4. Powerful Animations

[caption id="attachment_119930" align="aligncenter" width="941"]Bugaboo pram animation Source: Bugaboo[/caption]

Because motion attracts attention, animation can influence the visual hierarchy of what gets seen first. Moreover, animation also show relations: imagine an animation of a window shrinking and flying into the menu - this animation confirms the action's success, and also shows the user where on the menu they can view the window later.

The fly-in menu, as prototyped below in UXPin with the no-code animations editor, demonstrates this principle perfectly.

UX pin prototype

At the very least, animation gives life to dull actions. A hover animation shows a link is clickable more than a simple color change.

Tips

Web and app animations can still make use of Disney's classic 12 rules of animation.

Long scrolling formats rely heavily on animation to create the appearance of smooth scrolling. On top of that, animations triggered by scrolling create a more immersive and entertaining site.

Loading screen animations give users an estimation on time and entertain them while waiting.

Subtle animations in the background, as long as they're not excessive or distracting, can add a little energy to an otherwise stale visual.

Free Resources

CSS3 Animation Cheat Sheet - This useful collection of ready-made, plug-and-play animations lets you apply premade CSS classes to any element you wish.

Web Animation - A frequently updated guide to synchronization and timing for animation in web pages and APIs.

Interaction Design & Animations - Free 80-page guide teaching interaction design techniques based on 47 examples of the year's best designs.

Continue reading %The 10 Big Web Design Trends of 2015%


by Jerry Cao via SitePoint

jQuery Backoffice Filters

A jQuery plugin with bootstrap to create filters rending out of the box for backoffice use.


by via jQuery-Plugins.net RSS Feed

Mastering Complex Lists with the Android RecyclerView

The RecyclerView was introduced with Google’s material design in Android 5.0 Lollipop.

If you are getting started with Android development or are already an experienced developer the RecyclerView is something worth investigating.

The idea of view recycling has been in Android since version 1 in the form of the ListView. The idea is simple, to present large collection of data using a small collection of views, by recycling and rebinding these views.

Continue reading %Mastering Complex Lists with the Android RecyclerView%


by Valdio Veliu via SitePoint

Stream Torrents with This One-Year Bitport Subscription for $69

Looking for the ultimate all-in-one torrent machine? That’s exactly what Bitport is, according to Gizmodo. And now you can get a one-year subscription for just $69. Your one-year subscription gets a personal cloud storage account for finding, downloading, and streaming torrents completely securely and without requiring you to download a torrent client. Downloads are fast […]

Continue reading %Stream Torrents with This One-Year Bitport Subscription for $69%


by SitePoint Offers via SitePoint

Understanding the iOS Ecosystem

Before you begin building iOS applications, it is crucial that you first understand the ecosystem. This article examines the fundamentals of Apple's operating systems, the various devices available, and Apple's App Store.

1. Why iOS?

Before the arrival of Android and Windows Phone, Apple was the dominant player in the mobile space, rivaled only by Nokia and BlackBerry. With the emergence of new mobile platforms, it has become more and more important to ask yourself which platform is best suited for you.

In spite of Apple's head start in 2007, Android has surpassed iOS in market share. What does that mean for iOS? Is it still a platform worth developing for? It sure is. There are many great reasons to get started with iOS development today.

  • Strong Financial Incentives: People spend more money on Apple's App Store than on any other mobile platform. Despite the fact that Android has become the dominant player in the mobile space, the iOS platform remains more lucrative for developers.
  • Walled Garden: Over the years Apple's App Store has received a lot of criticism from developers and customers, Apple's review process in particular. It is clear, however, that Apple's policy has led to an App Store in which the quality of its applications is higher than in any other mobile store. Customers also tend to feel much safer when purchasing applications from the App Store than they do on other—more open—platforms, such as Google Play.
  • Community and Support: The iOS developer community is a great community to be part of. There is an almost unlimited supply of articles, tutorials, and documentation to help you out when you find yourself stuck with a problem. Also, Apple's documentation of the iOS SDK is superb, not to mention the hundreds of WWDC (World Wide Developer Conference) videos available on Apple's developer website.

People often forget, or don't know, that Android and iOS are very different platforms. Even though both platforms were designed for the mobile space, the iOS ecosystem differs in many respects from the Android ecosystem.

From a development perspective, most people seem to find it easier to develop for iOS than for Android. Don't misunderstand me, I am not referring to the technology stack that each platform uses nor am I referring to the available tools for each platform. Two reasons are at the foundation of the chasm between iOS and Android, fragmentation and adoption rate.

Fragmentation

One of Android's core strengths is at the same time one of its principal weaknesses. As most of you know, the Android operating system is released as an open source project and can therefore be used and be modified by anyone. Numerous hardware manufacturers have seen the potential of Android, especially since it is backed by Google.

As a result, Android quickly gained in popularity. The problem is that each hardware manufacturer modifies Android to fit their needs and a wide variety of form factors have emerged since the introduction of Android.

Even though Android's market share may seem like a big pot of honey, it's a pain to create software that runs on each Android version currently available. Due to the thousands of different devices that run Android, testing software on hardware is no trivial task. As you can imagine, support and compatibility become a real challenge.

Adoption Rate

Traditionally, in many countries, the wireless market is under tight control by cellular carriers. From the very beginning, Apple knew it needed to be in control of its mobile devices to provide the best user experience possible. The result is that customers can upgrade their iOS devices to the latest version of iOS the same day it is released to the public. This is a major advantage of the iOS platform and the result is substantial. Less than a week after the release of iOS 9, over 50% of iOS devices had been upgraded to iOS 9.

Let's compare this with Android. In September 2015, only 20% of Android users had upgraded their devices to Lollipop (released in 2014) and less than 40% had upgraded to KitKat (released in October 2013).

The reason for bringing up these numbers is not to downplay the Android platform or any other mobile platform. What I want to emphasize is the impact the adoption rate has on the application ecosystem of these platforms.

The slower users adopt a new release of an operating system, the longer developers are forced to support older versions of the operating system. It also becomes less appealing to adopt new technologies, which can only be used on a fraction of Android devices.

2. Why Native?

If you are a frequent reader of Envato Tuts+, then you may have heard of cross-platform frameworks like Xamarin, React NativePhoneGap, Apache Cordova, and Titanium Mobile. You might be wondering why you should go through the trouble of learning Swift or Objective-C when you can create iOS applications using C# or JavaScript. Let me give you a brief rundown of your options if you decide to develop applications for iOS.

Web Applications

A web application is your first option and this was, in fact, the only option prior to the introduction of the native iOS SDK in 2008. The upside of web applications is that they don't have to deal with the App Store or Apple's review process. Why is that? A web application is a fancy name for a website that acts and behaves like an application. All you need is a browser, such as Mobile Safari or Google Chrome.

Web applications have clear advantages. They are cross-platform by default since the applications run in a browser. Another advantage is the learning curve to create web applications. If you are familiar with web development, then you'll be up and running in no time.

Of course, the downsides of web applications shouldn't be ignored either. A web application has limited access to the capabilities of the devices they run on. Mobile web applications are quite powerful thanks to HTML5 and JavaScript. However, there are distinct limitations in terms of what they can do. You won't be able to use the cool features of the iPad and iPhone. Also, web applications typically require a network connection to work, although there are exceptions to this rule.

Perhaps the biggest downside to building web applications is that, in general, they feel significantly slower than native applications. The responsiveness of web applications is improving every year, but the inherited delay added by the browser should not be overlooked or ignored. The experience is different. There's no doubt about that.

Mobile Cross-Platform Frameworks

The promise of a cross-platform framework is that developers can write an application that can be deployed to multiple mobile devices from a single code base. This is accomplished through a number of approaches.

Some frameworks, like PhoneGap and Apache Cordova, use the native SDK of the platform to create a web view in which the application is embedded. As with web applications, this imposes limitations in terms of functionality. The main advantage is that the application feels like a native application in terms of user experience and that it can be distributed through the platform's store.

Even though mobile development frameworks might seem like the holy grail for mobile development, there are a number of downsides that need to be considered. The most important downside is that your application depends on a third party framework. In other words, your project's code base depends on the company that provides the cross-platform solution. If that company goes out of business or is slow to implement changes made to the native SDK, you could be forced to start over from scratch. That's a risk that you need to consider.

iOS SDK

Choosing to develop with the native SDK is the best choice if you want to create applications that stand out and take advantage of the device's capabilities. Opting for a native application also means that you will work in a robust development environment and that you can rely on Apple's development tools, utilities, and support.

3. iOS Ecosystem

One of the most appealing aspects of the iOS ecosystem is its simplicity. The list of devices capable of running iOS is surprisingly short compared to Android or Windows Phone. This means that testing iOS applications is much less cumbersome compared to other platforms.

As I mentioned earlier, Android has surpassed iOS in terms of market share, but this is only part of the story. The iOS platform accounts for more than a third of web usage on mobile devices. What does this tell us about the mobile space? It tells us that iOS remains a dominant player in the mobile space, at least online, and this despite Android's much larger market share.

Devices

There are essentially two device families within the iOS ecosystem:

  • the iPad device family
  • the iPhone device family, which also includes the iPod Touch

For a complete overview, I recommend taking a look at this list. The primary differences within the iPhone device family are hardware capabilities and screen size. For iPhone and iPod Touch, there are four possible screen sizes:

  • 3.5"
  • 4.0"
  • 4.7"
  • 5.5"

For the iPad device family, there are three possible screen sizes:

  • 7.9"
  • 9.7"
  • 12.9"

The difference in screen size does impact development, but it doesn't add much overhead for most applications. I will talk more about this in the course of the series.

In 2012, Apple introduced the iPad Mini and in 2015 the iPad family was expanded with the iPad Pro. Even though the introductions of the iPad Mini and the iPad Pro caused a ripple in the technology industry, it has had little impact for iOS developers.

The screen of the iPad Mini, for example, is significantly smaller than that of the 9.7" iPad Air, but the resolution is identical to the resolution of the 9.7" iPad devices. Due to the iPad Mini's smaller screen, the average size of the touch targets is smaller and this might pose a problem for some applications.

iOS

Apple traditionally releases a new version of its mobile operating system every year. To date, Apple has released nine major versions of its mobile operating system with the most recent release being iOS 9.

Device support is an aspect of iOS that people often overlook. Take the iPhone 4S, for example. The iPhone 4S was released in 2011 and is still capable of running iOS 9. There is no mobile platform that comes even close to this in terms of device support.

App Store

One of the key reasons to develop for the iOS platform is the incredible success of the App Store. Selling software has never been easier thanks to Apple's App Store on iOS and OS X. With more than one million applications it is getting a bit crowded in the App Store for iOS, but keep in mind that the number of iOS devices also continues to grow exponentially.

The mobile space is in its infancy and there is still so much potential that is waiting to be uncovered. As with the web in the late nineties, the mobile space will continue to grow at a fast pace and the amount of money that can be made increases with every new smartphone, smartwatch, and tablet sold.

4. watchOS and tvOS

In 2015, Apple announced two new operating systems, watchOS for Apple Watch and tvOS for Apple TV. Apple has opened up both platforms for third party developers, bringing third party applications to your wrist and living room.

The tools for watchOS and tvOS development are identical to those for iOS development. This is yet another reason for choosing for the iOS ecosystem. Apple's operating systems, OS X, iOS, watchOS, and tvOS, are tightly integrated and the possibilities are virtually endless.

Conclusion

You now have a clear picture of the iOS ecosystem and I hope that I was able to convince you to get started with iOS development. In the next post, I will show you how to get started with the native SDK by setting up the development environment. You're going to be surprised by how easy this is.

If you have any questions or comments, you can leave them in the comments below or reach out to me on Twitter.


by Bart Jacobs via Envato Tuts+ Code