Re: [ann] moldable editor - with expandable elements

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: [ann] moldable editor - with expandable elements

Thierry Goubier
Hi Stephan,

2017-08-28 10:50 GMT+02:00 stephan <[hidden email]>:
On 26-08-17 18:38, Thierry Goubier wrote:

For me, it has the same effect: the editor isn't in a single place anymore. You may consider it doesn't matter; IMHO it does matter (and it makes for me the Newspeak editor slightly less efficient; the same that the Smalltalk system browser seemed more effective than the Self in-place method edit, for having used both).

A concrete problem with the Newspeak editor/browser is the invisibility of multiple open edits when editing a large class. There might be changes scrolled away. What it misses is an efficient way of looking only at the open edits. That could be achieved by having a view collapsing all non-edited code.

Would a class-level save work? One could trigger the collapse there as well.

Thierry

 


Stephan



Reply | Threaded
Open this post in threaded view
|

Re: [ann] moldable editor - with expandable elements

Denis Kudriashov
In reply to this post by Denis Kudriashov
Hi

I have bad feedback. I guess work is still in progress.

So basic cursor navigation is still not working fine:
- sometimes cmd+arrow up is not working and cursor disappears.
- scrolling feels slow and not smooth.
After attempt to edit text (just press key) I got assertion failures about some layout problems. And after reopening inspector the bloc pillar tab was empty.

When you are expecting stable version?
Should it works better in "native" Bloc window (without morphic)? And how to open example this way?

Also it not loads well in Pharo 7 and not working there. 
My feedback from Pharo 6 on MacOS

2017-08-26 1:03 GMT+02:00 Tudor Girba <[hidden email]>:
Hi,

We are really pleased to announce another major advancement in the development of the moldable editor, and most of it was enabled because of one new feature: expandable elements. We think this will impact significantly our day to day interactions.

To exemplify what we mean, we will make use of two more alpha projects that we did not announce yet: GT Documenter (a set of documentation tools based on Pillar and GT Examples) and GT Mondrian (the graph visualization engine), both of which are being implemented in Bloc.

Please take a look at the following pictures showing the documentation Pillar file that ships together with GT Mondrian. What stands out are the two embedded pictures. These are actually not pictures, but visualizations rendered live during the viewing of the document out of a referenced GT Example.


Now, GT Examples are likely also new for most people. We introduced them a couple of years ago based on the original idea of Markus Gaelli. These are a kind of tests that return an object and that can be built out of other examples. The nice thing is that they are always executable and testable. So, of course, if you see the resulting object,  you can also see the code that created it, and if you see the code, you can even execute it live, right in place (notice the preview of the second snippet).


Perhaps the most controversial part of GT Examples is that they offer a mechanism to define static dependencies via pragmas. Please, let’s leave this debate to another occasion, but please also notice that tools can use that static information to unfold the code of the referenced method (notice the nested code editors).

A side note: if you look closer at the list with three items at the top of the Tutorial section, you will notice numbering next to #. That is actually syntax highlighting and so is the mechanism that embeds the expandable elements. It’s really cool.

Taking step back, when we introduced the editor a few weeks ago, we called it moldable because we said we can make it take different shapes easily. GT Documenter with everything you see in the above screenshots has currently ~500 lines of code, and all this while still having an editor that is highly scalable.

We think that Bloc and Brick will change dramatically face of Pharo and now we can start to get a glimpse of what is possible. For example, the use case presented above is more than a technical tool, and we think this will change both the way we write documentation and the way we consume it.

All these will be presented at ESUG both during presentations and at the Innovation Awards competition. In the meantime, those that want to play with it can execute the following in both Pharo 6.1 and Pharo 7.0:

Iceberg enableMetacelloIntegration: true.
Metacello new
   baseline: 'GToolkit';
   repository: 'github://feenkcom/gtoolkit/src';
   load.

And then inspect:
'./pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference

Cheers,
The feenk team

--
www.tudorgirba.com
www.feenk.com

"Innovation comes in the least expected form. 
That is, if it is expected, it already happened."


Reply | Threaded
Open this post in threaded view
|

Re: [ann] moldable editor - with expandable elements

Tudor Girba-2
Hi Denis,

Thanks for the feedback!

As I mentioned, this is a pre-alpha :). Our main focus was on exploring that the design works in breadth. There are indeed, detailed issues that do not work yet, and there are edge cases for navigation and insertion/deletion that are still open issues.

In Bloc we intentionally have not focused on error catching yet. So, right now when there is an error during layout or rendering, Bloc can get in a funny state. You can reset Bloc with:
BlUniverse reset

The code works fine in Pharo 7.0. I just tried the following:

