Our social:

Latest Post

Saturday, 5 April 2014

Ctrl Z ; Indeed A Computer Lifesaver

Ctrl Z ; Indeed A Computer Lifesaver

Life don’t have Ctrl Z but Computer does, How i wish life also come with a Ctrl Z like that of Computers . Ctrl Z is one of my favorite shortcut and indeed a lifesaver. I used the word lifesaver because it saves a lot of time & work by the power given to it to Undo mistakes with a simple keystroke.
CTRL + Z ! ; Sound strange ?
Ctrl Z ; Indeed A Computer Lifesaver
Ctrl Z is a computer ( most windows ) command generated by pressing and hold the Ctrl key in your keyboard plus the Z key .The purpose of this shortcut is Undo definitely last actions before pressing the command.

Important Of Ctrl Z
* With Ctrl Z , you can able to take risks and undo it if something went wrong.
* Save a lot of time by reverting back old version of works
* On Blogger or WordPress ( For dudes in blogosphere ) this shortcuts also undo some action, maybe you mistakenly delete something or edit something and instead of moving your mouse to click on the undo button, you can simply use this shortcut ( Ctrl + Z )
This is not all, I might have omit some which definitely escape my mind, let keeps the ball rolling, lets know how useful ctrl z is for you and your experience with this command.

What You Need To Know About Ctrl Z
As we all know that Ctrl Z is use to Undo in most computer especially window based computer, still you need to note these ;
Note ; In some Operating systems, Ctrl Z is used to signal end-of-file.
Note ; Some computer programs are limited to some number of undos in a row which means you can only Undo 5 steps ( it depends ) .
Note ; In photoshop, Ctrl z undo all recent actions made with tool selected, Ctrl + Alt + Z however undo the last action.

Lastly, Ctrl Z is limited to some areas, how i wish it can be use in some areas like desktop, explorer and the likes, i had a bad experience which i believe if Ctrl Z can work there it will have been better, the shot bellow shows how i customize my laptop desktop. One faithful day, I gave my laptop to a lady ( i don’t use to give out my gadget anyhow because they mean a lot to me though i might give you my book and if you like you may not return it ;) but not something like smartphone or Pc ) but being a lady and a nice one, I am left with no option that to give her, In short this lady tamper with my desktop and mess things up, thank God she didn’t delete my data. Had it been Ctrl Z is available there, i would have revert it back. Then i have to design the stuff again but damn,is not like before !

Ctrl Z ; Indeed A Computer Lifesaver

Life don’t have Ctrl Z but Computer does, How i wish life also come with a Ctrl Z like that of Computers . Ctrl Z is one of my favorite shortcut and indeed a lifesaver. I used the word lifesaver because it saves a lot of time & work by the power given to it to Undo mistakes with a simple keystroke.
CTRL + Z ! ; Sound strange ?
Ctrl Z ; Indeed A Computer Lifesaver
Ctrl Z is a computer ( most windows ) command generated by pressing and hold the Ctrl key in your keyboard plus the Z key .The purpose of this shortcut is Undo definitely last actions before pressing the command.
Recommended ;
- 20 Useful Mac Shortcuts You Probably Don’t Know
- 4 WAYS TO RECOVER YOUR LOST/DELETED FILES
Important Of Ctrl Z
* With Ctrl Z , you can able to take risks and undo it if something went wrong.
* Save a lot of time by reverting back old version of works
* On Blogger or WordPress ( For dudes in blogosphere ) this shortcuts also undo some action, maybe you mistakenly delete something or edit something and instead of moving your mouse to click on the undo button, you can simply use this shortcut ( Ctrl + Z )
This is not all, I might have omit some which definitely escape my mind, let keeps the ball rolling, lets know how useful ctrl z is for you and your experience with this command.
You Can Also Read ;
- HOW TO BACKUP DATA ON ALL WINDOWS AND MACS
- 5 COMMON COMPUTER PROBLEMS AND THEIR SOLUTIONS
What You Need To Know About Ctrl Z
As we all know that Ctrl Z is use to Undo in most computer especially window based computer, still you need to note these ;
Note ; In some Operating systems, Ctrl Z is used to signal end-of-file.
Note ; Some computer programs are limited to some number of undos in a row which means you can only Undo 5 steps ( it depends ) .
Note ; In photoshop, Ctrl z undo all recent actions made with tool selected, Ctrl + Alt + Z however undo the last action.
Lastly, Ctrl Z is limited to some areas, how i wish it can be use in some areas like desktop, explorer and the likes, i had a bad experience which i believe if Ctrl Z can work there it will have been better, the shot bellow shows how i customize my laptop desktop. One faithful day, I gave my laptop to a lady ( i don’t use to give out my gadget anyhow because they mean a lot to me though i might give you my book and if you like you may not return it ;) but not something like smartphone or Pc ) but being a lady and a nice one, I am left with no option that to give her, In short this lady tamper with my desktop and mess things up, thank God she didn’t delete my data. Had it been Ctrl Z is available there, i would have revert it back. Then i have to design the stuff again but damn,is not like before !
- See more at: http://www.dawahnet.com/2014/02/ctrl-z-indeed-a-computer-lifesaver.html#sthash.ZK2TBUHK.dpuf

