What is Google TalkBack?

 

Google’s TalkBack service is a great way for the vision-impaired to use all of Android’s features

Most of us take being able to see everything on our high-resolution Androids for granted. We peep at pixels, discuss the merits of display technology to death, and even tend to turn our nose up at devices that don’t have the ultra-high-res “true” HD screens some of today’s flagships offer. But that’s not the case for the large segment of us who have impaired vision.

Folks who have a hard time seeing the overload of information that a modern smartphone has to offer will need some assistance, and Google provides a really comprehensive set of tools in TalkBack. TalkBack is an Accessibility Service that helps vision-impaired users interact with, and enjoy, their devices. It uses spoken word, vibration and other audible feedback to let you know what’s on your screen, what you’re touching, and what you can do with it.

TalkBack

TalkBack was installed on your device when you bought it as part of Google’s Android application suite, and it is routinely updated with improvements and new features through Google Play. If you don’t need assistance because you’re not able to see everything on the screen clearly, you’ve probably never looked at it. That’s not necessarily a bad thing, because it wasn’t designed for those of us who can see everything and the setup and options can be confusing when you see what you want to do and hear how it all works at the same time.

How it works is that you use your finger to “explore” what is on the screen, and when you come across any element that can be acted on, or any block of text that can be read back to you, TalkBack kicks in. For text (including things like the time and notifications) the screen reader service tells you exactly what it written — including things like “colon p” for emoticons, and all the characters in a web address for example. For elements that you act on, TalkBack tells you what you’ve touched, and lets you act with a double tap or move to the next element without triggering anything. It’s pretty well thought out, and if you can follow the audible prompts you can do anything on an Android — even if you can’t see the screen. All you need to do is set it up.

Having said that, the whole setup routine and setting the various options is covered very well in the tutorial the first time you initiate the service. You’ll find it under “Accessibility” in your device settings, and on recent versions of Android all you need to do to enable it is slide a toggle to the on position. You’re then walked through all the ways TalkBack can help, as well as how to use gestures and dive into the settings of the service itself.

TalkBack Settings

And there are settings galore. The settings for spoken feedback — reading what you see on your screen — include options you would expect like speech volume and reading out caller ID information, as well as settings for using a different pitch when telling you what you’re typing, and a setting to allow shaking the phone start and stop screen reading. Google has really done a fine job figuring out what we might need here, and has thrown it all in. When something is this important — some of us couldn’t use a phone or tablet without some assistive technology — we’re glad to see all the options.

When it comes to other feedback, you can turn vibration on and off, set things so you’re given an audible tone when you’ve highlighted a selectable item, and control the volume of other audio — like a call or music — so you’re better able to hear TalkBack when it needs to tell you something.

You’re also able to completely customize the exploration by touch features. You can enable custom labels (which are read aloud) and gestures, change from the default double tap to activate and double finger scroll for lists and other screen items, and most importantly, activate the tutorial at any time.

TalkBack

TalkBack isn’t something you’ll want to use unless you need it. Frankly, it’s darn near impossible to use when you can see what it is telling you you’re seeing, and you can’t help but tap and try to do things before it is ready. But folks who need to rely on this sort of tech will be more attuned to following audible cues, and this is a great way to help those of us who need some help to get that help. If you have the need, or know someone who does, be sure to give Talk Back a look and see if it can make someone’s Android experience a little better.

 

As Posted on http://www.androidcentral.com/what-google-talk-back by Jerry Hildenbrand

Best JavaScript Libraries of 2014 One Must Have

A JavaScript library is a pre-written JavaScript which permits to develop JavaScript-based applications easily, particularly applied for web browsers that allows to cooperate with the users and control the browser. The main use of JavaScript is to write functions that built-in HTML pages and interact with the Document Object Model (DOM) of the page. The language can be used as server side programming language for the game development and the design of desktop / mobile applications. In short, JS libraries is solution of problem as it is built to resolve the issues.

These libraries will help you to make things easier for your website related tasks. We hope these JavaScript libraries will be helpful to your website linked requirements.

Voix.js

A JavaScript library to add voice commands to your sites, apps or games.

ScrollReveal.js

ScrollReveal.js is a simple way to create and maintain how elements fade in, triggered when they enter the viewport. It helps you to build declarative on-scroll reveal animations for your websites.

