Pilotfish, a toolkit for improving user experience
This code is not production ready. Pilotfish developers are practicing README driven development, so this documentation is being written before the code is actually done. :) If the project interests you and you would like to be notified when the first release is ready, let us know. TODO: Link to newsletter signup.
Software should be intuitive, easy, and fun to use. Pilotfish is a user experience platform for web and application developers to build better experiences.
Instead re-writing these common user experiences for each platform over and over again, pilotfish unifies this effort as a community driven project that pulls together the latest best practices in User Experience. Your users get a better experience, and you save time. See plugins for a list of the functionality you gain by using a User Experience Platform.
Pilotfish's architecture comes in 3 components:
More info can be found on the pilotfish.io website. TODO: Link.
Sure, most experienced developers have created experiences like the ones you see here, at least once. Do you want to keep doing that over and over again, or use well tested, high quality interactions?
jQuery is client side only. Pilotfish provides a server side component as well for a complete platform that enables services, analytics, and dynamic interactions for your users.
Pilotfish currently requires jQuery. We plan on supporting other frameworks soon. Let us know if you are interested in other frameworks, that will guide our priorities. The best way to do this is to file an issue.
Pilotfish uses a plugin driven architecture, so you only get the plugins you need. The base framework file is only XX when minified/gzipped. TODO: How big.
A pilot fish is one of those little fish that hover around sharks and eat the parasites, creating a mutually beneficial relationship with the shark. Similarly, Pilotfish aims to work alongside your application to make it better.
To see a working sample site, head over to our demo site TODO: Link, where we show off what features we can add to your site.
To use pilotfish, first include the base framework:
Depending on the plugin, some additional configuration may be required.
For the Asynchronous version, see: http://jsfiddle.net/Y4dbB/
Several core plugins are included with the platform, and there is also a community of developers that create plugins as they are needed.
Have an idea for a plugin? We'd love to hear it. Please file an issue describing your idea.
Pilotfish accepts the burden of browser compatiblity testing, and we aim to make reasonable trade offs for compatibility versus complexity/bloat.
We currently to support all browsers that support querySelectorAll, which as of Aug 26, 2012, that's 93% of the browsing population:
For older browsers that don't support required functionality, we aim to gracefully degrade - silently disabled without causing problems for the user.
Developer note: The reason why we don't inclue IE 7 is because it doesn't support querySelectorAll, which means we would have had to include a library like sizzle to implement this functionality. If the community pushes for IE 7 support, we could implement this via a shim, keeping the library lightweight for the other browsers but having IE 7 download an additional js file, but we are hoping no one notices. :)
/client/0.1.0/pilotfish.min.js # this exact version only
/client/0.1/pilotfish.min.js # anything in the 0.1.x series
/client/0/pilotfish.js # anything in the 0.x.x series, non minifed
https://raw.github.com/pilotfish/pilotfish/master/pilotfish.js # Pull latest commit from github (not for production)
We aim for you to use this inside your application, so we picked the leased restrictive license we could find. MIT License - see LICENSE
Would you like to help out? We need:
We want you to have a good experience, too. :)