Is making your own GUI-gadgets n00b?

Miscellaneous Forums/General Discussion/Is making your own GUI-gadgets n00b?

I have some discussions now and then with ppl using VB. They slander Blitz(max) down for the lack of proper GUI controls/widgets. When I explain them it's relativitly easy to make your own GUI stuff (thank heavens for Eventhook), they're like "why waste your time, VB has everything you're making right now"

Is it done or not done to release tools, creative tools, whatever app, stuff with own gadgets (that prolly have their own kinda layout/style), or does it look unprofessional?

I see lotsa advantages, like way more extensive controls. Like spinners or sliders with left- and right mousebutton support, various ways to control it, various ways to modify it, way more advanced than a typical standard GUI controller. This can lead to faster operation, since you can simply do 'more' with the same thing.

But is this 'done'? Or do ppl expect VERY-WINDOWS'ISH controls only, and nothing exotic or they'll freak out?

Personally I find looking up the windows calls far more time consuming than just coding the darn thing! Window calls also make the code nigh on unreadable.

A pure application should really use Window calls because that will inherrit the correct style and visual preferences of the interface in use - not everyone uses XP, and some people reskin their OS.

However there's a lot to be said for themes, would Carmageddon have been half the bloodbath if you started a race with an OK dialogue after choosing your car from a slider gadget?

A custom interface gives you the ability to immerse the user - but this isn't the right route to take for all applications.

