Thursday 30 November 2017

How to Optimize a YouTube Channel and Videos for Better Visibility

Want more views for your YouTube content? Wondering how to show up in YouTube’s search and suggested videos? An optimized YouTube channel delivers a rewarding viewing experience and works with the YouTube algorithm to boost your visibility. In this article, you’ll learn how to set up and optimize your YouTube channel and videos for more [...]

This post How to Optimize a YouTube Channel and Videos for Better Visibility first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2jyIO4B
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Wednesday 29 November 2017

The Must-Have Social Media Content Strategy for 2018

7 Mobile Apps for Editing and Enhancing Images

Do you want to edit your social media images on the go? Looking for easy-to-use smartphone apps to fine-tune your photos? In this article, you’ll discover seven mobile apps for editing and enhancing your visuals. #1: Make Your Photos Pop With A Color Story If you’re looking for an easy-to-use photo editing app, A Color [...]

This post 7 Mobile Apps for Editing and Enhancing Images first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2iikxDc
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Tuesday 28 November 2017

Empowering Women in Tech Through Mentorship

When I started college, my goal was to become a doctor. Of course, it’s probably clear that was not the path I ultimately chose to take. I am currently a Senior Software Engineer here at Sprout Social, a position I landed in after nearly 16 years in the technology space.

My choice to switch directions from doctor to engineer is one that has been extremely rewarding, but certainly not without its difficulties. Similar to most women in the industry, or really women in general, I would love to say the experiences that led me here were challenging in all the right ways, but as most of us know that isn’t the truth.

Being a woman in technology can be overwhelming and intimidating, especially when you are new to the workforce or starting a new position. While this is understandable considering only 18% of undergraduate computer science degrees and 26% of computing jobs are held by women, it should not be acceptable.

More often than not, I have found myself being the only woman in a class, meeting or even on a team, which has led me to look for opportunities that provide supporting and engaging environments for women. This is one of the reasons I feel so fortunate to work at Sprout. Everyday I am reminded of the commitment Sprout has to beat the industry standards and create a workplace where women, and people from all backgrounds, feel welcome.

One way I have seen this come to light is through an opportunity I had this past summer to mentor a young woman, Gwyn, who joined Sprout’s engineering team as an intern. Having experienced first hand the benefits of having a female mentor during my summer internship in college, I was thrilled to serve as a mentor for Gwyn and proud of my company for seeing the benefits of providing this type of resource to her.

My goal for the mentorship was to help relieve the uneasiness of being on a primarily male team, support Gwyn in her career journey and be a role model. Throughout the summer we got together weekly to discuss any questions or concerns, share a glimpse into what we were each working on and talk about life outside the office. After every meeting I was reminded about the power mentorship can have on encouraging and keeping women in technology. I still reflect on and appreciate the wealth of knowledge I gained during my mentorship in college. Not to mention, having a strong mentor was a large factor in my decision to accept a full time offer from that company.

In both of my mentorships I have been lucky enough to build professional relationships, as well as friendships and I look forward to seeing how increased access to mentorships like these will impact the industry in the future.

This post Empowering Women in Tech Through Mentorship originally appeared on Sprout Social.



from Sprout Social http://ift.tt/2jupN30
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

How to Setup a Successful Twitter Advertising Campaign

How to Use Instagram Live With Friends for Business

Are you looking for a creative way to improve your Instagram Stories? Wondering how to use Instagram Live with a guest? In this article, you’ll discover how to use Instagram Live with Friends. What Instagram Live With Friends Looks Like Not every business gets the chance to include interviews with mainstream actors and musicians as [...]

This post How to Use Instagram Live With Friends for Business first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2AdzkGm
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Monday 27 November 2017

How to Perform a Social Media Audit: Our Free Template Included

How to Run Facebook Polls With Animated GIFs

Want to increase your Facebook page engagement? Have you tried a Facebook poll? In this article, you’ll learn how to run a Facebook survey with animated GIFs and images. How to Create a Facebook Poll With GIFs and Photos To create a Facebook GIF poll, go to your Facebook page and click the Create a [...]

This post How to Run Facebook Polls With Animated GIFs first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2zr3Qsx
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Friday 24 November 2017

Falling Behind: The Journey, Episode 7

The Journey, a Social Media Examiner production, is an episodic video documentary that shows you what really happens inside a growing business. //www.youtube.com/watch?v=F3g7SfbvrGQ Watch The Journey: Episode 7 Episode 7 of The Journey follows Michael Stelzner, founder of Social Media Examiner, as he continues to pursue what many will see as an impossible goal: to [...]

