Features/Spiral Home View
This is an enhancement to the Home View to enable the display of more icons. The idea is that after the circle becomes too large, rather than shrinking the icons, it morphs into a spiral. Only after the spiral no longer fits on the screen do the icons shrink.
- Name: Walter Bender
- Email: <walter at sugarlabs dot org>
- Targeted release: (0.90)
- Last updated: (6 Aug 2010)
- Percentage of completion: 100%
- Comment: Awaiting review
This feature is being tracked in Ticket 2143.
Summary of the discussion with the Design Team
We've discussed this extensively and there was consensus that a morph to a spiral would be an acceptable solution to the Home View sparsity problem. See http://lists.sugarlabs.org/archive/sugar-devel/2010-August/025874.html
Note that this enhancement is orthogonal to the discussion about replacing the List View with the Journal and/or enabling multiple collections of activities to be viewed on separate Home Views.
This version progresses from the inside out.
These versions progress from the outside in, making for a less abrupt change between the ring and the spiral. There is also an intermediate icon size introduced between STANDARD ans SMALL.
Benefit to Sugar
As we continue to grow the number of activities, there is more pressure to be able to include more on the Home View. This enhancement allows a smooth transition from the current ring view into a spiral, so it should be minimally disruptive while offering a solution to the problem.
To implement this feature, I needed to make changes in one file:
How To Test
- Apply the patch attached to http://bugs.sugarlabs.org/ticket/2143
- Add activities from the List View until the circle becomes too full -- after ~30 icons on an OLPC XO computer
- Observe the morph to a spiral
- Remove some activities
- Observe the morph back to a circle
- Add many more activities
- Observe icon size changing in the spiral
Anyone who has tried to load too many activities onto their Home View has experienced the problem that the Ring View does not scale well. This is a remedy to this problem.
No additional dependencies are required to implement this feature.
None necessary, revert to previous release behavior.