can this be done via modification to the Squeak/Pharo IDE?

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

can this be done via modification to the Squeak/Pharo IDE?

LawsonEnglish
Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Dave Mason-3
I was wondering exactly the same thing!

On 2012-Feb-27, at 18:46 , Lawson English wrote:

> http://vimeo.com/36579366

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Bob Arning-2
In reply to this post by LawsonEnglish
The first question is what it would mean in a Smalltalk environment. His tree-drawing example seems to be more of a complete "program" idiom. What would be the counterpart in Smalltalk? If you were looking at a method and made some changes, when and where would you expect to see the changes reflected? If the method were already being run frequently (say as a #step method), then you would see the changes in the World. Recompile time is negligible, of course, and one could think about using sliders to change numeric bits - if you think that improves the experience significantly. But what if the method is not being executed already, how do you say "I've made a change, now run it?" What's the context? And if you think about his tree example, that would likely be a number of methods in Smalltalk, so there's not a natural way to look at the source all at once.

Of course, what does work a bit like that now is EToys. Also, inspectors and explorers can often be used to tweak values of running code, so the dichotomy of compile-and-run vs immediate-feedback is one that has already been largely bridged.

Cheers,
Bob

On 2/27/12 6:46 PM, Lawson English wrote:
http://vimeo.com/36579366

Lawson




Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

LawsonEnglish
On 2/28/12 9:11 AM, Bob Arning wrote:
The first question is what it would mean in a Smalltalk environment. His tree-drawing example seems to be more of a complete "program" idiom. What would be the counterpart in Smalltalk? If you were looking at a method and made some changes, when and where would you expect to see the changes reflected? If the method were already being run frequently (say as a #step method), then you would see the changes in the World. Recompile time is negligible, of course, and one could think about using sliders to change numeric bits - if you think that improves the experience significantly. But what if the method is not being executed already, how do you say "I've made a change, now run it?" What's the context? And if you think about his tree example, that would likely be a number of methods in Smalltalk, so there's not a natural way to look at the source all at once.


Actually, it should be relatively trivial to provide a custom "folded method" editing pane that is indexed by the methods in the method list of the regular system browser. You can open individual methods or all methods and scroll to them manually, or click on the method name and scroll to it specifically.

More importantly, recompiling during slider changes could also be done reasonably easily, again, with a custom pane that evokes the slider when you click on a number. The total "liveness" of executing changes as they are typed might be more difficult to recreate. Perhaps typing the enter key... 

Of course, what does work a bit like that now is EToys. Also, inspectors and explorers can often be used to tweak values of running code, so the dichotomy of compile-and-run vs immediate-feedback is one that has already been largely bridged.

Sure.  This would be a somewhat specialized tool anyway. Most applications don't need to record user events for playback, but again, one could modify the standard browser to evoke the behavior if specific classes and their subclasses were being edited.

Lawson


Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Chris Muller-3
In reply to this post by LawsonEnglish
There's a program for Squeak that does that -- it's called Etoys...

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Bob Arning-2
In reply to this post by LawsonEnglish
Perhaps an example of something you'd actually like to do in Squeak would help clarify the issue.

On 2/28/12 12:48 PM, Lawson English wrote:
On 2/28/12 9:11 AM, Bob Arning wrote:
The first question is what it would mean in a Smalltalk environment. His tree-drawing example seems to be more of a complete "program" idiom. What would be the counterpart in Smalltalk? If you were looking at a method and made some changes, when and where would you expect to see the changes reflected? If the method were already being run frequently (say as a #step method), then you would see the changes in the World. Recompile time is negligible, of course, and one could think about using sliders to change numeric bits - if you think that improves the experience significantly. But what if the method is not being executed already, how do you say "I've made a change, now run it?" What's the context? And if you think about his tree example, that would likely be a number of methods in Smalltalk, so there's not a natural way to look at the source all at once.


Actually, it should be relatively trivial to provide a custom "folded method" editing pane that is indexed by the methods in the method list of the regular system browser. You can open individual methods or all methods and scroll to them manually, or click on the method name and scroll to it specifically.

More importantly, recompiling during slider changes could also be done reasonably easily, again, with a custom pane that evokes the slider when you click on a number. The total "liveness" of executing changes as they are typed might be more difficult to recreate. Perhaps typing the enter key... 

Of course, what does work a bit like that now is EToys. Also, inspectors and explorers can often be used to tweak values of running code, so the dichotomy of compile-and-run vs immediate-feedback is one that has already been largely bridged.

Sure.  This would be a somewhat specialized tool anyway. Most applications don't need to record user events for playback, but again, one could modify the standard browser to evoke the behavior if specific classes and their subclasses were being edited.

Lawson




Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Chris Muller-3
In reply to this post by LawsonEnglish
His presentation was impressive and refined, but he failed to mention
a _most dynamic_ way to develop ideas... By closing one's eyes and
simply imagining the possibilities without *any* burden of visible
code.  IOW, imagine without being constrained by the "how" or whether
its even possible.  THEN, note it down in words and try to implement
it with a dynamic system like what he showed.

To do that, his statement about a "direct connection" to the tools is
something I do agree with 100%.  A connection to the computing system
via the cerebellum rather than the cerebrum, so that the cerebrum is
free to focus on ideas rather than user-interface gestures.  This is
something that Squeak excels in, IMO.

His comment on modality really emphasizes this point, and something I
think folks even in this community could stand to listen:  when I
observe folks in their demo videos using Squeak or Pharo, almost every
time I see folks browsing in a modal way.  They have a big
Package-Pane browser open and they're looking at one package, one
class and one method at a time...  They have to do about 4-5 clicks to
"navigate" to a sent method, and 4-5 clicks to get back.  This is way
too slow for ideas to emerge.



On Mon, Feb 27, 2012 at 5:46 PM, Lawson English <[hidden email]> wrote:
> http://vimeo.com/36579366
>
> Lawson
>

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Frank Shearar-3
On 29 February 2012 17:09, Chris Muller <[hidden email]> wrote:

> His presentation was impressive and refined, but he failed to mention
> a _most dynamic_ way to develop ideas... By closing one's eyes and
> simply imagining the possibilities without *any* burden of visible
> code.  IOW, imagine without being constrained by the "how" or whether
> its even possible.  THEN, note it down in words and try to implement
> it with a dynamic system like what he showed.
>
> To do that, his statement about a "direct connection" to the tools is
> something I do agree with 100%.  A connection to the computing system
> via the cerebellum rather than the cerebrum, so that the cerebrum is
> free to focus on ideas rather than user-interface gestures.  This is
> something that Squeak excels in, IMO.
>
> His comment on modality really emphasizes this point, and something I
> think folks even in this community could stand to listen:  when I
> observe folks in their demo videos using Squeak or Pharo, almost every
> time I see folks browsing in a modal way.  They have a big
> Package-Pane browser open and they're looking at one package, one
> class and one method at a time...  They have to do about 4-5 clicks to
> "navigate" to a sent method, and 4-5 clicks to get back.  This is way
> too slow for ideas to emerge.

That last sentence is why I think of the Browser as a "pinhole". You
can only see one tiny chunk of the puzzle at a time.

frank

> On Mon, Feb 27, 2012 at 5:46 PM, Lawson English <[hidden email]> wrote:
>> http://vimeo.com/36579366
>>
>> Lawson
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Yoshiki Ohshima-3
In reply to this post by Chris Muller-3
  (Cc:ed to Pharo list, but will bounce as I'm not subscribed.)

At Wed, 29 Feb 2012 11:09:56 -0600,
Chris Muller wrote:
>
> His presentation was impressive and refined, but he failed to mention
> a _most dynamic_ way to develop ideas... By closing one's eyes and
> simply imagining the possibilities without *any* burden of visible
> code.  IOW, imagine without being constrained by the "how" or whether
> its even possible.  THEN, note it down in words and try to implement
> it with a dynamic system like what he showed.

Yup.  Interestingly, that pretty much describes how Bret actually
works (we had an opportunity to work together).  Whenever there is a
little idea pops up, he launches Photoshop and with quick strokes on
his tablet, he makes the screen mock up first.  He mocks up some
animations and effects there by Photoshop's layers and etc.  Clearly
at this point, he would not think about how to implement.  Then, he
can implement it also really quickly.

For the original question: "can this be done via modification to the
Squeak/Pharo IDE?".  Even though some Squeak tools, and Etoys, do
possesses the potential to be the basis of such dynamic environment,
if the word "this" in the question really means what he actually does,
the answer would be different.  What he actually does takes absolute
attention to any detail and the ability of explaining things clearly,
and uber-programming ability combined in one person.

-- Yoshiki

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

LawsonEnglish
On 2/29/12 4:14 PM, Yoshiki Ohshima wrote:
[...]
> For the original question: "can this be done via modification to the
> Squeak/Pharo IDE?".  Even though some Squeak tools, and Etoys, do
> possesses the potential to be the basis of such dynamic environment,
> if the word "this" in the question really means what he actually does,
> the answer would be different.  What he actually does takes absolute
> attention to any detail and the ability of explaining things clearly,
> and uber-programming ability combined in one person.

All of those attributes and abilities can be improved with practice, of
course, and they enhance each other: the uber-programmer knows what he
wants to do and creates tools to do it, which also happens to enable the
uber-presenter to make a more clear presentation.

However, we can't all be uber-presenters  AND uber-programmers, so
having the right tools available will enable people with lesser talents
to accomplish related goals.

L.




Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Igor Stasenko
In reply to this post by LawsonEnglish
On 28 February 2012 01:46, Lawson English <[hidden email]> wrote:
> http://vimeo.com/36579366
>
> Lawson
>

now after i found time to watch this video, i can comment on it :)

Strangely enough, but i was driven by the very same idea when i first
found squeak and joined community.
I imagined the scene with animation, like a bullet leaving the gun and
flying towards its victim, and i wanted to give an
artist/designer/engineer to
be able to stop the scene at any moment, interact with objects, like
inspect their properties, allow them to change the code and then
continue again.

What i seen in those days, that smalltalk is much more enabling
environment for doing that, than anything else!
And i still keep that idea in mind, every time i doing something, be
it VM, FFI or Morphic or OpenGL or bug fixes..
every single step gets me a bit closer to this.. even if i won't be
able to work on this thing directly, i trying to push things in
direction which would allow
others to get to that point.

So, i think Lawson, this is my answer to your question.

--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Stéphane Rollandin
In reply to this post by LawsonEnglish
> http://vimeo.com/36579366
>
> Lawson

I did not care to start watching a 54 minutes video just to know what
you are talking about.

I think it would be adequate to describe the topic of your post with a
few sentences along the video link. The link alone, it feels a bit like
spam to me.

No offense intended,

Stef

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

LawsonEnglish
Well, to me, the various demos shown were quite compelling, and I
thought, at the least the interface innovations were something that
Squeak and Pharo developers might want to adopt. Certainly, for  any
kind of  graphics/games-oriented development, they're the "wave of the
future." As to describing them in a few sentences, I didn't think it
necessary or even really worth trying to do. A picture is worth a
thousand words, and these were highly interactive pictures.

Lawson

On 3/1/12 4:48 AM, Stéphane Rollandin wrote:

>> http://vimeo.com/36579366
>>
>> Lawson
>
> I did not care to start watching a 54 minutes video just to know what
> you are talking about.
>
> I think it would be adequate to describe the topic of your post with a
> few sentences along the video link. The link alone, it feels a bit
> like spam to me.
>
> No offense intended,
>
> Stef
>
>


Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Bert Freudenberg

On 01.03.2012, at 13:00, Lawson English wrote:

> Well, to me, the various demos shown were quite compelling, and I thought, at the least the interface innovations were something that Squeak and Pharo developers might want to adopt. Certainly, for  any kind of  graphics/games-oriented development, they're the "wave of the future." As to describing them in a few sentences, I didn't think it necessary or even really worth trying to do. A picture is worth a thousand words, and these were highly interactive pictures.
>
> Lawson
>
> On 3/1/12 4:48 AM, Stéphane Rollandin wrote:
>>> http://vimeo.com/36579366
>>>
>>> Lawson
>>
>> I did not care to start watching a 54 minutes video just to know what you are talking about.
>>
>> I think it would be adequate to describe the topic of your post with a few sentences along the video link. The link alone, it feels a bit like spam to me.
>>
>> No offense intended,
>>
>> Stef


For those with too short an attention span, here is a 5 minute excerpt of the full talk:

        http://www.youtube.com/watch?v=PlI-gPu3SPI

But Bret's other demos were equally impressive, and his philosophical remarks in the second part too, so go watch the full thing.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Igor Stasenko
On 1 March 2012 16:47, Bert Freudenberg <[hidden email]> wrote:

>
> On 01.03.2012, at 13:00, Lawson English wrote:
>
>> Well, to me, the various demos shown were quite compelling, and I thought, at the least the interface innovations were something that Squeak and Pharo developers might want to adopt. Certainly, for  any kind of  graphics/games-oriented development, they're the "wave of the future." As to describing them in a few sentences, I didn't think it necessary or even really worth trying to do. A picture is worth a thousand words, and these were highly interactive pictures.
>>
>> Lawson
>>
>> On 3/1/12 4:48 AM, Stéphane Rollandin wrote:
>>>> http://vimeo.com/36579366
>>>>
>>>> Lawson
>>>
>>> I did not care to start watching a 54 minutes video just to know what you are talking about.
>>>
>>> I think it would be adequate to describe the topic of your post with a few sentences along the video link. The link alone, it feels a bit like spam to me.
>>>
>>> No offense intended,
>>>
>>> Stef
>
>
> For those with too short an attention span, here is a 5 minute excerpt of the full talk:
>
>        http://www.youtube.com/watch?v=PlI-gPu3SPI
>
> But Bret's other demos were equally impressive, and his philosophical remarks in the second part too, so go watch the full thing.
>

yeap.. except that i find him too idealistic and putting to high
demands on an audience, a bit of cynicism wouldn't hurt.
at some moments of his talk, i can almost hear "hey, stop moralizing,
show us how you doing that" :)

> - Bert -
>
>



--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Bert Freudenberg

On 01.03.2012, at 16:58, Igor Stasenko wrote:

> On 1 March 2012 16:47, Bert Freudenberg <[hidden email]> wrote:
>>
>> On 01.03.2012, at 13:00, Lawson English wrote:
>>
>>> Well, to me, the various demos shown were quite compelling, and I thought, at the least the interface innovations were something that Squeak and Pharo developers might want to adopt. Certainly, for  any kind of  graphics/games-oriented development, they're the "wave of the future." As to describing them in a few sentences, I didn't think it necessary or even really worth trying to do. A picture is worth a thousand words, and these were highly interactive pictures.
>>>
>>> Lawson
>>>
>>> On 3/1/12 4:48 AM, Stéphane Rollandin wrote:
>>>>> http://vimeo.com/36579366
>>>>>
>>>>> Lawson
>>>>
>>>> I did not care to start watching a 54 minutes video just to know what you are talking about.
>>>>
>>>> I think it would be adequate to describe the topic of your post with a few sentences along the video link. The link alone, it feels a bit like spam to me.
>>>>
>>>> No offense intended,
>>>>
>>>> Stef
>>
>>
>> For those with too short an attention span, here is a 5 minute excerpt of the full talk:
>>
>>        http://www.youtube.com/watch?v=PlI-gPu3SPI
>>
>> But Bret's other demos were equally impressive, and his philosophical remarks in the second part too, so go watch the full thing.
>
> yeap.. except that i find him too idealistic and putting to high
> demands on an audience, a bit of cynicism wouldn't hurt.
> at some moments of his talk, i can almost hear "hey, stop moralizing,
> show us how you doing that" :)

You have to keep in mind his original audience. His talk was not aimed at us.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] [squeak-dev] can this be done via modification to the Squeak/Pharo IDE?

Stéphane Ducasse
In reply to this post by Igor Stasenko

> now after i found time to watch this video, i can comment on it :)
>
> Strangely enough, but i was driven by the very same idea when i first
> found squeak and joined community.
> I imagined the scene with animation, like a bullet leaving the gun and
> flying towards its victim, and i wanted to give an
> artist/designer/engineer to
> be able to stop the scene at any moment, interact with objects, like
> inspect their properties, allow them to change the code and then
> continue again.
>
> What i seen in those days, that smalltalk is much more enabling
> environment for doing that, than anything else!
> And i still keep that idea in mind, every time i doing something, be
> it VM, FFI or Morphic or OpenGL or bug fixes..
> every single step gets me a bit closer to this.. even if i won't be
> able to work on this thing directly, i trying to push things in
> direction which would allow
> others to get to that point.


You are great enabler. COntinue.
Of course we want to do too much because this is exciting.
So let us check and focus on the fundamentals.

April will be a crazy month :)

Stef


Reply | Threaded
Open this post in threaded view
|

Re: can this be done via modification to the Squeak/Pharo IDE?

Stéphane Rollandin
In reply to this post by LawsonEnglish

>  As to describing them in a few sentences, I didn't think it
> necessary or even really worth trying to do. A picture is worth a
> thousand words, and these were highly interactive pictures.

Ok, well, we are all different... I don't like having to submit my time
to a video, I much prefer reading.

Best,

Stef