This post Falling Behind: The Journey, Episode 7 first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2hODxFB
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Future of Live Video: 360 Live and Virtual Reality Live

Wondering what emerging technologies are coming to social media? Curious about how to share immersive experiences with 360-degree video or virtual reality (VR)? To explore live 360 video and VR for marketers, I interview Joel Comm. More About This Show The Social Media Marketing podcast is an on-demand talk radio show from Social Media Examiner. [...]

This post Future of Live Video: 360 Live and Virtual Reality Live first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2Au4PfJ
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Thursday 23 November 2017

How to Use Facebook to Drive More Traffic to Your Blog Posts

Do you want to drive more Facebook traffic to your blog? Wondering how to optimize your shares of your blog content for visibility and reach? In this article, you’ll discover a five-step plan for promoting blog posts on Facebook. #1: Compose a Facebook Post to Entice People to Click Publishing a Facebook post that people [...]

This post How to Use Facebook to Drive More Traffic to Your Blog Posts first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2Bibk2j
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Wednesday 22 November 2017

20 Social Media Ideas to Keep Your Brand’s Feed Fresh

10 Google Chrome Extensions for Social Media Marketers

Do you want to streamline your social media marketing tasks? Looking for tools that will improve content quality and boost productivity? In this article, you’ll discover 10 Chrome extensions to improve your social media marketing workflows. #1: Scan Your Blog Posts for Broken Links With Check My Links The free Check My Links extension lets [...]

This post 10 Google Chrome Extensions for Social Media Marketers first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2BdmghB
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Tuesday 21 November 2017

How to Master Every Step of Your Snapchat Ads

4 Tools to Create Custom Instagram and Snapchat Visuals

Is hiring a professional designer not an option for you? Are you looking for tools to help you create engaging visuals? In this article, you’ll discover four tools to help you create and publish custom images and videos on Instagram and Snapchat. #1: Design Engaging Images With PromoRepublic On networks like Instagram and Snapchat, posting [...]

This post 4 Tools to Create Custom Instagram and Snapchat Visuals first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2zW3du1
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Monday 20 November 2017

How to 10X Your Sales With Instagram Shopping

How to Target Specialized Audiences With Facebook Ads

Do you want to improve the ROI of your Facebook ads and Instagram campaigns? Wondering how to reach specialized audiences with Facebook ad targeting? In this article, you’ll learn how to create six refined target audiences for your Facebook and Instagram campaigns. How to Create Target Audiences in the Facebook Ads Manager There are two [...]

This post How to Target Specialized Audiences With Facebook Ads first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2B5AxNm
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Saturday 18 November 2017

Facebook Local App, Facebook Stories for Groups and Events, and Pinterest Pincodes

Welcome to this week’s edition of the Social Media Marketing Talk Show, a news show for marketers who want to stay on the leading edge of social media. On this week’s Social Media Marketing Talk Show with Michael Stelzner, we explore the new Facebook Local app with Mari Smith, Pinterest Pincodes with Alisa Meredith, Facebook [...]

This post Facebook Local App, Facebook Stories for Groups and Events, and Pinterest Pincodes first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2jAbOwr
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Friday 17 November 2017

#SproutChat Recap: The Relationship Between SEO & Social Media

Social media and SEO have an almost symbiotic relationship. Having a solid understanding of SEO basics certainly helps your brand in the long run, but knowing how social media and SEO can work together is even more beneficial.

In this week’s #SproutChat, we were joined by Sprout All Star, Lexie Kimball of Netvantage Marketing, to discuss how social and SEO efforts work together and best practices for creating SEO-focused content.

Similar but Different

Social media and SEO play each play separate, yet integral roles in any brand and should be utilized to the fullest extent. Both are based on algorithms that help with ranking, but aren’t quite the same style.

Exposure Is Key

Looking to social media as the platform in which you deliver quality SEO content can help inform your overall strategies. Make sure you are consistently sharing the best content for maximum exposure.

Tailor Content for the Platform

There isn’t one ideal place to put all SEO efforts, but it is important to make note of where your SEO plays will flourish and where your audience lives. There is no point in putting all of your eggs in one basket if your audience isn’t there.

Listen to Your Customers

