How Silicon Beach Tech Startup Enplug is using JetBrains to Transform the Way Businesses Use Social Media

Bruno Denuit-Woicik, Chief Software Architect at Enplug, brings this guest blog post to you. Your feedback is always welcome in the comments section.

Enplug’s digital signage plug & play device turns any digital display into an interactive and real-time marketing tool for businesses. Through the Enplug App Market, businesses can choose from a variety of content to display ranging from the brand’s live social media feeds to HD images, product videos, news feeds, weather, and more.

Enplug 2

Enplug’s most popular app is the live social media feed, where businesses can stream a live Twitter wall, Instagram wall, Yelp wall, Facebook feed, and Swarm feed. Posts mentioning a business’s social media handles (@BevHillsPorsche) or hashtags (#bevhillsporsche) of their choice will appear within just seconds.

Businesses can manage their display through the Enplug website or mobile app. From here, they can manage the social display, drag and drop images, upload video, adjust screen settings, control all of their apps, and more. All updates are pushed to your screen instantly, via Wi-Fi or connected Ethernet.

Enplug logo is part of the Silicon Beach tech startup community in Los Angeles. Their team consists of 35 employees. Noteworthy customers include: WeWork, Porsche, Toyota, Marriott and CREAM. They’re currently streaming software onto 500 screens in 420 venues worldwide.

Read about how a historical restaurant in San Francisco’s legendary Mission District increased sales by 28% using Enplug’s Instagram and Twitter apps in this La Taqueria Case Study.

An overview of technologies used at Enplug

Our plug’n’play units are Android devices, which run our app framework and some satellite services for log aggregation and screen control. The app framework can load and switch between different apps dynamically. Apps include a social board, an Instagram photo wall, RSS feed app, weather app, etc.


We also have an extensive web management portal for our users to control all aspects of their screens (written in AngularJS).

Recently, we introduced mobile apps (one for Android and one for iOS) that make the most common tasks on the web management portal available natively on mobile devices. They also allow customers to receive instant push notifications each time a customer interacts with their screen.

The backend services were built by us from the ground up in C# and include:

  • Core service, handling all of the interactions with the screens, such as social items, app deployments, etc.
  • Device monitoring service, keeping track of heartbeats from all the screens, and able to remotely control the screens.
  • A host of smaller services, such as our user authentication service and our logging service.

We have two database servers: MongoDB for our core data and metadata (accounts, users, social items, venue information), and SQL Server for analytics (e.g., tracking most active users on our network).

Why this is important to Enplug

On the server, we need a very flexible platform that doesn’t prevent us from adding functionality quickly and reliably. On the clients, we need an open platform where we can control all aspects. We need to be able to control all parts of the device easily.

We decided to build our server in C# because our engineers had an extensive .NET background, and we were convinced that the added reliability and productivity boost that C# offers vastly offsets what little speed we would lose as compared to C++ for example.

We went with Android devices for the clients because they’re at a perfect price/performance point right now compared to other platforms, and it’s only getting better as more and more developers start using Android for products besides mobile phones.

Enplug: IntelliJ IDEA


Last year, as we were building out the team and the product at the same time, it was sometimes hard to stick to deadlines and release sprints on such a tight schedule. But now, our team has stabilized to about 10 engineers, and we are moving along at a solid pace, hitting our milestones with great accuracy, and overall having a sense of accomplishing something important every single week.

The strict deployment schedule to Staging and Production, and the planning of the weekly work (knowing what we want to achieve, and knowing how many cards each person can handle per week, with some buffer) has turned us into a well-oiled machine.

Using the right tools

It is crucial to have tools that are easy to set up and easy to use. If the tool has those properties, then team members are not afraid of changing the setup when needed, and they can do so quickly and efficiently.

 JetBrains tools at Enplug

Our server is entirely written in C# and our senior engineers have been using ReSharper extensively for several years for their C# projects. It is such an integral part of their developer toolbox. Independently, our Android engineers chose IntelliJ IDEA as their Java development IDE, because of how easy it was to get up and running. That is how we got to know JetBrains as a company, and from there we expanded our usage to other tools in their offering.

Two years and counting

We’ve been using IntelliJ IDEA, TeamCity and YouTrack for 2 years now. We’re very happy with the overall ease of use with these tools:

  • IntelliJ IDEA: Very sleek and not an overly complicated IDE.
  • TeamCity: Easy to set up and and intuitive to use. Runs all of our builds and test suites.
  • YouTrack: Use it mostly in Agile Boards mode. It’s very handy to track our sprints and releases.

TeamCity was a very pleasant surprise, it is so easy to set up! And it’s free for our needs (professional license). It runs a full build and tests on every check-in, and drops a zip file with some artifacts at a location accessible with http. We set it up once and have rarely had to look at it again.

IntelliJ IDEA is solid, easy to set up and easy to use. It also has a free Community Edition!

Enplug: YouTrack

Our engineering team is using YouTrack extensively. From planning our sprints to tracking the day-to-day work, it has proven to be an invaluable tool to keep our processes on track. Everything an engineer is working on, be it developing features, end-to-end tests, build failure investigation or support tickets, is entered in YouTrack.

JetBrains: first place we look for new tools

Across the board they’re consistently reliable and performant. It’s evident to us as end-users that the quality bar is set high at JetBrains.

Every time we are looking to improve our development productivity or processes, we now instinctively check the JetBrains offerings first. We know it will be high quality and easy to use. Through our use of JetBrains products, we have made our developers more productive and our management processes more streamlined.

Additional tools

We’re currently using Github for source control. Our Chief Software Architect is a database freak, and he’s currently enrolled in the Early Access Program for JetBrains database tool, 0xDBE.

About the Author

Bruno Denuit-WojcikAs Chief Software Architect @ Enplug, Bruno Denuit-Wojcik is responsible for the architectural design and direction of all of Enplug’s products: the ad server, the player and associated app framework, and the various apps running on the Enplug displays. He designed most of the software, and implemented many of the core parts.

Prior to Enplug, Bruno worked at Microsoft for over ten years as an engineer, mostly in the SQL Server and SQL Azure teams. He specialized in relational query algebra and query optimization. This was followed by a few contracting stints in the banking sector in London. Bruno is passionate about building large-scale solutions from the ground up, and is a databases veteran.

Posted in FYI, News, Uncategorized | Tagged , , , , , | Leave a comment

JetBrains Makes its Products Free for Students

Hello everyone,

If you’re on social media, you may have noticed that we have our ears to the ground, always listening and looking for new ideas.

Who could have guessed that this tweet would become a reality one week later!

Everything starts with learning. And what we learn when we’re young defines what we become and quite often what we are able to achieve in our lives. So, how do we make sure today’s students learn from the best? We at JetBrains believe we can do something about this.

JetBrains has a proud tradition of supporting students and academia with discounted Academic Licenses. But today we are going a step further and announcing free licenses for eligible students and teachers around the world! JetBrains Student License makes our entire product line of IDEs AND .NET Tools (while TeamCity and YouTrack already have free versions or plans) freely available to anybody who meets our simple criteria.

Getting Started with a Student License

The free JetBrains Student License replaces the discounted Academic License for all IDEs and .NET Tools products. All current Academic License owners (that are not organizations) will be able to upgrade/renew to Personal Licenses. If you are still a student or teacher, you can verify your status and start using our products for free.

To get started, you will need to have or register for your free JetBrains Account and either an International Student Identity Card (ISIC) or a unique .edu email address for verification.

Initially, these are the only ways to validate your eligibility, however we’ll be adding more in the coming weeks. Stay tuned for further updates.

[UPDATE September 24th, 19:30 CEST] We’ve just updated our student verification system with many new university domains supported! If yours isn’t already there, add it for approval.

Visit to apply now and you will be up and running in a matter of minutes! Student Licenses are valid for one year and then you will need to re-apply.

JetBrains Student License Program

Using JetBrains Tools in the Classroom

Student Licenses are just for students and teachers. Our existing Classroom License already allows faculty members to use our products for free, in your classrooms for teaching purposes. There will be no changes to this program and we encourage you to apply if this is your case.

If you are part of a commercial educational organization, you should contact our sales team to discuss special conditions that we can offer on product licenses.

For FAQ and to get started, visit

Have questions? Post a comment below.

Learn to develop with pleasure!
The JetBrains Team

Posted in FYI, News | Tagged , , , , , | 511 Comments

Live Webinar: What’s New in PhpStorm 8: Evolving with You, October 7th

Join us Tuesday, October 7th, 14:00 – 15:00 GMT (10:00 AM – 11:00 AM EDT, check other zones) for a free webinar, What’s New in PhpStorm 8: Evolving with You with Maarten Balliauw.

PhpStorm 8, released on 16th September 2014, brings even more emerging technologies to help you enjoy web development, with deepest-ever code understanding and advanced support for remote environments.

Register now for our free webinar.During the webinar, Maarten will overview new features and major improvements brought by this release, such as:

  • PHP Language Support: completely re-worked language injections into PHP literals; PHP 5.6 full support; source & test directories for PHP
  • Frameworks: Blade template engine support; WordPress support; Drupal 8 support
  • Behat support
  • Remote PHP interpreters support
  • Web technologies: AngularJS; Grunt; spy-js
  • Platform: Multiple carets and selections; working with a single file without creating a project; bundled Scratch plugin
  • and more…

This webinar is geared towards developers of different proficiency. Please register now. There will be an opportunity to ask questions during the webinar. The recording will be available within a few days after the webinar.

Maarten BalliauwMaarten Balliauw is a Developer Advocate at JetBrains. His interests are all web: ASP.NET MVC, PHP and Windows Azure. He’s a Microsoft Most Valuable Professional (MVP) for Windows Azure and an ASPInsider. He has published many articles in both PHP and .NET literature such as MSDN magazine and PHP architect. Maarten is a frequent speaker at various national and international events such as MIX (Las Vegas), TechDays, DPC and others..

Follow PhpStorm New on our blog, Twitter @PhpStorm, and our product pages.

Posted in Events, Webinar | Tagged , , , , , | Leave a comment

Live Webinar: 7 Steps to Build a Database Deployment Pipeline with Red Gate and TeamCity, October 2nd

Join us Thursday, October 2nd, 15:00 – 16:00 GMT (11:00 AM – 12:00 PM EDT) for our free webinar, 7 Steps to Build a Database Deployment Pipeline with Red Gate and TeamCity with Alex Yates of Red Gate.

Continuous delivery for databases brings speed, efficiency and predictability to your release cycle by automating database deployments across a pipeline. Setting-up version control, continuous integration (CI) and automated release management can provide you with a steadier stream of reliable releases.

In this practical demo, Alex Yates, Pre-Sales Engineer at Red Gate, will show you how to set up continuous delivery for your SQL databases using TeamCity, Red Gate’s SQL Automation Pack, and Octopus Deploy. You’ll learn best practices for continuous integration, continuous delivery and automated deployments to set-up your own pipeline.

Space is limited, please register now. There will be an opportunity to ask questions during the webinar.

About the Presenter:

Alex YatesAlex Yates has worked with database change management tools for four years, collaborating closely with users and dev teams along the way. As a pre-sales engineer, he gets to see a huge variety of server and dev environments, and helps folks solve their database development and delivery problems in whatever way works well for them. Ever the sharer, he also blogs about the lessons he learns:

Follow TeamCity happenings on our blog, Twitter @TeamCity, and our product pages.

Posted in Events, Webinar | Tagged , , , , | Leave a comment

Meet JetBrains at JavaOne 2014 in San Francisco

September is here and with it comes one of the most anticipated events of the year for Java developers, JavaOne in San Francisco. With the conference right around the corner (September 28th – October 2nd), preparations are well underway.

We encourage you to stop by our booth for a lively conversation and to discuss what’s coming in this year’s release of IntelliJ IDEA 14. The team will be happy to give you a demo of IntelliJ IDEA or other JetBrains products such as TeamCity and YouTrack. As with prior years, we will also be raffling off some product licenses.

Be sure to mark your calendar for two sessions by our very own Hadi Hariri and Konstantin Bulenkov:

IntelliJ IDEA: 42 Tips and Tricks

Hadi Hariri – Developer and Technical Evangelist at JetBrains
Thursday, Oct 2, 1:00 PM – 2:00 PM – Hilton – Continental Ballroom 5

Hadi HaririAn IDE is so much more than an editor, yet people seem to compare one to another. This session looks at IntelliJ IDEA and gives you 42 tips and tricks that will make you a more efficient and productive developer.

From searching for symbols to having a smooth worfklow when working with version control, the presentation examines all the things that make it possible to have a pleasurable development experience.

You’ll be guaranteed to leave this session knowing things you probably didn’t even know existed and were afraid to ask if they did. Maybe even find out why it will be 42 tips.

The Emerging Languages Bowl: The Big League Challenge

Hadi Hariri – Developer and Technical Evangelist at JetBrains
Wednesday, Oct 1, 3:00 PM – 4:00 PM – Hilton – Continental Ballroom 7/8/9

Scripting languages that are emerging and not yet mainstream vie with each other to stake a claim that they have the potential to become mainstream and be regarded as big-league. Don’t miss this panel discussion, in which these emerging languages are portrayed by their respective champions, who explain how they may help your everyday life as a Java developer. To present a complete picture, the session includes some languages that may not run on the JVM. Afterward you will have a better grasp of the emerging languages and the ecosystem. One or more of the languages may catch your fancy for doing development alongside Java.

Brewing Your Very Own IDE: A How-To Guide

Konstantin Bulenkov – Team Lead at JetBrains
Thursday, Oct 2, 4:00 PM – 5:00 PM – Hilton – Golden Gate 4/5

Konstantin BulenkovNo one knows how many programming languages there are in the world. New languages are born all the time, some to become really popular and widely used, some to occupy specific niches, and some to die slowly (or quickly). But for any language, what really makes it usable is having an adequate environment to work in. This session describes how to use the open source IntelliJ platform to build your own IDE and how to implement perfect support for a language from a single BNF file.

Posted in Events | Tagged , , | 4 Comments

Webinar Recording: BDDing Your Objective-C Apps

The recording of our September 2nd webinar, BDDing your Objective-C Apps, is now available on JetBrainsTV YouTube Channel.

In this webinar Paweł Dudek and Łukasz Warchoł shows how you can leverage AppCode to really empower your BDD workflow.

Below are some questions from our webinar answered by Paweł, Łukasz and Anastasia.

Q: How do I get the Live Templates from the webinar? Do I need to configure the Live Templates?
A: You can grab them on GitHub. Just go File | Import settings… and that’s it, no extra configuration needed!

Q: How do I create my own Live Template?
A: Go to Preferences | Live Templates, click ‘+’ sign or just press Cmd+N to generate a new live template. Set template’s text, description, abbreviation, applicable scope and edit template’s variables. That’s it!

Q: What is Mock?
A: There’s a great article on mocks that will get you into the subject in no time!

Q: How are the used libraries related to Kiwi? How does Specta compare to Kiwi?
A: Kiwi  is a separate framework that comes with its own set of matching macros and Specta is combined with Expecta and other testing frameworks like OCMockito. Actually Specta and Wiki are nearly similar, however there’s one small difference that is a huge plus on Specta’s side – focusing on tests. You can tell Specta to run just one give test (or a group of tests – you can focus it/context/describe blocks). It works with running specs from command line (if you’d want to run single test from command line you would have to prepare a special Scheme, which again  time). You can read more on this in latest issue of

Thanks to all the attendees for the nice features suggestions! If you still have some, please, contact Paweł, Łukasz or our team.

About the Presenters:

Paweł DudekPaweł Dudek is Senior Software Engineer at Taptera, where he builds beautiful iOS apps for enterprise. TDD believer and practitioner. Beer and coffee lover. And bass guitars during free time.


Łukasz WarchołŁukasz Warchoł is iOS Software Engineer at Berlin based startup, Up-next. He believes that clean and well tested code are essential while working in a team. While not coding he is probably snowboarding or kitesurfing.

Follow AppCode news on our blog, on Twitter @AppCode, and our product pages.

Posted in Screencast, Webinar | Tagged , , , , | Leave a comment

Live Webinar: BDDing Your Objective-C Apps, September 2nd

Join us Tuesday, September 2nd, 10:00 AM – 11:00 AM CEST (8:00 AM – 9:00 AM GMT) for a free webinar, BDDing your Objective-C Apps with Paweł Dudek and Łukasz Warchoł.

AppCode Logo

BDD is a great way to improve quality of your app and its code base. It is also a great way to improve your workflow and the way you create code. At the same time it is not easy to start BDDing your apps. If fact it is not easy to start writing tests at all.

With AppCode writing tests becomes easier. But when it comes to BDD it feels as if AppCode was designed from ground up to support it. This webinar will show how you can leverage AppCode to really empower BDD workflow. You will learn how code completion and code generation, as well as other, more advances, features of AppCode, can be used to greatly reduce time spent on typing and increase time spent on designing the architecture of your app.

Space is limited, please register now.

About the Presenters:

Paweł DudekPaweł Dudek is Senior Software Engineer at Taptera, where he builds beautiful iOS apps for enterprise. TDD believer and practitioner. Beer and coffee lover. And bass guitars during free time.


Łukasz WarchołŁukasz Warchoł is iOS Software Engineer at Berlin based startup, Up-next. He believes that clean and well tested code are essential while working in a team. While not coding he is probably snowboarding or kitesurfing.


Follow AppCode news on our blog, on Twitter @AppCode, and our product pages.

Posted in Events, Webinar | Tagged , , , | Leave a comment

Early Access to JetBrains Upsource, a New Repository Browser and Code Review Tool

JetBrains Upsource

It’s been almost a year since we first announced that we were working on a new web-based platform for viewing and exploring source code.

Fast forward a year of effort by a dozen developers, and here we are, announcing the launch of the very first Early Access Program for JetBrains Upsource: a new on-premises team tool that allows you to browse your source code repositories, share, discuss and review code.

Here are some of the things you can do with JetBrains Upsource:

  • Keep track of revisions in source code repositories based on Git, Mercurial, Subversion and/or Perforce. Recent DVCS repositories, old-fashioned repositories, repositories on GitHub or hosted internally: you can plug Upsource to all of them. You can also filter history with a YouTrack-like query syntax, focusing on specific branches, paths, developers or time spans.
  • Visualize the history of commits, branches and merges. Next to the list of commits in each repository, there’s an illustrative commit graph inherited from IntelliJ IDEA.
  • Examine changes in new revisions in detail. Inline or side-by-side diff views are available for any revision and work equally well with every supported VCS.
  • Explore any revision of your code base, file by file. Browse the structure of any revision, open or search for any files in revision, see their history and contributors, or create discussions in these files.
  • Enjoy code inspections in Java projects, as if you were working in IntelliJ IDEA. When you view Java files in any revision or when you display a side-by-side diff that compares two states of a Java file, you see all the automated Java code inspections that you would expect in the IntelliJ IDEA code editor.
  • Discuss code and code changes, or set up code reviews. You can go the common way of creating code reviews on new revisions, or you can explore files that might not have changed recently and create discussions about specific parts of code whenever you feel there’s a problem in code. Later on, as new code reviews are created involving these files, you and your team have quick access to discussions that weren’t properly addressed at the time when you created them.

For a visual summary of what Upsource is like, see this 10-minute introductory video by the ubiquitous Hadi Hariri:

If you’re interested in Upsource, here’s what you can do:

As usual, being a part of an Early Access Program provides an extra opportunity for you to get in touch with the team and work closely with JetBrains to shape how Upsource develops on the way to its first general release. Granted, EAP builds will most probably have some rough edges but we’ll do our best to help you out and listen to your input.

Of course, Upsource is being actively dogfooded here at JetBrains. Our internal Upsource installation currently integrates 56 source code repositories hosted both internally and externally, and this includes IntelliJ IDEA Community Edition, one of the largest public GitHub projects. This means you’re going to be in good company during the Early Access Program!

We expect this EAP to last for a few months and we’re aiming for a final Upsource 1.0 release before end of this year. Things that we’re definitely going to do before we release include an IntelliJ IDEA code review plug-in, integration with JetBrains TeamCity, as well as easy export and import of data. For details, please see Upsource 1.0 Roadmap.

Posted in New Products, News | Tagged | 31 Comments

YouTrack Wins Jolt Productivity Award; IntelliJ IDEA Receives Geeks Choice Award from RebelLabs

This week YouTrack and IntelliJ IDEA brought home two more awards to JetBrains! We would like to congratulate both teams on receiving their respective honors and acknowledge the hard work they continually pour into their tools.

We would also like to thank our users for their feedback and support that helps us make the improvements that are needed and wanted day in and day out.

Here’s a bit more about each product award.

Jolt Productivity Award 2014 for Best Programming Utility: YouTrack 5.2.1

Jolt Productivity Award 2014 for Best Programming Utility: YouTrack 5.2.1“YouTrack carries many of the same elements found in the IDEs: a remarkably intuitive and elegant UI, a feature set that is complete without ever feeling heavy, and favorable pricing. YouTrack has grown from simple defect tracking to workflow management. It supports both Scrum and Lean methodologies and allows you to define the custom fields and workflows that best suit your needs.”

– Mike Riley and Andrew Binstock

The full YouTrack write-up as well as other winners can be found here on

IntelliJ IDEA Receives 2014 Geek Choice Award from RebelLabs

Geek Choice Awards by RebelLabs - 2014 WinnersEarlier this year RebelLabs published a comprehensive 40-page guide helping Eclipse users to understand why it’s worth migrating to IntelliJ IDEA, and providing sound advice on the process. This was followed by another exhaustive report on the Java tools and technologies market landscape.

Just a few days ago RebelLabs announced their own Geek Choice Awards for the Java technologies that are most favored by modern developers. We are proud to share with you that IntelliJ IDEA was chosen as one of the ten winners of the Geek Choice Awards 2014.

Download the full 36-page report, Geek Choice Awards – 2014 Winners by RebelLabs.

Posted in Awards, News | Tagged , , , , , | Leave a comment

Webinar Recording: A Playful Introduction to Rx by Erik Meijer

In case you missed our awesome webinar on July 18th, A Playful Introduction to Rx with Erik Meijer, you can now watch the recording on JetBrainsTV YouTube Channel.

Learning Rx does not have to be boring or painful, working your way through theoretical sermons about esoteric concepts like category theory and duality. Life is too short for that kind of abstract nonsense. So what is a better way to spend a hot summer day with an ice-cold drink, or a cold winter night with a piping hot drink, than to learn Rx by writing an awesome platform game?

Enjoy the video and feel free to share it with the friends of yours:

Erik’s slides are available at Slideshare.

About the Presenter:

Erik MeijerErik Meijer is a Dutch computer scientist and entrepreneur. From 2000 to early 2013 he was a software architect for Microsoft where he headed the Cloud Programmability Team. He then founded Applied Duality, Inc. in 2013. Before that, he was an associate professor at Utrecht University. He received his Ph.D from Nijmegen University in 1992. Follow Erik on Twitter @headinthebox.

Posted in Screencast, Webinar | Tagged , , , , | Leave a comment