Xojo: Are we there yet?



  • I was always surprised to see Blakeyrat mention REALbasic favourably. REALbasic 3 was the wretched heap of scum-sucking garbage that sucked all the life out of me years ago. No version since has ever shown serious improvement.

    The project has been rebranded as Xojo. Gone is the retarded "it's like, real basic, man" name (which must be far harder to take seriously in the US, unlike other countries where "real" is not used as an intensifier), replaced with one that's meant to play to its strengths as one of the few cross-platform development environments which, to this day, still lacks dynamic window layout to cater for the differences in control sizes and spacings in addition to localisation, custom user fonts etc.

    My first impression of the IDE is ... why is it still using Windows XP Open/Save dialogs?

    How can you not notice that every time you go to open/save anything, your libraries and favourite folders don't show up on the left? I use an elderly text editor from 2006 called JujuEdit, and even that manages to use native Windows 8 Open/Save dialogs that didn't even exist when it was written:

    That just sums it all up for me.

    The funny thing is that the documentation for OpenDialog demonstrates a native Vista dialog box. Not sure what they've done to make that ONLY work on Vista ...



  • It is easy, the common controls are selected using the embedded manifest.



  • @henke37 said:

    It is easy, the common controls are selected using the embedded manifest.

    Right; their manifest is wrong, but it's still like a ... maybe 5 minute fix.

    Anyway, I only talked up RealBasic due to the fact that it's 1) cross platform, and 2) isn't simply a wrapper around a database (in the way that Filemaker is).

    Cross-platform GUI development environments, at least ones that use native widgets, are sadly very very rare. But even when I was involved in the RealBasic community (which was the 4.x versions), it was clear the company that ran it didn't have a clue-- they kept trying to put in video game features for example (really!?).

    Just another thing to file into the "coulda been great" rolodex.



  • @blakeyrat said:

    Right; their manifest is wrong, but it's still like a ... maybe 5 minute fix.

    You do get native controls, sort of (columnar list boxes are still hilariously broken, for example — they really can't get those to work). I am sure the file dialogs would not require a difficult fix — it's just a glaring omission that indicates one more ball that their eyes aren't on. Most of their time seems to have gone into replacing the badly-written but usable and logical IDE with a really horrible one for 2013.

    @blakeyrat said:

    Cross-platform GUI development environments, at least ones that use native widgets, are sadly very very rare.

    Firefox does a wonderful job of emulating native widgets (at least, in Windows) — again, list boxes are the most obvious exception. It's not native widgets themselves, but more that different interfaces have different fonts, control sizes, and control spacings, and that you can't cater for this with a single, static layout. Besides, I'm less bothered about whether a widget is native, than whether it's intelligent. I don't want to have to constantly patch in my own control subclasses to get the basics to work. I've even had to replace StaticText as the REAL ones didn't use the native system colour, although as XP gradually dies out, this will become less of an issue as Microsoft took more of your choices away.

    There is only one solution to cross-platform interfaces: dynamic layout. Dynamic layout is used by XUL (e.g. Firefox), Qt and GTK (e.g. Linux), OPL for EPOC32, AutoHotkey (which in those terms is what OPL should have been), wxWidgets (badly), HTML-based software, possibly Windows Forms, and probably plenty more besides. It kills a lot of birds with one stone, but it's just not "real basic". Unfortunately, as I've come to realise, there is no "real basic" solution to cross-platform, as operating systems differ so much at so many levels, and that goes far deeper than Apple's laughably oversized controls.

    @blakeyrat said:

    … they kept trying to put in video game features for example (really!?).

    Just another thing to file into the "coulda been great" rolodex.

    I remember trying out the 2D graphics engine — boy was that slow. That's my feeling too — lack of vision and focus, and too much time spent adding broken features on top of a broken framework.

    It's a huge shame, and I would love to see them succeed, as I've always admired where they were going and just wished they could actually pull it off. That's why I took a look at Xojo — giving it another chance. After my soul was destroyed by REALbasic in the past, I'm hugely reluctant to get into the same too-late-to-turn-back-but-no-way-to-move-forward mess with something like .NET or wxWidgets, each of which is positively bristling with red flags of its own that show up within hours :(



  • @blakeyrat said:

    @henke37 said:
    It is easy, the common controls are selected using the embedded manifest.

    Right; their manifest is wrong, but it's still like a ... maybe 5 minute fix.

    TRWTF is not automatically giving programs the new common controls. Right?



  • This is the entire manifest of Xojo; compiled programs are given one that differs only in the name of the program:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
    	version="1.0.0.0"
    	processorArchitecture="x86"
    	name="Xojo.exe"                                                                         
    	type="win32"
    />
    <dependency>
    	<dependentAssembly>
    		<assemblyIdentity
    			type="win32"
    			name="Microsoft.Windows.Common-Controls"
    			version="6.0.0.0"
    			processorArchitecture="x86"
    			publicKeyToken="6595b64144ccf1df"
    			language="*"
    		/>
    	</dependentAssembly>
    </dependency>
    <!-- Identify the application security requirements. -->
       <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
          <security>
          <requestedPrivileges>
            <requestedExecutionLevel
              level="asInvoker"
              uiAccess="false"/>
          </requestedPrivileges>
        </security>
       </trustInfo>
    </assembly>

    Incidentally, JujuEdit does not use common controls and has no manifest, but does have native Open/Save dialogs.



  • @immibis said:

    TRWTF is not automatically giving programs the new common controls. Right?
    As long as the program doesn't try something funny with the common dialog box (most commonly add it's own widgets), it'll get the newest one.



  • To be fair to REAL, the language and framework have come on a long way, i.e. there's light at the end of the tunnel, and it's not an oncoming train.

    For single-platform development, it's a pretty fair system now. It's cross-platform where I think they're still lost in a delusion that it's possible to make such a thing easy, as evidenced by how Xojo looks like a Macintosh program even under Windows, i.e. they forgot that every platform has radically different UI conventions.

    What is more telling is that, instead of having a ribbon (which it should), you've got a menu bar and (more confusingly) a toolbar with massive icons and mostly empty space (like it was designed for 640×480), which you cannot alter: I can't remove the icon captions, shrink the icons, remove any icons, or put new icons in all the empty spaces. Since toolbar customisation has been a staple of toolbars on both Mac OS and Windows for years, this seems a strange omission. According to the docs, "Although Toolbar inherits from RectControl, it has no mouse-related events. This is due to limitations of the operating system." (which operating system?) — probably because toolbars are just not in any vague shape or form cross-platform, like so many other things. And as of Windows 8, they're obsolete, along with menu bars. Cross-platform is far, far more complicated than people realise, or REAL are willing to admit, which is why most attempts at it suck. In the mean time, you can't even have right-click → Customise on your Windows program toolbar!

    For single-platform development, though, it looks like it will get there eventually.



  • @immibis said:

    TRWTF is automatically giving programs the new common controls.
    FTFY



  • I figured I'd use their Feedback system to report the problem where the code editor keeps inexplicably going in and out of read-only.

    Dialog: Feedback is not installed. Would you like to install it now?

    OK, sure, why not? It's not like there's any other way of using it …

    Dialog: The Feedback Installer is missing. Do you want to download it ? [sic]

    I presume there is a legitimate reason for not bothering, but anyway, I clicked Yes, and nothing happened.

    Evidently I am also missing the Feedback Installer downloader installer downloader installer, required to download the installer required to download the installer required to download Feedback Installer, so that I can install Feedback and report that the IDE keeps making the code editor panel read-only.


Log in to reply