[Ann] Calypso system browser

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

[Ann] Calypso system browser

Denis Kudriashov
Hi

I am glad announce first initial version of new system browser called Calypso.
It is implemented from scratch with idea to build model suitable for remote scenario. 
But as result it leads to more important goal: provide clean implementation of browser which people could understand and evolve.

Calypso supports most features from Nautilus but also miss many of them. And there are many not nicely looking parts of UI which require more work.
But in same time Calypso provides many new cool features with clean implementation underhood. I put many things from other smalltalks and old browsers which I always miss.

I release Calypso in the state where I finish most design decisions which I think important for project evolution.
Of course there are a lot of things to do and improve. But browser is fully working. And now it is important to community to participate in project and make browser great again :). We need escape from Nautilus pasta world.
Please report any ideas/bugs on github page https://github.com/dionisiydk/Calypso/issues. I already fill it with my wishes.

Next step I will work on documentation/class comments and I will publish couple of posts about Calypso internals.

Read more details on my blog. It includes pictures, videos and loading script.

Best regards,
Denis
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

philippeback
Ah, this XMas present!

Thx Denis.

Phil

On Tue, Dec 27, 2016 at 5:12 PM, Denis Kudriashov <[hidden email]> wrote:
Hi

I am glad announce first initial version of new system browser called Calypso.
It is implemented from scratch with idea to build model suitable for remote scenario. 
But as result it leads to more important goal: provide clean implementation of browser which people could understand and evolve.

Calypso supports most features from Nautilus but also miss many of them. And there are many not nicely looking parts of UI which require more work.
But in same time Calypso provides many new cool features with clean implementation underhood. I put many things from other smalltalks and old browsers which I always miss.

I release Calypso in the state where I finish most design decisions which I think important for project evolution.
Of course there are a lot of things to do and improve. But browser is fully working. And now it is important to community to participate in project and make browser great again :). We need escape from Nautilus pasta world.
Please report any ideas/bugs on github page https://github.com/dionisiydk/Calypso/issues. I already fill it with my wishes.

Next step I will work on documentation/class comments and I will publish couple of posts about Calypso internals.

Read more details on my blog. It includes pictures, videos and loading script.

Best regards,
Denis

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Sven Van Caekenberghe-2
Yes, very cool, great work!

> On 27 Dec 2016, at 19:06, [hidden email] wrote:
>
> Ah, this XMas present!
>
> Thx Denis.
>
> Phil
>
> On Tue, Dec 27, 2016 at 5:12 PM, Denis Kudriashov <[hidden email]> wrote:
> Hi
>
> I am glad announce first initial version of new system browser called Calypso.
> It is implemented from scratch with idea to build model suitable for remote scenario.
> But as result it leads to more important goal: provide clean implementation of browser which people could understand and evolve.
>
> Calypso supports most features from Nautilus but also miss many of them. And there are many not nicely looking parts of UI which require more work.
> But in same time Calypso provides many new cool features with clean implementation underhood. I put many things from other smalltalks and old browsers which I always miss.
>
> I release Calypso in the state where I finish most design decisions which I think important for project evolution.
> Of course there are a lot of things to do and improve. But browser is fully working. And now it is important to community to participate in project and make browser great again :). We need escape from Nautilus pasta world.
> Please report any ideas/bugs on github page https://github.com/dionisiydk/Calypso/issues. I already fill it with my wishes.
>
> Next step I will work on documentation/class comments and I will publish couple of posts about Calypso internals.
>
> Read more details on my blog. It includes pictures, videos and loading script.
>
> Best regards,
> Denis
>


Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

CyrilFerlicot
In reply to this post by Denis Kudriashov
Le 27/12/2016 à 17:12, Denis Kudriashov a écrit :

> Hi
>
> I am glad announce first initial version of new system browser called
> Calypso.
> It is implemented from scratch with idea to build model suitable for
> remote scenario.
> But as result it leads to more important goal: provide clean
> implementation of browser which people could understand and evolve.
>
> Calypso supports most features from Nautilus but also miss many of them.
> And there are many not nicely looking parts of UI which require more work.
> But in same time Calypso provides many new cool features with clean
> implementation underhood. I put many things from other smalltalks and
> old browsers which I always miss.
>
> I release Calypso in the state where I finish most design decisions
> which I think important for project evolution.
> Of course there are a lot of things to do and improve. But browser is
> fully working. And now it is important to community to participate in
> project and make browser great again :). We need escape from Nautilus
> pasta world.
> Please report any ideas/bugs on github page
> https://github.com/dionisiydk/Calypso/issues. I already fill it with my
> wishes.
>
> Next step I will work on documentation/class comments and I will publish
> couple of posts about Calypso internals.
>
> Read more details on my blog
> <http://dionisiydk.blogspot.fr/2016/12/calypso-new-system-browser-for-pharo.html>.
> It includes pictures, videos and loading script.
>
> Best regards,
> Denis
This is really cool :)

