IDE Suggestions

Organizing tasks to work on, New Features Ideas, Building LCS & LCB Libraries & Widgets, Redecorating and Modifying the IDE, Hacking / Editing Tools, Compiling the Engine from Source, etc.
User avatar
barko
Posts: 4
Joined: Sun Sep 12, 2021 3:26 pm
Contact:

Re: IDE Suggestions

Post by barko »

OpenXTalkPaul wrote: Tue Nov 09, 2021 6:19 pm Is this just good for GTK Desktop, or will it work for QT/KDE desktop too? Asking because I'm currently using KDE Plazma.
I'm sure you can use this on all linux desktops. I use only GNOME desktop, but I'm sure you can use it on other desktops too. The "flock" program is part of every linux system as far I know.

P.S. To be clear about this part of my exec line: env GTK_DATA_PREFIX="" === this one is there just because I'm using dark mode on my gnome desktop and I do not like dark mode of OpenXTalk, so with that I force light mode usage for some softwares.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

xAction wrote: Mon Nov 08, 2021 3:28 pm You can still drag and drop from the file system to a single window UI, I do it all the time with Blender, paint.net, Audacity, Notepad++, Inkscape,etc etc.

A unified application window doesn't have to be nailed to the four corners of the screen at all times, it can still be resized, dragged down the screen, but you can instantly tell what palettes belong to what window. 7 single window applications running in perfect harmony.
7SingleWindowApps.png
Sure, but I still don't like having all of my palettes tethered to a window, and I like to have seperate documents open in their own windows (as opposed to tabs) that I can individually minimize (iconify or whatever), or I might even want to move a palette onto another physical screen in multi-monitor setup, or networked screen with something like Apple's SideCard + iPad (there's other apps that can do that sort of thing)...
but to each their own...

There's secret single app mode settings and things in macOS / mac's Dock that can help if mixing windows from different apps confuse you, but I'm used to it. You can also option-click onto the Finder to hide the app that your leaving in the background (works all the way back to System 7!) and you can have seperate workspace screens too (but not I'm not real big on that either).
xAction wrote: Mon Nov 08, 2021 3:28 pm Right now I open up two copies of LC and I've got two floating menu bars, two floating toolbars, floating stack windows, floating inspectors who do they belong to is anyone's guess. Of course coming from a Mac the obvious question arises "Why the hell would you have two of the same app open at the same time?"
Windows is a strange and terrible place where anything can happen.
With LC there's one very good reason to have multiple instances running on any platform, multi-processing / multi-threading! The Engine only has two threads, so if you want to use more then that you can launch another instance as a sub-process hidden in the background, and then have the two talk to each other with some Inter Process communication (Sockets, Apple Events, etc.)
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: IDE Suggestions

Post by richmond62 »

Maybe I'm potty, but what with GIMP and LiveCode (my 2 main "ports of call") both having
non-unified GUIs I can honestly say I do NOT like single window GUIs.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions (Align Tool & Guides)

Post by OpenXTalkPaul »

xAction wrote: Tue Nov 09, 2021 9:46 am When it comes to signifcant numbers of controls aligning by script is what works best.
Sure, scripts attached to buttons, in palettes!
xAction wrote: Tue Nov 09, 2021 9:46 am When you have all text of labels (for instance) right aligned, and on the left of the stack, they all need to be aligned to the right of one of the labels and nudging up against the left of one of the objects they are labeling. Sometimes the rect of the label has to bleed off the left of the stack to fit the text while maintaining the right aligned label look.
In this example all the label fields are the same size, the labels on top are bleeding off the left of the stack by as many pixels as the width of the red line.
AlignExample.png
Not sure what you mean exactly as you can already right-align objects, from the menu or palette, but the palette is buried in a Property Inspector tab tab that only shows up when you have multiple objects selected. That's why I'm making a separate palette and adding align to window features that will work even on a single object selection. There's also a few pop-out settings in the Prop Inspector's align/distribute tab, I want those all out front and center with fields that I can type numeric pixel distance values into.
xAction wrote: Tue Nov 09, 2021 9:46 am Maybe a new object class based on the line graphic called Guides with a radio toggle between properties xGuide and yGuide (or checkboxes for both? two for one special on guides) would be useful.
The guide object could be called by ID or auto named by its set location in x or y it could also have ,color, dash ,thickness properties. Then:
AlignExample2.png