How To Easily Format Android Phones

How To Easily Format Android Phones
Are you frustrated of your malfunctioning or slow android phone ? Formatting your android phone might solve this problem. It happens at times, maybe you are playing around with your phone ( like i always do ;) ) and you mistakenly tamper with a setting or something you ought not to and you find it difficult to revert it back, then the final answer will be Format your android phone #ThatsAll ! ;).

Formatting android phone and other android devices means resetting your device to the factory setting which will make your phone looks exactly as it is from the manufacturer by wiping out everything you have done to the phone including the apps you installed and all in the phone memory then restoring it back to the basic manufacturer software.
how to format android phones 
What will happen after formatting my android phone ?
  • System files including the apps that come with phone will be untouched since its read-only
  • All cache will be cleared
  • All data in Phone/internal storage will be erased ( Some files like music or photo can be prevent from in some devices )
  • All files and data in the sdcard will be untouched.
  • Your Google account and other accounts will be cleared
  • Downloaded apps will be all removed.
  • App data and settings will also be cleared.
Are you ok with these ? then you can proceed to format your android phone.

How To Easily Format Android Phones
  • Go to where your android phone settings is located.
  • Navigate to Backup & Reset ( It depends on your device, some are located under Privacy )
  • Click on Factory Reset
  • Then click on Reset device to delete all data and restore your device’s factory settings. N : B ; If you want to erase all of the data on your phone’s SD card also, tick the box at the bottom of the screen.
  • Confirm it and allow the phone to restart.
Alternative Way to Easily Format Android Phones.
It can be use to format/reset non-booting phones, just use one of the bellow button combination, one will surely work for your device.
- Volume Down + Power
- Volume Up + Home + Power
- Home + Power

Once the recovery menu opens, you can navigate the menu with the volume buttons and use the Power button to select your menu options.
When your phone now reboot, it will looks exactly as it is from the manufacturer

Study At Zend University, Cotonou

Admission into Zend University is always on. Zend has a student intake pattern of three times a year. You can register to begin in the Fall Semester, after the date of commencement every further registration goes to the next semester in Spring and anyone who missed this period will commence in the Summer Semester.

Applications are invited from suitable qualified candidates seeking to follow a program in our various courses and departments of faculties. Jamb Free, Conducive Environment, constant Light supply, constant treated water supply to every door step and about 90k per semester, please check www.zenduniversity.org, or www.zendinstitute.org, for information please call +22999383030, or +2299961007295 (Whatsapp).

ADMISSION REQUIREMENTS
1. Applicant must have attained the age of Seventeen years (17) or would have done so on the first day of his/her resumption In March, August or in October.

2. Applicant must have completed or is about to complete a full course of training in a Secondary School, Technical School, Teacher Training College or an approved Institution of equivalent status.