1. wget -O- get.pharo.org/alpha+vm | bash
2.
Iceberg enableMetacelloIntegration: true.
Metacello new
   baseline: 'GToolkit';
   repository: 'github://feenkcom/gtoolkit/src';
   load
3.
'./pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference

Cheers,
Doru



> On Aug 29, 2017, at 11:04 AM, Denis Kudriashov <[hidden email]> wrote:
>
> Hi
>
> I have bad feedback. I guess work is still in progress.
>
> So basic cursor navigation is still not working fine:
> - sometimes cmd+arrow up is not working and cursor disappears.
> - scrolling feels slow and not smooth.
> After attempt to edit text (just press key) I got assertion failures about some layout problems. And after reopening inspector the bloc pillar tab was empty.
>
> When you are expecting stable version?
> Should it works better in "native" Bloc window (without morphic)? And how to open example this way?
>
> Also it not loads well in Pharo 7 and not working there.
> My feedback from Pharo 6 on MacOS
>
> 2017-08-26 1:03 GMT+02:00 Tudor Girba <[hidden email]>:
> Hi,
>
> We are really pleased to announce another major advancement in the development of the moldable editor, and most of it was enabled because of one new feature: expandable elements. We think this will impact significantly our day to day interactions.
>
> To exemplify what we mean, we will make use of two more alpha projects that we did not announce yet: GT Documenter (a set of documentation tools based on Pillar and GT Examples) and GT Mondrian (the graph visualization engine), both of which are being implemented in Bloc.
>
> Please take a look at the following pictures showing the documentation Pillar file that ships together with GT Mondrian. What stands out are the two embedded pictures. These are actually not pictures, but visualizations rendered live during the viewing of the document out of a referenced GT Example.
>
> <pillar-mondrian-examples.png>
>
> Now, GT Examples are likely also new for most people. We introduced them a couple of years ago based on the original idea of Markus Gaelli. These are a kind of tests that return an object and that can be built out of other examples. The nice thing is that they are always executable and testable. So, of course, if you see the resulting object,  you can also see the code that created it, and if you see the code, you can even execute it live, right in place (notice the preview of the second snippet).
>
> <pillar-mondrian-expanded-preview.png>
>
> Perhaps the most controversial part of GT Examples is that they offer a mechanism to define static dependencies via pragmas. Please, let’s leave this debate to another occasion, but please also notice that tools can use that static information to unfold the code of the referenced method (notice the nested code editors).
>
> A side note: if you look closer at the list with three items at the top of the Tutorial section, you will notice numbering next to #. That is actually syntax highlighting and so is the mechanism that embeds the expandable elements. It’s really cool.
>
> Taking step back, when we introduced the editor a few weeks ago, we called it moldable because we said we can make it take different shapes easily. GT Documenter with everything you see in the above screenshots has currently ~500 lines of code, and all this while still having an editor that is highly scalable.
>
> We think that Bloc and Brick will change dramatically face of Pharo and now we can start to get a glimpse of what is possible. For example, the use case presented above is more than a technical tool, and we think this will change both the way we write documentation and the way we consume it.
>
> All these will be presented at ESUG both during presentations and at the Innovation Awards competition. In the meantime, those that want to play with it can execute the following in both Pharo 6.1 and Pharo 7.0:
>
> Iceberg enableMetacelloIntegration: true.
> Metacello new
>    baseline: 'GToolkit';
>    repository: 'github://feenkcom/gtoolkit/src';
>    load.
>
> And then inspect:
> './pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference
>
> Cheers,
> The feenk team
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Innovation comes in the least expected form.
> That is, if it is expected, it already happened."
>
>

--
www.tudorgirba.com
www.feenk.com

"Obvious things are difficult to teach."





Reply | Threaded
Open this post in threaded view
|

Re: [ann] moldable editor - with expandable elements

Denis Kudriashov
The code works fine in Pharo 7.0. I just tried the following:
1. wget -O- get.pharo.org/alpha+vm | bash

Ah, sorry. I always forgot update.
 
2.
Iceberg enableMetacelloIntegration: true.
Metacello new
   baseline: 'GToolkit';
   repository: 'github://feenkcom/gtoolkit/src';
   load
3.
'./pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference
Cheers,
Doru

2017-08-29 11:32 GMT+02:00 Tudor Girba <[hidden email]>:
Hi Denis,

Thanks for the feedback!

As I mentioned, this is a pre-alpha :). Our main focus was on exploring that the design works in breadth. There are indeed, detailed issues that do not work yet, and there are edge cases for navigation and insertion/deletion that are still open issues.

In Bloc we intentionally have not focused on error catching yet. So, right now when there is an error during layout or rendering, Bloc can get in a funny state. You can reset Bloc with:
BlUniverse reset

