JS Mobile Theme Switcher Beta

Browser-level device detection and theme switching. Compatible with all caching layers.

A JavaScript-based mobile theme switcher plugin for Wordpress, brought to you by Map Creative.

The chief purpose of this plugin is to allow functionality similar to Device Theme Switcher, but without requiring the use of any serverside logic. This allows the plugin to function where others would fail, i.e. in server setups with complex caching mechanisms sitting in front of Wordpress like a Varnish layer or WPEngine's EverCache.

A selectable state persistence mechanism also features, to allow for mobile theme state to be passed by URL or other methods for greater compatibility with complicated caching layers (more)

JCAnim Alpha

A jQuery & CSS3 Animation engine

Originally created to drive a parallax effect, the real gem in JCAnim turned out to be the extensible animation engine underpinning it - creating unbelievably fluid animations by using CSS3 transitions to smooth out JavaScript interpolation of animation in the browser. The library basically creates smoother browser animations by allowing you to decrease the JavaScript sampling rate, offloading animation processing to the GPU and freeing up CPU resources to decrease animation stutter. Inbetween animations generally run at whatever native framerate your monitor supports and appear extremely smooth, obviously however this depends on browser support.

This kind of implementation is particularly suited to regularly sampled animation or keyframed animation. The parallax animation implemented by jcparallax.Viewport and jcparallax.Layer updates the mouse position constantly in response to input events, and then runs animations on those coordinates at regular intervals to achieve the effect.


FormIO Beta

A powerful and extensible form building & validation library

When it was originally written in 2010, FormIO's pretty basic requirement was to abstract and simplify the process of creating simple webforms for use on public websites. Since then considerable additions and advancements have been made and happily the library's architecture has allowed all this to happen without any breaking changes to the backend or frontend APIs.

Including builtin client and serverside validation for just about any kind of normal data, as well as mechanisms for linking fields, repeating inputs and grouping sets of related data into complex objects; in the several production deployments it has had since its first development there has never been a requirement it could not meet easily.

In terms of extensibility, the OO form field API allows creation of entirely custom form fields with their own layout, frontend behaviours and frontend/backend validation. You can find a class hierarchy of the builtin implementations on the project github page, as well as source code to the embedded example which serves as a guide on using the framework and implementing these features. (more)

GrepStrap Final

A simple yet powerful web frontend for the linux 'find' and 'grep' commands

Handy for use on development servers, staging environments and so on. Always upload into a secure directory as this script (goes without saying) allows low-level access to your system!

Features include:

  • Recursive text / regex search within server directories
  • Simplified file and directory include & exclude patterns
  • Result bookmarking and search match bookmarking (useful for passing grep output around the office)
  • Editor integration of matches down to a file or line-by-line level (depending on your editor)
  • Path translation (server > local etc)
  • Tab completion
  • Remembers your preferences via cookies

jSchema.Binding Beta

Data-driven events and validation for your javascript applications

JSchema.Binding is a lightweight framework for managing complex, data-driven UIs. It allows for binding UI callbacks to data Models (or classes) and Records (or instances), and for manipulating those records' data. It also provides JSON schema validation over record data using JSV internally to check changes in real time. In a nutshell, it basically serves to keep your UI fresh, synchronised, valid and responsive. Everything else is up to you.

If you already use JSON schema with your application, think of JSchema.Binding as adding state to your validation.
For simple data manipulation tasks or applications without the need for clientside data validation, Binding is a more than adequate event engine and data handling layer all on its own - just pass false insted of a schema when creating new Models.