App Developer Challenges: Writing Helpful Bot Dialogue

Published on November 4, 2016

The chatbot trend has been burning for a while now, and one of the biggest…

Read More

Instagram Introduces In-App Shopping for Brands

Published on November 4, 2016

If Twitter is the poster child of angry users and poor monetization attempts, Instagram is…

Read More

What Would Happen If Capital Hill Ran the US Like a Startup?

Published on November 3, 2016

Government is often slow and difficult to understand. Tech moves quickly and is relatively simple…

Read More

The NYPD Just Got Smartphones: Not the Brand You’d Expect

Published on November 1, 2016

The Windows Phone accounts for less than 1% of the US smartphone market. That might…

Read More

How to Make Mobile Payments Work: Imitate Credit Cards

Published on October 31, 2016

A new study from Points might point to the biggest barrier holding back mainstream use…

Read More

UK Data Spying Case Shocks and Outrages Tech Community

Published on October 28, 2016

While much of the app development community assumes the Snowden disclosures only really applied to…

Read More

Want to Get into Y Combinator? Check out This Data.

Published on October 27, 2016

Jared Friedman of Y Combinator has shared a fascinating talk that looks at formerly closed…

Read More

What’s better for developer productivity: music or silence?

Published on October 27, 2016

The question of what music is best for triggering app developer productivity — if any…

Read More

Facebook Launches “Lite” Messenger Version For Old Devices

Published on October 26, 2016

Designing for a cross-platform world can be difficult for startup app developers, especially when you…

Read More

How and Why to Create User Personas for your App

Published on October 25, 2016

User personas are one of the most mysterious parts of the app user experience (UX)…

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(); } });})(jQuery);-->