Spell Quest: Grimm’s Journey – A wonderful little mobile game

Spell Quest Logo

Spell Quest: Grimm’s Journey (via) is a fantastic little mobile game that has began to suck up all of my “in-between” time when I’m sitting around waiting for something. The game is a lot of fun, has great animation, and best of all, it’s free!

Spell Quest screenshot

TogetherJS: Mozilla, open source JavaScript library that adds collaboration features and tools to your website

TogetherJS Logo

From the TogetherJS website:

Features

  • Audio Chat – TogetherJS uses Web RTC technology to enhance communication
    for your users.
  • User Focus – Your users see each other’s mouse cursors and clicks.
  • User Presence – TogetherJS enables your users to see each other in real
    time.
  • Text Chat – Your users can chat with each other with familiar instant
    messaging.
  • Co-Browsing – Your users can follow each other to different pages on the
    same domain.
  • Real Time Content Sync – Your users can see content on a site or app
    dynamically change together.

React: Javascript library for building composable user interfaces created by Facebook

React logo

http://facebook.github.io/react/index.html

The “Why did we build React?” page on the React Blog gives a good overview of the library and the motivations behind its creation.

Some interesting bits:

Play Framework: Open source, Java/Scala, web development framework, based on a stateless architecture

Play Framework Logo

Play is a web application framework designed to make web development simpler. It is inspired by convention-based frameworks such as Ruby on Rails and Djnago. Play seems to be trying to take the best from the Java web development ecosystem and strip away some of the more cumbersome parts.

From the Play Framework Wikipedia page:

Major differences From other Java frameworks:

  • Stateless: Play 2 is fully RESTful – there is no Java EE session per
    connection.
  • Integrated unit testing: JUnit and Selenium support is included in the core.
  • API comes with most required elements built-in.
  • Static methods: all controller entry points are declared as static (or
    equivalently, in Scala, methods on Scala objects). After requests were made
    for this to be customisable, Play 2.1 now supports other styles of
    controllers, so controllers need not be static/Scala objects; however, this
    is still the default.
  • Asynchronous I/O: due to using JBoss Netty as its web server, Play can
    service long requests asynchronously rather than tying up HTTP threads doing
    business logic like Java EE frameworks that don’t use the asynchronous
    support offered by Servlet 3.0.
  • Modular architecture: like Rails and Django, Play comes with the concept of
    modules.
  • Native Scala support: Play 2 uses Scala internally, but also exposes both a
    Scala API, and a Java API that is deliberately slightly different to fit in
    with Java conventions, and Play is completely interoperable with Java.

Nightwatch.js: Automated browser testing using tests written in Node.js running against a Selenium server

Nightwatch.js logo

From the Nightwatch.js website:

Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites.

It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements.

Features

  • Simple but powerful syntax which enables you to write tests very quickly, using
    only Javascript and CSS selectors. No need to initialize other objects and
    classes, you only need to write the test specs.

  • Built-in command-line test runner which enables you to run the tests either
    altogether, by group or single.

  • Manages the Selenium server automatically; can be disabled if Selenium runs on
    another machine.

  • Continous Integration support: JUnit XML reporting is built-in so you can
    integrate your tests in your build process with systems suchs as Hudson or
    Teamcity.

  • Use CSS selectors or Xpath to locate and verify elements on the page or execute
    commands.

  • Easy to extend if you need to implement your own commands specific to your
    application.