On Fri, 14 Dec 2018 at 05:13, Tudor Girba <[hidden email]> wrote:
I'm feeling excited and confused :). Excited because I love seeing all these new demos streaming out and I'm itching to put new capabilities to work. Confused about the roadmap. How does this "new" Glamorous Toolkit relate to the "old" one that I learned about last year from the Moldable Tools thesis? Is this a new version or a complete rewrite? Is it backwards compatible or completely reimagined? Is adopting the new version a seamless process or is porting required? Are frameworks like Glamour still there behind the scenes or were they replaced? etc. _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Hi Luke,
I am happy this looks exciting :). About the confusion part: The Glamorous Toolkit we are working on right now is a complete new world built on a complete new graphical stack that does is not based on the existing stack that ships with Pharo. It is not an evolution. It is a leap. The goal of the new GT is to propose a completely reshaped programming experience that enables moldable development. You will find the concepts from the old GT in the new world as well. For example, the Inspector is extensible in similar ways and the API is similar as well. But, in the new world, we are bringing the concept much further. For example, Documenter provides a whole new kind of a tool that can mold to unify multiple workflows (like data notebooks, code documentation, or tutorials) right in the IDE. Coder provides the infrastructure for manipulating code that can mold its shape as you type. Transcript allows you to embed various widgets to transform the otherwise dull experience of a console into a live one. Behind the scenes GT comes with several engines. The Examples engine enables example-driven development which also bridges the gap between testing and documentation effort, especially when combined with Documenter. Releaser is able to release deeply nested projects. Phlow offers an engine that shares similarities with Glamour. Completer provides moldable completion. Visualizer offers a couple of visualization engines such as Mondrian. All of these are possible because of the underlying graphical stack made of Sparta/Bloc/Brick. All in all, we believe that the new GT enables a new way of programming. Individual features can be attractive, but our goal is to reshape the development experience. Does this address the concern? Cheers, Doru > On Dec 19, 2018, at 2:09 PM, Luke Gorrie <[hidden email]> wrote: > > On Fri, 14 Dec 2018 at 05:13, Tudor Girba <[hidden email]> wrote: > Please do let us know what you think .. and, of course, what you feel. > > I'm feeling excited and confused :). > > Excited because I love seeing all these new demos streaming out and I'm itching to put new capabilities to work. > > Confused about the roadmap. How does this "new" Glamorous Toolkit relate to the "old" one that I learned about last year from the Moldable Tools thesis? Is this a new version or a complete rewrite? Is it backwards compatible or completely reimagined? Is adopting the new version a seamless process or is porting required? Are frameworks like Glamour still there behind the scenes or were they replaced? etc. > > > <gt-documenter-magic-markup.gif><gt-0-4-0.png>_______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.feenk.com "Things happen when they happen, not when you talk about them happening." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
On Thu, 20 Dec 2018 at 10:58, Tudor Girba <[hidden email]> wrote: The goal of the new GT is to propose a completely reshaped programming experience that enables moldable development. You will find the concepts from the old GT in the new world as well. For example, the Inspector is extensible in similar ways and the API is similar as well. [...] Does this address the concern? I am not sure yet :). Programming is not our main use case for GT. We are using GT as an object inspector (etc) for examining diagnostic data. We have a Smalltalk application that's similar to GDB and we are using GT as the front-end. In our world we use the Inspector and the Spotter but all of the Smalltalk programming views are hidden. GT is "molded" to be a diagnostic tool *instead of* a programming environment. Specifically, our main use case is inspecting/debugging the operation of a JIT compiler written in C. We have Smalltalk code to load binary coredumps from the JIT, decode them using DWARF debug information, and represent the application-level compiler data structures as Smalltalk objects. This way we can use GT to browse generated code, cross-reference profiler data, examine runtime compilation errors, etc. The "old" GT is awesome for this. I feel like this application is also very much in the spirit of the "moldable tools" thesis. Lots of diagnostic workflows ultimately boil down to drill-down inspecting and/or searching. I don't know where we stand with respect to the "new" GT though. I am talking about diagnostics, you are talking about programming. I am talking about zeros and ones, you are talking about feelings. I am maintaining a stable application, you are talking about rewrites. I am having a hard time whether I should be switching to the new GT in the immediate future, or waiting another year or two for it to mature, or planning to stick with the old GT. Hints would be appreciated :) I reiterate that I think you guys are doing fantastic work - some of the most interesting work in the programming universe to my mind. I hope that this discussion is useful for at least understanding the thought process of some users / potential users. Cheers! -Luke _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Hi,
Thanks for detailing your thoughts. Indeed, I know about your application. Whatever you can do with the current GT you will be able to do with the new one. Except that for the new one you will be able to do extra things. Here are a few: - You can build and share documents that embed those inspector views. This can be useful for reporting or sharing diagnostics with your users. - Because the underlying rendering engine is much more powerful, you can express modern and interfaces that integrate with the rest of the environment smoothly. - You likely have to deal with log files that might get large. First, the new editor allows you to smoothly work with such files. But, you can go well beyond this. Imagine that you build a tooling that produces the same editor only the text is interactive, and you might even embed visual artifacts right in the text to bridge the gap between what you would see in a typical console. For example, this tweet shows the new Transcript used to debug an animation. For every animation frame, we output the text corresponding with the frame and we insert the graphical preview corresponding to that step. You look at GT from the point of view of an end-user. You likely like the fact that you could mold the environment to your context and that you could do this incrementally. It happens that the same principles and tools can be applied to the whole programming, and once you do that, you actually can fundamentally change the act of programming. In fact, the same thing applies to the old GT: we built the new GT using that version and we believe that this allowed us to work much faster than if we would have used more traditional tools. The new GT pushes the envelope significantly further. So, that is why we are excited about that perspective, but even if you do not spend much time programming in Pharo, you can still take advantage for the user point of view as described above :). Is this answer better? Cheers, Doru > On Dec 21, 2018, at 4:59 PM, Luke Gorrie <[hidden email]> wrote: > > On Thu, 20 Dec 2018 at 10:58, Tudor Girba <[hidden email]> wrote: > The goal of the new GT is to propose a completely reshaped programming experience that enables moldable development. You will find the concepts from the old GT in the new world as well. For example, the Inspector is extensible in similar ways and the API is similar as well. > [...] > Does this address the concern? > > I am not sure yet :). > > Programming is not our main use case for GT. We are using GT as an object inspector (etc) for examining diagnostic data. We have a Smalltalk application that's similar to GDB and we are using GT as the front-end. > > In our world we use the Inspector and the Spotter but all of the Smalltalk programming views are hidden. GT is "molded" to be a diagnostic tool *instead of* a programming environment. Specifically, our main use case is inspecting/debugging the operation of a JIT compiler written in C. We have Smalltalk code to load binary coredumps from the JIT, decode them using DWARF debug information, and represent the application-level compiler data structures as Smalltalk objects. This way we can use GT to browse generated code, cross-reference profiler data, examine runtime compilation errors, etc. > > The "old" GT is awesome for this. I feel like this application is also very much in the spirit of the "moldable tools" thesis. Lots of diagnostic workflows ultimately boil down to drill-down inspecting and/or searching. > > I don't know where we stand with respect to the "new" GT though. I am talking about diagnostics, you are talking about programming. I am talking about zeros and ones, you are talking about feelings. I am maintaining a stable application, you are talking about rewrites. I am having a hard time whether I should be switching to the new GT in the immediate future, or waiting another year or two for it to mature, or planning to stick with the old GT. > > Hints would be appreciated :) > > I reiterate that I think you guys are doing fantastic work - some of the most interesting work in the programming universe to my mind. I hope that this discussion is useful for at least understanding the thought process of some users / potential users. > > Cheers! > -Luke > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.feenk.com "Being happy is a matter of choice." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
And here is the tweet I was mentioning:
Cheers, Doru
_______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Luke Gorrie
Hi, I share your feeling of wonder and also concern Luke. In my case, I used (old) GT tools to prototype Grafoscopio and now that the PhD thesis is practically done and only dissertation is pending, I would like to prepare myself to migrate Grafoscopio to Pharo 7, including bug fixing, stability, improved functionality, Iceberg for code management (but supporting Fossil instead of Git). I think that there is a lot of possibilities in the new GT tools and I like some of them going into interactive documentation (a line I was trying to explore with Pharo using Grafoscopio). But anytime I tried to use it I stumble upon a stop:
I understand that this is alpha software and demos look amazing,
but just running them requires a lot of work that previous GT
didn't require. This brings me this feeling that these jumps in Pharo put core of the user experience at risk (kind of) and you end wondering how much an old tech will be maintained once the jump to the new shinny stuff is done and which is the migration path. In my case, I would like to have something like a Zeroconf script that just takes care of the external libraries, VM and image, to have a real glipmse of the upcoming future, beside the Tweets (which look great BTW). Maybe it will happen in a year or two, once it is properly integrated with Pharo, Zeroconf and thought for "end users" of interactive documents, which don't want to enable GitHub stuff, deal with external rendering dependencies and so on. Now the experience of using GT is kind of hostile for that users. Anyway, keep the good work and sharing it. Hopefully at some point it will reach the beta status, where users like myself can use it smoothly and build on GT's promises and interesting features. Cheers, Offray On 21/12/18 10:59, Luke Gorrie wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Hi Offray,
Thanks for describing your concerns. First, let’s address the technical part. Please go to gtoolkit.com and download the 64Bit distribution that includes the image and the VM. We will remove the standalone image option from the website until the VM situation gets clarified. Now, a clarification. The old GT was produced over a period of 4 years by an open-source team. The project had its own identity, and in 2014 the core of it was first integrated in Pharo. I say the core of it, because the visual part and other libraries are not in Pharo today. The full potential is found in Moose. In any case, during this process, GT got to be identified with Pharo and that was a good thing. The new GT is a product produced by feenk, a company. Much of the original team is still active in the new version, but now we commit to our product in a different way. The product is free and open-source, but it’s still a product with an identity and a goal. At present time, both the team, identity and goal are different than those of Pharo. Our goal is to offer a fundamentally new alternative to program (including comparing to what is possible now in Pharo). We are not looking for marginal improvements, and we are not aiming at backward compatibility. To build this alternative we invested in a whole new stack. That is not a tiny challenge and getting it right requires many iterations and feedback. We say we are in alpha not because of inconveniences of installation but because we are still very much developing the product. We announced the first alpha version in September and since then much has changed. At present time, we did manage to reach a situation where downloading the distribution should run on Mac, Linux and Windows. Even so, the current version is only for people that do want to try knowing that there will be hurdles. A word about the user experience. The current version runs inside the Pharo UI because we need to bootstrap. But, our goal is to build a complete IDE on the new stack. If you want to judge the user experience, it is only meaningful to do it within the GT windows, and not by comparing it with the rest of the existing Pharo UI. Does this clarify the situation? Cheers, Doru
_______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Offray Vladimir Luna Cárdenas-2
On Sat, 22 Dec 2018 at 06:03, Offray Vladimir Luna Cárdenas
<[hidden email]> wrote: > > Hi, > > I share your feeling of wonder and also concern Luke. > > In my case, I used (old) GT tools to prototype Grafoscopio and now that the PhD thesis is practically done and only dissertation is pending, I would like to prepare myself to migrate Grafoscopio to Pharo 7, including bug fixing, stability, improved functionality, Iceberg for code management (but supporting Fossil instead of Git). > > I think that there is a lot of possibilities in the new GT tools and I like some of them going into interactive documentation (a line I was trying to explore with Pharo using Grafoscopio). But anytime I tried to use it I stumble upon a stop: > > First time was something related with me having some kind of credential enabled in GitHub to simple use it. I lost a whole morning just enabling that and reporting it. Was this on Windows? What was the fix for worked for you? (sorry its easier to ask again than try to identify in the archives a previous mention) cheers -ben > It was related with some mozilla library for font redering that didn't work well at the end. > Today I tried with the prebuild Linux image and Pharo Launcher, but I got an error message about inability to determine proper VM and when I tried installing it from Pharo 7 I got something related with a MemoryFileWriteStream dependency to be resolved before proper installation. > > I understand that this is alpha software and demos look amazing, but just running them requires a lot of work that previous GT didn't require. > > This brings me this feeling that these jumps in Pharo put core of the user experience at risk (kind of) and you end wondering how much an old tech will be maintained once the jump to the new shinny stuff is done and which is the migration path. > > In my case, I would like to have something like a Zeroconf script that just takes care of the external libraries, VM and image, to have a real glipmse of the upcoming future, beside the Tweets (which look great BTW). Maybe it will happen in a year or two, once it is properly integrated with Pharo, Zeroconf and thought for "end users" of interactive documents, which don't want to enable GitHub stuff, deal with external rendering dependencies and so on. Now the experience of using GT is kind of hostile for that users. > > Anyway, keep the good work and sharing it. Hopefully at some point it will reach the beta status, where users like myself can use it smoothly and build on GT's promises and interesting features. > > Cheers, > > Offray > > On 21/12/18 10:59, Luke Gorrie wrote: > > On Thu, 20 Dec 2018 at 10:58, Tudor Girba <[hidden email]> wrote: >> >> The goal of the new GT is to propose a completely reshaped programming experience that enables moldable development. You will find the concepts from the old GT in the new world as well. For example, the Inspector is extensible in similar ways and the API is similar as well. > > [...] >> >> Does this address the concern? > > > I am not sure yet :). > > Programming is not our main use case for GT. We are using GT as an object inspector (etc) for examining diagnostic data. We have a Smalltalk application that's similar to GDB and we are using GT as the front-end. > > In our world we use the Inspector and the Spotter but all of the Smalltalk programming views are hidden. GT is "molded" to be a diagnostic tool *instead of* a programming environment. Specifically, our main use case is inspecting/debugging the operation of a JIT compiler written in C. We have Smalltalk code to load binary coredumps from the JIT, decode them using DWARF debug information, and represent the application-level compiler data structures as Smalltalk objects. This way we can use GT to browse generated code, cross-reference profiler data, examine runtime compilation errors, etc. > > The "old" GT is awesome for this. I feel like this application is also very much in the spirit of the "moldable tools" thesis. Lots of diagnostic workflows ultimately boil down to drill-down inspecting and/or searching. > > I don't know where we stand with respect to the "new" GT though. I am talking about diagnostics, you are talking about programming. I am talking about zeros and ones, you are talking about feelings. I am maintaining a stable application, you are talking about rewrites. I am having a hard time whether I should be switching to the new GT in the immediate future, or waiting another year or two for it to mature, or planning to stick with the old GT. > > Hints would be appreciated :) > > I reiterate that I think you guys are doing fantastic work - some of the most interesting work in the programming universe to my mind. I hope that this discussion is useful for at least understanding the thought process of some users / potential users. > > Cheers! > -Luke > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Administrator
|
In reply to this post by Tudor Girba-2
Tudor Girba-2 wrote
> The current version runs inside the Pharo UI because we need to bootstrap. > But, our goal is to build a complete IDE on the new stack. Does this mean it will offer Pharo an alternative UI (what I think you mean), or that the final product will not be Pharo-based? ----- Cheers, Sean -- Sent from: http://forum.world.st/Moose-f1310756.html _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev
Cheers,
Sean |
In reply to this post by Ben Coman
On 21/12/18 17:57, Ben Coman wrote: > On Sat, 22 Dec 2018 at 06:03, Offray Vladimir Luna Cárdenas > <[hidden email]> wrote: >> Hi, >> >> I share your feeling of wonder and also concern Luke. >> >> In my case, I used (old) GT tools to prototype Grafoscopio and now that the PhD thesis is practically done and only dissertation is pending, I would like to prepare myself to migrate Grafoscopio to Pharo 7, including bug fixing, stability, improved functionality, Iceberg for code management (but supporting Fossil instead of Git). >> >> I think that there is a lot of possibilities in the new GT tools and I like some of them going into interactive documentation (a line I was trying to explore with Pharo using Grafoscopio). But anytime I tried to use it I stumble upon a stop: >> >> First time was something related with me having some kind of credential enabled in GitHub to simple use it. I lost a whole morning just enabling that and reporting it. > Was this on Windows? What was the fix for worked for you? (sorry its > easier to ask again than try to identify in the archives a previous > mention) > > cheers -ben At that moment the script for disabling the GitHub credentials requirement was disabled but font rendering didn't work pretty well anyway. I 'm testing now the prebuild Linux image, following the mail by Tudor. Font rendering works pretty well and it is the smoothest installing experience so far (but I have already my first Red X screen of death already, few seconds after launching). I will post more detailed impressions later next week. Cheers, Offray _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
On 22/12/18 12:57, Offray Vladimir Luna Cárdenas wrote: > At that moment the script for disabling the GitHub credentials > requirement was disabled but font rendering didn't work pretty well > anyway. I meant: the script requiring the GitHub credentials requirement was disabled _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Sean P. DeNigris
Hi,
> On Dec 22, 2018, at 5:58 PM, Sean P. DeNigris <[hidden email]> wrote: > > Tudor Girba-2 wrote >> The current version runs inside the Pharo UI because we need to bootstrap. >> But, our goal is to build a complete IDE on the new stack. > > Does this mean it will offer Pharo an alternative UI (what I think you > mean), or that the final product will not be Pharo-based? It means that the language and the runtime will be the ones shipped with Pharo, but the whole user interface will be completely new. This means that from the current Pharo, only about half of it will be reused. Cheers, Doru > > > ----- > Cheers, > Sean > -- > Sent from: http://forum.world.st/Moose-f1310756.html > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.feenk.com "Every thing has its own flow." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
Hi Doru, On 21/12/18 17:40, Tudor Girba wrote:
Hi Offray, Thanks to you for this conversation.
On the technical side, the 64Bit distribution in the smoothest
installation of the new GT I had have so far. Just unzip it and
launch the image and you are done! After that you are welcomed
with a nice welcome window with beauty typographical render and
you can explore what the GT has to offer and experience its
potential first hand, which still brings kind of a mixed
experience:
I used Moose to build the first Grafoscopio versions, but there
was a lot of stuff that was related with software analysis that I
didn't really need for reproducible interactive documentation and
publishing nor for data science, activism and storytelling. So
once old GT was integrated into Pharo with Spec I used a more
minimal setup to deliver a more focused experience. I think that most times this relationship between Pharo and Moose
can be of creative tension, one pushing the boundaries and the
other offering a more stable experience where the innovations of
the former are integrated and debugged. But even after using Moose
as a fully integrated vision of what old GT have to offer in the
back and front end, I didn't see any migration path from previous
Moose with the old GT to the current GT, which is kind of
worrisome. I understand the idea of forks in FLOSS as a way of
dealing with politics behind the FLOSS movement and the
relationship between different visions and actors (individuals,
communities, enterprises, foundations, associations and so on). It
has happened before with Squeak, Pharo and Cuis and I'm fine with
that. And I understand that a healthy relationship with the past
means sometimes to break with it and jump into the future. That's why I think that the role of for profit and non for profit
institutions is to balance a sense of momentum and stability
around FLOSS. I would like to see a more clear road map for GT,
knowing ahead where backward compatibility will be broken and why,
which are the visions and, more importantly, how to participate
and where are the boundaries. These are difficult tasks, but if
the participation and boundaries are explored collectively, you
can also know about the first ones (visions, versions, forks,
compatibility). In that sense I think that Pharo is putting a good
example: we have a clear road map document and participation
process in the public repositories, there are public channels for
users and developers and the private companies know about them, so
they can put the boundaries about what is going to be done in the
open, with the community, and what is to be kept closed inside
company's frontiers and channels and the company's own velocity. I
don't know if Feenk is planing something similar for its new
vision, product and identity, and I don't know if the new
alternative will have its own non-profit organizations as a
neutral entity for all players using GT, but would be good to know
about that, not because there are not people willing to jump into
the future, but we would like to know to which future we're
jumping on. Without that I think that is a safer bet for myself
to rely on Pharo and see how migration paths could ensure
compatibility with my own past and the one of my local community
using Pharo and GT based tools. I hope that the open source nature
of both products (Pharo and new GT) will ease the
cross-pollination of the more interesting ideas, even without
sharing code, visions or UI.
I think that not only installation inconveniences is related
alpha, but also this jumping from old GT to new one without a
clear migration path (as is expected from alpha software and
processes). I'm fine with that too, but I think that once the new
GT reaches beta status the backward compatibility should be more
important and meanwhile the non regard of that should be stated
more promptly for previous and future GT users. I imagine that, at
some point Feenk will provide its users and customers with clear
support and migration paths regarding its open source products
(kind of what happens with Canonical and the Long Term Support
versions of Ubuntu).
Yes, it does. It seems that a fork is coming, at least UI wise
regarding Pharo and new GT, but if the community knows about it,
I'm fine with that. I think this thread also clarifies what active
users of old GT will expect from upcoming versions of new (non
alpha) GT regarding compatibility, open processes, visions and so
on. Hopefully we will reach that place together. Cheers, Offray _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
Hi Doru, Thank you very much for the detailed explanation. I have spent some time with the alpha now. I think it is absolutely fantastic! I love the new narrative style of the UI. This ties everything together beautifully and makes it easy to explore. That's really what I am lacking in my application. Currently it simply opens to a blank quasi-playground and it is not obvious what to type or how to get started. I started writing a separate HTML manual but I don't think that's the right medium -- much better with something interactive in the image like the Documenter. Just clicking around everything seemed to work basically smoothly for me. Maybe it's already time for me to port over to the new GT? Or what do you think the most likely obstacles would be in transitioning to this alpha version? Currently my custom inspector extensions are mostly based on Roassal and List/Tree/Table views. I also have one or two Glamour browsers. Is that all still there in one form or another? _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
... Some comments and questions if I may: The "+" button to quickly maximize a panel is fantastic. I am often looking at complex visualizations that should really be full-screen and it was always too much trouble to "drag" them to full screen and back. Is the Spotter still a part of GToolkit? If not then what replaces it? (I can see that it is present in the image but Shift-Return doesn't seem to invoke it when the GTInspector window has focus.) Is it still possible to pan left-right between "miller columns"? I see the squares at the top representing panes but clicking and dragging them doesn't seem to do anything. How come a double-click is now needed to inspect an object? Is single-click going to have a new function? Once more - great work you guys are doing ! On Thu, 27 Dec 2018 at 11:06, Luke Gorrie <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Hi,
Thanks for the feedback! I am happy you like the new possibilities and that you see the incentives to move to the new world :). The inspector part is working quite well. The main reason we call it an alpha is because of the missing pieces to get to a full environment. You noticed the issue of Spotter. The existing Spotter is the one that is included in the old GT and it lives in the Morphic world. When the focus is in the new inspector, that means that keybindings are handled by Bloc and this is a separate world from Morphic. At present time, we can embed Bloc in Morphic but not the other way around as we want no binding from Bloc to Morphic. For this reason, unhandled keys are not propagated from Bloc to Morphic and that is why pressing Shift+Enter does not open Spotter. So, we will have a Spotter, but that will be another implementation. Other unfinished tools are the Debugger and Coder, but these are likely less relevant for your use case. A few other missing pieces: - some widgets such as a tree are not yet implemented. So, we do not yet have a tree view in inspector. - the text editor requires a few enhancements for navigation support. - scrollbar The Miller-columns interface can be scrolled with the touchpad left-right. Can you confirm? About clicking vs double-clicking: Indeed, we now distinguish between selecting and spawning. As soon as there is a page to the right, selecting will populate that page. However, if there is no page to the right, simply selecting in a list will not spawn, like in the old inspector. Like this, you can work on a page without the page scrolling from underneath you. Please note that between pages we have triangles which are actually buttons. Selecting in a list shows a triangle. Clicking on the triangle spawns. So, you can either double-click to spawn, or you can select and then click on the triangle. Once spawned, simple selection is enough. Does this clarify the situation? About Roassal: In the new GT we have GtMondrian which is similar to the one from Roassal. We do not yet have support for creating charts (like bar or line charts). About the porting strategy: When you have the new GT loaded, the old Inspector will get a _GT pane that will essentially embed the new views in the old inspector. These also allow for interaction. Like this, you can port at your pace and switch only when you are ready. Cheers, Doru > On Dec 27, 2018, at 11:36 AM, Luke Gorrie <[hidden email]> wrote: > > ... Some comments and questions if I may: > > The "+" button to quickly maximize a panel is fantastic. I am often looking at complex visualizations that should really be full-screen and it was always too much trouble to "drag" them to full screen and back. > > Is the Spotter still a part of GToolkit? If not then what replaces it? (I can see that it is present in the image but Shift-Return doesn't seem to invoke it when the GTInspector window has focus.) > > Is it still possible to pan left-right between "miller columns"? I see the squares at the top representing panes but clicking and dragging them doesn't seem to do anything. > > How come a double-click is now needed to inspect an object? Is single-click going to have a new function? > > Once more - great work you guys are doing ! > > On Thu, 27 Dec 2018 at 11:06, Luke Gorrie <[hidden email]> wrote: > Hi Doru, > > Thank you very much for the detailed explanation. > > I have spent some time with the alpha now. I think it is absolutely fantastic! > > I love the new narrative style of the UI. This ties everything together beautifully and makes it easy to explore. That's really what I am lacking in my application. Currently it simply opens to a blank quasi-playground and it is not obvious what to type or how to get started. I started writing a separate HTML manual but I don't think that's the right medium -- much better with something interactive in the image like the Documenter. > > Just clicking around everything seemed to work basically smoothly for me. Maybe it's already time for me to port over to the new GT? Or what do you think the most likely obstacles would be in transitioning to this alpha version? > > Currently my custom inspector extensions are mostly based on Roassal and List/Tree/Table views. I also have one or two Glamour browsers. Is that all still there in one form or another? > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.feenk.com "Every thing has its own flow." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Thanks for the explanations! I like the separation between selecting (single-click) and spawning (double-click). The miller column panning is indeed working with a two-finger drag on the touchpad. I will need to test whether this gesture works when running GT on Linux and operating it on a Mac via VNC. That's the most common setup for our application. Spotter is not urgent for us. I have written some extensions for it but we aren't really using them much yet. If the inspector is working well then that's the main thing. I do have one very important Roassal visualization that I need to bring with me smoothly somehow. Question is whether to port if over to the new framework or somehow smoothly embed Roassal in the new GT? The visualization is for compile SSA intermediate representation code and looks like this: There are some important properties about this diagram: - These are two digraphs stacked on top of each other. - Nodes are always placed below their parents. - Y-position indicates the max number of edges to reach parent nodes. - Extra edges (red) can create cycles and should be ignored for layout purposes. - Nodes can be compound shapes i.e. colored opcode and optionally fused immediate operands in white. - Each node is an object that can be selected and inspected in the next miller column. Can this be done in the new framework with similar effort to the old one? On Fri, 28 Dec 2018 at 09:46, Tudor Girba <[hidden email]> wrote: Hi, _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Tudor Girba-2
WOW On Thu, Dec 20, 2018 at 01:57 Tudor Girba <[hidden email]> wrote: Hi Luke, _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Luke Gorrie
Hi,
The visualization you describe should be easily doable in the new world. Did you write the visualization in plain Roassal or with the RTMondrian API? Cheers, Doru > On Dec 28, 2018, at 11:32 AM, Luke Gorrie <[hidden email]> wrote: > > Thanks for the explanations! > > I like the separation between selecting (single-click) and spawning (double-click). The miller column panning is indeed working with a two-finger drag on the touchpad. I will need to test whether this gesture works when running GT on Linux and operating it on a Mac via VNC. That's the most common setup for our application. > > Spotter is not urgent for us. I have written some extensions for it but we aren't really using them much yet. If the inspector is working well then that's the main thing. > > I do have one very important Roassal visualization that I need to bring with me smoothly somehow. Question is whether to port if over to the new framework or somehow smoothly embed Roassal in the new GT? > > The visualization is for compile SSA intermediate representation code and looks like this: > > <Screen Shot 2018-12-28 at 11.25.06.png> > There are some important properties about this diagram: > > - These are two digraphs stacked on top of each other. > - Nodes are always placed below their parents. > - Y-position indicates the max number of edges to reach parent nodes. > - Extra edges (red) can create cycles and should be ignored for layout purposes. > - Nodes can be compound shapes i.e. colored opcode and optionally fused immediate operands in white. > - Each node is an object that can be selected and inspected in the next miller column. > > Can this be done in the new framework with similar effort to the old one? > > On Fri, 28 Dec 2018 at 09:46, Tudor Girba <[hidden email]> wrote: > Hi, > > Thanks for the feedback! > > I am happy you like the new possibilities and that you see the incentives to move to the new world :). > > The inspector part is working quite well. The main reason we call it an alpha is because of the missing pieces to get to a full environment. > > You noticed the issue of Spotter. The existing Spotter is the one that is included in the old GT and it lives in the Morphic world. When the focus is in the new inspector, that means that keybindings are handled by Bloc and this is a separate world from Morphic. At present time, we can embed Bloc in Morphic but not the other way around as we want no binding from Bloc to Morphic. For this reason, unhandled keys are not propagated from Bloc to Morphic and that is why pressing Shift+Enter does not open Spotter. > > So, we will have a Spotter, but that will be another implementation. Other unfinished tools are the Debugger and Coder, but these are likely less relevant for your use case. > > A few other missing pieces: > - some widgets such as a tree are not yet implemented. So, we do not yet have a tree view in inspector. > - the text editor requires a few enhancements for navigation support. > - scrollbar > > The Miller-columns interface can be scrolled with the touchpad left-right. Can you confirm? > > About clicking vs double-clicking: Indeed, we now distinguish between selecting and spawning. As soon as there is a page to the right, selecting will populate that page. However, if there is no page to the right, simply selecting in a list will not spawn, like in the old inspector. Like this, you can work on a page without the page scrolling from underneath you. Please note that between pages we have triangles which are actually buttons. Selecting in a list shows a triangle. Clicking on the triangle spawns. So, you can either double-click to spawn, or you can select and then click on the triangle. Once spawned, simple selection is enough. Does this clarify the situation? > > About Roassal: In the new GT we have GtMondrian which is similar to the one from Roassal. We do not yet have support for creating charts (like bar or line charts). > > About the porting strategy: When you have the new GT loaded, the old Inspector will get a _GT pane that will essentially embed the new views in the old inspector. These also allow for interaction. Like this, you can port at your pace and switch only when you are ready. > > Cheers, > Doru > > > > > On Dec 27, 2018, at 11:36 AM, Luke Gorrie <[hidden email]> wrote: > > > > ... Some comments and questions if I may: > > > > The "+" button to quickly maximize a panel is fantastic. I am often looking at complex visualizations that should really be full-screen and it was always too much trouble to "drag" them to full screen and back. > > > > Is the Spotter still a part of GToolkit? If not then what replaces it? (I can see that it is present in the image but Shift-Return doesn't seem to invoke it when the GTInspector window has focus.) > > > > Is it still possible to pan left-right between "miller columns"? I see the squares at the top representing panes but clicking and dragging them doesn't seem to do anything. > > > > How come a double-click is now needed to inspect an object? Is single-click going to have a new function? > > > > Once more - great work you guys are doing ! > > > > On Thu, 27 Dec 2018 at 11:06, Luke Gorrie <[hidden email]> wrote: > > Hi Doru, > > > > Thank you very much for the detailed explanation. > > > > I have spent some time with the alpha now. I think it is absolutely fantastic! > > > > I love the new narrative style of the UI. This ties everything together beautifully and makes it easy to explore. That's really what I am lacking in my application. Currently it simply opens to a blank quasi-playground and it is not obvious what to type or how to get started. I started writing a separate HTML manual but I don't think that's the right medium -- much better with something interactive in the image like the Documenter. > > > > Just clicking around everything seemed to work basically smoothly for me. Maybe it's already time for me to port over to the new GT? Or what do you think the most likely obstacles would be in transitioning to this alpha version? > > > > Currently my custom inspector extensions are mostly based on Roassal and List/Tree/Table views. I also have one or two Glamour browsers. Is that all still there in one form or another? > > > > > > _______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.list.inf.unibe.ch/listinfo/moose-dev > > -- > www.feenk.com > > "Every thing has its own flow." > > > > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.feenk.com "The coherence of a trip is given by the clearness of the goal." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
In reply to this post by Kjell Godo
> On Dec 28, 2018, at 1:08 PM, Kjell Godo <[hidden email]> wrote: > > WOW :) What part of it do you like? Cheers, Doru > On Thu, Dec 20, 2018 at 01:57 Tudor Girba <[hidden email]> wrote: > Hi Luke, > > I am happy this looks exciting :). > > About the confusion part: The Glamorous Toolkit we are working on right now is a complete new world built on a complete new graphical stack that does is not based on the existing stack that ships with Pharo. It is not an evolution. It is a leap. > > The goal of the new GT is to propose a completely reshaped programming experience that enables moldable development. You will find the concepts from the old GT in the new world as well. For example, the Inspector is extensible in similar ways and the API is similar as well. > > But, in the new world, we are bringing the concept much further. For example, Documenter provides a whole new kind of a tool that can mold to unify multiple workflows (like data notebooks, code documentation, or tutorials) right in the IDE. Coder provides the infrastructure for manipulating code that can mold its shape as you type. Transcript allows you to embed various widgets to transform the otherwise dull experience of a console into a live one. > > Behind the scenes GT comes with several engines. The Examples engine enables example-driven development which also bridges the gap between testing and documentation effort, especially when combined with Documenter. Releaser is able to release deeply nested projects. Phlow offers an engine that shares similarities with Glamour. Completer provides moldable completion. Visualizer offers a couple of visualization engines such as Mondrian. > > All of these are possible because of the underlying graphical stack made of Sparta/Bloc/Brick. > > All in all, we believe that the new GT enables a new way of programming. Individual features can be attractive, but our goal is to reshape the development experience. > > Does this address the concern? > > Cheers, > Doru > > > > On Dec 19, 2018, at 2:09 PM, Luke Gorrie <[hidden email]> wrote: > > > > On Fri, 14 Dec 2018 at 05:13, Tudor Girba <[hidden email]> wrote: > > Please do let us know what you think .. and, of course, what you feel. > > > > I'm feeling excited and confused :). > > > > Excited because I love seeing all these new demos streaming out and I'm itching to put new capabilities to work. > > > > Confused about the roadmap. How does this "new" Glamorous Toolkit relate to the "old" one that I learned about last year from the Moldable Tools thesis? Is this a new version or a complete rewrite? Is it backwards compatible or completely reimagined? Is adopting the new version a seamless process or is porting required? Are frameworks like Glamour still there behind the scenes or were they replaced? etc. > > > > > > <gt-documenter-magic-markup.gif><gt-0-4-0.png>_______________________________________________ > > Moose-dev mailing list > > [hidden email] > > https://www.list.inf.unibe.ch/listinfo/moose-dev > > -- > www.feenk.com > > "Things happen when they happen, > not when you talk about them happening." > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.list.inf.unibe.ch/listinfo/moose-dev -- www.feenk.com "Yesterday is a fact. Tomorrow is a possibility. Today is a challenge." _______________________________________________ Moose-dev mailing list [hidden email] https://www.list.inf.unibe.ch/listinfo/moose-dev |
Free forum by Nabble | Edit this page |