Tuesday, September 18, 2012

Spoke Open Source Projects

At Spoke, our engineering team makes use of a many open source packages and Ruby gems (you can read about our technology stack in our January blog post). In addition to using open source software, we are now contributing back to the community with two open source Ruby gems of our own: aws_cloud_search and zitdunyet.

AWS CloudSearch Gem

On April 9, 2012 we launched our new search engine utilizing AWS CloudSearch, Amazon's search-as-a-service platform. Since we were early adopters and part of the CloudSearch private beta, there were no Ruby gems available to work with the CloudSearch APIs. So we built one. We named it aws_cloud_search, put the source code on Github, and published the gem on RubyGems.org.
The library implements two of the three APIs that comprise AWS Cloud Search: search and document batching (the API to add documents to the search index). The third API, configuration, is on the roadmap for future development. Being an open source project, we are more than willing to review pull requests that implement the configuration API or any other functionality that would make this library even better.

Zitdunyet Gem

Sometimes you want to know how complete a task or object is. We recently launched two features that make use of this library and both answer the question, "How complete is this thing? Is it done yet?" (hence, zitdunyet). Specifically, we are highlighting how complete a Spoke page is along with the steps you can take to make it more complete. We also want to encourage users to contribute edits, and have a curator program to recognize various levels of participation. Knowing how close you are to the next level may give you the incentive to “get it done.”

This library abstracts this concept of completeness with a DSL (domain specific language) to define the conditions of completeness and their hints. It provides functions to get the percentage complete, a list of items completed and not completed, and a list of hints. On the roadmap, we want to add the ability to express staleness of a record or checkoff item.

At Spoke we have found that this gem works great in the Decorator pattern – wrap a completeness object around a Rails model in the controller and pass that along to the view for rendering.

Friday, September 7, 2012

Our New Email Notification System

We're happy to announce that our Email Notification System is officially live!  It's a new and extremely powerful feature that will make you feel like you have an entire staff that monitors the news for you and sends summaries of everything that's crucial to you as a business professional -- all for free!
Here's what a typical email may look like:

It's a look into our next-gen view of business information, keeping you alerted to important activity on Spoke.  

We'll let you know when:
- Somebody edits your page
- Your edits go live on Spoke
- A page you follow is updated
- Much more

And you can easily modify the frequency by which we send these emails using your "Edit Account" page.  So get excited, look out for our first email, and as always, don't hesitate to give us your (much-appreciated) feedback!