By understanding the types of conversations your audience is having on across social, you can easily assess what keywords to use in your SEO content. Keeping your finger on the pulse of your customers informs how you might go about tweaking your SEO strategy.

Looking Forward

The relationship between social media and SEO will likely become more dependent as time progresses. As paid social becomes a more realistic future for marketers, search rankings and optimizing on social may start to evolve social media strategies. Both SEO and social teams should emphasize working together for optimal marketing programs.

We’ll be taking a break next Wednesday, November 22, but we’ll see you on November 29 to chat about essential tools for any Community Manager. Until then be sure to join our Facebook community to chat with other folks in the industry.

This post #SproutChat Recap: The Relationship Between SEO & Social Media originally appeared on Sprout Social.



from Sprout Social http://ift.tt/2AWAN1h
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Necessary Endings: The Journey, Episode 6

The Journey, a Social Media Examiner production, is an episodic video documentary that shows you what really happens inside a growing business. //www.youtube.com/watch?v=xxsKtGuCgJI Watch The Journey: Episode 6 Episode 6 of The Journey follows Michael Stelzner, founder of Social Media Examiner, as he continues to pursue what many will see as an impossible goal: to [...]

This post Necessary Endings: The Journey, Episode 6 first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2AUI4OW
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Facebook Ad Custom Audiences: Retargeting Those Who Know You

Want to create Facebook custom audiences that move people into your sales process? Looking for tips on using new Facebook custom audience options? To explore ways to use custom audiences for Facebook and Instagram ads, I interview Amanda Bond. More About This Show The Social Media Marketing podcast is an on-demand talk radio show from [...]

This post Facebook Ad Custom Audiences: Retargeting Those Who Know You first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2irfuNu
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Thursday 16 November 2017

YouTube for Business: The Ultimate YouTube Marketing Guide

If you’re new to YouTube business options or want to add something new to your current YouTube marketing plan, this page is for you. Here, you’ll find articles and resources to help beginner, intermediate, and advanced marketers use YouTube channels, video, ads, analysis, and more for business. Optimize My Channel and Videos on YouTube How [...]

This post YouTube for Business: The Ultimate YouTube Marketing Guide first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2A3YSWE
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

How to Easily Broadcast Multi-Camera Live Video for Facebook Live

Do you want to improve the quality of your live videos? Wondering how to integrate visuals and work with multiple camera angles? In this article, you’ll discover how to broadcast professional-quality live video to Facebook and YouTube. Why Brand Live Videos? Switcher Studio is a mobile production tool that lets you create professionally branded Facebook [...]

This post How to Easily Broadcast Multi-Camera Live Video for Facebook Live first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2AMbHkS
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Wednesday 15 November 2017

179 Content Marketing Tools & Resources to Bookmark

How to Live-Blog at Events for More Exposure

Want to get in front of an engaged audience? Do you attend live industry events? In this article, you’ll discover how to use live blogging to attract and connect with event attendees. Why Live Blogging? Live blogging is a great guerrilla marketing tactic. It can help you grow your following and voice in the media, [...]

This post How to Live-Blog at Events for More Exposure first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2jpHG6K
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Tuesday 14 November 2017

Introducing Sprout Listeners: Marketing Insights, Straight From the Source

Sentiment Analysis 101: How Sprout’s Data Science Team Built a Hybrid Model

7 Ways to Improve Your Retargeting Ad Campaigns

Wondering how efficient your ad spend is? Looking for tips to help you monitor and manage your retargeting campaigns more effectively? In this article, you’ll discover seven ways to organize, analyze, and optimize your retargeting campaigns. #1: Run Separate Campaigns to New and Retargeting Audiences When you target both retargeting and new audiences at the [...]

This post 7 Ways to Improve Your Retargeting Ad Campaigns first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2iT9Zqc
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Monday 13 November 2017

How to Create a YouTube Business Account: A Step-by-Step Guide

How to Sell With Instagram Shoppable Posts: Shopping on Instagram

Do you want to sell physical products via the Shopping on Instagram program? Have you seen Instagram shoppable posts? In this article, you’ll discover how shoppable posts on Instagram work and the steps you can take to use them for your business. How Customers Shop With Instagram Shoppable Posts Shoppable posts on Instagram are designated [...]

This post How to Sell With Instagram Shoppable Posts: Shopping on Instagram first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2yWTZyE
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Saturday 11 November 2017

#SproutChat Recap: Overcoming Challenges in Agencies