3. Applicant must in addition to completing a full course of training in a Secondary School or Technical School have written one of the following qualification exams: Baccalaureate (BAC), National Examinations Council (NECO) / West African Examination Council (WAEC) Senior School Certificate Examination (SSCE) / General Certificate of Education (GCE) or an examination of equivalent status with minimum of credit passes in Five (5) subjects relevant to the course including Mathematics and English and obtained at not more than two sittings; except where otherwise specified.

4. Photocopies of all RESULT SLIPS are required. Four (4) Passport size photographs (Endorsed behind by name and signature). Result Scratch Cards for confirmation of RESULTS or presentation of ORIGINAL RESULT. Photocopies of Birth Certificates.

COLLEGE OF MATHEMATICS AND COMPUTER SCIENCE
Computer Science and Artificial Intelligence, Computer Application, Information Technology, Film, Video and Post-Production, Digital Multimedia Technology, Music and Audio Production, Video and 3D Animation, Computer Engineering.

COLLEGE OF BUSINESS MANAGEMENT AND ADMINISTRATION
Accounting (Management and Finance), Banking and Finance, Management and Business Administration, Economics (with Development Studies and Statistics), Entrepreneurship, Marketing, Public Administration, Human Resource Management, Insurance and Risk Management, Management, Information Resource Management.

COLLEGE OF ARTS, SOCIAL AND HUMAN DEVELOPMENT
Creative Arts (Fine Art and Applied Arts), Music and Theatre Arts, English Language and Literature, Foreign Languages and Literature, French Communication, Linguistics, Law (International Law and Jurisprudence), Civil, Public and International Law, Mass Communication, Anthropology , Counseling, Psychology and Human Development, International Relations and Diplomacy, Political Science, Journalism, Philosophy, Sociology, Theology.

COLLEGE OF APPLIED SCIENCES AND ENGINEERING

Applied Biology and Biotechnology, Applied Industrial Microbiology, Chemistry (Chemical Science and Industrial Chemistry), Biological Science, Architecture, Chemical and Petrochemical Engineering, Civil and Environmental Engineering, Computer Engineering, Computer Science and Engineering, Electrical Electronics Engineering, Electrical Electronics and Computer Engineering, Industrial Production and Engineering, Industrial Mathematics, Materials and Production Engineering, Mechanical and Production Engineering, Petroleum and Gas Engineering , Polymer and Textile, Software Engineering, Physics (Engineering and Industrial), Estate Management, Geography and Environmental Studies, Project Management Technology, Transportation and Management Technology, Building Technology.

COLLEGE OF MEDICAL AND PHARMACEUTICAL SCIENCES

Biochemistry (Medical and Industrial), Biomedical Engineering, Human Medicine, Pharmacology, Physiology, Physiotherapy, Mental Health Science, Medicine and Surgery, Nursing, Pharmacy, Radiography, Dentistry and Dental Technology, Public Health Technology, Medical Laboratory Technology/Science.

ADMISSIONS PROCEDURE

All application materials are available on the web at www.zendinstitue.org. Forms may be completed on our website using the registration PIN or downloaded and printed for completion offline. The form fee and student registration PIN cost is waived when completed online. Paper applications must be returned to the Office of Admissions with the required fee. Visit: www.zenduniversity.org, or www.zendinstitute.org, for information please call +22999383030, or +2299961007295 (Whatsapp).

 SOURCE

Thursday, 3 April 2014

Nigeria's Mark Zuckerberg' Puts Tech Into Higher Learning

At 23, many people around the world are still at university -- at that age,
Gossy Ukanwoke had already started
one.

The young entrepreneur is the founder of Beni American University (BAU), Nigeria's first private online university. Launched in late 2012, the school allows students to access their classes at any time of the day with any internet-enabled device.

"We are providing executive programs for graduates who are looking for employment and want to build up their resumes, or managers who want to climb up the hierarchy of their companies," says Ukanwoke, now 25.

