New Universal Music Group Deal Moves Spotify Closer to IPO

Published on April 5, 2017

All the hype about the resurgence of vinyl and cassettes aside, the majority of revenues…

Read More

Facebook Looks for New Approaches to the Fake News Problem

Published on April 4, 2017

Merriam-Webster’s word of the year for 2016 was “surreal.” The Oxford English Dictionary went with…

Read More

Tech Giants Stand Up for Clean Energy in the Trump Era

Published on April 3, 2017

Silicon Valley’s attitude toward Donald Trump on the campaign trail was decidedly less than enthusiastic….

Read More

Musk’s Neuralink Venture May Connect the Human Mind to AI

Published on March 31, 2017

The tech world is abuzz this week with chatter about Elon Musk’s latest privately-funded venture…

Read More

Lyft Leans Into “Woke” Image In an Attempt to Unseat Uber

Published on March 30, 2017

As Uber struggles to shake the bad press that has come to define its year…

Read More

Facebook Raids Snapchat’s Stories Feature for Its Main App

Published on March 29, 2017

Facebook has not been subtle in its desire to cut into whatever edge Snapchat has…

Read More

Self-Driving Car Crash Adds to the Pile-Up of Bad Uber News

Published on March 28, 2017

Uber has spent the early months of 2017 in crisis, and from the look of…

Read More

Amazon Aims to Conquer New Markets with Physical Stores

Published on March 27, 2017

Last week, one of Amazon Prime Air’s drones dropped off a small box of sunscreen…

Read More

Senate Dismantles Obama-Era Internet Privacy Protections

Published on March 24, 2017

For app developers concerned with privacy, yesterday was a dark day. Senate Republicans passed a…

Read More

Google Vows Change After Ad Firms Exit Over Offensive Videos

Published on March 24, 2017

Mobile app developers who have found themselves lost in a YouTube hole can attest to…

Read More
// Add original row class to side image sections $('section.side-image').each(function() {var rowClass = $(this).find('.wpb_row').first().attr('class').split('vc_row-fluid').pop().trim();$(this).addClass(rowClass);}); // Highlight portfolio in navigation on project pages $('body.posttype-portfolio').find('#menu-navigation a[href*="/portfolio/"]').parent().addClass('current-menu-item'); // Highlight services in navigation on services pages $('body.parent-pageid-12').find('#menu-navigation a[href*="/app-development-services/"]').parent().addClass('current-menu-item'); // Copy tab titles into content for responsive view $('.wpb_tabs .ui-tabs-anchor').each(function() {$( '.wpb_tab' + $(this).attr('href') ).prepend('
' + $(this).html() + '
');}); /*if (jQuery('.portfolio-page').length > 0){*/ /*portfolio-template-default*/ if (jQuery('.portfolio-template-default').length == 0){ $.fn.extend({ animationend: function(callback) { return this.one('webkitAnimationEnd mozAnimationEnd oAnimationEnd oanimationend animationend', callback); }, initWaypoint: function() { return this.addClass('waypoint') .removeClass('animated') .waypoint2(function(direction) { //console.log(this.element) $(this.element).addClass('animated'); this.destroy(); }, { offset: '80%' }); } }); } if (jQuery('.portfolio-template-default.single-portfolio').length > 0){ setTimeout(function () { jQuery('.page-header h1.waypoint, .page-header p.waypoint').addClass('animated'); }, 1000); } if ( window.matchMedia('(min-width: 481px)').matches ) { var waypoints = null; var $waypoints = $('.waypoint'); var waypointSelectors = { 'common': [ $('section.vc_row').has('.lead').find('h1, h2, .lead, .btn'), '[class*="vc_col-"]:not([class*="-12"])', 'section.side-image .image-container', 'section.text-intro h2', 'section.howwework-preview .wpb_tabs', 'section.publications .col-sm-4', 'section.featured-projects .rev_slider_wrapper', 'section.landing-location-intro .wpb_text_column' ], 'home': [], 'app-development-services': [ 'section.services-slider', 'section.services-specialities' ], 'portfolio': [ '.portfolio-showcase [class^="col-"]' ], 'about': [ $('.team-member') ], 'landing': [ '.posts-container .col-sm-6' ], 'staging': [ '.section-clients-v2 .col-sm-3' ] } var pageSlug = window.location.href.split('/'); if (pageSlug.length > 4) { pageSlug = pageSlug[pageSlug.length - 2]; } else { pageSlug = 'home'; } _.every(waypointSelectors, function(selectors, page) { _.each(selectors, function(selector) { $waypoints = $waypoints.add(selector); }); if (page === 'common' || page === pageSlug) { _.each(selectors, function(selector) { $waypoints = $waypoints.add(selector); }); if (page === pageSlug) return false; } return true; }); waypoints = $waypoints.initWaypoint(); } var archiveCurrentCategory = null; var categoryPostsCache = {}; var postWaypointContext = null; var $archivePosts = $('.archive-posts'); var $postsContainer = $archivePosts.find('.posts-container'); var $postsContainer2 = $('
'); function handleHover() { var category = $(this).data('category'); // console.log('hover detected') if (category === archiveCurrentCategory) {return;} $(this).addClass('active') .siblings().removeClass('active'); category ? loadPosts(category) : resetPosts(); archiveCurrentCategory = category; $('.news-subnav a').one('mouseover click', handleHover); } function loadPosts(category) { var cachedPosts = categoryPostsCache[category]; if (cachedPosts) { $postsContainer2.html(cachedPosts); showPosts(); return; } $postsContainer2.load('/category/' + category +'/ .posts-container', function(html) { $postsContainer2.find('.col-sm-6').initWaypoint(); showPosts(); categoryPostsCache[category] = $postsContainer2.find('.posts-container'); }); } function showPosts() {$archivePosts.addClass('show-container-2');} function resetPosts() {$archivePosts.removeClass('show-container-2');} $postsContainer.after($postsContainer2); $('.news-subnav a').one('mouseover click', handleHover).first().trigger('mouseover'); });})(jQuery);-->