AngularJS

AngularJS is a toolset for building the framework most suited to your application development. It is fully extensible and works well with other libraries. Every feature can be modified or replaced to suit your unique development workflow and feature needs.

ACE

Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and Text Mate. It can be easily embedded in any web page and JavaScript application. Ace is maintained as the primary editor for Cloud9 IDE and is the successor of the Mozilla Skywriter (Bespin) project.

Hammer.js

Hammer is an open-source library that can recognize gestures made by touch, mouse and pointer Events. It doesn’t have any dependencies, and it’s small, only 3.71 kB minified + gzipped!

Math.js

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser and offers an integrated solution to work with numbers, big numbers, complex numbers, units, and matrices. Powerful and easy to use.

Type Rendering Mix

Type Rendering Mix is useful in many situations. Let’s say you are using Proxima Nova on your website. Below you can see how the “thin” weight will look in OS X and Windows 7. Due to the way the Core Text rasterizer works, fonts will look heavier on OS X and iOS than on other platforms.

Switchery

Switchery is a simple component that helps you turn your default HTML checkbox inputs into beautiful iOS 7 style switches in just few simple steps. You can easily customize switches, so that they match your design perfectly.

Unison.js

Unison.js is a small plugin (1.2kb minified) that allows you to declare named breakpoints in one place and automatically sync them across your JavaScript and markup. When all of your front-end technologies share break point information, complex responsive tasks such as conditional loading and image swapping become much simpler and straight-forward.

Ember Charts

A charting library built with the Ember.js and d3.js frameworks. It includes time series, bar, pie, and scatter charts which are easy to extend and modify. The out-of-the-box behavior these chart components represents our thoughts on best practices in chart interactivity and presentation.

Offline.js

Offline.js is a library to automatically alert your users when they’ve lost internet connectivity, like Gmail.

It captures AJAX requests which were made while the connection was down, and remakes them when it’s back up, so your app reacts perfectly.

It has a number of beautiful themes and requires no configuration.

Parallax.js

via Best JavaScript Libraries of 2014 One Must Have | Downgraf.

Phaser

Phaser is a fast, free and fun open source game framework for making desktop and mobile browser HTML5 games. It uses Pixi.js internally for fast 2D Canvas and WebGL rendering.

Version: 2.0.5 “Tanchico” – Released: 20th May 2014 By Richard Davey, Photon Storm

via photonstorm/phaser.

Javascript Self Invoking Functions

In this article, I will discuss self-executing or self-invoking functions of javascript and their hidden power with real-world example. We will also see why using setInterval is bad in some situations and should be avoided. Let’s explore little used but extremely powerful self-invoking functions of javascript.

Self-Invoking Anonymous Function

A self-invoking anonymous runs automatically/immediately when you create it and has no name, hence called anonymous. Here is the format of self-executing anonymous function:

(function(){
 // some code…
})();

You must be aware of the fact that javascript functions run immediately when you put () after their names eg:

doStuff(); // this will run immediately

And:

doStuff; // this will not run immediately and can be used as callback

Now because () exist at the end of self-executing anonymous function above, it will run immediately.

Interestingly, if you look at the source code of jQuery, you will see that everything is wrapped in between:

(function( window, undefined ) {
 // jQuery code
})(window);

That is as can be seen also a self-executing anonymous function with arguments. A window (and undefined) argument is created and is mapped with global window object at the bottom (window).

Notice that you can also write self-executing anonymous function like this:

(function(){
 // some code…
})();

Using extra braces like before function keyword is simply coding convention and is used even by famous javascript libraries such as jQuery and also recommended by Douglas Crockford. If you are confused about that extra pair of braces, here is another easy to remember notation:

! function(){
// some code…
}();

Notice the addition of ! before function keyword, it is essentially same in functionality to previous notation and also recommended (used by twitter too), quoting docs, section 12.4:

An ExpressionStatement cannot start with the function keyword because that might make it ambiguous with a FunctionDeclaration.

Reblogged from http://sarfraznawaz.wordpress.com/2012/01/26/javascript-self-invoking-functions/

TreSensa Game Engine overview

The TreSensa Game Engine (TGE for short) is a fast javascript game engine optimized for the mobile web and has out of the box integration with TreSensa’s analytics, distribution and monetization services. It has been battle tested on hundreds of mobile devices and platforms and offers the full benefit of the TreSensa platform. Download SDK 