On the pure design side, two things that hits my eyes are the toggle
buttons and the test icon on the package list.

The toggle buttons looks really… "Old".

The tests icons should be align on the right of the list I think. But
this should be improve directly on the widget. Right icons aligned and
if the text is too long, cut it, add '…' and show it on the hoover. Or
if you don't want to cut the text and add a scrollbar, the icons should
be align to the left.

I did not had the time to try it now but I look forward to it :)
Thanks Denis!

--
Cyril Ferlicot

http://www.synectique.eu

2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov

2016-12-27 22:01 GMT+01:00 Cyril Ferlicot D. <[hidden email]>:

This is really cool :)

On the pure design side, two things that hits my eyes are the toggle
buttons and the test icon on the package list.

The toggle buttons looks really… "Old".

I agree Cyril. Thank's for feedback. 

Definitely current UI design is not the end. It is just the start, the simple way how to arrange current browser features.

Now toolbar looks bad but it provides desired features which allow to be more effective than with Nautilus.
That's idea: implement functions and then start to think about design. But not alone. I am not good in design and I hope together we could provide good look&feel for desired features.
Now what you see in Calypso is my wishes which I want to be covered by design.

So as I said: let's make browser great again :).
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

stepharong
In reply to this post by Denis Kudriashov
Thanks denis. :)

Now let us make sure that we can deprecated our old friend nautilus :)

Stef

Hi

I am glad announce first initial version of new system browser called Calypso.
It is implemented from scratch with idea to build model suitable for remote scenario. 
But as result it leads to more important goal: provide clean implementation of browser which people could understand and evolve.

Calypso supports most features from Nautilus but also miss many of them. And there are many not nicely looking parts of UI which require more work.
But in same time Calypso provides many new cool features with clean implementation underhood. I put many things from other smalltalks and old browsers which I always miss.

I release Calypso in the state where I finish most design decisions which I think important for project evolution.
Of course there are a lot of things to do and improve. But browser is fully working. And now it is important to community to participate in project and make browser great again :). We need escape from Nautilus pasta world.
Please report any ideas/bugs on github page https://github.com/dionisiydk/Calypso/issues. I already fill it with my wishes.

Next step I will work on documentation/class comments and I will publish couple of posts about Calypso internals.

Read more details on my blog. It includes pictures, videos and loading script.

Best regards,
Denis



--
Using Opera's mail client: http://www.opera.com/mail/
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov
In reply to this post by CyrilFerlicot

2016-12-27 22:01 GMT+01:00 Cyril Ferlicot D. <[hidden email]>:
The tests icons should be align on the right of the list I think. But
this should be improve directly on the widget. Right icons aligned and
if the text is too long, cut it, add '…' and show it on the hoover. Or
if you don't want to cut the text and add a scrollbar, the icons should
be align to the left.

Nice idea. 
Now every cell in table has definitionMorph before name and extra morphs after it. Plugins decide how to fill and decorate them.
And currently table is single column. I think it would be nice to put all this morphs in separate columns which will provide good alignment.
 
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

stepharong
In reply to this post by Denis Kudriashov
I love the name. :) and I want to thank Alain for not complaining that we stole the name of one of his projects :)

It deserves a little explanation.....
   Nautilus was a submarine of Jules Verne. 
   Calypso is the boat of commandant Cousteau. 

Now calypso is more than a browser: it is a model and really nice because without case and tests everywhere. 

Stef
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov
In reply to this post by Denis Kudriashov

2016-12-27 23:11 GMT+01:00 Denis Kudriashov <[hidden email]>:
On the pure design side, two things that hits my eyes are the toggle
buttons and the test icon on the package list.

The toggle buttons looks really… "Old".

I agree Cyril. Thank's for feedback. 

Definitely current UI design is not the end. It is just the start, the simple way how to arrange current browser features.

