“Live Your Passion” ft. PurseBlog on #NationalHandbagDay

We represent some incredibly talented publishers. They’re an unprecedented group who are dedicated to the production of high quality content their readers love. Audiences trust these publishers and look to them for guidance. The exchange between publishers and readers is one that includes a great deal of thought. When publishers curate genuine content their passion shows through. Giving publishers the freedom to do what they love day in and day out is something we take great pride in at VigLink.

Today we congratulate PurseBlog on the second annual #NationalHandbagDay! National Handbag Day celebrates the design, craftsmanship and fine materials that go into the thing we carry with us every day: the handbag. Their wonderful team works tirelessly not only to be the leading purse authority, but to also build their community in fun and original ways. We’re thrilled to release the first video of the #LiveYourPassion series today, featuring the wonderful Co-Founder and COO of Purseblog, Vlad Dusil. Watch it below and remember to always #LiveYourPassion!

Written by Hanna Fritzinger

This Week in Tech: Rise of the Entrepreneur, Oliver Roup by Zac Johnson

A few weeks ago Oliver Roup was featured on Zac Johnson’s “Rise of the Entrepreneur” Podcast. In their thirty minute discussion they covered the breadth of Oliver’s career and the ideas that were the driving force behind him founding VigLink. When Oliver started VigLink, he did so on the premise that if a publisher is connecting their audience with a product they want to buy, they should get credit for that. However, prior to VigLink, this was easier said than done.

this week in tech

VigLink erases the barriers publishers have when independently joining affiliate networks. Traditionally, to join an affiliate network one had to…

  1. Know that it existed
  2. Sign up
  3. Find the one with the highest rate
  4. Take the chance of missing out on higher commissions with other networks

This is clearly an exhausting and time-consuming process, thus taking time away from producing quality content that readers enjoy. Oliver wanted to provide publishers with a way to focus on genuine content by creating a service which does work on the backend that isn’t possible to do by hand. Oliver points out that not only does the technology get you the highest rate, but also computes detailed reports allowing publishers to find out what products are most popular to their audiences. Finding out what content is most appealing to readers is good for everyone in that it keeps the audience interested, makes the publisher money, and drives traffic to the advertisers site!

And how about the best advice Oliver has ever gotten?

Focus on the long game.

Written by Hanna Fritzinger

 

This Week in Tech: VigLink & Purseblog on Authentic Conent

At Affiliate Summit East, Oliver Roup sat on a panel alongside Vlad Dusil of Purseblog. Oliver and Vlad both bring vast knowledge of the native advertising space, allowing them to speak on the subject from two different perspectives.

oliver and vlad

Vlad, co-founder of Purseblog & VigLink publisher, spoke about starting a blog and it’s evolution into a full-time business for both him and his wife Meaghan. In the beginning their sole focus was quality content creation, thus engaging readers and triggering world of mouth to spread. Google, of course, was able to help organically boost their blog and give it greater authority, however Vlad and Meaghan didn’t initially dedicate resources to advertising. This was a topic Oliver spoke to as well, adding that most successful publishers focus on authentic content and legitimate audience views.

One piece of advice Vlad stressed to the audience is the importance of observing the data in order to find out what’s working. Once you’ve figured out the best practices for your blog based on feedback, you can better predict the outcome of certain behaviors. He also gave two tips of advice for advertisers when they are contacting publishers hoping for a potential partnership:

  1. Always address the publisher by their first name
  2. Never send the same message to everyone whose email is listed on the site

The main takeaway from the talk based on Oliver’s insights as well as Vlad’s, is that quality content creation is of the utmost importance. In order for people to become loyal readers of your blog, and for advertisers to desire to work with you, authentic content is a must.

If you attended ASE and have a log-in, you can view the video of Oliver and Vlad here!

Written by Hanna Fritzinger

Publisher Showcase: Possessionista

Possessionista is a blog people visit to find the fashion from their favorite shows. Have you ever watched Scandal or the Bachelor and wished you knew were you could find the clothing they wear? Dana Weiss did, and started a blog about around that premise in 2009. Find out how she turned her blog into a full-time job below… 

