Category Archives: Engineering

AWS User Group Meetup

This week, Yext hosted the NYC AWS User Group to discuss techniques enabling migration applications to AWS. Education technology company Knewton, had their own unique perspective on the topic and joined in on the presentation.

We started the evening with drinks and networking. One of the guests was overheard joking about our idea of “light refreshments.” At Yext, there is never a shortage of good eats.

Speakers included Yext’s CTO, Sean MacIsaac and Knewton’s Director of Platform, Trevor Smith.

Sean MacIsaac, kicked off the discussion with a presentation on how Yext Engineering uses MySQL replication with RDS to enable Yext’s migration to AWS.

JEarnshaw_Yext_02

Trevor Smith’s presentation on their migration from an in-house graph DB to Cassandra-backed Titan, raised a lot of questions.

JEarnshaw_Yext_10

Trevor’s key advice for the evening, ”spend a lot of time understanding your problem.”

JEarnshaw_Yext_09

Yext and Go

The engineering team at Yext is working with a new and exciting programming language called Go. We last hosted the Go community at the Yext HQ when one of the senior members of our engineering team, Rob Figueiredo (AKA RobFig), presented on a framework he created. On October 21st, we opened our doors once again to engineers interested in Go.

This time, we invited the Go Language Meetup Group to come by our offices with their computers for a casual hack night.

 blog 1
We had a great turnout of engineers with a great variety of projects to work on.
blog 2
The attendees worked on Macs, PCs and one hacker even brought his own Raspberry Pi.
blog 3

 

It was a great night of coding, exploring new technology and socializing. In addition to dinner and beer, we also played some ping pong.

This will certainly not be the last Go language event we host at Yext!

 

ICBM Build System Launch Celebration

The Yext engineering team celebrated their first substantial contribution to the open source community with a talk and open house.  You can read more about the build system Ilia’s Crazy Build Machine in our more technical blog post.

9242013_yext_18

We had over 90 RSVPs for the event, and a great turnout of software engineers, systems engineers and build engineers.

9242013_yext_23

Austin Chu thanked Ilia Mirkin for his work in designing the build system, and then gave a technical overview of ICBM.

ICBM at Yext

Austin provided insight into why the Yext team build ICBM, how it’s used at Yext and how it can be used to build Java web applications.

9242013_yext_48

After the talk, Yext provided dinner and office tours. Attendees had the opportunity to talk with Austin, Ilia and many others from the Yext team.

As a follow up, some attendees tried out ICBM on its GitHub page. And the discussion was kicked off in our Google Group.

The Yext engineers look forward to continuing to support ICBM. This is just the start of the Yext in the open source community.

Our First Open Source Release: ICBM

Yext has benefited greatly from the open source community throughout its history as we’ve built the technology stack for the world’s greatest location information platform. Today, we proudly join the community with our first open source project release: ICBM.

ICBM is a build tool that specializes in building Java applications, though it also supports handling protocol buffer definitions, Play framework 1.x projects, and build steps that are arbitrary commands. We’ve been using it internally at Yext for the past three years to build the vast majority of our systems.

ICBM means more coding and less cargo-culting XML snippets. Its strengths lie in managing multiple applications intermingled in a single codebase. Adding a new application is as easy as writing a new main() method. Deploying to production is a cinch as ICBM creates executable JARs with all the classes the new application needs—and only those classes the application needs—in a single file.

ICBM makes this possible with its automatic dependency management. By assuming some widely followed Java code conventions, it can calculate all the dependencies between classes in a codebase within seconds. Those few dependencies that can’t be automatically detected can be specified in flexible build.spec files.

Using ICBM, we’ve painlessly grown the Yext system to over 100 services spread across over 3600 source files. The ease of building new services has helped us develop a highly modular architecture, combating complexity and reducing the risks of continuous rolling deploys. This has been crucial in enabling Yext engineering to think big and move fast in building the premier location information platform.

If you’re in New York and interested in learning more about ICBM in person, we’ll be hosting a talk introducing ICBM by Austin Chu, ICBM’s current maintainer, on September 24. You can RSVP at the event page. In the meantime, feel free to try ICBM out yourself from its GitHub page. We’ll be fleshing out the documentation more thoroughly over the next couple weeks, and there’s also some more work for us to do to sand off the Yext-specific rough edges, so join the project and send us your questions and contributions through GitHub or our Google Group!

An Evening with Yext and NYC Hacker Union

On Thursday, August 8, the Yext engineering team welcomed 100 software developers, hackers, and innovators as we hosted the NYC Hacker Union for a Hacker Forum at our Madison Square Park HQ.

HU 1

NYC Hacker Union organizer, Brandon Diamond, and Sean MacIsaac, CTO at Yext, welcomed the crowd and kicked off the event.

hu-event-2