The difference between guides and line graphic being they can all be locked/unlocked and/or shown/hidden with a single menu choice, and when switching to browse tool, individually temporarily manipulated out of their locked state with an alt-click-drag, set quickly with a single number value, visible during development and automatically hidden when the runtime is built. A "Snap to Guides" toggle might work on a similar background script as the grid is using, only snapping to the guides when in some proximity without making every drag of an object feel lumpy.
Do you work in the printing industry? I'm extremely familiar with using Die cutting /CAD layout guides (a good chunk of my career has been in packaging / flexo stuff), we've always kept die-lines on a layer we can turn on for proofing/off for production output...

I wasn't' thinking of anything too fancy, I was thinking Guides in OXT could be drawn into a layer in a background group maybe or perhaps as a pop-over widget (might render faster and not interfere as much), that's generated on the fly from a custom property, a simple list(s?) of horizontal or vertical points and color, just enough info for how/where to draw the guides lines at when needed (set from by checking a menu item, and/or preferences property). That guides list(s) property(ies) could easily be attached / removed from a stack or card. Maybe snap-to-guides could be incorporated as well.
Some people have requested guides, and I'm 100% certain I had some stacks/plugins/extension that added them to the IDE in the past, although I personally didn't find use for them. In the page layout industry they are necessary to keep your text out of a gutter or for defining die cuts and bleeds or for maintaining border ratios on multiple sized ads

Maybe when electronic paper finally arrives in the 22nd century we'll be ahead of the curve with our page layoutishsness.
Yes! There has recently been two different releases from community, one from Bernd Niggemann, and one from the Ferris Logic guys, that add guides. Guides appear while moving objects, similar to Adobe Illustrator's "Smart Guides" feature (which I like), but I don't think they're like static guides lines that can be saved with a stack or card.

I don't think it will be 22nd century for ePaper, I think it will be much sooner then that... Xerox, 3M and others have already been working on delivering digital paper-thin displays for decades!
Here's an article from 1999!: https://www.wired.com/1999/11/page-makers/
But now that sort of tech is actually starting to show up in consumers hands as bendable cell phone screens!
And monochrome ePaper is getting to be higher-res:
https://www.electronicspecifier.com/pro ... ay-density
xAction
Posts: 282
Joined: Thu Sep 16, 2021 1:40 pm
Contact:

Re: IDE Suggestions

Post by xAction »

Maybe I'm potty, but what with GIMP and LiveCode (my 2 main "ports of call") both having
non-unified GUIs I can honestly say I do NOT like single window GUIs.
A) Gimp has a unified GUI as illustrated in my 7 apps working in harmony image above
27 Docked Palettes, One Window
GimpDockedPalettesUnifiedUI.png
GimpDockedPalettesUnifiedUI.png (84.73 KiB) Viewed 8418 times
B) opinions of stubborn old men who are resistant to modern paradgims (like Scratch for instance) are not going to be attracting new users to the platform,

You have one chance to make a first impression, and if that first impression directly opposes the expected paradigm, you lose the customer, user, valuable feedback and more imporantly any potential influence on any person that comes after the one you just lost.

You see that in LC forums. People come along, they ask a question, there's nobody to answer the question, and the person asking is never seen again. I was digging around in posts and found that Bill asked about something in May 2018, didn't get a response until December, he didn't show up in the forums again for three years. just saw the same thing on the LC subreddit. 15 days no response, and that's after they couldn't get any help in /r/codinghelp

First Impressions Matter: 8 Surefire User Interface Design Tips
1. Limit choices.
Don’t provide an overwhelming number of options or preferences for your users. Too many choices can be intimidating and confusing and can make people not enjoy using your app. Your job is to design the software, which means choosing what it should do. Don’t take the easy way out and provide loads of options for your users all at one time.
2. Be familiar.
Sometimes you may need to implement an entirely new user interface metaphor in order to design your app. But typically this is unnecessary. Though it can be fun creating new and snazzy UI layouts, your users will likely not appreciate them much. Why? Because they won’t understand them or won’t know how to use them. A unique UI design isn’t always practical – stick to what people are familiar with.
I'm totally used to sloppy windows all over the place LC, but we three are old men, we are not born and raised to unified interface iOS/Android single finger UIs and we are standing right now on a deserted isle, building a bonfire that says "We hate your new fangled paradigms and your despicable neatness , go away" will not attract the brains necessary to maintain the platform.

Mac only solutions won't work for Windows users or Linux users, and non-uniform multi-window/palette solutions will never be portable to handheld devices like iPad or Android, like Codea, RapidClipse, Kintone, Visual Studio Code