Starting a blog

Dana was working mom, but after giving birth to her second child she decided to become a stay at home mom. With newly acquired spare-time, she taught herself to blog in 2009 as a slide project to track the clothing she saw on TV. Soon after, people started emailing her that they too were searching for the same items, and Possessionista was born!

possessionista

 

Her mission

The goal of Possessionista is to help people find the clothes they like from the shows they love.

The relationship with her readers & their feedback

Dana has a lot of interaction with her audience. They communicate mostly over Twitter and email but also through the comments section of the blog. She finds the most effective mode of communication to be Twitter.

Her favorite part of Possessionista

Possessionista allows Dana to do her favorite things: shop, watch TV, and write. She’s always been a writer and getting the opportunity to write about TV and clothing is truly Dana living her passion.

Looking to the future

Every few years Dana does a redesign and continues to streamline the blog based on the feedback she receives from her readers. Because she wants to write about the shows her readers are watching, their feedback is absolutely imperative.

Commerce and Possessionista’s monetization strategy

Dana’s policy has always been editorial first; in fact, she didn’t start monetizing the site until after it was already well established. She writes about the items she sees on shows, if she wants to feature an item that doesn’t have an affiliated link, that won’t stop her from posting it. That being said, monetization gives her flexibility that she wouldn’t otherwise have and allows her to contribute to her family.

Dana describes Possessionista as a shopping blog, not a fashion blog. In her experience, people come to the site with the intention of making a purchase. She discloses her use of affiliates and sponsors on both her site and twitter, but emphasizes that her monetization strategy doesn’t impact the overall goal of the site which is to provide readers with the best experience possible.

j crew promo

Showcasing certain brands & brand collaboration

Dana works very closely with different show’s costume designers in order to track the clothing she spots in shows. She also works directly with brands, such as BCBG, to create coupon codes for showcased items. If they aren’t part of the current collection, she’ll go as far as organizing re-releases.

Another collaboration Dana initiated was with Shopbop with whom Possessionista created four style guides to correlate with different shows. By doing all of this work, she provides her reader with the luxury of simply visiting her blog to find these coveted items.

Written by Hanna Fritzinger

 

Here’s Why eCommerce Should And Can Account For 10% of Every Publisher’s Revenue

This article is cross-posted from Adrants where it was originally posted by Steven Hall. Guest author, Josh Jaffe, is the VP of Business Development here at VigLink.

Conde Nast’s recent announcement to merge Lucky Magazine with BeachMint, an online retailer, follows the relaunch of Domino Magazine, another Conde property, as an e-commerce store. The New York media giant isn’t the only one blurring the line between content and commerce. Meredith, Thrillist and Gawker are other prominent publishers investing considerable resources in commerce.

Despite these initiatives, commerce-based revenue remains a largely untapped growth opportunity for digital media companies. Display, native and video are the primary drivers of online publishing revenue. Yet, commerce holds the potential to generate a revenue boost of at least 10% with limited investment.

E-Commerce

Fashion bloggers have been at the forefront of the move to incorporate commerce as a meaningful line of revenue. These writers leverage their influence to drive loyal readers from their site to buy a product from an online retailer they have a commission agreement with. They’ve recently expanded to capture purchase intent on Twitter, Pinterest, Facebook, and even YouTube.

Via its acquisition of ShopNation in 2012, Meredith is experimenting with on-site purchase as a means of driving commerce-based revenue. Men’s style publisher, Thrillist, earns most of its revenue from its JackThreads unit, the online retailer it purchased in 2010. Most publishers, though, don’t need to initiate their move into commerce by selling products direct to consumers. Gawker committed to commerce accounting for 10% of their total revenue in 2012 and achieved it last year without selling goods directly from its sites.

To start reaping commerce-based revenue, content must be created with purchase in mind. This is a natural fit for vertically oriented publishers. A technology site promotes deals at an online retailer. An outdoors publisher creates a product guide for camping or skiing. Broader media sites covering news or entertainment can also capture reader purchase intent by featuring travel deals, digital goods or style guides. Stories can be created by existing writers, non-editorial staff or a content agency trained to link story product references to online retailers.

