mood lighting [2]
the lamp and computer have made their way onto the web, made with good ol' svgs and some framer motion
this is a little teaser from an upcoming release - soon to land on an operating system near you
stay tuned
๐ฉถ
mood lighting
dark modes are becoming an expected feature for many, but what if they actually brought something to the table in terms of elevating the user's experience?
very excited to slowly bring the letters app to life, one exploration at a time.
dynamic spaces ๐ณ
exploring alternative navigation patterns with perspective. love this sense of depth, and creating "rooms" to step in and out of.
will most likely feature in the letters project ๐ฉถ
exploring bottom sheets.
made with a transition library I'm working on that focuses on:
- simplifying shared element transitions
- forwards AND backwards gesture compatability
- only native animations
- full access to elements on entering AND exiting screens
happy friday ๐ฉถ
exploring shared element transitions ๐ช
beginning to get very excited about this project - starting to feel easy to compose complex screen transitions.
see great potential for this library to make aspiring design engineers comfortable with coding their ideas.
cont. โฌ๏ธ
wiggly keyboard v1
the most recent development from a project with
@samdape
implementing a fully custom keyboard and text rendering interface to bring the wiggly ways of our world to life
this is definitely a challenge (handling word wrapping, selection, multiple key taps
gestures ๐ฉถ
final proof of concept with my take on a crowd favourite: the music player animation
made this to test out forwards gesture compatibility (going TO a screen) - see second video
officially ready to start implementing this in production apps, stay tuned
another homerun by Sam, perfectly balancing simple silliness with gripping artistry.
for me, it falls in the category of โI donโt know exactly why this is great, but I cant stop smilingโ
officially in the queue of things that must become real
lamp picker
a table lamp can both represent your personal aesthetic and define the mood of an entire space
What else do you want to customise at your desk?
computer
exploring a childhood memory in an interactive space, equipped with pinch, pan and click, tactile keys, and flashing vintage screen.
built with react native skia and a lot of creative gesture handling.
really want to use this for a welcome screen one day, what kind
vinyl
exploring perspective and movement, squeezing 3D motion into a 2D space
while everyone is focused on all the newest tech at WWDC I'm celebrating a timeless medium - the record player
behind the scenes
I always prefer demoing apps on device instead of using the simulator - much smoother, more tactile
to get touches and drags to show up on recordings, I have a controller nearby that is set up as a pointer device
I have a record player in my office.
its my pomodoro timer.
play side A, 20-25 minutes of focused work
when side A is done, take 5 minutes to turn over record.
play side B, 20-25 minutes of focused work
rinse. repeat.
๐ฉถ
heres a simplified example of how the circle transition works. The magic is in the useTransitionStyle hook, that wraps reanimated's useAnimatedStyle so you can apply animations to the following events
- focus (mounting)
- exit (unmounting)
- blur (a screen is stacked on top)
App navigation and movement between screens is a key part of world building. Do you want your users to experience boundaries or floating spaces? Edges or seamless transitions? I think it deserves much more focus.
Nerd facts
- react native but swift portable
- built on stack navigator so you get all the benefits of native screens (no messy modals)
- can easily be extended with pinch / zoom or any other gestures (might demo this?)
@argyleink
not convinced this is a great pattern. You end up reusing headers everywhere, lose the scanability of rows and columns, and make it difficult to compare and sort the data in a meaningful way.
Not everything needs to be an infinite list. Placing meaningful limitations on the user can be incredibly powerful, ultimately creating a more worthwhile digital interaction.
@ezreeszy
@samdape
Custom view that acts as keyboard. Has its own delegates and handlers that mimic native keyboard actions, but is fully independent of the regular textfield/keyboard model
Here are some of the upcoming scenes Iโm working on:
- Coffee in the morning
- Toast popping
- Skylight that opens
- Weather thermometer on window
Any other good ideas? Any bad ones?
@anshnanda_
No gorham, everything is made with the same library. In my head the modals can just be treated like a view controller instead of a window based modal. Then you can stick to the same transition api for everything and get the benefit of isolating your renders in separate screens
@idhamarsyd
Planning to release a public package in the future where everything will be documented ๐ will also be posting more about how it works in the coming weeks
Often, complex navigation concepts and shared element transitions stand in the way of bringing design to real life. Why dont we change that?
Working on a library to easily build and maintain bespoke navigation layouts, without sacrificing performance or readability. Stay tuned.
@akiffpremjee
very cool. Always great to make something that has real world value for yourself. Have fun with the animations, always my favourite part.
more years as a developer doesn't necessarily make you more senior, but it does give you a much stronger sense of intuition, perspective and (hopefully) fading imposter syndrome. time to lean in.
@anshnanda_
Plan is to make it very incremental so you can use the library for just one transition if needed or scaffold a whole app around it if you want.
@pop977s
@akiffpremjee
These days there arenโt any real performance differences in production between a bare react native project and expo. Used to think differently, but find it hard to justify not using expo these days, they have made it incredibly easy to start, and scale.
@pop977s
@akiffpremjee
With an expo managed project you can use expo go, and let expo do all of the heavy lifting in terms of dependency management and native linking (used to be huge pain for some packages). If you need to to use modules that arenโt managed by expo you can create a dev-client build
Modals for an upcoming project.
Built with full customizability over rootview animations, and scrollviews play nice with all dismiss gestures.
#reactnative
#buildinpublic
@engineerBosatsu
Summary of how its made (using react native)
- flashlist to render the list
- reanimated to store the scrollY position
- scrollY value is passed to each list item
- when list items reach top they offset their position with translateY and scale back with interpolate function