How many potential users have we lost from just that list? 80.9 million iPad users, not coming here anytime soon.
In the Stack Overflow 2019 Developer Survey, Visual Studio Code was ranked the most popular developer environment tool, with 50.7% of 87,317 respondents reporting that they use it. Visual Studio Code was first announced on April 29, 2015, by Microsoft at the 2015 Build conference.
Three years to enamor 43,658 active developer nerds who use Stackoverflow. LC forums went online in 2006, fifteen years they registered 119,000 odd users. Almost 20 years and still no iOS or Android IDE.

If The IDE is does not work consistantly on all platforms then tutorials won't be consistant across platforms. LC already has that issue with their tutorials where things are very Mac-centric.

I'm not saying make a unified UI overnight, but it should be on a to-do list so that the appropriate research on how to make it happen is acquired and applied when time permits. We should be moving in a direction where the iDE looks like a 21st Century app.
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: IDE Suggestions

Post by richmond62 »

opinions of stubborn old men
LOL: got me there. :lol:

ANd while I'm "here" one can coose with GIMP one way or the other: so stubborn old men are kept
happy as well as superficial bright young things.

Code: Select all

but we three are old men, we are not born and raised to
Not entirely sure about that one: those steroids I was taking when I had COVID last month have had a funny effect. 8-)

No we were not born and raised to be one-trick, twitchy-finger people: but one-trick twitchy-finger people won't get
very far with a unified GUI either as the problem is in the brain rather than the finger.

Mind you, the idea of DOCKED PALETTES seems a good idea: so there is a choice.
https://richmondmathewson.owlstown.net/
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

I take offense to being called "resistant to change" (but not offended by stubborn because I'm still basically stuck on HyperCard/xTalk, or old...for the record I'm 51). I'm resistant to change that's not good change. Not all change is good change.
xAction wrote: Wed Nov 10, 2021 4:31 am I'm not saying make a unified UI overnight, but it should be on a to-do list so that the appropriate research on how to make it happen is acquired and applied when time permits. We should be moving in a direction where the iDE looks like a 21st Century app.
Well get crackin' on that then! No one is stopping you!
If I were working on that, which I think would be fine to add as an option later, maybe even the default option (even though I'd hate it), I would make something like the back-drop window (which is already on by default in the IDE) into a resizable window to use as an application frame, and then force all other stack windows to be contained to that windows bounds. Now if you were to port the IDE itself to mobile platforms, there is currently screen space / single window constraints on those platforms which has likely driven the trend towards designing single window interfaces on the desktop too in past decade, but that may not always be. I expect that trend ( and hopefully flat UI icons too) will eventually fade into the past, and then the next UI trend will arrive. Maybe that trend will be where people want to use their mobile devices as input devices for their larger devices and put their palettes onto a multi-touch device (for Piano chords, gestures, etc.), like in Apple "SideCar" I mentioned, and similar NON-APPLE systems where people use other device's screens over a network. At any rate I'll STILL not want all of my app windows and palettes boxed in and tethered to a single frame, call me stubborn, I just don't like to work that way, and I know maybe 30 other people who don't work like that either.
Screen Shot 2021-11-10 at 1.31.29 PM.png
Screen Shot 2021-11-10 at 1.31.29 PM.png (641.79 KiB) Viewed 8397 times
We aren't making an app like GIMP or Adobe CS (and honestly I don't know anyone, young or old, that's working in an actual production environment I've worked in, that are using Illustrator, PhotoShop, etc. in a single window frame, in fact most are are using multiple monitors...) we're modifying an existing Development Environment, mostly used to create and edit live running apps. I have the latest Android Studio right here and there is plenty of windows / palettes that aren't tethered to each other, boxed into a single frame and I didn't change any default settings. If I compile a desktop app in most any IDE it will test run in another window, the way it would as a standalone app.
Screen Shot 2021-11-10 at 1.03.20 PM.png
Screen Shot 2021-11-10 at 1.03.20 PM.png (478.62 KiB) Viewed 8397 times
Too many options? You should see how many options are in the AS preferences window, it's crazy! That's because It's an IDE and NOT a Graphics app... but for the record I've seen Blender's default UI and it's got a bazillion things stuff into the single app window frame.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

I'll second that on, the "DOCKED PALETTES", which is the way I have it in my Adobe Apps, docked into tabs and some snapped together at the sides, about 3 or 4 groups of palettes on screen at a time.
I just turn off the "Application Frame" thing, and I don't used a single tabbed documents window.
micmac
Posts: 107
Joined: Mon Sep 13, 2021 9:46 pm
Contact:

