-
Notifications
You must be signed in to change notification settings - Fork 476
Contributing: Wanted Features
If you want to contribute to Framer and need ideas what to work on, this is the place.
If you are starting to work on these I would recommend to make a small wiki page or issue for it (if not there already) and announce it in the group so others can ventilate thoughts, or give hints on based on their experiences.
While some backwards compatibility is nice, Framer projects tend to get bundled with the version they got developed with so there is less emphasize on it then most technical projects.
If your work solves the problem elegantly, your code is readable and commented, and you wrote some tests there is a huge chance it will end up in the Framer core.
Framer currently only allows animating numeric properties. But some advanced properties are strings expressed as multiple numbers like a color rgb(255,255,255)
or border 1px solid black
. We need a way to tween between these states.
https://github.com/koenbok/Framer/issues/159
Integrate something like ColorJS into Framer so we can for example add, darken and saturate colors. Tweening colors should be done according to: http://rileyjshaw.com/blog/hue-angle-transitions/
https://github.com/koenbok/Framer/issues/160
A script that preloads all required assets for a project before showing it. Ideally it would have some status while downloading.
https://github.com/koenbok/Framer/issues/162
It would be very helpful to have a dedicated area outside the device frames in framer studio, where we can add time based text annotations so that people checking out the prototype can follow along (and know what to click) without the author having to tell them manually. This will greatly help the way in which we share prototypes with stakeholders, and explain design decisions we took.
https://github.com/koenbok/Framer/issues/163
I would like to improve the current DragView (layer.draggable) to have a better api. Most notably a nicer way to 1) do resistance effects 2) override normal behaviour 3) limit the dragging area.
https://github.com/koenbok/Framer/issues/154
We need a better event system that 1) adds advanced gestures (like swiperight) 2) adds useful info to events like velocity and 3) allows for fixing edge cases like drag vs. click elegantly.
https://github.com/koenbok/Framer/issues/107
Currently Framer uses the native scrollview on a device, but it would be great to have one that has more features (like paging) and is completely customizable (momentum effect, bounce effect, etc.).
https://github.com/koenbok/Framer/issues/155
Projects underway: https://www.facebook.com/groups/framerjs/permalink/624452434348498/ http://cl.ly/083x3h3Y0E15
Easy to use set of controls to edit prototype setting on the fly. Much like DAT.gui
https://github.com/koenbok/Framer/issues/
A view that re-uses layers to render only the visible part of a collection so it stays performant.
https://github.com/koenbok/Framer/issues/156
A layout constraint system is a set of rules that defines how layers are laid out and sized based on the current program state. It is perfect for resizable and responsive interfaces, but can also be used for advanced ui effects.
I'd like ours to be simpler than for example Apple's though. My feeling is that it's ok to give up some of the advanced possibilities to make straightforward things a lot easier.
https://github.com/koenbok/Framer/issues/157
Some links with more info:
- http://iamralpht.github.io/constraints/ (best link)
- http://gridstylesheets.org/
- http://www.badros.com/greg/papers/gjbadros-dissertation.pdf
Path animations are lacking in Framer today, so it's hard to for example make some of the material design patterns. A proposal to add them by @tisho is up for discussion here:
https://github.com/koenbok/Framer/pull/151
It would be great to have more real physics added to Framer. I think we should build an existing engine like Box2djs, Newton or p2.js and add it. The biggest thing to figure out is how to build an api that works well for designing interfaces. Most great physics interface effects are a perfect subset of physics, so the api should be powerful. But I don't think adding worlds with forces and bodies are the best way to think about physics for ui's.
https://github.com/koenbok/Framer/issues/153
It would be great to have a smart autocomplete for CoffeeScript. The first step would be to interpret the code until a specific point, and be able to list every variable in the current scope and its type.
https://github.com/koenbok/Framer/issues/161
It would be great to have a Framer version that uses WebGL. The two biggest advantages would be to break out of the browser limits (custom shaders, etc.) and performance. The downside is that we will have to re-create a lot of functionality in WebGL that the browser already does today, from rendering rounded corners to text rendering. There might also be a way in between (Famous is doing this) where we combine the dom and WebGL coordinate system so layers can be backed by either, but maybe this will create more problems than it solves.
https://github.com/koenbok/Framer/issues/152
React is a new Javascript library that sits between your code and the browser. Instead of telling the browser, you tell React what to change to the page and it will calculate and execute the most efficient way to go from the current state to the next state. I played around with a React based Framer (see React branch) and I realized this would bring us a lot close to production ready code because React handles a lot of long term memory and efficiency issues around re-using existing elements and events. The downside is that in my test I had to diff at 60fps which destroyed mobile performance. But maybe there is a better way to do it.
https://github.com/koenbok/Framer/issues/158