0-100k NuGet downloads in 13 months!Today we're happy to announce that we've just surpassed 100,000+ total downloads for all our projects on NuGet in just 13 months!
Arriving late to the NuGet party...
Unfortunately we were late adopters on NuGet as we were initially put off by its Windows-only focus and sceptical of its impact, but as we saw it becoming more popular and witnessed other OSS libraries delivering a lot of end-user value from it we decided to take the plunge and add it as a supplementary outlet for our binary releases (in addition to GitHub downloads). We first started actively publishing on in June, 2011 - for the first few months we saw tepid interest in NuGet where it only accounted for 1/3 of all ServiceStack's downloads but this steadily grew over time where NuGet is now the major source of new downloads.
As of today we've got a total of 26 packages on NuGet, some highlights on NuGet include:
- Most popular Redis Client
- 2nd most popular Json Serializer (after JSON.NET)
- Healthy downloads of OrmLite in all SqlServer, Sqlite 32/64, MySql, PostgreSQL, Firebird flavours
- Popular node.js-based bundler, compiler & minifier e.g: 2nd most popular CoffeeScript bundler after Cassette
- And of course the ServiceStack WebService Framework itself - one of the most popular alternative (i.e non-Microsoft) OSS Web Frameworks
2012 - our best year yet!
This caps off what already has been fantastic year for the ServiceStack project where we're now:
- Have received contributions from 88 unique contributors
- The 11th most watched .NET project on GitHub with 818 watchers
- The hottest new course idea on pluralsight for 1+ month running with 166 votes
- Have 800 topics posted in our Google Group (General Discussion on web services development)
- Have 356 questions and answers on StackOverflow (Official place for questions as of last month)
- Are one of the most active rooms on Jabbr (Usually in Top 5)
We've received tremendous feedback in the Google Groups, Twitter, in Jabbr and direct emails from devs letting us know how appreciative they were of just how much ServiceStack has helped them. By far the the most common sentiment remains how they only wished they had discovered ServiceStack sooner, to escape the pain points of WCF.
As of the start of this year we've begun tracking feedback on twitter in @ServiceStack's Favourites - some of the highlights from just this last month:
Winning entry in best API development for government data sets
As you can imagine we're thrilled with the feedback we've received, we were particularly surprised when we received an email out of the blue from one of the Winning teams of the Australian GovHack 2012 project (Darren Reid and Adam Baxter) wanting to know the best way the could donate part of their prize winnings to the project - as they're winning entry Weathered Oak took advantage of the built-in features in ServiceStack to win Best API development for government data sets!
Chance encounters of the ServiceStack kind ;)
I've had many of surreal experiences this year where I would randomly bump into devs making use of ServiceStack in their day-to-day jobs:
A couple of weeks ago an old school friend (from my home-town in Darwin) informed me of the new Northern Territory Government mobile app for accepting tenders online is built with MonoTouch powered by a ServiceStack back-end! Especially surprising considering at the time when I left home (7 years ago) we were all forced Java developers since the only web languages the NTG allowed running on their big unix servers was Java + CGI Scripts! Now that there's no such restriction - we get to see ServiceStack's name in lights!
I also ran into @eamodio and the rest of his .NET dev team in a lift going up to this years BackboneConf (my first US TechConf) who were developing a front-end Backbone-enabled JS app powered by a ServiceStack back-end :). This was a particularly welcomed surprise as it had originally felt we were the only .NET devs in a Node, Rubyist and Pythonista tech conf world :)
Optimized for Single Page Apps
- We include .NET's fastest JSON Serializer
- Include 2 of the fastest Micro ORMs in .NET
- Maintain the leading .NET Redis Client for the worlds fastest distributed NoSQL datastore
- Include clean, pluggable and versatile Caching API with multiple InMemory, distributed & disk-backed caching providers
- Replaced ASP.NET's flawed Session design with a clean, POCO-based Session API working that works with all our Caching providers
- Offer a fast, simple and easy full-featured, cross-platform nodejs-powered minifier, compiler & bundling solution for .NET projects (cut StackOverflow Careers entire build-time by more than 1/2!)
- Have many of our live demos and Starter templates powering the Backbone TODO sample app
- Include built-in authentication provider options for Twitter, Facebook, Credentials, Basic & Digest Auth - for today's demanding social websites
- Include an example of a full-featured Backbone + Twitter Bootstrap + MVC + ServiceStack example Single Page App to help you get started
- Support self-hosting and ASP.NET hosts
- Running inside Linux daemons and natively on Linux-based servers & clouds (e.g. Google's new Compute Engine)
Classic OSS - all tech, no marketing :)
$0 spent on marketing
Like most Open Source projects we've been able to achieve our awareness through just word of mouth - a side-effect of having spent
$0 on Marketing (cumulative total since ServiceStack's 2008 debut :). This is one of all OSS projects biggest weakness in its ability to gain adoption, where we ultimately have to succeed on our technical merits alone and can't rely on full-time evangelists, marketers with "Sponsored Studies" and "Facts" to convince non-technical decision-makers of our value. We believe this was the primary reason why WCF was able to achieve so much penetration in the .NET enterprise despite its failing many fundamental remote-service / SOA principles in practice, which promoted poor service designs and bloated formats resulting in slow, brittle and un-versionable services. Although OSS software by nature lives forever, we realize not having a promotional budget isn't ideal for adoption. We plan to rectify this in the near future by offering supplementary commercial productivity tooling and enterprise-focused add-ons.
At the same time I've been proud of the high-level technical quality we've been able to achieve in ServiceStack. It's turned into what I originally envisaged the ideal web service framework should be: Shaped from years of experience in the real-world trenches developing robust systems in both large SOA-focused enterprises and productivity-valued & performance-focused start-ups. ServiceStack was born after spending multiple years being burnt by big .NET web service frameworks: We've seen how code-gen, visual designers, heavy configs and needless leaky abstractions can cripple systems with sheer cruft and inertia, how testing should be an integral part of the design, what service interface designs, strategies and formats provide the most versionable and tolerant services, how not focusing on end-user value leads to unproductive solutions and technical debt. What remote service patterns add the most value vs what concepts provide no value and just add un-necessary artificial complexity.
Our primary influences
This has led us to adopt influences from leading SOA platforms that fundamentally promote best practices, least friction and ultimately most value. Our primary focus on simplicity (eliminating abstractions, artificial concepts and maintaining a low cognitive overhead), good conventions, performance, remote service best-practices and real-world value has thus far been our primary differentiator which seen our original design outlast through many generations of competing rewritten and deprecated web service frameworks.
Attracting talented Contributors
We've been lucky enough to have attracted a number of other like-minded talented contributors, that continue to own and maintain different ServiceStack modules and leading our well regarded documentation efforts. We're also lucky to have a vibrant community continually enriching the ServiceStack ecosystem contributing many blog posts, tutorials, presentations and talks. Unfortunately talks has been my weakest area where despite leading the project for 4 years, I've yet to have given a public talk on ServiceStack! All this is set to change in October where I've been invited to give a talk at this years Monospace conference in Boston on the 17th of October - which is expected to be a fun-filled event that sports an all-star speaker line-up. The Mono community is a rare silver lining in .NET who have attracted a high ratio of fun and talented hackers - so if you can make it, its definitely one not to miss!
Exciting future enhancements and product pipeline!
As good as the first half of this year has been - we're expecting the rest of this year to be even better!
- We'll merge @arxisos new async branch - already showing some promising performance improvements
- Documentation and live examples showcasing our new MVC Razor support
- Fast async TCP pipeline and tight integration with remote node.js and Dart web servers
- More example projects and optimized support for typed MonoTouch/MonoDroid clients
- More Starter packs for popular Single Page JS Apps: e.g. Backbone.js and AngularJS
- New recommendations on optimal strategies for hosting ServiceStack on Linux (e.g. self-hosting inside linux daemon)
- Documentation for running on Amazon & Google Compute engine clouds
- New website redesign focusing on primary use-cases and showcasing feedback (so if you've got ServiceStack running in production we'd love to know :)
Scaling Horizontally at $0 licensing cost
We particularly see solid support for hosting on Linux (with Mono) as one of the key areas providing the most value to our users as it's the preferred deployment platform for most large Internet sites and Startups as it allows companies to scale at $0 software licensing costs (a key requirement for scaling horizontally) as well as Linux servers provides the cheapest hosting, e.g. we run all of servicestack.net on a single dedicated Ubuntu server with 2GB RAM, 80GB HDD, 100MB bandwidth with 4TB traffic for only 19.90 euro per month. - an equivalent configuration on Azure would cost over 10x as much at USD $3,560 per year (Reserved instance, only 1.75GB RAM, 2TB bandwith, No DB inc) - Scaling horizontally at that price starts to hurt budgets very quickly.
Even if you don't intend to host on Linux / Mono, it's still a good idea to build with cross-platform technologies where possible so you always have the option available should you need to scale-out fast - taking advantage of other platforms where it's not financially prohibitive or legally restrictive to scale horizontally.
We also have some ideas on some commercial offerings we can offer to fund our future marketing efforts :)
- "Strong-named" .NET 3.5/4 binary releases for Enterprises wanting "Officially signed" releases of ServiceStack
- VS.NET extensions, templates and productivity tooling
- Other suggestions welcomed :)