"We also have courses targeted at people who want to start their own business." 'Nigeria's Mark Zuckerberg' Ukanwoke's idea to start BAU came from his previous online venture called Students Circle, an educational social networking site he'd launched while in university that allows learners to interact and access free resources from leading schools.

"When I created Students Circle in 2010," explains Ukanwoke, "I found out that many were looking for certificates, hoping that they could get something they could use to maybe find employment or get a promotion in the workplace. "There was a need for a new institution to be created in Nigeria," adds Ukanwoke, who was once described by Forbes as "Nigeria's Mark Zuckerberg."

Now, some 18 months into his new business endeavor, Ukanwoke has hired 10 instructors and has about 200 students, with an average age of 26.

But the startup's journey so far has not been without challenges -- Nigerian laws require universities to have a physical campus so last year Ukanwoke went and bought land in the country's Benue State with the goal to build a private campus that could accommodate some 10,000 students.

The project is expected to launch next year, but in the meantime the web courses are up and running -- a 12 week online program can cost between $100 and $300.

Among the courses offered are corporate diplomacy, global marketing, leadership and management, digital journalism, project management and entrepreneurship and innovation, which is the university's most popular class.

Ukanwoke relies mainly on social media to advertize but says that it's student referrals that are increasing BAU's enrollment.

"We still have a long way to go, we have a lot of work to do, a lot of policy
wrangling too," he admits. "But it's a work in progress and we are quite happy with where we are."

Thursday, 6 February 2014

How to create a button with built in progress bar

Progress bars have become quite popular lately, and there are lots of plugins that can help you add one to your site. But how do you make one yourself? The problem is that there are plenty of implementations already, so in this tutorial, we are going to code something different – buttons that have built in progress meters.
DEMO
They will be perfect for displaying progress while submitting forms or loading content via AJAX. They will also use CSS3 styles and transitions to make them easy to customize.
 

The HTML

In the first section of the tutorial, we will write the HTML markup. It comes in the form of a standard HTML5 document which includes two additional resources that we will discuss later – the styles.css stylesheet and the script.js JavaScript file. Additionally, I have included the jQuery library, and the Raleway font from Google web fonts.

index.html

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8"/>
        <title>Tutorial: Buttons with built-in progress meters</title>

        <link href="http://fonts.googleapis.com/css?family=Raleway:400,700" rel="stylesheet" />

        <!-- The Stylesheets -->
        <link href="assets/css/style.css" rel="stylesheet" />

    </head>

    <body>

        <h1>Progress Buttons</h1>

        <a id="submitButton" href="#" class="progress-button">Submit</a>

        <a id="actionButton" href="#" class="progress-button green" data-loading="Working.." data-finished="Finished!" data-type="background-bar">Action!</a>

        <a id="generateButton" href="#" class="progress-button red" data-loading="Generating.." data-finished="Download" data-type="background-vertical">Generate</a>

        <h1>Progress Control</h1>

        <a id="controlButton" href="#" class="progress-button">Start</a>

        <div class="control-area">
            <a class="command increment">Increment</a>
            <a class="command set-to-1">Set to 1%</a>
            <a class="command set-to-50">Set to 50%</a>
            <a class="command finish">Finish</a>
        </div>

        <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="assets/js/script.js"></script>

    </body>
</html>
The markup is pretty simple. The progress buttons are defined as regular hyperlinks. In order to be recognized by the plugin and turned into buttons with built-in progress bars, they need to have the .progress-button class. Buttons can also be configured by setting three data-* attributes:
  • data-type specifies what type of progress bars will be shown. Currently three types are supported: background-horizontal (the default), background-bar and background-vertical.
  • data-loading specifies the text that is shown while the progress bar is moving. The default value is Loading..
  • data-finished holds the text that is set on the button when the progress is done. The default value is Done!
If you omit an attribute, the default value will be used.
Buttons With Built-in Progress Meters
Buttons With Built-in Progress Meters

The jQuery Code

In this part of the tutorial, we are going to write the JavaScript and jQuery code to make the buttons work. The code is organized as 6 jQuery plugins that share a common name – progressInitialize, progressStart, progressIncrement, progressTimed, progressSet and progressFinish. I have provided plenty of comments in the code, so you can dig right in:

assets/js/script.js

$(document).ready(function(){

    // Convert all the links with the progress-button class to
    // actual buttons with progress meters.
    // You need to call this function once the page is loaded.
    // If you add buttons later, you will need to call the function only for them.

    $('.progress-button').progressInitialize();

    // Listen for clicks on the first three buttons, and start 
    // the progress animations

    $('#submitButton').click(function(e){
        e.preventDefault();

        // This function will show a progress meter for
        // the specified amount of time

        $(this).progressTimed(2);
    });

    $('#actionButton').click(function(e){
        e.preventDefault();
        $(this).progressTimed(2);
    });

    $('#generateButton').one('click', function(e){
        e.preventDefault();

        // It can take a callback

        var button = $(this);
        button.progressTimed(3, function(){

            // In this callback, you can set the href attribute of the button
            // to the URL of the generated file. For the demo, we will only 
            // set up a new event listener that alerts a message.

            button.click(function(){
                alert('Showing how a callback works!');
            });
        });
    });

    // Custom progress handling

    var controlButton = $('#controlButton');

    controlButton.click(function(e){
        e.preventDefault();

        // You can optionally call the progressStart function.
        // It will simulate activity every 2 seconds if the
        // progress meter has not been incremented.

        controlButton.progressStart();
    });

    $('.command.increment').click(function(){

        // Increment the progress bar with 10%. Pass a number
        // as an argument to increment with a different amount.

        controlButton.progressIncrement();
    });

    $('.command.set-to-1').click(function(){

        // Set the progress meter to the specified percentage

        controlButton.progressSet(1);
    });

    $('.command.set-to-50').click(function(){
        controlButton.progressSet(50);
    });

    $('.command.finish').click(function(){

        // Set the progress meter to 100% and show the done text.
        controlButton.progressFinish();
    });

});

// The progress meter functionality is available as a series of plugins.
// You can put this code in a separate file if you wish to keep things tidy.