The code works fine in Pharo 7.0. I just tried the following:

1. wget -O- get.pharo.org/alpha+vm | bash
2.
Iceberg enableMetacelloIntegration: true.
Metacello new
   baseline: 'GToolkit';
   repository: 'github://feenkcom/gtoolkit/src';
   load
3.
'./pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference

Cheers,
Doru



> On Aug 29, 2017, at 11:04 AM, Denis Kudriashov <[hidden email]> wrote:
>
> Hi
>
> I have bad feedback. I guess work is still in progress.
>
> So basic cursor navigation is still not working fine:
> - sometimes cmd+arrow up is not working and cursor disappears.
> - scrolling feels slow and not smooth.
> After attempt to edit text (just press key) I got assertion failures about some layout problems. And after reopening inspector the bloc pillar tab was empty.
>
> When you are expecting stable version?
> Should it works better in "native" Bloc window (without morphic)? And how to open example this way?
>
> Also it not loads well in Pharo 7 and not working there.
> My feedback from Pharo 6 on MacOS
>
> 2017-08-26 1:03 GMT+02:00 Tudor Girba <[hidden email]>:
> Hi,
>
> We are really pleased to announce another major advancement in the development of the moldable editor, and most of it was enabled because of one new feature: expandable elements. We think this will impact significantly our day to day interactions.
>
> To exemplify what we mean, we will make use of two more alpha projects that we did not announce yet: GT Documenter (a set of documentation tools based on Pillar and GT Examples) and GT Mondrian (the graph visualization engine), both of which are being implemented in Bloc.
>
> Please take a look at the following pictures showing the documentation Pillar file that ships together with GT Mondrian. What stands out are the two embedded pictures. These are actually not pictures, but visualizations rendered live during the viewing of the document out of a referenced GT Example.
>
> <pillar-mondrian-examples.png>
>
> Now, GT Examples are likely also new for most people. We introduced them a couple of years ago based on the original idea of Markus Gaelli. These are a kind of tests that return an object and that can be built out of other examples. The nice thing is that they are always executable and testable. So, of course, if you see the resulting object,  you can also see the code that created it, and if you see the code, you can even execute it live, right in place (notice the preview of the second snippet).
>
> <pillar-mondrian-expanded-preview.png>
>
> Perhaps the most controversial part of GT Examples is that they offer a mechanism to define static dependencies via pragmas. Please, let’s leave this debate to another occasion, but please also notice that tools can use that static information to unfold the code of the referenced method (notice the nested code editors).
>
> A side note: if you look closer at the list with three items at the top of the Tutorial section, you will notice numbering next to #. That is actually syntax highlighting and so is the mechanism that embeds the expandable elements. It’s really cool.
>
> Taking step back, when we introduced the editor a few weeks ago, we called it moldable because we said we can make it take different shapes easily. GT Documenter with everything you see in the above screenshots has currently ~500 lines of code, and all this while still having an editor that is highly scalable.
>
> We think that Bloc and Brick will change dramatically face of Pharo and now we can start to get a glimpse of what is possible. For example, the use case presented above is more than a technical tool, and we think this will change both the way we write documentation and the way we consume it.
>
> All these will be presented at ESUG both during presentations and at the Innovation Awards competition. In the meantime, those that want to play with it can execute the following in both Pharo 6.1 and Pharo 7.0:
>
> Iceberg enableMetacelloIntegration: true.
> Metacello new
>    baseline: 'GToolkit';
>    repository: 'github://feenkcom/gtoolkit/src';
>    load.
>
> And then inspect:
> './pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference
>
> Cheers,
> The feenk team
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Innovation comes in the least expected form.
> That is, if it is expected, it already happened."
>
>

--
www.tudorgirba.com
www.feenk.com

"Obvious things are difficult to teach."






Reply | Threaded
Open this post in threaded view
|

Re: [ann] moldable editor - with expandable elements

Tudor Girba-2
> On Aug 29, 2017, at 12:52 PM, Denis Kudriashov <[hidden email]> wrote:
>
> The code works fine in Pharo 7.0. I just tried the following:
> 1. wget -O- get.pharo.org/alpha+vm | bash
>
> Ah, sorry. I always forgot update.


No problem. I am happy that it works :).

Doru