Now toolbar looks bad but it provides desired features which allow to be more effective than with Nautilus.
That's idea: implement functions and then start to think about design. But not alone. I am not good in design and I hope together we could provide good look&feel for desired features.
Now what you see in Calypso is my wishes which I want to be covered by design.

So as I said: let's make browser great again :).

It would be super cool if some of clever guys could just design look of browser in pictures. And the rest will be just technical job
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

CyrilFerlicot
Le 27/12/2016 à 23:45, Denis Kudriashov a écrit :
> It would be super cool if some of clever guys could just design look of
> browser in pictures. And the rest will be just technical job

I'm not a "pro" of ux but at Synectique I make the css of our web tools.
So I can try to make some mockup of widgets when I will have some time
but I will not have the time to implements them in Pharo/Morph.

Tomorrow I will send a screen of the nested list we made at Synectique.
It's a responsive tree with icons at the right and/or left.

And also I know the priority is the features. I just make some notes of
the main UI problems because it's something that should not be forgotten
after the features implementation :) And I am well aware that it's hard
to find time to fix design. (Tests, doc, design, promo, bug correction,
speed up… Too much things to do after making a feature :D)

--
Cyril Ferlicot

http://www.synectique.eu

2 rue Jacques Prévert 01,
59650 Villeneuve d'ascq France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov

2016-12-28 0:17 GMT+01:00 Cyril Ferlicot D. <[hidden email]>:

I'm not a "pro" of ux but at Synectique I make the css of our web tools.
So I can try to make some mockup of widgets when I will have some time

It will be really really nice.
 
but I will not have the time to implements them in Pharo/Morph.

No problem here. I think implementing all "candies" is task for many people. 
 

Tomorrow I will send a screen of the nested list we made at Synectique.
It's a responsive tree with icons at the right and/or left.

And also I know the priority is the features. I just make some notes of
the main UI problems because it's something that should not be forgotten
after the features implementation :) And I am well aware that it's hard
to find time to fix design. (Tests, doc, design, promo, bug correction,
speed up… Too much things to do after making a feature :D)


Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Mariano Martinez Peck
Wow, it already have features I have wished since long time (like the view or inherited / filtered methods and multi selection everywhere).  

About RB, how much do you plan to integrate? From the screenshots I can see only a few basic ones. Is the idea to have at least the ones of Nautilus?

Can we add a feature to compare /diff to random methods? Right now nautilus allows you that but it must be from the same class....

Thanks and congratulations! I am eager to test it out. 


On Wed, Dec 28, 2016 at 7:03 AM, Denis Kudriashov <[hidden email]> wrote:

2016-12-28 0:17 GMT+01:00 Cyril Ferlicot D. <[hidden email]>:

I'm not a "pro" of ux but at Synectique I make the css of our web tools.
So I can try to make some mockup of widgets when I will have some time

It will be really really nice.
 
but I will not have the time to implements them in Pharo/Morph.

No problem here. I think implementing all "candies" is task for many people. 
 

Tomorrow I will send a screen of the nested list we made at Synectique.
It's a responsive tree with icons at the right and/or left.

And also I know the priority is the features. I just make some notes of
the main UI problems because it's something that should not be forgotten
after the features implementation :) And I am well aware that it's hard
to find time to fix design. (Tests, doc, design, promo, bug correction,
speed up… Too much things to do after making a feature :D)





--
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov

2016-12-28 13:55 GMT+01:00 Mariano Martinez Peck <[hidden email]>:
Wow, it already have features I have wished since long time (like the view or inherited / filtered methods and multi selection everywhere).  

About RB, how much do you plan to integrate? From the screenshots I can see only a few basic ones. Is the idea to have at least the ones of Nautilus?

Yes of course. Now I added what I personally used often. I will document how extend Calypso in many aspects. So others could participate easily. 
Now just report what you really miss on github.
And of course you could just discover code and add missing refactorings in same way as existing
 

Can we add a feature to compare /diff to random methods? Right now nautilus allows you that but it must be from the same class....


Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov
In reply to this post by Mariano Martinez Peck

2016-12-28 13:55 GMT+01:00 Mariano Martinez Peck <[hidden email]>:
Can we add a feature to compare /diff to random methods? Right now nautilus allows you that but it must be from the same class....

Yes. There is already issue for this: https://github.com/dionisiydk/Calypso/issues/11.
My idea to open diff tool in tab instead of method editor.