Ease of use:

  • During dev: Straightforward JS lib purely canvas based.
  • Object oriented and easy looking for anyone familiar with 2d game engines or Flash.
  • Helper functions and boiler plates, samples and ready-made assets.
  • 2D scene graph functionality ( Parent/child relationships)
  • High-level game features: Camera, Scene Management, Parallax Planes, etc. Asset management
  • Componentized engine For example: sound and graphics features can be used Standalone or with higher level game abstraction class. TFX
  • Device independent detection

Best Reach:

  • Efficient rendering of graphics and animation across a wide range of browser runtime environments (Mobile Safari, Mobile Chrome, Android, Silk, etc.)

Features

  • Battle Tested. The most robust JavaScript mobile-game framework on the market today.
  • Mobile First. Designed for mobile, but works on desktop equally well.
  • Fast. Optimized canvas renderer ensures speed and compatibility across all mobile devices.
  • Easy. Object oriented framework. Build off of core classes and scene graph objects.
  • Familiar. Scene graph architecture & layering system makes AS3 developers feel right at home.
  • Efficient. TexturePacker plug-in makes integrating texture-packed images trivial.
  • Versatile. Animation system supports sprite sheets and keyframed exports from Flash via TFX.
  • Cross Platform. Map user input handling to both desktop and mobile without platform specific controls.
  • Asset Manager. Supports images, audio, and js. for asset loading for entire game or per-level loads.
  • Tweening . Fully featured tweening library.
  • Dynamic Camera. Extensible camera shaking effects.
  • Documented. API docs, tutorials, code snippets, sample games with full source, and developer forums.

via TreSensa Game Engine overview

Google Chrome extensions

Extensions are small software programs that can modify and enhance the functionality of the Chrome browser. You write them using web technologies such as HTML, JavaScript, and CSS.

Extensions allow you to add functionality to Chrome without diving deeply into native code. You can create new extensions for Chrome with those core technologies that you’re already familiar with from web development: HTML, CSS, and JavaScript. If you’ve ever built a web page, you should feel right at home with extensions pretty quickly.

 

Getting Started

The very first thing we’ll need to create is a manifest file named manifest.json. The manifest is nothing more than a JSON-formatted table of contents, containing properties like your extension’s name and description, its version number, and so on. At a high level, we’ll use it to declare to Chrome what the extension is going to do, and what permissions it requires in order to do those things.

Manifest

 

{
  "manifest_version": 1,

  "name": "Name of Your Extension",
  "description": "About your Extension",
  "version": "1.0",

  "permissions": [
    "https://google.com/"
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

 

Resources

You probably noticed that manifest.json pointed at two resource files when defining the browser action: icon.png and popup.html. Both resources must exist inside the extension package.

  • icon.png will be displayed next to the Omnibox, waiting for user interaction.
  • popup.html will be rendered inside the popup window that’s created in response to a user’s click on the browser action. It’s a standard HTML file, just like you’re used to from web development, giving you more or less free reign over what the popup displays.
  • popup.js – popup.html requires an additional JavaScript file in order to do the work.

You should now have four files in your working directory: icon.png, manifest.json, popup.html, popup.js. The next step is to load those files into Chrome.

 

Load the extension

Extensions that you download from the Chrome Web Store are packaged up as .crx files, which is great for distribution, but not so great for development. Recognizing this, Chrome gives you a quick way of loading up your working directory for testing. Let’s do that now.

  1. Visit chrome://extensions in your browser (or open up the Chrome menu by clicking the icon to the far right of the Omnibox: The menu’s icon is three horizontal bars.. and select Extensions under the Tools menu to get to the same place).
  2. Ensure that the Developer mode checkbox in the top right-hand corner is checked.
  3. Click Load unpacked extension… to pop up a file-selection dialog.
  4. Navigate to the directory in which your extension files live, and select it.

If the extension is valid, it’ll be loaded up and active right away! If it’s invalid, an error message will be displayed at the top of the page. Correct the error, and try again.

 

Samples

 

Image Hover Effect to display Captions

Image hover effect is fun way to interact with any image.

Here I found number of wonderful tutorials to implement Image Hover using various method.