Left to right: Brandon Diamond, Sean MacIsaac.

The topic for the night was screen scraping, a technique to extract data from human-readable output on a website. The evening included three presentations:

  • Kevin Caffrey, Software Engineer at Yext, gave an overview of how Yext works and explained how they scrape sites to verify data accuracy on their 175,000+ active clients.

  • Cole Diamond, Program Manager at Microsoft, shared an anecdotal story from his hacker days at Columbia and explained that it’s important to conduct screen scraping in an ethical way.

  • Jonathan Dahan, Media Technology Developer at The Metropolitan Museum of Art, demonstrated his api, scrAPI.org, and how he uses it to scrape data from the Metmuseum Collection.
HU-Event-1

Left to right: Kevin Caffrey, Cole Diamond, Jonathan Dahan.

Attendees asked great questions, made new friends, and enjoyed an array of food and drinks, provided by the Yext engineering team. Special thanks to Yext, NYC Hacker Union and Brandon Diamond for organizing a fun and informative event.

hu-event-3

Want to hear about upcoming events? Join our mailing list, find us on Facebook, and follow @Yext and @HackerUnion on Twitter!

Revel Demo

We recently held an event at our office to demo Revel, a web framework for the language Go. Created by Yext Software Engineer, Rob Figueiredo, Revel is a high productivity web framework that makes Go easier to use and faster to build web applications on.

Revel provides routing, parameter parsing, validation, session/flash, templating, caching, job running, a testing framework, and even internationalization. And it was recently benchmarked to serve three to ten times as many requests as Rails across a variety of loads. No small feat.

Rob demoed to Yexters, friends, and members of the community before some food, drinks and foosball. Check out some pictures from the event:

-bCFrvEYmEh30vViVH74yIsYn8PUXYhRqxGSXVF9azgGo Gopher + Revel = Party

Fmp8Z4MG48CKeCaOJHsCgmeYXwtl7lvUlJ-l_TNNIagOur CTO, Sean, introducing Rob and Revel

_pvwENO_Jz0vvJiFt8k_XA2QqCPRvXtYrKUh1lfXxAU

3-Q6PLhwUMBLismwv8i_3ukm654e2qozrWjiO4lKdVg

eCkPPXpXM67O4oAEi_bh36k9XDM9bxZ4Yx8eBUXLWR8

NNp60F1cyQT6xf4-FJYgEsXBaDAY3Ahs64m0Kedr4k0

IChV_gKZRgUsS1wrorHefYd57HEeEG1IV8wwFUObQQc

mgdq6C373L0lZgSHeE8TVcSyPN8D6FFbu_YVKN-ZepwEveryone enjoyed food, drinks and foosball after the demo

lB-EU9KsLUTenEglO9EDO98T4fKshLN4T9t8bsrzAAc

eB3YzzYO4rG504v56TF8Ew6nlxZYcTjnrl7egO-EWtI

OPLB8i2Yo6YPeu4Cj4O3EbHMeFZ1jDSYI8uAqyio1q8

CMU Meetup at Yext

Yext recently hosted a Meetup for Carnegie Mellon University Alumni from the Computer Science and Business programs. We had a blast connecting our engineering team, which includes of many CMU grads, with the greater CMU community in NYC.

Until next time!

Yext gear for attendees

Our CEO, Howard Lerman

Event organizers and Yext CTO, Sean MacIsaac

Now Supporting Android

A few weeks ago we announced our completely redesigned iPhone app, and as of today we also support Android. So now you can create and capture rich content to share on your listings right from your phone.

We all know people are going mobile – doing more on their mobile devices, finding information on the go – which means they can go more places. And, as a business owner, you are no different. So we designed our mobile apps to make doing your job easier.

Keeping your location information fresh drives engagement on your listings – in fact, listings with updated pictures receive 247% more clicks.

android 2

The new Yext Android app has nearly identical features to the iPhone app, and with them you can:

  • Apply custom filters to your photos

  • Create text posts

  • Share photos and add them to your photo album

  • Save your photos to your PowerListings gallery, to appear on your listings including Yahoo!, MapQuest, and Foursquare

Your customers want to see what separates your business from the competition, and our team of Yextoids made that easier for you. Download the app in the Google Play Store and check out our website for more information.

The Design Behind Our Mobile App

The Mobile Challenge

We’ve added a number of new features in the past few months that have made our software more powerful and easy to use. So, we knew we needed to create a mobile companion app that would be as useful and simple for our customers, for when they aren’t in front of the computer.

We set an aggresive timeline and goal because, at Yext we love nothing more than challenges.

Customer Feedback

blog pic 1

We started with design-research by speaking with our customers to learn about the things that matter to them, often face-to-face via video.

What are their current behaviors? How do they publish their location information today? What tools do they use? How do they perceive and use Yext?

We learned that our customers are incredibly mobile – they are on the go and they use mobile technology. They take pride in their work and are looking for ways to share their business stories with their customers. A business, just like our personal lives, has high and low moments. Interestingly, what’s actually shared on social networks includes only the highs.

It became clear to us that expanding Yext’s mobile app capabilities to capture those moments of success and share them on social networks would address our clients’ needs. That combined with our PowerListings Network of nearly 50 publishers offers a unique solution.

Business and Pleasure

Great apps are not only about function though. The actual design was inspired by Maslow’s pyramid of needs, from Designing for Emotion by Aarron Walter (a great read on its own), who explains that today’s software needs to be more than just functional, reliable and usable. It also needs to be pleasurable.

Yes, at Yext, we believe that business should be mixed with pleasure. Our customers are not just “users”. They are people.

pyramid

Design for Emotion – In this adaptation of Maslow’s pyramid of needs, the top part of the pyramid that many applications are missing, however it’s what contributes a great deal to customer engagement.

Concealing Complexity

We also know that our business owners are—not surprisingly—very busy people. So any app we design needs to be very straightforward and simple. Just a tap and you’re done. But that “tap” needs to be powerful.

The GM and CEO of Vine, Dom Hofmann, put it well at the latest NYC Mobile Apps Meetup. He said, “great apps need not avoid complexity, they need to conceal it.”

pic 3

With this in mind, we got our hands dirty. Collaboration is key at Yext, and the team participated in a “Design Studio”. For a couple of hours, we all left our computers and performed rapid visual brainstorming in our Fun Room. We had a great group of people from different departments of the company all working together: visual and UX design, marketing, customer support, developers, QA, and product.

After 190 sketches, we reached a rough consensus of the main information architecture and screens. Designers and developers continued to collaborate as the team iterated the design and the actual code. We used the whiteboard extensively as the place to discuss and wireframe any user-facing element of the app. And at the end of this process, we had a fully functional and designed app, but it didn’t seem quite finished…

Adding Fun

There was one small yet important detail missing: fun. We wanted to add a discovery element to our app, one that would be appealing and engaging, but wouldn’t hide or interfere with functionality.

In the first set of wireframes, we had a standard iOS button on the screen with a plus sign inside. It was a placeholder annotated “Sexy Plus Button”. That button would open a menu to select the type of information they wanted to share: a photo, a thought, a Featured Message, and more. We wanted to make this interaction delightful and fun, but also clear. If business owners aren’t sure how to use our app, they might close it and never open it again.

The main action button as it looked in one of the initial low fidelity wireframes.

The main action button as it looked in one of the initial low fidelity wireframes.

So we used Keynote to prototype some of the possible animations, along with our trusty whiteboard. Eventually, we found an animated design that worked. It’s simple, elegant yet cool, sexy and fun.

Evolution of screens from whiteboard prototyping to a full, polished Yext App.

evolution

We are very excited about the launch of the new Yext app and are looking forward to roll out more exciting new features. Click here to download and stay tuned for more!

Capture Business Moments With Our New iPhone App

Your business isn’t defined by only your address, phone number or hours of operation. It’s when a customers visits for the first time, new products in stock or when someone finds what they need. These are the moments make up your business.

Capturing and sharing those experiences is the best way to engage your customers. In fact, listings with updated pictures receive 247% more clicks.

What to Share

For businesses, it’s clear that creative, ‘behind the scenes’ photos perform better than formal marketing pictures.  To reach and engage your customers, capture and share those business experiences. Take a photo of the new dish, product display, or seasonal sale.

You should share them where you customers are looking: social media and business listings. Adding them to your digital profiles makes your business look more appealing and active, so customers feel connected and compelled to choose you.

Your profiles will look more complete with photos and rich information, so they actually become your mobile presence.

Changing your website and optimizing for mobile is hard, but updating your profiles – where your customers are already looking – is a simpler and more effective solution for your mobile presence. And the photos of your business moments are the key to your mobile strategy.

Redesigned Yext iPhone App

  image_1  image  image_2

We knew we wanted to create a companion app as useful as the web product – because business doesn’t always happen in front of a computer screen. So we started from scratch and completely redesigned our iPhone app to make it easy to capture and share business experiences.

We ended up making the first of its kind business app for capturing and sharing content with customers. With it, businesses can:

    • Easily to capture photos of your business moments

  • Apply custom filters to make your photos look professional

    • Create text posts

    • Share your photos and add them to your photo albums

  • Optionally share the photos across your PowerListings Galleries

  • Set their profile picture and cover photo for your Facebook Page

The new iPhone app is available for download on the App Store here and is included in your PowerListings subscription. Once you have activated Yext Sync for Facebook, you can begin capturing and sharing the experience that define your business from the palm of your hand.

For more information, contact us at service@yext.com.