Whether it’s juggling multiple accounts or perfecting brand voice for different brands—working in an agency is never a dull experience. Unlike many other workplaces, agency life can be full of twists and turns.

In this week’s #SproutChat, we were joined by Sprout All Star Elite, Kellen McGugan of BigWing Agency. We talked best practices for communicating to clients, time management and important traits needed to succeed in any agency.

Take Time for Growth

We know that when you work in social media, no two days ever look the same. So it’s good to have a routine of daily tasks and also allow yourself time to grow professionally. Find easy ways to stay on top of current affairs and marketing trends.

Keep Track of Time

Every client will be different and you won’t always be performing the same tasks for each account, but it’s important to know where you’re spending time. There are a multitude of tactics and tools for this process. Find what works best for you and your style of work.

Less Data, More Examples

Clients may have a hard time getting a good grasp on what your offerings look like with data and metrics. Get creative and dig a little deeper in your presentations. Show a mock-up of a campaign and offer a solid taste of what you can provide.

Be Adaptable

Adaptability is a key trait in order to be successful and grow at an agency. Scopes of projects and demands can be in flux often, so having the ability to flex to those needs will help you immensely.

Join us next Wednesday, November 15th at 2 p.m. CST, to chat with Sprout All Star, Lexie Kimball of Netvantage Marketing, about the relationship between SEO and social media.

Can’t make the chat? Join our Facebook community to connect with others in the industry and stay on top of upcoming events.

This post #SproutChat Recap: Overcoming Challenges in Agencies originally appeared on Sprout Social.



from Sprout Social http://ift.tt/2hrJjjE
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Twitter Expands Character Count to 280, Snapchat Upcoming Redesign and Algorithm

Welcome to this week’s edition of the Social Media Marketing Talk Show, a news show for marketers who want to stay on the leading edge of social media. On this week’s Social Media Marketing Talk Show with Erik Fisher and Kim Reynolds, we explore Twitter expanding their character count to 280 with Madalyn Sklar, Snapchat’s [...]

This post Twitter Expands Character Count to 280, Snapchat Upcoming Redesign and Algorithm first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2meJ655
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Friday 10 November 2017

Sprout Social Named a Top Workplace by Chicago Tribune for Third Consecutive Year

To help identify what makes a great workplace, the Chicago Tribune surveys tens of thousands of employees each year and uses their responses to build a list of the best places to work in Chicago. Sprout Social is honored to be included on the list for the third year in a row, ranking No. 4 on the list of midsize companies for 2017. This recognition is particularly meaningful because it is based on employee feedback regarding several aspects of workplace culture.

“We take an inclusive approach to everything we build, including our culture,” said Maureen Calabrese, Chief People Officer. “It is wonderful to see these efforts recognized by the Chicago Tribune and we continue to work to ensure that the culture we create is fueled by our employees and feels authentic to the team we’ve built.”

By encouraging the intersection of personal interest and professional experience, Sprout’s culture has been able to grow and flourish organically. Team members know they can come here to work, learn and collaborate with the best in the business, all while feeling supported to pursue their own passions, both within and outside of our walls.

Employees are empowered to identify and implement programs that feed them. Over the years, this has expanded to include an annual hackathon, day of service, summer canoe trip, monthly happy hours and employee development trainings, among other opportunities.

Thank you to every member of Team Sprout for their steadfast dedication to building great products and creating a workplace where all people and perspectives are welcome.

Want to join our team? Visit Sprout Careers to learn more about who we are and what we do. You can view the award methodology and full list from the Chicago Tribune here.

This post Sprout Social Named a Top Workplace by Chicago Tribune for Third Consecutive Year originally appeared on Sprout Social.



from Sprout Social http://ift.tt/2zxEoCz
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

It Is Hot in Here: The Journey, Episode 5

The Journey, a Social Media Examiner production, is an episodic video documentary that shows you what really happens inside a growing business. //www.youtube.com/watch?v=n49Dn3e5SOg Watch The Journey: Episode 5 Episode 5 of The Journey follows Michael Stelzner, founder of Social Media Examiner, as he continues to pursue what many will see as an impossible goal: to [...]

This post It Is Hot in Here: The Journey, Episode 5 first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2zxcmai
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

YouTube Pre-Roll Ads: How to Acquire Customers With Video

