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: Linkedin Offers SlideShare Pro Features At No Cost

SlideShare has become a widely adopted tool, especially amongst those in the business sector. It allows you to easily upload and share presentations with your audience. For example, we utilize SlideShare to aggregate presenter’s slides each year at our annual conference ForumCon. That way, those who are unable to attend are directed to one place to find each speaker’s slides.

forumcon

In May of 2012 LinkedIn acquired SlideShare for $119 million. LinkedIn proclaimed this to be good news for all as it would enable professionals to share content more conveniently. Since the acquisition, SlideShare hadn’t gone through any significant changes, until now. SlideShare is canceling its pro tier memberships once priced at $19 and $49 dollars a month and making pro features available to all users.

So…why does this matter?  When looking at the big picture, this is more than just all users having access to profile customization, private uploading, videos, and most importantly analytics. These analytics include how someone came across your SlideShare account, who they are, and where the majority of your traffic is originating. These engagement metrics provide a wealth of information to LinkedIn, note that SlideShare gets approximately 60 million unique visitors/month. After all, they made these features free for a reason. It will be interesting to continue watching LinkedIn’s  advertising strategy for any changes that are a result of SlideShare Pro becoming a free tool for all.

Written by Hanna Fritzinger

Employee Spotlight: Tiffany Koptish

Here at VigLink we’re constantly challenging ourselves through collaboration with our wonderful team. And because of that, we’ve decided to showcase our employees from time to time. Not only are they breaking boundaries and pushing the envelope at work, they’re doing that in all facets of their lives. Since this is our first employee spotlight, we found it fitting to highlight one of our newest team members, Tiffany Koptish.

tiffany

Tiffany, VigLink’s new Advertiser Development Manager, came to us (and the tech world in general) from a background in finance and cosmetics. Tiffany lived in San Francisco for eleven years and noticed, like many other people, the changing landscape of our city as tech firms moved from Silicon Valley into the heart of San Francisco.  Seeing the fast-paced innovation and a fit of niche products for consumer’s use made her want to be part of the growing trend.  Without direct experience in technology, she started doing coffee chat surveys to learn about roles at varying tech companies.  Tiffany began digesting as much industry news as possible and proactively attending technology mixers as well as speaker panels.  Through these, she met great people who were willing to help her find what she proclaims is her “dream role” at VigLink. Tiffany is also an active member of the community, on weekends you might find her at St. Anthony’s serving meals or being a youth mentor at the JCC.

So…what’s Tiffany’s advice for merchants?

Merchants who have seen success with VigLink often ask, “How can I expand my business for extra reach?” One of the most immediate impacts we offer is the opportunity to join our Insider Marketing Program that highlights brands with competitive revenue share in their industry.  VigLink promotes these brands in high visibility avenues like our email newsletter, insider twitter, and recognition on our merchant homepage. This is a great way to showcase your brand and get in front of a carefully curated group of publishers to share your story.  

 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

The new landscape of native advertising: #ASE14

10352611_10152288440603225_2808535163228706323_n
Every six-months I attend the bi-annual Affiliate Summit Conference. It’s a great opportunity to meet others in the industry and learn recent trends in the native advertising ecosystem.  Below are valuable insights I’ve gathered from industry experts to help you stay current with your native advertising efforts.

Keep Your Content Authentic

Creating quality content has always been paramount. The only way to retain visitors is to engage them, and to do that, they must be provided relatable content. Rae Hoffman of Sugarrae spoke about changes in Google Search and the implications they hold on the future of online publishers’ success. He concluded success can only be achieved if you produce honest, authentic, and well crafted content.

John Rampton, editor of SEJ, spoke to the influence of blogs in helping build your brand and online relationships.  Your blog is the start stage of your sales funnel, and if it goes unnoticed, you cannot maintain or grow your online brand (nor drive traffic to monetize). Everything you put on the web should be of the same high quality your readers have come to expect.

Additionally, content is not limited to writing. Images and videos are common content outlets, and with them come the potential for additional monetization sources. However, if these new avenues do not follow the same stringent quality controls to which you hold your writing, they will harm rather than support your brand.

