Extending the cursor
![A number of different cursor types hovering over a blue box](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f37e592e5b5e2d06d686_Cursors.png)
The cursor has transformed from a simple pointing device into a powerful tool for enhancing user interaction and providing contextual feedback. Software and games are raising the bar for what the cursor interface can do, demonstrating how thoughtful extensions of a cursor interface can significantly improve an experience.
The traditional arrow pointer has served us well since Douglas Engelbart's revolutionary first demonstration in 1968. However, many modern software tools demand more sophisticated interaction models. Today's cursors don't just point – they transform, animate, and provide real-time feedback about available actions and system states.
A look at Figma's cursor innovation
Figma has particularly excelled in reimagining cursor interactions.
Contextual state indication
Like other design tools, Figma's cursor system dynamically adapts to the current tool and context. When hovering over different elements, the cursor transforms to indicate available actions:
- When using the pen tool, the cursor displays preview points and potential path directions
- During selection, the cursor indicates whether you can resize, rotate, or move elements
These visual cues reduce cognitive load by surfacing expectations of the actions a user can take while hovering over different parts of the canvas.
Multi-user collaboration
Perhaps Figma's most innovative cursor implementation is in its collaborative features. Each user's cursor appears as a distinct color with their name attached, creating a sense of presence in the shared workspace. These cursors:
- Show active selections and modifications in real-time
- Collapse into simplified dots when many users are present to reduce visual clutter
- Act as a chat interface when a user types "/"
- Turn into waving hands with quick gestures as a collaboration feature
- Add animations to stamping tools for real-time reactions
![A cursor with a custom chat interface from Figma](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f501c0aed102665b8606_67a0f461462c5aa34eedf8d9_Figma%2520chat%2520cursor.png)
Tool-specific behaviors
Different tools require different cursor behaviors. Figma's implementation includes:
- Size indicators for shape tools
- Angle snapping feedback for rotation
- Distance measurements for spacing and alignment
One of Figma's latest features is a dynamic color picker interface. This provides a magnified view of the pixel selection, giving users a more precise color selection experience. Additionally, it surfaces a shortcut in the interface, enabling quick variable creation.
![A custom cursor showing color selection from Figma](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f501c0aed102665b85f8_67a0f429ec0a7158703220b1_Figma%2520color%2520picker%2520cursor.png)
Look to the gaming industry for interface advancements
Software designers would benefit from looking to the gaming industry for inspiration. Game development has and will continue to be at the forefront of interface innovation. When I think about cursor and selection advancements, these games come to mind:
Super Smash Bros
Smash Bros popularized the token selection interface with real-time drag and drop and various animation refinements. When selecting a character to play, each player's selection cursor shows a hand holding a token. When a player selects a character, the token is dropped on the character avatar, displaying which player selected which character. This interface also makes it very simple to rethink a decision by clearly exposing a hand to pick up the token and make a different selection.
![Super smash bros token cursor selection UI](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f7502021c859214912e3_67a0f6ebe9457dd0e200e5be_Super-smash-bros-cursor.jpeg)
Half Life 2
This game introduced a gravity gun, which allows a user to pull objects off the ground into the middle of crosshair position, allowing a user to aim where to throw an object.
![Half Life 2 gravity gun cursor](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f7502021c859214912cc_67a0f70aaa3906b9b657a287_Half-life-2-gravity-gun-cursor.jpeg)
Super Mario Galaxy (2007)
A motion-controlled star pointer lets players collect Star Bits and interact with objects in real-time. It seamlessly blended a cursor into the gameplay, making it an active part of exploration and interaction.
![Super Mario Galaxy star pointer cursor](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f937e98014c2e8551d2c_67a0f90f29e639a723ab883f_Super%2520Mario%2520Galaxy%2520star%2520pointer.jpeg)
Portal (2007) – Adaptive Crosshair
The cursor changes dynamically to show where a portal can be placed, adapting to surfaces and indicating when a portal can be placed next to another one. It made portal placement effortless while enhancing the puzzle-solving experience.
![Portal custom cursor](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f7502021c859214912d4_67a0f726b716cacdc1306d80_Portal-cursor.jpeg)
Cursor innovation isn't just for creator tools and games
Any data-rich interface is prime for innovation. Many trading tools push what a cursor can do. Products like TradingView have created powerful tools to enhance chart analysis and decision-making with advancements such as:
- Dynamic crosshair with real-time price and date tracking
- Custom cursors for drawing trend lines, Fibonacci retracements, and annotations
- Snap-to-price feature for precise technical analysis
![TradingView custom crosshair cursor](https://cdn.prod.website-files.com/5ecc3aa9b8d8da6245a6cb5e/67a0f7502021c859214912d7_67a0f745478157e252b5a116_TradingView-crosshair-cursor.png)
What is the future of cursors?
Who knows? But I believe the future holds some exciting possibilities that I hope product teams pursue:
- AI-powered contextual cursor suggestions
- Haptic feedback integration for more tactile interaction
- 3D cursor implementations for spatial design tools
- Gesture-based cursor trails for command activation
- Extended information-based interfaces for more contextual information
Here is a concept I love from Nate Parrot exploring a custom cursor AI tool:
Now that you want to make a custom cursor interface, consider these guidelines:
- Maintain responsiveness: Custom cursors should feel as responsive as native cursors. Any lag will immediately impact the experience
- Progressive enhancement: Start with standard cursor behaviors and enhance them rather than replacing them entirely
- Clear feedback: Ensure cursor states clearly communicate available actions
- Performance: Optimize rendering and maintain smooth performance, especially in collaborative environments
- Consistent behavior: Maintain consistent cursor behavior across different tools and contexts
Go build some cursors!