Sometimes you have to use the right tool for the job, in which case advise your VB friends to check out Pure Basic (http://www.purebasic.com), it'll save them a lot of grief.

Tell them to shove it.

Finally, we can use the thing that low-level language people use against us all the time: Those VB users need an extra layer of abstraction because they are simpleminded, bungling, witless nincompoops.
(jk!)

Tell them that BlitzMax doesn't require a 20MB runtime and that an empty window doesn't take ages to open. If they're talking about VB 6 I'd have to agree with them on the ease of use, but I can't stand VB.Net.

MaxGUI will never be up to par without a proper form designer.

Office 2003 has its own GUI theme and mose accepted that no problems, so creating your own shouldn't be frowned upon.

So long as the app does not launch itself into full screen mode and its window can do the usual, min, max, resize & move then I can't see many people freaking out because it doesn't have the usual Win9X / XP look to it (again, office 2003 doesn't either).

Recently I've been using Office 2003 style GUI components in my Delphi apps and no one has said "eeek, can you make it look more normal", infact they like it.

In the end though its how your app functions. User friendlyness is more important than a fancy GUI.

The thing with Office XP's GUI components are that they are widely used and they base themselves off of the user's colour scheme settings.

"why waste your time, VB has everything you're making right now"


Well? They have a point. If you have to create in code, what they can just visually drag and plop down on a form... Yes that does seem backwards.

I can't speak for vb6, but .net is a dream for anything gui related. The standard controls expose a huge amount of properties and events. And if you need specialized functionality, control authoring is also streamlined. For basic things, its usually a matter of deriving a control from an existing one, and overriding the specific behaviour you need.

I haven't used maxgui, but I did put a lot of time with blitz plus( some purebasic too ). As far as creating controls in b+, it was a big joke. If things are done the same way in maxgui, I would have to agree with your vb buddies.

I personally don't like it when developers go crazy with non standard ui. For some things where an existing control just doesnt exist, it makes sense and is understandable. But when people start rolling their own buttons and sliders from scratch( and for no good reason ), it can get annoying.

I look at the kind of applications my mom uses for printing and photo editing, and they all suffer from cheesy, fisher price ui's.. Drives me nuts but she doesn't know the difference.

Nothing I hate more than having to re-learn what things are... even when they are obvious, it takes that extra ounce of thought to deal with it... I instinctually move to the upper right to kill an app... if I am met with something i don't recognise, I have to break flow. If your extra gui takes up all kinds of crazy space... I get @#!*ed off... I don't like wasted space in my productivity tuned apps.

Games need custom internal gui... if it is full screen, than no worries about the borders, if it is windowed, I want the outside of the window to be like I expect it to... that means standard gui.

If it is some application, I want standard gui.... it isn't the gui that is broken in most apps anyway... it is the dataflow, it is organization..

Unless there is a good reason to break tradition.

Just bugs me to load up.. say... nearly any music jukebox.. and have to relearn all the basics of computing to make it play an mp3. Regardless of the fact that it is slower, harder to read, flashy-but-poorly-designed and wasteful.

I was so happy when winamp 5 went back to the winamp 3 look... because it meant I could actually know what I was doing... I don't use anything else because I don't feel like learning it.. and I won't get the next versions of minamp because this one does everything I want it to.. lets me avoid all the nasty CD burning things who do the same BS and lets me avoid all the movie viewers that do the same thing... kills 3 birds with one very old gui stone.

Well, fisherprice GUI isn't what I was wondering about, that's usually a matter of fancy colors and big buttons I figure, a button remains a button.. a rectangle you can click and which prolly changes its image based on the buttonstate.

I do wonder however what's better: a default windowsbutton (like the one in maxgui and bp) or a custom-made button that more or less looks the same but offers more features (rightmousebutton-support, image, animating image, to name some). The default button wouldn't suit my GUI-wise needs, but the custom button could be perceived as alien.

Another one: windowmenu .. how about a custom menu-system?
And a tree, what about a custom tree?
Or is replacing those really going to drive ppl mad?


(note, the animating image would be cool.. you press a button and it animates! Halfway coding that stuff already. :P)

If a developer wants to make his own GUI, he should go and make an operating system.
It may get rid of those blasted hard-to-navigate, caps-lock-deaf things that don't understand the insert key or text highlighting for a little while.

As far as creating controls in b+, it was a big joke. If things are done the same way in maxgui, I would have to agree with your vb buddies.


Well, in B+ you had to manually call some event-function in your mainloop for such a function. In Blitzmax you use an Eventhook for that, meaning that the whole event-checking runs automatically once you created it, in short: in maxgui your own gadgets really are transparent to the native gadgets, and they can emit new events, or in case of your own button, simply use the gadgetaction event..

Since last week I know the Eventhook drill quite well, and I'm pooping out gadgets and thingies at lightningspeed. :P It's very enjoyable to create new gadgets in baxgui.

Since last week I know the Eventhook drill quite well, and I'm pooping out gadgets and thingies at lightningspeed. :P It's very enjoyable to create new gadgets in baxgui.

And thus you have the freedom of choice, you get a bit of practice for the inevitable event when (doesn't matter where!) you'll be doing a somewhat custom gadget, and you aren't stuck compiling gadgets you don't need.

There's an amazing looking BM form editor right here:
http://www.blitzbasic.com/logs/userlog.php?user=8077&log=598

(Oh yes, and APE will be able to act as a BlitzMax form editor with a bit of scripting... but that won't be possible for about 10 years, and in that time we'll be miles ahead of Windows, so its old B3d binaries won't work)

Hehe, VB Gui people. I think most of them are making Apps with a huge Gui and nothing behind it.

I think it's ok to have a custom GUI - as long as it's better than the windows gui. Better, not more complex! And BTW it may be easy to make a GUI more sexy than the windows GUI.

A GUI doesn't have to be complex IMHO. It should be intuitively useable, I mean real intuitively. You can make a confusing GUI with windows gadgets as well as with any other system. It's up to you, not the GUI.

I second Noel ;)

hmmm... I remember when you had to turn on the computer with the boot disk for the game you wanted to play in the 1 drive and every BIG game came with its own OP disk... ZORK??? But there was a sort of AtariDOS I remember that could list files on a disk and run them... no fancy crud just a numbered list of commands and then a numbered list of RUN?: and you typed in the number and the program started...

WHere was I going with this? Oh yeah... Used to be that way (or so it seemed) that all the BIG games had their own OS to run them. The only few I can remember are ZORK and Space for the Atari (had 9 floppys that one did!)

I can even remember having a conversation with my Dad about why anyone would need more than 64k? Then the 286 came out and I realized why.

Still have a copy of windows286. Don't think it will load now.

Well, I did my own GUI for Juicy Fonts and haven't had any complaints. Well, one guy asked me what GUI I was using, but I don't think he was complaining. :P

Mind you, the GUI is fairly Windows-like, anyway. Also, Juicy Fonts is a fullscreen app, only. If I'd had BlitzPlus I would have used that GUI, but I don't, so I didn't.

I tend to agree with the VB people, non-standard can also be very non-intutive and I've not enjoyed having to create my own controls (wastes my time and it's a pain) or having learn to use other people's custom controls (that also are sometimes missing standard features). When I use B+ I still use GUIDE to avoid this issue and am still frustated at the limited functionality that it provides vs VB .NET (this is NOT a bash at GUIDE's author, it's a good product but the task is vast).

Using the standard toolset for applications IMHO is the only sensible way to go unless you are doing something extremely non-standard to start with. For games it's a different story of course, I always would advocate keeping it as simple and uncomplicated as possible.

Darkheart

Keywords that keep popping-up are 'non-standard' and 'non-intuitive'. The interesting question is: "when are controls non-intuitive?"

Is heavy additional support of the rightmousebutton non-standard?

Windows controls are usuall all leftmousebutton-oriented, (buttons, scrollbars etc.), I'm an avid LMB&RMB supporter, it simply completents the control, offers more features, meaning that you actually save additional controls.

Is a window surrounded with dragbars nonstandard? (like a normal window, but now you can also pick it up at the sides, or at the bottom, to move it around)