All Projects → blundell → Quicksand

blundell / Quicksand

Licence: other
Automatically manipulates the duration of animations dependent on view count. Quicksand .. the more you struggle.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Quicksand

You Dont Know Ui
Learn how to build universal, modern and scalable user interfaces
Stars: ✭ 140 (-63.92%)
Mutual labels:  user-experience
ltt-linux-challenge-issues
A list of issues Linus and Luke experienced during the LTT Linux Daily Driver Challenge
Stars: ✭ 244 (-37.11%)
Mutual labels:  user-experience
code-tour-rs
Enhanced example-based learning, i.e. awesome example user experience
Stars: ✭ 20 (-94.85%)
Mutual labels:  user-experience
Sketchize
Sketchize is built for UI/UX Designers to help them design lovely apps for mobile, tablet, and desktop devices.
Stars: ✭ 162 (-58.25%)
Mutual labels:  user-experience
fyu
Do your users take your website for granted? Do want to make them using your website living hell? Look no further, F.Y.U. is here!
Stars: ✭ 53 (-86.34%)
Mutual labels:  user-experience
GuideChimp
Create interactive guided product tours in minutes with the most non-technical friendly, lightweight and extendable library.
Stars: ✭ 138 (-64.43%)
Mutual labels:  user-experience
Simplified Twitter
Remove distractions from the new Twitter layout. Extension for Chrome, Firefox, Safari, Edge & More
Stars: ✭ 111 (-71.39%)
Mutual labels:  user-experience
A11yproject.com
The A11Y Project is a community-driven effort to make digital accessibility easier.
Stars: ✭ 3,436 (+785.57%)
Mutual labels:  user-experience
NeuralAction
Neural Action is a real-time CNN-based gaze tracking application providing human-machine interface to improve accessibility.
Stars: ✭ 47 (-87.89%)
Mutual labels:  user-experience
userscript-proxy
HTTP proxy to inject scripts and stylesheets into existing sites.
Stars: ✭ 66 (-82.99%)
Mutual labels:  user-experience
Awesome Perceived Performance
💫 Perceived performance best practices & resources.
Stars: ✭ 167 (-56.96%)
Mutual labels:  user-experience
Morphl Community Edition
MorphL Community Edition uses big data and machine learning to predict user behaviors in digital products and services with the end goal of increasing KPIs (click-through rates, conversion rates, etc.) through personalization
Stars: ✭ 253 (-34.79%)
Mutual labels:  user-experience
email-to-name
Generate a name from an email address based on common patterns
Stars: ✭ 25 (-93.56%)
Mutual labels:  user-experience
Material Theme
Material Theme, the most epic theme for Sublime Text 3 by Mattia Astorino
Stars: ✭ 11,093 (+2759.02%)
Mutual labels:  user-experience
Realityui
A Swift Package for creating familiar UI Elements and animations in a RealityKit rendered Augmented Reality or Virtual Reality scene.
Stars: ✭ 275 (-29.12%)
Mutual labels:  user-experience
Xamarin.forms.breadcrumb
This is a breadcrumb navigation control that is complete automatic and uses the Navigation stack and page titles to generate the breadcrumbs.
Stars: ✭ 130 (-66.49%)
Mutual labels:  user-experience
behaiv-java
User Behavior Prediction for everyone
Stars: ✭ 12 (-96.91%)
Mutual labels:  user-experience
Awesome Design Principles
✨ A curated list of awesome design principles
Stars: ✭ 358 (-7.73%)
Mutual labels:  user-experience
Sqip
"SQIP" (pronounced \skwɪb\ like the non-magical folk of magical descent) is a SVG-based LQIP technique.
Stars: ✭ 3,074 (+692.27%)
Mutual labels:  user-experience
UI-UX-Squad
UI/UX Squad Roadmap
Stars: ✭ 30 (-92.27%)
Mutual labels:  user-experience

QuickSand

When showing a really enchanting explanatory animation to your users, but you know that after a while it'll get tedious and would stop users wanting to use your app. QuickSand is here to solve that problem.

Automatically manipulates the duration of animations depending on how many times the user has viewed them.

Simple Use

This is the setup needed to define how you change the animation duration between views:

Map<String, ViscosityInterpolator> modifiers = new HashMap<>();
modifiers.put("MyAnimationSetKey", TwoStepViscosityInterpolator.defaultInstance());
Quicksand.create(this, modifiers);

This is "trapping" an animation, meaning when this view is animated Quicksand will determine how many times it has been viewed and vary the animation duration according to the ViscosityInterpolator set above:

View myView = findViewById(R.id.my_view);
QuickSand.trap("MyAnimationSetKey", myView);
myView.animate().alpha();

Also works for multiple view animation:

 View myView = findViewById(R.id.my_view);
 View myOtherView = findViewById(R.id.my_view);
 View myThirdView = findViewById(R.id.my_view);
 QuickSand.trap("MyAnimationSetKey", myView, myOtherView, myThirdView);
 myView.animate().alpha();
 myOtherView.animate().alpha();
 myThirdView.animate().alpha();

Some viscosities already defined see the code here:

  • AllOrNothing - you can run your animation for X seconds X times and then 0 seconds after that
  • LinearChange - speed up the animation each time it is viewed until X views
  • TwoStep - run animation at X speed for X times then it will run at half X

See the demo project for more examples.

Adding to your project

dependencies {
    compile 'com.blundell:quicksand:1.0.2'
}

See it to believe it

15 second gif below
Notice how the animation duration decreases each time it is ran until eventually it does not animate (only touch feedback), Quicksand integration is done with 2 lines of code.
demo

Download

Release Notes Get the latest version here

License

Apache 2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].