>  
> 2.
> Iceberg enableMetacelloIntegration: true.
> Metacello new
>    baseline: 'GToolkit';
>    repository: 'github://feenkcom/gtoolkit/src';
>    load
> 3.
> './pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference
> Cheers,
> Doru
>
> 2017-08-29 11:32 GMT+02:00 Tudor Girba <[hidden email]>:
> Hi Denis,
>
> Thanks for the feedback!
>
> As I mentioned, this is a pre-alpha :). Our main focus was on exploring that the design works in breadth. There are indeed, detailed issues that do not work yet, and there are edge cases for navigation and insertion/deletion that are still open issues.
>
> In Bloc we intentionally have not focused on error catching yet. So, right now when there is an error during layout or rendering, Bloc can get in a funny state. You can reset Bloc with:
> BlUniverse reset
>
> The code works fine in Pharo 7.0. I just tried the following:
>
> 1. wget -O- get.pharo.org/alpha+vm | bash
> 2.
> Iceberg enableMetacelloIntegration: true.
> Metacello new
>    baseline: 'GToolkit';
>    repository: 'github://feenkcom/gtoolkit/src';
>    load
> 3.
> './pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference
>
> Cheers,
> Doru
>
>
>
> > On Aug 29, 2017, at 11:04 AM, Denis Kudriashov <[hidden email]> wrote:
> >
> > Hi
> >
> > I have bad feedback. I guess work is still in progress.
> >
> > So basic cursor navigation is still not working fine:
> > - sometimes cmd+arrow up is not working and cursor disappears.
> > - scrolling feels slow and not smooth.
> > After attempt to edit text (just press key) I got assertion failures about some layout problems. And after reopening inspector the bloc pillar tab was empty.
> >
> > When you are expecting stable version?
> > Should it works better in "native" Bloc window (without morphic)? And how to open example this way?
> >
> > Also it not loads well in Pharo 7 and not working there.
> > My feedback from Pharo 6 on MacOS
> >
> > 2017-08-26 1:03 GMT+02:00 Tudor Girba <[hidden email]>:
> > Hi,
> >
> > We are really pleased to announce another major advancement in the development of the moldable editor, and most of it was enabled because of one new feature: expandable elements. We think this will impact significantly our day to day interactions.
> >
> > To exemplify what we mean, we will make use of two more alpha projects that we did not announce yet: GT Documenter (a set of documentation tools based on Pillar and GT Examples) and GT Mondrian (the graph visualization engine), both of which are being implemented in Bloc.
> >
> > Please take a look at the following pictures showing the documentation Pillar file that ships together with GT Mondrian. What stands out are the two embedded pictures. These are actually not pictures, but visualizations rendered live during the viewing of the document out of a referenced GT Example.
> >
> > <pillar-mondrian-examples.png>
> >
> > Now, GT Examples are likely also new for most people. We introduced them a couple of years ago based on the original idea of Markus Gaelli. These are a kind of tests that return an object and that can be built out of other examples. The nice thing is that they are always executable and testable. So, of course, if you see the resulting object,  you can also see the code that created it, and if you see the code, you can even execute it live, right in place (notice the preview of the second snippet).
> >
> > <pillar-mondrian-expanded-preview.png>
> >
> > Perhaps the most controversial part of GT Examples is that they offer a mechanism to define static dependencies via pragmas. Please, let’s leave this debate to another occasion, but please also notice that tools can use that static information to unfold the code of the referenced method (notice the nested code editors).
> >
> > A side note: if you look closer at the list with three items at the top of the Tutorial section, you will notice numbering next to #. That is actually syntax highlighting and so is the mechanism that embeds the expandable elements. It’s really cool.
> >
> > Taking step back, when we introduced the editor a few weeks ago, we called it moldable because we said we can make it take different shapes easily. GT Documenter with everything you see in the above screenshots has currently ~500 lines of code, and all this while still having an editor that is highly scalable.
> >
> > We think that Bloc and Brick will change dramatically face of Pharo and now we can start to get a glimpse of what is possible. For example, the use case presented above is more than a technical tool, and we think this will change both the way we write documentation and the way we consume it.
> >
> > All these will be presented at ESUG both during presentations and at the Innovation Awards competition. In the meantime, those that want to play with it can execute the following in both Pharo 6.1 and Pharo 7.0:
> >
> > Iceberg enableMetacelloIntegration: true.
> > Metacello new
> >    baseline: 'GToolkit';
> >    repository: 'github://feenkcom/gtoolkit/src';
> >    load.
> >
> > And then inspect:
> > './pharo-local/iceberg/feenkcom/gtoolkit/doc/mondrian/index.pillar' asFileReference
> >
> > Cheers,
> > The feenk team
> >
> > --
> > www.tudorgirba.com
> > www.feenk.com
> >
> > "Innovation comes in the least expected form.
> > That is, if it is expected, it already happened."
> >
> >
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Obvious things are difficult to teach."
>
>
>
>
>
>

--
www.tudorgirba.com
www.feenk.com

"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."


12