(function($){

    // Creating a number of jQuery plugins that you can use to
    // initialize and control the progress meters.

    $.fn.progressInitialize = function(){

        // This function creates the necessary markup for the progress meter
        // and sets up a few event listeners.

        // Loop through all the buttons:

        return this.each(function(){

            var button = $(this),
                progress = 0;

            // Extract the data attributes into the options object.
            // If they are missing, they will receive default values.

            var options = $.extend({
                type:'background-horizontal',
                loading: 'Loading..',
                finished: 'Done!'
            }, button.data());

            // Add the data attributes if they are missing from the element.
            // They are used by our CSS code to show the messages
            button.attr({'data-loading': options.loading, 'data-finished': options.finished});

            // Add the needed markup for the progress bar to the button
            var bar = $('<span class="tz-bar ' + options.type + '">').appendTo(button);

            // The progress event tells the button to update the progress bar
            button.on('progress', function(e, val, absolute, finish){

                if(!button.hasClass('in-progress')){

                    // This is the first progress event for the button (or the
                    // first after it has finished in a previous run). Re-initialize
                    // the progress and remove some classes that may be left.

                    bar.show();
                    progress = 0;
                    button.removeClass('finished').addClass('in-progress')
                }

                // val, absolute and finish are event data passed by the progressIncrement
                // and progressSet methods that you can see near the end of this file.

                if(absolute){
                    progress = val;
                }
                else{
                    progress += val;
                }

                if(progress >= 100){
                    progress = 100;
                }

                if(finish){

                    button.removeClass('in-progress').addClass('finished');

                    bar.delay(500).fadeOut(function(){

                        // Trigger the custom progress-finish event
                        button.trigger('progress-finish');
                        setProgress(0);
                    });

                }

                setProgress(progress);
            });

            function setProgress(percentage){
                bar.filter('.background-horizontal,.background-bar').width(percentage+'%');
                bar.filter('.background-vertical').height(percentage+'%');
            }

        });

    };

    // progressStart simulates activity on the progress meter. Call it first,
    // if the progress is going to take a long time to finish.

    $.fn.progressStart = function(){

        var button = this.first(),
            last_progress = new Date().getTime();

        if(button.hasClass('in-progress')){
            // Don't start it a second time!
            return this;
        }

        button.on('progress', function(){
            last_progress = new Date().getTime();
        });

        // Every half a second check whether the progress 
        // has been incremented in the last two seconds

        var interval = window.setInterval(function(){

            if( new Date().getTime() > 2000+last_progress){

                // There has been no activity for two seconds. Increment the progress
                // bar a little bit to show that something is happening

                button.progressIncrement(5);
            }

        }, 500);

        button.on('progress-finish',function(){
            window.clearInterval(interval);
        });

        return button.progressIncrement(10);
    };

    $.fn.progressFinish = function(){
        return this.first().progressSet(100);
    };

    $.fn.progressIncrement = function(val){

        val = val || 10;

        var button = this.first();

        button.trigger('progress',[val])

        return this;
    };

    $.fn.progressSet = function(val){
        val = val || 10;

        var finish = false;
        if(val >= 100){
            finish = true;
        }

        return this.first().trigger('progress',[val, true, finish]);
    };

    // This function creates a progress meter that 
    // finishes in a specified amount of time.

    $.fn.progressTimed = function(seconds, cb){

        var button = this.first(),
            bar = button.find('.tz-bar');

        if(button.is('.in-progress')){
            return this;
        }

        // Set a transition declaration for the duration of the meter.
        // CSS will do the job of animating the progress bar for us.

        bar.css('transition', seconds+'s linear');
        button.progressSet(99);

        window.setTimeout(function(){
            bar.css('transition','');
            button.progressFinish();

            if($.isFunction(cb)){
                cb();
            }

        }, seconds*1000);
    };

})(jQuery);
 
 
progressInitialize sets up an event listener for the progress custom event that the other functions call whenever the meter needs to be updated. Thanks to the custom event, we can have entirely independent functions like progressStart, which manages its own timer and state – progresInitialize need not know about progressStart.
The other important thing is that we are setting two special classes on the buttons – .in-progress while the progress meter is moving, and .finished when it’s ready. They are used to update the text of the buttons as you will see in the next section.

The CSS

I mentioned that we are setting two CSS classes on the buttons – .in-progress and .finished. But how does adding one of these classes change the text of the button? Simple – we are using a CSS trick that involves the CSS3 attr operator, which when combined with content, can set the text of a :before or :after pseudo element to that of the attribute of the element. It will become clearer once you see it for yourself (lines 44-52):

assets/css/styles.css