And to compare multiple methods you will need to select multiple packages/classes first and then choose methods from single list to compare
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Tudor Girba-2
In reply to this post by Denis Kudriashov
Hi Denix,

Nice work!

I particularly like the focus on low traffic between the model and the UI. I think there is a good deal of things to learn from the experience of building remote tools.

Cheers,
Doru


> On Dec 27, 2016, at 5:12 PM, Denis Kudriashov <[hidden email]> wrote:
>
> Hi
>
> I am glad announce first initial version of new system browser called Calypso.
> It is implemented from scratch with idea to build model suitable for remote scenario.
> But as result it leads to more important goal: provide clean implementation of browser which people could understand and evolve.
>
> Calypso supports most features from Nautilus but also miss many of them. And there are many not nicely looking parts of UI which require more work.
> But in same time Calypso provides many new cool features with clean implementation underhood. I put many things from other smalltalks and old browsers which I always miss.
>
> I release Calypso in the state where I finish most design decisions which I think important for project evolution.
> Of course there are a lot of things to do and improve. But browser is fully working. And now it is important to community to participate in project and make browser great again :). We need escape from Nautilus pasta world.
> Please report any ideas/bugs on github page https://github.com/dionisiydk/Calypso/issues. I already fill it with my wishes.
>
> Next step I will work on documentation/class comments and I will publish couple of posts about Calypso internals.
>
> Read more details on my blog. It includes pictures, videos and loading script.
>
> Best regards,
> Denis

--
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] Calypso system browser

Denis Kudriashov

2016-12-28 15:21 GMT+01:00 Tudor Girba <[hidden email]>:
Nice work!

I particularly like the focus on low traffic between the model and the UI. I think there is a good deal of things to learn from the experience of building remote tools.

Calypso supposed to work good in remote scenario. It was always main design goal. 
So soon we will have remote browser based on Calypso
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Ben Coman
In reply to this post by Denis Kudriashov
On Wed, Dec 28, 2016 at 12:12 AM, Denis Kudriashov <[hidden email]> wrote:
> Hi
>
> I am glad announce first initial version of new system browser called
> Calypso.  It is implemented from scratch with idea to build model suitable
> for remote scenario.  But as result it leads to more important goal: provide
> clean implementation of browser which people could understand and evolve.

I like this initiative, especially for the local browser and the
remote browser using the same code base.
* overall minimizing code
* using/testing the same mechanisms
* facilitate seamless experience between local and remote usage

>
> Calypso supports most features from Nautilus but also miss many of them. And
> there are many not nicely looking parts of UI which require more work.
> But in same time Calypso provides many new cool features with clean
> implementation underhood. I put many things from other smalltalks and old
> browsers which I always miss.
>
> I release Calypso in the state where I finish most design decisions which I
> think important for project evolution.
> Of course there are a lot of things to do and improve. But browser is fully
> working. And now it is important to community to participate in project and
> make browser great again :). We need escape from Nautilus pasta world.
> Please report any ideas/bugs on github page
> https://github.com/dionisiydk/Calypso/issues. I already fill it with my
> wishes.
>
> Next step I will work on documentation/class comments and I will publish
> couple of posts about Calypso internals.
>
> Read more details on my blog. It includes pictures, videos and loading
> script.

* multiple code pane tabs - cool
* multi-selection is cool (but I need to trial how it works out in practice)
* automatic selection of items similar to last selection - I've been
meaning to ask this for Nautilus for a while.
* pinning modified pane code panes is a nice approach. It would be
nice to pin any pane.
* packages pane - it would be nice for the test-result-icon to appear
on left like the other panes. The folder icon would seem reasonable
place to substitute.

Nice feature to show variables in the protocol pane and references in
the method list pane.  But it says "Class variables" while these are
"Instance Variables"

Now I wonder if we can do without the Methods/Vars buttons by having
the following top level tree items. Also as a newbie before developing
the instinct to *know* which instance/class-side I was on, I got burnt
a few times following tutorials accidentally putting methods on the
wrong side.  It would be interesting to try deprecating the
Inst-Side/Class-Side buttons, and have something like the following
items...
+ instance-side methods
    - accessing
    - initialization
    - extensions
       - GT-InspectorExtensions
+ class-side methods
    - instance creation
    - extensions
+ variables
    - instance variables
    - class variables
    - class instance variables