Re: IDE Suggestions

Post by micmac »

Paul...


do you know this resource page
https://developer.apple.com/design/resources/

if you scroll way down to Symbols - you will find plenty of nice and consistent icons

Mic
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

micmac wrote: Wed Nov 10, 2021 7:19 pm Paul...


do you know this resource page
https://developer.apple.com/design/resources/

if you scroll way down to Symbols - you will find plenty of nice and consistent icons

Mic
I think I may have stumbled on that page once before, but that SF Symbols font way down the bottom could be very helpful (as long as there's no licensing issues attached). And they even included a nice app for browsing the symbols! Thanks!

EDIT: NOPE! Can't use it, it's Apple's property for their systems, not a FOSS friendly license... Google's Material Icon set is Apache License so I guess I'll be using that or maybe Font Awesome (which is what LC already used)... or making some more of my own from scratch.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

richmond62 wrote: Wed Nov 10, 2021 7:07 am Mind you, the idea of DOCKED PALETTES seems a good idea: so there is a choice.
I'm thinking about this a LOT now! How could we make this work? My imagination is racing...
I'm thinking template stack would be the key...

Template stack gets cloned into existence in memory as a palette.

All the different palettes in the IDE would be in this one template stack.
Could be as sub-stacks and/or cards on stack/substack that have tabs that could be hidden when a palette's tab is "torn off" via a drag event.

The dragging of a tab out of a palette stack triggers a new cloning of the template stack, creating another separate palette window. Then the first pallette hides the tab and moves to a different tab card/palette in that window, giving the appearance that the "tearing off" created a new separate palette (which it did).

If the tab was dragged onto an already existing clone of palette window, then the corresponding tab/card gets shown in that stack which would giving the appearance that the tab was torn off of one palette and merged into the other.
If the tab being torn off is the last visible tab on the first stack, this merging closes that palette window, removing it from memory without saving.

What you guys think?
I might do some experimenting with that later tonight if I can stay awake.
xAction
Posts: 282
Joined: Thu Sep 16, 2021 1:40 pm
Contact:

Re: IDE Suggestions

Post by xAction »

I might do some experimenting with that later tonight if I can stay awake.
Write it down, then sleep on it, the best idea will be there when you wake up.
I think you have the basic premise there.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

On the Page-Layout / Guides front, I've been testing Ferris Logic's DevGuides, which is a script extension (not a plugin) that works pretty well so far, might just include that with the IDE. I'm sure those guys would be OK with it being added to OXT base install. They were some of the first people to contact me about continuing an LCC fork (in fact I'm hoping they'll release their DataGrid replacement LCB Widget as GPL OS as the told me they would).
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

Over the weekend I did some work to debrand the IDE stack called "Resource Center" (revResourceCenter.rev), which was still branded as Runtime Revolution! Obviously they weren't even look at this stack as any sort of priority to keep up to date.

This stack has some examples of some basic things you might want to do with this development environment. It's fairly dated stuff. It has at least one example that is so old that it doesn't work properly anymore, the custom-windowshaped iTunes controller thingy. It launched iTunes but then it's AppleScript calls to iTunes for Play, Pause, Next Track, etc. fail.

So this stack needs some tender love and care. I think it would be the perfect spot to integrate at least some, if not all of Terry's beginners stack (which is what this thread was originally about).

I was thinking maybe this could also be made into another "IDE User Customizable Stack" that could be substituted in the IDE startup process by placing an specifically named stack in the user's Customization path (~/Documents/My OpenXTalk/ on macOS for example). This is the way that I have the Start Center stack setup now, but you could do the same for any part of the IDE.

In the meantime, in order to have that stack be loaded as an Editable stack, I created a substitute revResourceCenter.rev stack that only acts as a forwarder loader for a renamed copy called "ResourceCenter.rev", loading it as a regular topLevel stack instead of a palette. If anyone wants to fiddle around with parts of the IDE this seems like good way to do it.
You just need a on preloadStack (in the card 1 script):

Code: Select all

preOpenStack
   go to stack (revEnvironmentToolsetPath() & "/palettes/ResourceCenter.rev")
end preOpenStack
and on resumeStack (in the stack script)

Code: Select all

on resumeStack
   go to stack (revEnvironmentToolsetPath() & "/palettes/ResourceCenter.rev")
end resumeStack
I set the "forwarder" stack to be invisible, and just to be extra sure I also set the stack size to 1x1 px with stack scaling set to 0.1, which makes it 1/10th of a pixel so it will never get rendered to the screen in anyway.
xAction
Posts: 282
Joined: Thu Sep 16, 2021 1:40 pm
Contact:

Re: IDE Suggestions

Post by xAction »

There's a referene to Windows Vista in there and it was designed when monitor resolutions were lower, probably using the (small fonts), it's crazy small text now, since it's not HTML it can't be just control+scrollwheel enlarged.

The video capture sample is totally broken.
Remember that spambot from a week ago with the "Girl on your desktop?" message...I put that metaphor to use with the Bouncy demo...I was going to post it but I didn't want to offend anyone with my misogyny, it's hilarious though, everyone should having a bouncing person on their desktop.

Probably could just start from scratch with the resource center.

The resource center might be more versatile if it worked like a localized "Sampler Stacks" ...without trying to show multiple image previews at a time.The filter is handy, since maybe a user has a 'tag' in mind for what they are looking for. Keep the disclosure arrows from the resource center, then just preview the thing a user clicks on, with a brief description. Then allow them to open the stack if they are interested.

You'd have a directory: Resource Center/
Subdirectory Games (for instance)
Subdirectory Hangman, with the stack, a preview png and a short description text all with the same name as the folder
maybe a tags text file to help the filter find the material, that could include categories the resource center can find the sample under and the script functions used by the sample?

Then can open a stand alone stack with the example instead of trying to mash everything into that sidebox with 9pt type.
If we go with the unified window paradgim, could just set the rect of the new open stacks to size of the current 'workbench' area and add a tabbed group control in a seemingly seemless palette above the workbench area to track all the stacks you've opened.

Hmm can't do a dark mode UI with Tab Menu button, only accepts a foreground color.

Modifying the IDE with customizable stacks in the start up path is a good way to go.

If we can embed multiple scripting langauges, can start up the IDE to use the UI/Widget elements but allow those to be scripted with other languages the way wxWidgets, QT, FLTK etc work with multiple languages. Shopping an idea like that around might get people already invested in other languages on board.

Schmooz some computer programming/education user groups to have a customized startup with their own logo and lesson/activities plan. There's some standalone programming education shops in strip malls..well there were before the pandemic...but when they make a comeback an easy to learn IDE with their logo on the startup screen might be attractive to them.

Or rebrand/market it as a scriptable graphics/page layout app and suprise people with its amazing powers as an IDE, sneak right under their radar. I thought it'd be fun to script Scribus, but Python, bleh.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: IDE Suggestions

Post by OpenXTalkPaul »

I definitely want to make as much of the IDE as customizable and modular as makes sense.
That way it will be easier for US to expand on and so WE can be agile in keeping it up to date and expand.
So replacing revReapurceCenter.rev with a forwarder, let’s ANYONE create a stack called ResourceCenter, drop it into that folder (or edit the forwarder scripts to point to a subdirectory or somewhere else) and edit away!
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: IDE Suggestions

Post by richmond62 »

2013, LiveCode Kickstarter:
-
GUIx.png
GUIx.png (230 KiB) Viewed 8394 times
https://richmondmathewson.owlstown.net/
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: IDE Suggestions

Post by richmond62 »

SShot 2021-11-19 at 18.15.38.png
SShot 2021-11-19 at 18.15.38.png (6.77 KiB) Viewed 8392 times
-
I wonder if a clever idea might not be to use images of what the controls
look like when they are placed on a card rather than the current aqua-blobs.
https://richmondmathewson.owlstown.net/
micmac
Posts: 107
Joined: Mon Sep 13, 2021 9:46 pm
Contact:

Re: IDE Suggestions

Post by micmac »

Hi

One thing that speak against a one window design is when one wants to develop full screen projects.

Many of the things I have made over the years have been full screen projects.

Just to mention it.

Mic
User avatar
richmond62
Posts: 2621
Joined: Sun Sep 12, 2021 11:03 am
Location: Bulgaria
Contact:

Re: IDE Suggestions

Post by richmond62 »

Hi, Mic,

Personally I have very little against the current LiveCode "thing", especially as I tend to do my programming
on machines with 2 or 3 monitors, so I can move palettes all over the place when I am working on something
that is or is fairly nearly full-screen.

However, a lot of people seem to "go" for single-windows IDEs.

The sensible thing would be, a bit like GIMP, to let the user choose between 2 options.

Richmond.
https://richmondmathewson.owlstown.net/
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests