Chris Cox was embarking on a new venture. As Co-Founder and CEO of BeamStream, he knew he needed to pick a solid technology platform on which to base his company’s groundbreaking new product. With so many choices available, a combination of independent research and working with a trusted partner allowed him to pick the right platform for the job that would give him a running start in a fiercely competitive market.
BeamStream is a free Social Learning Network built for Higher Education. Students can easily find, connect and collaborate with other college students and educators in one place.
Students can stay organized, showcase their work, find tutors and learn from their network.
Educators benefit from the ease of pushing messages to their class – via an organized classroom – where deadlines and tests are never forgotten. Educators can push out syllabuses, receive assignments and papers all in an easy to set up space on the web for all their class collaboration needs.
Most companies today have a strong desire to avoid the “Twitter effect” – where the slightest misstep or outage is tweeted around the blogosphere within mere moments. For an Internet startup breaking into a new market-space, this is an even more important consideration. Chris Cox, Co-Founder and CEO of BeamStream knew that picking the right platform and toolset for his innovative new product was critical. He didn’t take this decision lightly and looked at a number of technologies (Ruby on Rails, Django, Lisp, Grails and Lift Framework to name a few), he attended Meetups, read numerous articles and posts from practitioners, talked to many people and read many, many performance reports.
Something he saw pretty clearly was that Lightbend and Play Framework definitely stood out from the crowd.
A number of different factors helped move the decision along:
- BeamStream is a social network, which needs the ability to do rapid development which Play’s templating features make very easy
- Play is one of the easier Scala Frameworks to use
- The support of Lightbend
Furthermore, the fact that Lightbend produced a complete homogeneous bundle in terms of Akka, Play and Scala was a real differentiator that tipped him over the edge.
Having done a lot of hiring in the past, this choice also improved the chances of attracting developers who wanted to learn something new, as it would be relatively easy to find a very good Java Engineer and excite them with these new technologies.
A Trusted Partner
Before Chris cast his decision in stone, however, he reached out to an implementation partner named Knoldus, based in New Delhi. Knoldus was experienced with a number of different technologies and Vikas Hazrati, Knoldus’ CTO confirmed that, for the particular use case that Chris had, the Lightbend Platform was the right choice to make.
BeamStream’s technical co-founders lead the development efforts; one that focuses on the backend and the other on the front-end. BeamStream also leveraged two offshore development-contracting companies in India; one of them - Knoldus - continues to work with them today. Knoldus architected out and built the entire backend of the application. Chris mentions “They couldn't have been a better partner for a startup just starting out!”. Currently the BeamStream team is working on wrapping up development on the Minimum Viable Product (MVP), once this gets in the hands of their customers, they will be able to have true continuous development and deployment, with constant iterations.
Beamstream's current architecture consists of BackBone.js talking to the services exposed by Play using REST. Backbone is used in conjunction with Play to render initial page structure with templating and then Backbone.js taking over for user interactions. The presentation layer uses a lot of Backbone.js features to provide an impressive UI experience.
The core services are modularized and can be distributed for federated deployment. Many services end up using Akka Futures for concurrent work. In theory, a Future represents an asynchronous computation; furthermore many Futures can be created in parallel. Beamstream has vastly benefited by the fact that the Futures can be composed into new Futures. This has helped Beamstream achieve performance and scalability for business cases where multiple streams have to be loaded for a student with comments against each stream message and further a profile associated with each such message and comment. All these nuggets of information are fetched in parallel and combined together.
The implementation and realization of the value of Lightbend Platform was almost immediate as the BeamStream team started getting functionality built very quickly, and their services were easily exposed as REST with Play. Chris specifically notes that he felt “the documentation and community support was impressive”.
For a product like BeamStream, performance and scalability is a big requirement. Planning for exam season and/or assignment submission there will be a huge surge in messages being exchanged between students and professors.
BeamStream is performing user testing in the spring with classes from a local Bay Area University who are excited to get their hands on the tool. BeamStream plans to expand its alpha testing to more classes, then to additional universities by summer. BeamStream Beta will be available to select users from multiple universities in the fall, with a full launch in Spring 2014.
Inspired by this story? Contact us to learn more about what Lightbend can do for your organization.