Want your ads to drive more sales? Interested in the benefits of YouTube pre-roll ads? To explore how to sell products and services with YouTube pre-roll ads, I interview Billy Gene Shaw. More About This Show The Social Media Marketing podcast is an on-demand talk radio show from Social Media Examiner. It’s designed to help [...]

This post YouTube Pre-Roll Ads: How to Acquire Customers With Video first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2yNrLpF
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Thursday 9 November 2017

Recognizing Agency Excellence: The Sprout Partner Value Awards

Meet Lift, by Sprout Social

How to Create Custom SRT Files for Video Subtitles

Wondering how to add subtitles to your videos? Frustrated with the inaccuracy of automated transcription? In this article, you’ll learn how to create a customized SRT file to add time-stamped captions to your videos. What Are SRT Files? SubRip Subtitle files (SRT) are plain-text files that contain subtitle information. They include start and stop times [...]

This post How to Create Custom SRT Files for Video Subtitles first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2iH6wLt
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Wednesday 8 November 2017

12 Things Your Competitors Do to Increase Instagram Engagement

4 Tools to Simplify Your Twitter Marketing

Want to streamline your Twitter workflow and improve your results? Looking for tools to analyze and automate your Twitter marketing? In this article, you’ll discover four tools to help you get more out of Twitter while spending less time on the platform. #1: Grow an Optimized Audience by Assessing Twitter User Behavior With Followerwonk Moz’s [...]

This post 4 Tools to Simplify Your Twitter Marketing first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2Aqgwkp
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Tuesday 7 November 2017

10 Social Media Branding Strategies Every Business Should Follow

How to Develop a Warm Audience With Live Video and Facebook Ads

Want to reduce your Facebook ad costs? Wondering how to move an audience closer to conversion? In this article, you’ll learn how to grow and convert warm leads with Facebook ads and live video. #1: Start With at Least Four Facebook Live Videos These Facebook Live videos need to provide valuable content that helps your [...]

This post How to Develop a Warm Audience With Live Video and Facebook Ads first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2m2x66S
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Monday 6 November 2017

How to Use Instagram Geotag to Engage With Local Followers

13 Stock Video, Stock Image, and Stock Audio Resources for Creators and Marketers

Do you want to enhance the videos and graphics you produce? Looking for affordable stock photos, video clips, and music? In this article, you’ll discover 13 places where creators and marketers can find quality stock imagery and media files. Find Video Files Video files are a must-have in your social media marketing, and often that [...]

This post 13 Stock Video, Stock Image, and Stock Audio Resources for Creators and Marketers first appeared on .
- Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2AdqiFl
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Saturday 4 November 2017

Instagram Stories Expansion, Periscope Super Broadcasts, LinkedIn Original Programming, and Amazon AR Shopping

Welcome to this week’s edition of the Social Media Marketing Talk Show, a news show for marketers who want to stay on the leading edge of social media. On this week’s Social Media Marketing Talk Show with Michael Stelzner, we explore Instagram Stories expansion with Jeff Sieh, Periscope super broadcasts with Joel Comm, LinkedIn original [...]

This post Instagram Stories Expansion, Periscope Super Broadcasts, LinkedIn Original Programming, and Amazon AR Shopping first appeared on Social Media Examiner.
Social Media Examiner - Your Guide to the Social Media Jungle



from Sniply: Social Media Examiner http://ift.tt/2zcSpW0
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

Friday 3 November 2017

Implementing PDF Exports

At some point nearly every SaaS company receives a feature request to export user data. The request usually comes in the form of “I want to export my data to a <Microsoft Office Product> file.” Here at Sprout Social we’ve gotten these requests before and today we support CSV and PDF exports for nearly all of our reports. Implementing CSV exports was relatively straightforward. Implementing PDF exports, on the other hand, was a more complicated beast. In this article I want to share with you the history of Sprout Social’s PDF exports and some of the issues we ran into in the hopes that it may help you should you choose to go down a similar path.

Beginnings

Early in Sprout Social’s life sometime in 2010, we received one of those data export requests. Our users wanted PDF copies of our reports so they could easily share data with teammates that didn’t use Sprout Social. Unfortunately for us, the options for generating PDFs at the time were fairly limited. There were a few command-line tools but they weren’t very flexible and didn’t offer great CSS support. Many browsers at the time offered the ability to print a web page directly to a PDF file, but it was a bit cumbersome for users and it was very difficult to add print styles to your page if it wasn’t designed that way from the start. So instead of an existing solution we decided to build our own, and shortly thereafter, Papyrus was born.