Creating content with the intention of sending readers off-site to an online retailer may seem antithetical to product gurus charged with increasing site engagement. But, creating content that readers find useful and in tune with the brands and products they love actually boosts user loyalty and return visits.

The benefits are clear. The new found revenue is completely additive to the current revenue mix of display, native and video. It is less subject to economic downturns as advertisers are more willing to maintain budgets when spend is tied directly to revenue. And commerce-based revenue generates a predictable return on investment because revenue levers up in direct relation to the amount of content created and the audience pushed to that content.

While publishers keep mobile, social, programmatic and native top of mind, adding commerce as a core editorial and monetization strategy can yield an entirely new, meaningful line of revenue in 2015.

Written by Josh Jaffe, VP of Business Development at VigLink

This Week In Tech: NewCo Comes to SF

With NewCo 2014 just days away we want to be sure you’re not missing out on the chance to visit some of the SF tech scene’s most innovative offices… for free! NewCo presents attendees with the opportunity to enter host companies’ spaces to network with employees and witness unique presentations by industry thought leaders. This conference sets itself apart as it seeks to provide audiences with the ability to choose which offices they attend and allows host companies to cater their talk specifically to those in attendance. Unlike other conferences, NewCo also keeps the numbers of attendees to a minimum prompting interactive talks that spur conversation.

newcosf

We are excited to join of the ranks of LinkedIn, Airbnb, Twitter and Yahoo who are also participating in this year’s NewCo. Oliver Roup will be presenting on the native advertising landscape, specifically why it’s effectiveness continues to grow during an age when the “old marketing supply chain” is becoming irrelevant. In order for publishers to be successful, their primary focus must be on creating quality content that remains uninterrupted by intrusive ads, something Oliver is very familiar with. Additionally, he will talk to audiences about the growing influence of mobile and how it will impact future advertising efforts.

If you’ve yet to sign up for NewCo, it’s not too late! However, space is limited and as you’ll see on the NewCo site, our event is almost full. Don’t miss out on this wonderful opportunity to mingle and learn at our SOMA offices this Friday at 1:30. We look forward to seeing you!

almostfull

 Written by Hanna Fritzinger

Publisher Showcase: Indulgy

Indulgy is one of our coveted publishers. Their mission is to be the creator of your perfect world. They do that through a pinboard site that presents users with the best possible images through a, “special algorithm that combines human subjectivity and technology certainty”. This is what sets them apart from their main competitor, Pinterest. Founder, Eugene Strokin, was kind enough to lend us his time and  provide us with a first-hand account of the ins and outs of Indulgy.

indulgy

How did you get into creating a pinboard site?

I was inspired to start the site three years ago when my wife was submitting pictures to a pinboard styled site called foodgawker.com. I noticed the massive amounts of traffic driven by this site and thought to myself, why just food? I went on to build a pinboard site where people could post and share pictures of anything they were passionate about and visualize their perfect world.

What is your mission, specifically what are you trying to accomplish?

I am trying to build a site where people can come and be visually inspired. This isn’t a site where people come to interact with one another; in fact people don’t have to talk to each other at all. People come here to look at beautiful pictures, and in that respect our site falls somewhere between Pinterest and Tumblr. We constantly work to find the best content and present it to our users.

What kind of connection do you have with your user and what’s some of the feedback you receive?

Although we don’t often communicate with our users directly on our site, we do receive a lot of feedback from them. We have two types of users, those who stop by the site consistently and those who come and go. Both of these groups provide us with different types of feedback and we aim to give them the best experience when they visit Indulgy.

What are you looking forward to in the future, how will your focus shift?

We are currently working hard to monetize our site, one we do that is through VigLink. Another option we are considering is the implementation of a shopping cart directly to our site. This is appealing to us because it gives us more control when the user stays on our site to make a purchase. Although we haven’t gotten that far, we know we will stay true to our native advertising roots. Since our primarily focus is aesthetics and quality content, we would never compromise that by having intrusive ads on our site.