.progress-button{
    display: inline-block;
    font-size:24px;
    color:#fff !important;
    text-decoration: none !important;
    padding:14px 60px;
    line-height:1;
    overflow: hidden;
    position:relative;

    box-shadow:0 1px 1px #ccc;
    border-radius:2px;

    background-color: #51b7e6;
    background-image:-webkit-linear-gradient(top, #51b7e6, #4dafdd);
    background-image:-moz-linear-gradient(top, #51b7e6, #4dafdd);
    background-image:linear-gradient(top, #51b7e6, #4dafdd);
}

/* Hide the original text of the button. Then the loading or finished
   text will be shown in the :after element above it. */

.progress-button.in-progress,
.progress-button.finished{
    color:transparent !important;
}

.progress-button.in-progress:after,
.progress-button.finished:after{
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    text-align: center;
    top: 0;
    padding-top: inherit;
    color: #fff !important;
    left: 0;
}

/* If the .in-progress class is set on the button, show the
   contents of the data-loading attribute on the butotn */

.progress-button.in-progress:after{
    content:attr(data-loading);
}

/* The same goes for the .finished class */

.progress-button.finished:after{
    content:attr(data-finished);
}

/* The colorful bar that grows depending on the progress */

.progress-button .tz-bar{
    background-color:#e667c0;
    height:3px;
    bottom:0;
    left:0;
    width:0;
    position:absolute;
    z-index:1;

    border-radius:0 0 2px 2px;

    -webkit-transition: width 0.5s, height 0.5s;
    -moz-transition: width 0.5s, height 0.5s;
    transition: width 0.5s, height 0.5s;
}

/* The bar can be either horizontal, or vertical */

.progress-button .tz-bar.background-horizontal{
    height:100%;
    border-radius:2px;
}

.progress-button .tz-bar.background-vertical{
    height:0;
    top:0;
    width:100%;
    border-radius:2px;
}
The rest of the code styles the buttons and the built-in progress meter. In styles.css I have also included two additional color themes and some other rules that are not given here, but which you can see by browsing the source yourself.

We’re Done!

The code we wrote today is ready for customizations. Simply open styles.css in your favorite code editor and change the colors, fonts or styles so they match your site. Change the text by editing the HTML and the data attributes. Or you can even improve the code with some cool new feature. In this case be sure to share it in the comment section :)

New iPhone music app lets any fan rap like Tinie Tempah

Tinie Tempah's new Rap Demonstration iPhone app.
Tinie Tempah's new Rap Demonstration iPhone app.
British rap star Tinie Tempah has launched a new mobile app for fans to lip-sync along with tracks from his new album – using his lips.
The app – Rap Demonstration – identifies songs from the album (and a few of his older hits) being played in the real world, for example on the radio, in clubs or on a nearby TV or hi-fi.
It then synchronises with the exact point in the track, and plays video of Tempah’s lips rapping in time to the song. The idea being that fans hold their iPhone up to their mouth with the screen facing outwards. They will also soon be able to visit a companion website to record animated Gifs of themselves using the app.
British agency We Make Awesome Sh. developed the app, working with Tempah and his label Parlophone. The company, which works with various brands and music industry clients, previously made an app for Calvin Harris that got fans to dance in order to stream his latest album.
Co-founder Syd Lawrence told the Guardian that the Tinie Tempah project shows how official artist apps can be much more creative than simply pushing news, download links, videos and social networking updates to fans, as many do.
A fan-shot video of the new Tinie Tempah app.
We Make Awesome Sh. also developed its own music identification technology for the app. While apps like Shazam can identify a track playing in the real world, this app only works if it can identify the exact point a song is at, in order to synchronise its video footage.
Video for one track, Lover Not a Fighter, is included, with the others downloaded on the fly when they’re needed. The app is free, but points fans to Apple’s iTunes Store to buy the album, with the carrot that they’ll be able to play the individual videos on demand if the songs are stored on their device.

Feeling glum, happy, aroused? New technology can detect your mood


A long distance drive can be lonely with only a radio for company, and if the driver is stressed or tired it becomes dangerous.
A car that could understand those feelings might prevent an accident, using emotional data to flag warning signs. Sensors could nest in the steering wheel and door handles to pick up electric signals from the skin. Meanwhile a camera mounted on the windshield could analyze facial expressions.
Alternatively, if the driver exhibits stress, the vehicle's coordinated sensors could soften the light and music, or broaden the headlight beams to compensate for loss of vision. A distressed state could be broadcast as a warning to other motorists by changing the color of the vehicle's conductive paint.
This empathic vehicle is the goal of AutoEmotive, a research project from the Affective Computing group at MIT's media lab, who are focused on exploring the potential of emotional connections with machines. 'AutoEmotive' is their latest and most integrated project, following successful efforts to make interfaces of everything from bras to mirrors.
Researchers believe the concept is destined for the mainstream, and have fielded interest from manufacturers. "We have already tested most of these sensors", says Javier Rivera, MIT researcher and project leader. "The hardware required could easily be built into cars. Most cars have cameras anyway; you just have more to capture the physiology. It could be done unobtrusively."

Not time like the present
But we don't have to wait for emotion sensors. They are flooding into a new market, using a growing range of mood metrics to suit diverse applications. Voice recognition app Beyond Verbal can tell you if you flirt too much in just 20 seconds. A sweater that detects skin stimulation to color code your feelings is available for pre-order.

The fastest-developing method is facial recognition, led by Affectiva, a start-up that spun off from MIT's Affective Computing group three years ago. In that time, the company has amassed a database of over a billion facial expressions, which it uses to train algorithms to recognize and classify basic emotions such as happiness or anger, with over 90% accuracy.
Their flagship technology, Affdex, has been swiftly adopted by advertisers, who use it to test reactions to their campaigns, and modify them accordingly. Market research partners Millward Brown have standardized its use for Fortune 500 clients including PepsiCo and Unilever.
"In the past this technology was confined to laboratories because of high cost and slow turnaround," explains Nick Langeveld, Chief Executive Officer of Affectiva. "We've cracked those issues; the cost is very low as the service is over the web, and it can be turned around almost immediately after the data is collected."
Competitor Emotient also specializes in face recognition, but its primary target is the retail sector. Their software is on trial in stores, pinpointing 44 facial movements to monitor emotional reactions of staff and shoppers, as well as demographic information including age and gender. From customer satisfaction to employee morale, the benefits to business are obvious, and Emotient claim major retail partners plan to make the system permanent.


Medical applications
It is also time to bring these tools into clinical practice, believes Dr. Erik Viirre, a San Diego neurophysiologist. "While so many medications list suicide risk as a possible side effect I think we have to use biosensors, and there is a big push within psychiatry to bring them in. Thought disorders could be picked up much quicker and used to determine treatment."
Viirre has studied headaches extensively and found that contributing factors build up days before they strike, including mood. He argues a multi-sensor approach combining brain scans, genetic tests and emotion sensing could dramatically improve treatment.
But emotion sensors are currently limited in their capacity to differentiate nuanced expression, says Tadas Baltrušaitis of the University of Cambridge Computer Laboratory, who has published research on the subject.
"It is easy to train a computer to recognize basic emotions, such as fear or anger. It is more difficult to recognize more complex emotional states, that might also be culturally dependent, such as confusion, interest and concentration."
But there is scope for rapid progress: "The field is relatively new, and only recently has it been possible to recognize emotions in real world environments with a degree of accuracy. The approaches are getting better every year, leading to more subtle expressions being recognizable by machines."
Baltrušaitis adds that combined sensors -- as with 'AutoEmotive' -- that pick up signals from skin, pulse, face, voice and more, could be key to progress.
Buyers beware
I think variations are already being used in places like airports and we would never know
Chris Dancy, futurist
In this post-NSA climate, companies are keen to head off privacy concerns. Affectiva and Emotient are vehement that all their data has been gathered with permission from the subjects, while the latter defend their use of recognition software in stores by saying it does not record personal details.
But the technology is prone to abuse, according to futurist and information systems expert Chris Dancy. "I think variations are already being used in places like airports and we would never know", he says. "I can't imagine a system to take value readings of my mind for a remote company being used for good. It's a dark path."
Producers claim they strictly control the use of their sensors, but facial recognition technology is proliferating. UK supermarket Tesco could face legal action for introducing it in stores without permission, while San Diego police have been quietly issued with a phone-based version.

Ironically, Dancy -- a leading proponent of the Quantified Self movement -- is pursuing many of the same insights into emotion as advertisers, but by alternative means and for personal goals. He keeps himself connected to sensors measuring pulse, REM sleep, blood sugar and more, which he cross-references against environmental input to see how the two correlate, using the results to give him understanding and influence over his mind state.

'Moodhacking' has become a popular practice among the technologically curious, and has given rise to successful applications. Members of London's Quantified Self Chapter created tools such as Mood Scope and Mappiness that help the user match their mental state to external events. Hackers and makers will have an even more powerful tool in March, when the crowd-funded OpenBCI device makes EEG brainwaves available to anyone with a computer for a bargain price.

For all the grassroots hostility towards corporate use of emotion sensors, there may be convergence. Affectiva are keen to market to Quantified Self demographics and an Affdex app for android is imminent. As the machine learning develops, and different industries combine to join the dots, we can all expect to be sharing a lot more.