Carolyn Kmet successful mommy, food blogger and CMO of “all inclusive marketing” shared three guidelines to keep the quality of your content high, even when feeling uninspired.  It’s critical to never lose your unique point of view that your audience depends on.

  1. Make sure you talk about “how you use” the items being discussed. Regardless of the item, be cautious to only speak to what you really know and can give your valued insight on.
  2. Never sell the trust of your readers for commissions. Trust takes years to build, but can be lost in an instant.
  3. Discuss pros and cons of situations in a subjective voice. By doing so, you legitimize your opinion and build trust with your readership.

ASE14 is far from over, and other significant topics will emerge. These are just the first to take prominence in audience discourse and reflect the “hot topics” present in our ecosystem.

Written by Lucy Bartlett

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

EPC Explored Infographic Released

There are many ways to measure your native advertising efforts.  At VigLink we tend to focus on earnings per click (EPC). EPC represents a per-click measure of how efficiently your traffic is earning from advertisers. For a given volume of clicks, the higher your EPC, the higher your revenue. It’s imperative for publishers to understand how EPC functions in order to maximize their earnings; this means finding out where people are earning the most, in what industries, and on which devices. We analyzed 100 million clicks and four million dollars in revenue to bring you a detailed breakdown of where the money is.

Calculating EPC is as simple as dividing total commission by total clicks. By doing so, you’re able to determine the potential worth of clicks on your site. But EPC is actually driven by a variety of other variables.  The publisher must also consider (a) price of the item recommended (b) average commission rate of the merchant (c) average likely conversion rate of the shopper.  EPC is the product of those variable.  If one of every hundred clicks from your site turn into a purchase for a $100 gadget, for which you are paid 5%, then your EPC would be (0.01 * (100*0.05)) = $0.05 per click.  Keep the click number constant but sell goods worth $200, and your EPC will double.  Keep clicks and item price constant but double the commerce intent of your traffic by really encouraging them to buy, and the increased conversion rate will mean higher EPC for you.

EPC-Explored_Infograph (1)

One way to consider EPC is by industry. Our data suggest the top three are financial services ($1.80), motorcycles & power-sports ($1.50), and lifestyle ($1.37). On the contrary, the three lowest are art & entertainment ($.06), travel ($.19), and family & baby ($.27). The purchase price of items in the first three industries tend to be significantly higher in cost than the later three, they also warrant recurring customers which merchants value and are willing to pay higher prices for.This explains their high EPCs.

With increasing resources and time devoted to tracking consumer trends over mobile and desktop devices, publishers are focusing more on where they are getting their traffic. Mobile is quickly emerging and will be more influential than desktop traffic in the near future, but it isn’t there yet. Even if publishers have equal amounts of mobile and desktop traffic, that doesn’t mean the conversion rate on mobile clicks is as high.

We learned desktop EPC was the highest at $0.07. Not surprisingly, tablet EPC was not far behind desktop at $0.06, but mobile remained low at only $0.02. Showing that even as mobile traffic to sites is increasing, people are still far less likely to purchase on those devices. The poor user experience on mobile risks deterring even the most avid shoppers. When considering the sports and fitness industry this trend mapped out exactly following the trend with desktop EPC at $0.18, tablet EPC at $0.13, and mobile EPC at $0.10.  Device EPC will be the number to watch as apps and mobile websites continue to increase their accessibility to customers. With the combination of these more efficient sites and the upcoming generation being more comfortable on their mobile devices than desktops, mobile EPCs will undoubtedly continue to rise, but for now… don’t neglect your desktop experience.

Written by Hanna Fritzinger

This Week in Tech: Google Introduces Dynamic Sitelinks

Untitled+drawing+(44)

We have long stated our belief in the power of links on the web. We integrate them into the content of your site, promoting a seamless user experience for your readership and a revenue source for you. And now, Google has caught onto to the potential of this form of native advertising. For those of you who don’t know what Google Adwords is, they are the ads that appear next to your Google search results which drive traffic and revenue.

Dynamic sitelinks, the newest feature of Google Adwords, will still have the original link to the homepage of the website as it always has, but additionally have links to different pages of the site. Instead of offering potential customers one place to click, they’ll now have multiple opportunities. If this sounds familiar maybe our newest product, Spotlight, is ringing a bell!  Google is already seeing success with this new technology, and we’re not surprised. With further advances and developments  on the web there will be more of a push toward native advertising and using links to bring customers to your site. After all, did you know you’re more likely to get hit by lightening than click on an irrelevant banner ad?

Written by Hanna Fritzinger