Papyrus

Papyrus is the internal name for our first PDF report generation service. It’s a Java service that accepts a JSON payload as input and uses a library called iText to generate a PDF. Although some of the details are a bit complicated, using Papyrus to generate a PDF is relatively simple.

iText uses an XML-based markup language and a subset of CSS to create and style PDF documents. We know the layout of our PDFs beforehand, we just don’t know the content. Using Mustache, we can create templates of our reports that can be filled in with user data at generation time. Once we combine a user payload with the template to produce the full markup, iText can generate a PDF document to return to the user. We employ a few tricks to generate the PDFs—such as using Rhino and Highcharts to generate graphs—but a majority of the heavy lifting is done by iText. Most of our work lies in creating the templates for each of the reports.

While Papyrus has the benefit of simplicity, it also has a few drawbacks. Most notably, the templates are onerous to create and difficult to match to designs. We’re also forced to duplicate display logic in the markup and on the front-end, meaning that both back-end and front-end developers have to be involved in creating and modifying the reports. Because of these drawbacks, we started searching for alternatives in early 2014.

PhantomJS

By 2014, PhantomJS was becoming increasingly popular in the web development world. Most usage was focused around browser automation and testing, but one of its lesser known features is its ability to perform screen captures. Relevant to our use case, it can capture the contents of any web page in a PDF file. Using this feature we set out to build a service that would generate PDF reports based on the contents of the report’s page in our app.

We soon had a prototype for a new PDF generation service that could take screenshots of our existing reports. It wasn’t an out-of-the-box solution, however. We had to modify several parts of our application to make the reporting pages compatible with the way we were using PhantomJS. Some of those changes included:

  • CSS workarounds. PhantomJS 1 is based on older versions of WebKit, which led to a lot of our CSS not working in PDF mode. In most cases, we had to fall back to using IE9 workarounds for PhantomJS.
  • A Function.prototype.bind polyfill. PhantomJS 1 notoriously doesn’t support Function.prototype.bind even though it implements most of the rest of the ES5 standard.
  • Fonts. If you search for “PhantomJS fonts” you’re likely to come across an article that will show you how to get PhantomJS to recognize local fonts. Put the fonts in /usr/share/fonts/truetype and then run fc-cache -fv. That works great until you also run into the issue where PhantomJS doesn’t implement the CSS font-family declaration correctly. This issue wasn’t found until we were in production and our Typekit fonts failed to load.
  • A custom version of the reporting page. If PhantomJS took a screenshot of the report as-is the PDF would include a lot of unnecessary content such as navigation bars, headers, and footers. The page also wouldn’t look very good because the contents weren’t optimized to fit on a standard PDF page. In order to work around this we created another web page that would only render the content necessary for the PDF, and in a layout that made sense for a PDFs. This meant we had to duplicate some layout code, but a majority of the components (graphs, charts, media objects, etc) were still able to be re-used.
  • Authentication. Because PhantomJS didn’t have the user’s cookies we had to choose between side-loading data on the page or finding a way to authenticate PhantomJS to make API requests on the user’s behalf. Because of security concerns at the time we opted to side-load the data onto the page. That meant the front-end would have to gather all of the necessary data and ship it to PhantomJS when exporting a report.

The workflow turned out to be rather complicated, but it worked.

  1. The user initiates a PDF export and the front-end gathers the required data in a JSON payload.
  2. A request is sent to the PDF service, which starts an instance of PhantomJS and points the browser to the reporting page.
  3. The user payload is injected onto the reporting page and the page uses the data to render the report.
  4. PhantomJS captures the page in a PDF that is uploaded to S3.
  5. The S3 URL is returned to the client and the PDF download is initiated.

It lacked the simplicity of Papyrus, but it alleviated some of the frustrations we had with Papyrus. Not only were the reports as vibrant as the web versions, but now all of the logic for PDFs lived in the web code. An entire report could be designed and implemented by the front-end team, making them easier to develop and easier to ship. Seeing the potential in the new method, we sought to improve the service.

The New PDF Generator Service

After working with our PhantomJS-based service for a while, we started to identify some areas that would could improve the workflow. Most notably:

  • Testing PDFs was difficult. Because the way the service generated report URLs wasn’t configurable, developers had to set up their own instance of the service in order to test reports outside of production.
  • We weren’t utilizing PhantomJS to its full potential. Our prototype worked, but we soon realized that PhantomJS had features that could simplify our workflow. For instance, the onInitialized hook would allow us to inject data directly into the page instead of uploading it to a server only to have the page re-download it. We also never properly enabled the PhantomJS disk cache, which would cut down on page load times if we configured it correctly.
  • The service used a fixed version of PhantomJS. We sometimes upgraded the version, but we had to upgrade every report at the same time. Making the version configurable would allow each report to operate independently of the others.
  • Error handling was not a first-class concern. It was incredibly difficult to debug Javascript errors that occurred on the PDF reporting pages.

Using what we had learned from the first version we began to implement version 2 of the PhantomJS PDF generation service. We took a deep dive into PhantomJS’s documentation and source code and utilized more of its features. We were able to inject data directly into the page and enable the disk cache which resulted in our generation times dropping by as much as 40%. We made nearly every aspect of the service configurable, from the version of PhantomJS used to the URL of the report to the generation timeout.

In version 2 we made large strides in our error handling, since this was our biggest pain point. We utilize every error hook available in PhantomJS to ensure that any and all errors are captured in the log files. Errors are categorized by where they happen and how serious they are. They’re also given error codes to return to the client to help debug customer issues in production. Any request that fails in production is logged along with the contents of the payload, allowing us to reproduce the request later if needed. We also have a test page that sends raw payloads directly to the PDF generation service, allowing us to bypass the UI and the API when reproducing customer errors and reducing the amount of time it takes to find the cause. Because of the increased error-handling surface area, we saw our service losses go from one or two a month to zero in the last 16 months.

As part of our refactor we also modified our front-end code to create payloads that were smaller. Instead of sending raw request data to the service—most of which wasn’t used—we began to send processed, aggregated data. In some cases we cut down the payload size by a factor of 10. These changes combined with the efficiencies mentioned above means that reports are now taking 5 to 6 seconds to generate instead of the previous 20 to 25 seconds. And that time continues to decrease as we continue to make optimizations and switch more of our rendering logic to React.

When we finished the wave of improvements, the workflow was nearly identical. But by tackling some low-hanging fruit we were able to lower request times, lower error rates, improve the debugging experience, and expand the feature set. And using the new ability to specify a PhantomJS version enabled us to update our reports to PhantomJS 2, which is not only faster but also requires fewer CSS and JavaScript workarounds to generate our PDFs.

Since we launched the new PDF service 16 months ago updates have been few and far between. Its flexibility has allowed us to add new reports without any changes to the service. And the reliability of both the service and PhantomJS 2 has allowed us to start designing larger features around PDFs without worrying about scalability. This isn’t the final chapter in the book of PDFs at Sprout Social, but we are in a good place and we’re excited to see what the future holds for us and our customers.

This post Implementing PDF Exports originally appeared on Sprout Social.



from Sprout Social http://ift.tt/2yrvB82
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?

#SproutChat Recap: Planning Social Content for the Holidays

With the start of November, the holiday season is on everyone’s minds. For some, this means increased engagement and customer service inquiries on the rise. In this week’s #SproutChat we talked about planning social content for the holiday (plan early, plan often), UGC and global recognition of holidays.

Start Planning Early

Try to get ahead of the hectic season and avoid planning holiday content as it comes. Even if the holiday season is not your brand’s busy time, it’s likely clients and team members will be out of the office, so allow yourself the freedom later on by tackling things early on.

Engagement Will Vary

Depending on your brand and organization’s objectives overall, engagement may fluctuate. It’s likely if you have a commerce component that you’ll see an uptick in customer service inquiries, so make sure your customer care plan is buttoned up.

Recognize Your Audience

If you handle a global brand’s social presence, be cognizant of how your holiday messages may come across. Avoid alienating portions of your audience by focusing on sales content that’ll drive those end-of-year numbers.

Show off Company Culture

For B2B companies, the holidays are a great time to showcase your company culture. In a season where your overall engagement may be going down, take this opportunity to tap internal employee advocates to their share visuals of office outing and happenings.

Join #SproutChat next Wednesday to chat with Sprout All Star Elite, Kellen McGugan, of BigWing, about overcoming challenges in agencies. Until then be sure to join our Facebook community to connect with other brilliant folks in the industry.

This post #SproutChat Recap: Planning Social Content for the Holidays originally appeared on Sprout Social.



from Sprout Social http://ift.tt/2lRb6f9
Do You Know You Can Buy Instagram Followers from SocialKingMaker.com?