|v tweet impact avatars profiles edge timeUnanswered container | tweet := Tweet new. tweet scrapDataFromUrl: 'https://twitter.com/offrayLC/status/599196718152949760'. timeUnanswered := (Date today - tweet date) days. "Impact box" impact := RTBox new color: (Color red alpha: 0.3); size: 200. impact := impact element @ RTDraggable. impact translateBy: (timeUnanswered*50)@0. "Create profiles collecting information for all users mentioned in the tweet" profiles := OrderedCollection new. tweet mentions do: [:eachMention | profiles add: (TwitterProfile new scrapDataFromProfile: eachMention)]. "Avatars" "Use the profiles to create a collection of avatar images which are draggable elements on a view" avatars := OrderedCollection new. profiles do: [:eachProfile | avatars add: (RTBitmap new form: eachProfile avatar) element @ RTDraggable ]. RTCircleLayout new initialRadius: (avatars size)*50; on: avatars. container := (RTBox new color: Color transparent) element @ RTDraggable. RTNest new on: container nest: avatars. "Line" edge := RTEdge from: container to: impact. "Building the view" v := RTView new. v addAll: avatars. v add: container. v add: impact. v add: (edge + (RTGradientColoredLine new colors: (Array with: (Color white alpha:0.3) with: (Color red alpha:0.9)); precision: 100; width: 20; gradientColorShape)). v view canvas focusOnCenterScaled.