What value do you deliver your customer by showcasing certain brands?

We only collaborate with the most elite brands that are visually pleasing to our audience. Again, since everything is visual on our site we don’t want to compromise that by working with brands that don’t uphold our standard. Once we have identified which brands are good partners for us we offer to showcase them on our site if they are willing to give us a commission increase. However, like I stated earlier we wouldn’t promote anything that isn’t relevant to our audience.

How does the shift to mobile consumption affect your strategy?

Over half of our traffic is mobile. That being said, we recognize the importance of optimizing our site for mobile and have done so accordingly.  Looking to the future we would like to design an app for our site but that takes resources that we haven’t quite yet acquired.  

 Written by Hanna Fritzinger

This Week In Tech: SFCMGR Visits Prezi!

image

We love SFCMGR, and not just because our very own Lucy Bartlett is a co-organizer. It’s a wonderful group of people who come together once a month to discuss the ins and outs of online community. This month’s event was held at the San Francisco Prezi Office.  They provided four wonderful speakers, all who have different backgrounds within Prezi, but work toward the common goal of creating an online community of happy Prezilians.

Jana Hanavan, Prezi’s mood coordinator, opened up the series of presentations with some background on the organization, thus setting the stage for Ashley Whitlatch, the 8th U.S. employee who developed and launched Prezi’s successful college ambassador program. She informed the audience of 5 tips to build a community of college ambassadors. They are- focus on those who love you, help them set their own goals, provide feedback, listen to their ideas, and provide useful takeaways.

When looking for people who are passionate about your product, find those who already actively support you. Once they’ve become an ambassador, it’s important not to set stringent goals for them, but rather collaborate to decide what you’re working towards. After all, an ambassador knows their peers better than anyone else, that’s why they’ve been selected. The college ambassador program wouldn’t have been beneficial to anyone if it simply included passing out fliers. Prezi encourages ambassadors to create online groups and A/B test new products, both enriching the experience of its ambassadors as well as the community they’re present in.

Zsofi Goreczky was once upon a time what Prezi calls a Champion, someone incredibly active in the Prezi community answering other’s questions and sharing best practices.  A few months after becoming a Champion, Prezi asked her to officially join their team. She’s now the Operations Manager for Support. Zsofi explained the importance of the Championship program and other methods that encourage peer-to-peer support. Although acknowledging these key factors of building a supportive community, she also stressed the strong influence of support reps, promoting good answers, monitoring frequent questions to modify content pieces accordingly, and archiving out-dated issues. The combination of Prezi employees and Prezilians supporting the community has proven to be the most effective way to support their online community.

The last to take the stage was Prezi’s Social Media Coordinator,Susannah Shattuck who helps to manage Prezi’s global community across LinkedIn, Twitter, Facebook, Google+, and beyond! When she first started at Prezi her main focus was to get as many “likes” and “followers” as possible but soon realized that didn’t result in engagement. Rather, a smaller, targeted audience creates higher interaction amongst followers. To best amplify your company’s voice and convert users into advocates, Susannah suggests meeting your audience where they are, listening to what they have to say, and empowering them to share their stories. If you are able to successfully follow these three tactics you will drive traffic to your website, which is critically important when trying to explain the ROI of social media.

We hope all that attended this month’s SFCMGR meeting learned as much as we did! It was wonderful to hear about community from three different departments of the Prezi team. We hope you’ll join us next month for another round of networking and insightful talks from industry leaders. Stay tuned!

Check out the great Prezi they made for SFCMGR!

Written by Hanna Fritzinger

Asynchronous programming with Play framework

Background
Some  services provided by VigLink are handling 7K requests per second. Our current architecture is mostly running on a Tomcat 7/Spring 4 sync approach. Our services are mostly powered by MySQL, Elasticsearch, and Cassandra. Since traffic has grown over the past few years, we’ve increased the number of machines to keep up with throughput and response time.

Goal
In anticipation of growing traffic, we want to experiment with different frameworks and approaches to make our service more scalable and efficient.

  1. Increase throughput
    We aim to handle more traffic with the same hardware. This can reduce our engineering costs and ease up the maintenance of having too many servers. The CPU cycle being wasted on thread churn is one key thing we want to address in this experiment.
  2. Improve response time
    The vision of VigLink is to make the web better, therefore we strive to maintain and improve our request latency. We want to provide low, and most importantly a consistent latency because we’ve observed that spikes of latency happen once in a while on the current application.
  3. Java codebase compatibility
    Since our code base is mostly Java based, we hope to reuse our existing code base while enjoying the benefits of new framework.

Decision of Play framework
We started to learn and code with Play framework on our company’s internal hackathon day. We found it extremely easy to setup and run. Additionally, its async controller is well defined. As a result, Play framework was chosen to experiment with this time.

Code change
Future interface
To make our Java code’s computation and DAO asynchronous, we need a more advanced future interface to handle in-progress computation so we can code from end to end in async manner. Some options include Java 8 CompletableFuture, Akka, Guava ListenableFuture. We decided to use Guava ListenableFuture because we found it easy and powerful for transformation and chaining. Also, the code change for our existing code was minimal with ListenableFuture.

Migrating existing Java code to asynchronous computation
Cassandra client library
We are using Hector as our Java client library for Cassandra, but this client library does not provide async interface. As a result, we decided to try Astyanax for its powerful async interface. The code change was straightforward and easy since their interfaces are similar.

 

Hector – Sync

public UrlValidity getUrlValidity(String url) {
   SliceQuery<String, String, ByteBuffer> query = HFactory.createSliceQuery(linkSwapKeyspace, StringSerializer.get(), StringSerializer.get(), ByteBufferSerializer.get());
 
   ColumnSlice<String, ByteBuffer> queryResult = query.setKey(getKey(url))
           .setRange(null, null, false, 100)
           .setColumnFamily(CassandraColumnFamily.URL_VALIDITY)
           .execute()
           .get();
 
   return extractValidity(queryResult.getColumns());
}

 

Elasticsearch
We are using Elasticsearch 1.2 standard Java client library. It provides async execution out of the box. As the return value of its async execute() method is ListenableActionFuture, we transformed this into ListenableFuture by using SettableFuture.

public ListenableFuture asyncSearch(final Class clazz, SearchQuery query, String... facetNames) {
SearchRequestBuilder searchRequestBuilder = createSearchContent(query, facetNames);

ListenableActionFuture searchResponse = searchRequestBuilder.execute();

final SettableFuture searchResult = SettableFuture.create();

searchResponse.addListener(new ActionListener() {
@Override
public void onResponse(SearchResponse searchResponse) {
String responseBody = toJson(searchResponse, true, false);
T result = unmarshalResponse(responseBody, clazz);
searchResult.set(result);
}

@Override
public void onFailure(Throwable throwable) {
searchResult.setException(throwable);
}
});

return searchResult;
}

 

Play Framework Async Controller
We are using Play 2.2.x for this experiment. Async controller can be easily implemented with Action.async {}. We have implemented AsyncUtil.asScalaFuture to transform Guava ListenableFuture to Scala Future as expected by Action.async {}. The tility method is inspired by sphere.util.Async.

@Component
class LinkSwapController extends Controller {

@Resource var offerSearchService: OfferSearchService = _

def swap(url: Option[String], keyword: Option[String]) = Action.async { request =>
AsyncUtil.asScalaFuture(offerSearchService.search(url.getOrElse(null), keyword.getOrElse(null))).recover {
case t =>
Logger.error("Exception caught", t)
BadRequest(...)
} map {
case result: OfferSearchResult => Ok(...)
}
}
}
public static Future asScalaFuture(ListenableFuture future) {
final Promise promise = new Promise<>();
Futures.addCallback(future, new FutureCallback() {
@Override
public void onSuccess(T result) {
promise.success(result);
}

@Override
public void onFailure(Throwable t) {
promise.failure(t);
}
});
return promise.future();
}

 

Metrics
Graphite is used to measure and monitor performance. Yammer metrics library is used to populate metrics to our Graphite server. To measure the response time of requests, we have implemented a metrics filter.

