We’re excited to announce that Joshua Summers, clypd’s Founder and CEO has been nominated for the Rising Star Entrepreneur Award at the New England Venture Capital Association’s 2014 NEVY Awards!
Who We Are:
clypd is a technology platform built exclusively for the TV industry and designed to connect media companies and media buyers with systems that translate, simplify and automate how advertising campaigns are packaged and sold. We are helping bring programmatic advertising technology to the $70B TV market!
The Director of Program Management is a customer-facing role, providing leadership for strategic product development, evangelism of the platform and technical sales efforts and cross-functional project management as clypd continues to expand its business. This person will plan, conduct, and facilitate work to streamline communication, ensure timely responsiveness and coordination of resources. This opportunity provides the optimal candidate an opportunity to lead technical pre-sales efforts and on-going client project management.
This highly visible role has the team member acting as a main point of contact in pre-sales stages and throughout the duration of client engagements while working closely with clypd’s Product Development team to drive customer-facing projects forward Read More
Back in late January, clypd moved from the Cambridge Innovation Center to our new home at 212 Elm Street in Davis Square, Somerville. We’ve put in a lot of love, time, and effort into creating a perfect space that will meet all of our needs (and more).
At clypd, we have been using PostgreSQL and it has been a great experience. We are impressed with its simplicity, good documentation, active community, abundance of functions and lot more. This post jots lessons learned and insights acquired during a recent journey in improving performance of one of our queries. Most resources and tools in this post point to other sites, however we think it would be helpful to list various ‘performance improvement’ resources in one page. Read More
WASHINGTON, DC: clypd has been chosen to participate in SPROKIT. As one of 27 startups chosen to participate, clypd will be given exposure to leaders and innovators at numerous top media and entertainment companies. This program will kick off at the NAB Show in Las Vegas in April, 2014.
SOMERVILLE, MA and NEW YORK, NY–February 11, 2014 – Television advertising solutions company clypd, Inc. and Ad-ID, a joint venture of the American Association of Advertising Agencies (AAAA) and the Association of National Advertisers, Inc (ANA), today announced that Ad-ID coding will be incorporated into clypd’s TV technology platform, marking the first use of Ad-ID in the programmatic TV technology arena. The clypd platform allows brands and agencies to work with content suppliers (broadcasters, cable networks, digital service providers, satellite companies, cable operators) in a truly programmatic — or automated — fashion. Read More
Today we are excited to announce that we are integrating Ad-ID into the clypd platform. Ad-ID is a central commercial asset code database that streamlines how advertisement information flows across various systems in the advertising ecosystem. Read More
Despite the title, this isn’t another sales excellence screed, travel policy dictat, or a washroom deconfliction methodology. Rather, this is about our journey to select a new programming language and platform for our performance-sensitive services.
We began with a set of web services successfully built on the Ruby/Rails ecosystem. Given an extremely short timeframe to deliver version 1 and that the majority of the early product requirements were focused on the user interfaces, Ruby made a lot of sense.
As the scaling requirements of some of our services grew beyond the initial prototype, we found (to little surprise) that Ruby MRI just couldn’t keep up. We did some investigation and benchmarking with JRuby, hoping that it would offer a clean transition to a more performant services platform. Not so much… so we found ourselves at a crossroads.
Picking A New Path
Choosing a new programming language often bears more resemblance to a religious debate than to a purely logical process. Each of us has our blacklist (“Java is too verbose”, “Python’s dynamic typing makes you lazy”, “Scala is too hard to learn”), our hot list (“Ooh, let’s try Racket”, “Haskell looks like fun”, “Why not Erlang?”), and our unique perspective (embedded, web apps, enterprisy, whatever). Despite all of this, we intentionally took a more balanced and reasoned approach.
Given our small team size and aggressive schedule, we simply couldn’t afford to evaluate every possible platform. Instead, we immediately narrowed the field down to a reasonable set of candidates by ignoring some less likely scenarios:
- Clojure/Haskell/Erlang – too esoteric, not enough industry traction, too slow for certain workloads
- C/C++/Objective-C – not enough abstraction, very complex syntax
- Python – same architectural deficiencies as Ruby
We knew this effort would require extensive research, so we wanted to focus our energy by first defining a detailed evaluation criteria. Obviously, we demanded that our new platform provide an order of magnitude increase in performance (at least!) along with very strong support for concurrency and parallelism. In addition, we also wanted to understand:
- ramp-up – How quickly can people learn the platform? What kind of safeguards does the platform have to inhibit new people from implementing bad code?
- open source and community involvement – What does the open source community look like? How mature are the “gem” equivalents? Do these open source components use best practices around testing, like rubygems?
- TDD/BDD – What tools are in place to support TDD/BDD? Is there something like RSPEC for the platform? Do strong mocking tools exist?
- build time and effort – What effort is involved in the build? Does the build time slow down as the source code becomes larger and more complex?
- commercial adoption – What are other folks in our industry using?
- tooling – What tools exist for developing (IDEs), testing, documenting, building, profiling, deploying, and monitoring? What about static analysis?
- scalability – How easily can the platform scale horizontally and vertically?
- recruiting – How likely will we be able to attract and excite new developers?
We avoided the approach of writing small toy programs in each language to attempt to extrapolate conclusions. We felt that these quick “Hello World” spikes didn’t provide enough exposure to grok the nuances and pain points and we specifically avoided deriving conclusions from them.
After defining our evaluation criteria we were off to the races evaluating the platforms! Those that remained on our short list were Java, Scala, Go, and D.
Java was the most well understood platform since several clypd senior developers had deep experience with that platform. Java received strong marks for ramp-up, community, testing, tooling, and commercial adoption. Unfortunately, Java’s deficiencies quickly doomed its selection as the same senior developers didn’t even advocate for it. Their concerns included code verbosity, long build times, and a lack of a consistent strategy for concurrency.
None of the developers had any previous exposure to D besides the occasional thread from Andrei @ Facebook. Although D appears to address many of the shortcomings in Java and C++, ultimately we were challenged finding enough public information – anecdotes, critiques, and analysis – to give D anything but failing marks for community and adoption.
The final two remaining platforms, Scala and Go, both scored high in many areas. Both have
- strong concurrency models
- active communities and existing commercial installations
- proven scalability
- positive trending to help with recruiting
Scala’s functional model appealed in principle, but the language’s flexibility/complexity and associated ramp-up required by the team was a significant concern. Further, Scala’s lack of stability, ridiculously long build times (too long to support TDD), and clunky build tools are in stark contrast to Go’s simplicity, 1.x compatibility guarantee, and blazingly fast build times. Lastly, we’d heard some mixed feedback from folks in our network who were already using Scala. Some loved it, some didn’t. As a team, we met one final time to review our findings and recommend a path forward. After a contentious but educational process, we could finally say that we knew which way to Go. [groan]
Stay tuned for more updates as we learn about Go, its ecosystem and the Gopher community.
Jason Burke talks with Beet.tv about clypd’s recent round of funding, its platform and an overview of the programmatic TV landscape.