The "inherited methods" tree-item might be better as a pull down menu
at the bottom of the pane, level with "Filter..." since visually it is
confusing seeming that protocols like "accessing" are a sub-item of
"inherited methods".

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov

2016-12-28 18:12 GMT+01:00 Ben Coman <[hidden email]>:
* multiple code pane tabs - cool
* multi-selection is cool (but I need to trial how it works out in practice)
* automatic selection of items similar to last selection - I've been
meaning to ask this for Nautilus for a while.
* pinning modified pane code panes is a nice approach. It would be
nice to pin any pane.
* packages pane - it would be nice for the test-result-icon to appear
on left like the other panes. The folder icon would seem reasonable
place to substitute.

Nice feature to show variables in the protocol pane and references in
the method list pane.  But it says "Class variables" while these are
"Instance Variables"

Because Class variables are also accessible from instance side and you want to see what methods are used it.
But I agree it should not be here by default. Actually it will be not here if Object will not define any class variable. But Object has DependantFields. Browser probably should ignore it.
Now structure of variables view is the same as when you click on Variables button in Nautilus.

So you think existence of "Class variables" is also confusing because it looks like parent group for instance variables?
 

Now I wonder if we can do without the Methods/Vars buttons by having
the following top level tree items. Also as a newbie before developing
the instinct to *know* which instance/class-side I was on, I got burnt
a few times following tutorials accidentally putting methods on the
wrong side.  It would be interesting to try deprecating the
Inst-Side/Class-Side buttons, and have something like the following
items...
+ instance-side methods
    - accessing
    - initialization
    - extensions
       - GT-InspectorExtensions
+ class-side methods
    - instance creation
    - extensions
+ variables
    - instance variables
    - class variables
    - class instance variables


It could be good or not.
Problem with this approach is same as why we use 4-column panes instead of single tree menu for everything like other IDE does.
We don't want to scroll to achieve some group element. 
Imaging that you browse some morph subclass which have a lot of protocols. You are in some middle protocol and not see parent expanded group in list. And now you want to look at class side or variables. Tree view will force you to scroll instead of simple press on switch button like it is now.
 
The "inherited methods" tree-item might be better as a pull down menu
at the bottom of the pane, level with "Filter..." since visually it is
confusing seeming that protocols like "accessing" are a sub-item of
"inherited methods".

But it is not expanded and indentation of both items are same. 
Also you can select "inherited methods" as any other group and see all inherited methods together without using visibility checkbox.

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Denis Kudriashov
In reply to this post by Ben Coman

2016-12-28 18:12 GMT+01:00 Ben Coman <[hidden email]>:

I like this initiative, especially for the local browser and the
remote browser using the same code base.
* overall minimizing code
* using/testing the same mechanisms
* facilitate seamless experience between local and remote usage

And thank's for feedback. I saw you created issues. It is good
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Calypso system browser

Stephane Ducasse-3
In reply to this post by Mariano Martinez Peck
Mariano all RB and other will be present.

On Wed, Dec 28, 2016 at 1:55 PM, Mariano Martinez Peck <[hidden email]> wrote:
Wow, it already have features I have wished since long time (like the view or inherited / filtered methods and multi selection everywhere).  

About RB, how much do you plan to integrate? From the screenshots I can see only a few basic ones. Is the idea to have at least the ones of Nautilus?

Can we add a feature to compare /diff to random methods? Right now nautilus allows you that but it must be from the same class....

Thanks and congratulations! I am eager to test it out. 


On Wed, Dec 28, 2016 at 7:03 AM, Denis Kudriashov <[hidden email]> wrote:

2016-12-28 0:17 GMT+01:00 Cyril Ferlicot D. <[hidden email]>:

I'm not a "pro" of ux but at Synectique I make the css of our web tools.
So I can try to make some mockup of widgets when I will have some time

It will be really really nice.
 
but I will not have the time to implements them in Pharo/Morph.

No problem here. I think implementing all "candies" is task for many people. 
 

Tomorrow I will send a screen of the nested list we made at Synectique.
It's a responsive tree with icons at the right and/or left.

And also I know the priority is the features. I just make some notes of
the main UI problems because it's something that should not be forgotten
after the features implementation :) And I am well aware that it's hard
to find time to fix design. (Tests, doc, design, promo, bug correction,
speed up… Too much things to do after making a feature :D)





--

12