class MetricsFilter extends EssentialFilter {

def namePrefix = "responseCodes."

def statusCodes: Map[Int, Meter] = Map(
Status.OK -> Metrics.newMeter(classOf[MetricsFilter], namePrefix + "ok", "responses", TimeUnit.SECONDS),
Status.CREATED -> Metrics.newMeter(classOf[MetricsFilter], namePrefix + "created", "responses", TimeUnit.SECONDS),
Status.NO_CONTENT -> Metrics.newMeter(classOf[MetricsFilter], namePrefix + "noContent", "responses", TimeUnit.SECONDS),
Status.BAD_REQUEST -> Metrics.newMeter(classOf[MetricsFilter], namePrefix + "badRequest", "responses", TimeUnit.SECONDS),
Status.NOT_FOUND -> Metrics.newMeter(classOf[MetricsFilter], namePrefix + "notFound", "responses", TimeUnit.SECONDS),
Status.INTERNAL_SERVER_ERROR -> Metrics.newMeter(classOf[MetricsFilter], namePrefix + "serverError", "responses", TimeUnit.SECONDS)
)

def requestsTimer: Timer = Metrics.newTimer(classOf[MetricsFilter], "requests", TimeUnit.MILLISECONDS, TimeUnit.SECONDS)

def activeRequests: Counter = Metrics.newCounter(classOf[MetricsFilter], "activeRequests")

def otherStatuses: Meter = Metrics.newMeter(classOf[MetricsFilter], namePrefix + "other", "responses", TimeUnit.SECONDS)

override def apply(next: EssentialAction) = new EssentialAction {
override def apply(rh: RequestHeader) = {
val context = requestsTimer.time()

def logCompleted(result: SimpleResult): SimpleResult = {
activeRequests.dec()
context.stop()
statusCodes.getOrElse(result.header.status, otherStatuses).mark()
result
}

activeRequests.inc()
next(rh).map(logCompleted)
}
}
}

 

Result
Response time

engineering-1

 

 

 

 

 

 

The average latency of Play framework is lower in this experiment. Most importantly, there is no spike in the async one. This can be the combined results from async computation, Play framework, and Astyanax.

 

Thread churn

engineering-thread

 

 

 

 

 

 

The thread count in Play framework (async) is more consistent and lower than Spring framework (sync). That means it has the potential to handle more traffic.

Conclusion
We are pleased with the result of using async computation in this experiment. Both latency and thread churn were improved dramatically. We also found it very easy to setup and use Play framework. However, it is unfair to Spring framework because it’s using sync computation. We are planning to do another experiment with async computation in Spring framework so we can compare the two in fair manner. We are also planning to do a stress test experiment to understand the real potential of Play framework async programming.

Written by Edward Chu, Senior Software Engineer.

Follow Ed on Twitter @edwardchu521


 

This Week in Tech: Publishers granted greater control by Google

Untitled 3

Monday marked the launch of the  Google News Publisher Center, a new feature of Google News that allows publishers to dictate how Google indexes their site. Most top publishers spend hours generating engaging and relevant content, however that’s not enough to drive traffic to their site. Until Monday, publishers could only hope Google would predict the layout of their site correctly and pick up on any recent formatting changes.

For example, ELLE one of our coveted publishers, categorizes their site by fashion, beauty, accessories, culture, etc. With this new feature ELLE can label the different segments of their site from the Publisher Center, therefore enabling Google to efficiently categorize the content. If ELLE decides to delete the “beauty” category from their site or add a “lifestyle” category, they would subsequently go to the Publisher Center and ensure those changes are made. This will result in more accurate Google News results, which is beneficial for ELLE, Google, and readers.

The Google News Publisher Center can be simply explained as a tool that gives publishers the power to edit Google’s records, thus putting power and responsibility into the hands of publishers. It is now up to them to attentively keep information in their Publisher Center portal up to date, simultaneously relieving pressure from Google Support.

What do you think about the latest advance in Google News?

Written by Hanna Fritzinger