SummerTalk2012

Roassal: Next Generation

FROM: Vanessa Penã-Araya & Alexandre Bergel

http://objectprofile.com

Roassal was presented at the ESUG 2012 conference, where it received a lot of positive feedback. In its current version Roassal works well to represent polymetric views, however this hardly cover all the need expressed by the community. Because of this, ESUG attendees also asked for desired features to be included in future versions. To polish this list of needed features, we conducted a survey in the Pharo community were its members were asked to reply with scenarios and features they needed. We recollected the replies to this survey and use them to construct this proposal.

Milestones

The features above will be implemented in 3 milestones as described in the follow- ing sections. Each milestones includes releasing the features to the community, receiving feedback and with this, fixing bugs or improving the feature. Across the process of implementing the new features, we will write a dedicated chapter on Roassal for Pharo by Example 2 6.

SVG support and persistence :

  • Allow the use of Athens and Cairo.
  • Implement exporters for the visualization in different formats: .png, .html and .svg. This is crucial to have Roassal pictures embedded in scientific papers.
  • Saving visualization for later reconstruction using Fuel. This means saving the positions of each node of the view and the object each one represent.

New shapes and interactions :

  • Extend the range of graphical representation Roassal currently has. Currently Roassal can only draw boxes and straight lines. Additional visual shapes will let one create more expressive visualization
  • Composing shapes
  • Constrains between elements so they can not overlap. This includes two possibilities: (1) moving a node ”a” by pushing another node ”b”. With this, the pushed node should follow the direction the node being dragged has. And (2) the dragged node ”b” getting stuck because it encounters a barrier.
  • Semantic zooming: by clicking a node a contained visualization appears, allowing one to have a more detailed representation of the element.

Improving scalability and creating visualizations interactively

  • Improve Roassal scalability.
  • Interactively create visualizations by manually adding nodes, edges and connection between them. This will also include creating objects defined by the visualization. For example, an UML diagram should allow the creation of classes and its methods defined in it. This feature will be implemented as a new tool based on Roassal, inspired from yEd7 (http://www.yworks.com/en/products_yed_about.html).

iOS Squeak VM support

FROM: Hilaire Fernandes & Esteban Lorenzano

http://www.drgeo.eu/

Tablet like the iPad are becoming an important computing medium, a lot of end user applications are developed for this plate form, educative institution are experimenting its use. In the other hand, Pharo Smalltalk makes writing end user graphic applications easy, fast with a good portability across different OS. Moreover the project is aim at reliability, constant improvement in bug fixes and new features. En user application like Dr. Geo takes the best of the Pharo & Smalltalk environments to deliver innovative software in the educative context. It is a nice demonstrator of the Smalltalk capabilities. We need a reliable, feature complete, Smalltalk VM to extend the portability of Pharo & Squeak applications like Dr. Geo to the tablet environment. Therefore we address the following points in the VM iOS support:

  • port the stack VM,
  • fix the locale plugin,
  • check for the socket plugin,
  • implement an event architecture to map from the VM to the image the specific touch and keyboard events,
  • and if time, work on the COG jit for arm CPU support.

The works will be done by Esteban Lorenzano, Mac OSX VM specialist, and tested by myself with the Dr. Geo application. The funding will go entirely to Esteban Lorenzano. The works will be delivered to be useful to the whole Pharo and Squeak communities, and if possible merged in the Squeak VM repository.