Comment On Surgical Module Changes

First and foremost, I'd like to thank Raymond Chen, Mike Gunderloy, Tom Kyte, Eric Sink, and Blake Ross for providing some excellent articles while I was away last week. I'd also like to thank you, the readers, for filling out the Reader Survey and giving an insight into how educated you are (78% have or working towards a college degree), how old you are (80% are 22 to 40), your income (58% earn at least $50k/year), and your excellent taste in websites (100% of you read The Daily WTF). [expand full text]
« PrevPage 1 | Page 2 | Page 3Next »

Re: Surgical Module Changes

2006-09-18 14:06 • by byte_lancer

Why does this look so familiar to me ?

Oh wait, my boss sees this everyday and he calls it FUI (Funny UI) . And we're supposed to be 'rearchitecting' this.

Good UI, like good security is not an afterthought. 

Re: Surgical Module Changes

2006-09-18 14:07 • by YourMother

This is (sadly) a really common wtf.  I guarantee that, in the several thousand line case statement, the order in which the individual controls are shown/hidden is critically important.

 

Re: Surgical Module Changes

2006-09-18 14:09 • by mareck
Best WTF in months. Actually, my heart paused for a moment.

Re: Surgical Module Changes

2006-09-18 14:11 • by halcyon
91878 in reply to 91876
That reminds me of some of the early VB programms I wrote when I was 14. So, where do I apply?

Re: Surgical Module Changes

2006-09-18 14:14 • by l1fel1ne

Try explaining how layers work in photoshop to the clueless... suddenly the origin of this comes to light!

Re: Surgical Module Changes

2006-09-18 14:15 • by Whiskey Tango Foxtrot? Over. (at work)

Boy, I sure hope Tom did the smart consulting thing and set the project up as open-ended hourly. 

He could re-factor the whole program for quite a pretty penny...

Re: Surgical Module Changes

2006-09-18 14:15 • by skippy
Alex Papadimoulis:

In order to change the text of a sub-heading (as Tom was required to do) or properties of any control, all of the overlapping controls must be carefully dragged off, put aside, and dragged back in the exact same place.

At this point, I would be opening the resource files, or whatever file format is used to store the data and manually search for the text in question.  I wouldn't care how complicated the file format is (even binary), I'm sure that would be easier and less prone to mistakes than dragging around dozens of controls.  grep and strings are your friends 

Re: Surgical Module Changes

2006-09-18 14:17 • by s0d
Before I read the article, I thought I had a Firefox display issue when I saw this image (open www.united.com in FF). LOL - I thought the folks I used to work with were dense when I tried to tell them that the four different strings they populated a label with should be stored in a resource file, and not inline in the code...

Re: Surgical Module Changes

2006-09-18 14:20 • by David
91885 in reply to 91880
Anonymous:

Try explaining how layers work in photoshop to the clueless... suddenly the origin of this comes to light!

You don't need to explain layers! They're called layers! They act like layers! I have no idea how one would even go about explaining them to someone so boneheaded they couldn't figure it out themselves. But I'm guessing that that was exactly the person who created the UI...

Re: Surgical Module Changes

2006-09-18 14:21 • by ammoQ
I have problems to understand why anyone would want to use a WYSIWYG design mode on such an application at all. As previously stated, it's obviously a job for a text editor, resource editor, hex editor or whatever is the right tool for a surgeon. Doing anything usefull in design mode is like trying a heart transplantation by massage.

Re: Surgical Module Changes

2006-09-18 14:22 • by GalacticCmdr

Ah, growth and change by simply adding on top of the existing crap. Over the years you are left with a festering pyramid of crap so large that will drive programmers to take simple jobs like "would you like fries with that."

 

Re: Surgical Module Changes

2006-09-18 14:27 • by Bradlegar the Hobbit
91890 in reply to 91882
skippy:
Alex Papadimoulis:

In order to change the text of a sub-heading (as Tom was required to do) or properties of any control, all of the overlapping controls must be carefully dragged off, put aside, and dragged back in the exact same place.

At this point, I would be opening the resource files, or whatever file format is used to store the data and manually search for the text in question.  I wouldn't care how complicated the file format is (even binary), I'm sure that would be easier and less prone to mistakes than dragging around dozens of controls.  grep and strings are your friends 

I agree. One would be insane to try and modify the screen using the GUI. I'd be surprised if the files written by the IDE weren't human-readable. There are times when GUIs just aren't the way to go, and it's at these times that old UNIX hands have an advantage.

Captcha: clueless (SELECT * FROM users WHERE clue > 0 ... 0 row(s) returned)

Re: Surgical Module Changes

2006-09-18 14:28 • by SP
91891 in reply to 91889
How about "would u like internationalization with that"?

Re: Surgical Module Changes

2006-09-18 14:33 • by its me
91893 in reply to 91884

Anonymous:
Before I read the article, I thought I had a Firefox display issue when I saw this image (open www.united.com in FF). LOL -

 You might want to update your FF (or perhaps united.com got a clue) www.united.com looks fine in my firefox (v1.5.0.7)

-Me
 

Re: Surgical Module Changes

2006-09-18 14:38 • by its me

Ok, I don't get it, what's this thing written in? Even if the only tool you have/can think of is the visual GUI designer, can't you still select a control by name? Of course now that this guy is a consultant, unless he screwed himself by agreeing to a fixed-price bid, he should analyze the time it will take to at least put this crap into managable containers or sub-controls and include that in his schedule!

-Me

BTW, Is it just me or is the forum software now much more FireFox friendly? Firebug isn't reporting any script errors as I write this, and it's usually two errors per character!

 

Re: Surgical Module Changes

2006-09-18 14:38 • by Alien426
91895 in reply to 91884

Anonymous:
Before I read the article, I thought I had a Firefox display issue when I saw this image (open www.united.com in FF).

Oh gosh! When such a small page opens 36 script tags, you know there's something very wrong.

To the guys who suggest a resource editor: good luck trying to find out what number your desired "Txttextinput##" is...

Re: Surgical Module Changes

2006-09-18 14:40 • by Hubert Farnsworth
91896 in reply to 91893
its me:

Anonymous:
Before I read the article, I thought I had a Firefox display issue when I saw this image (open www.united.com in FF). LOL -

 You might want to update your FF (or perhaps united.com got a clue) www.united.com looks fine in my firefox (v1.5.0.7)

-Me

At least without Javascript it has a slight resemblance to the image up there. 

-- outing myself as a noscript user ;-)

Re: Surgical Module Changes

2006-09-18 14:40 • by Mike R

Hmm. Why does this look painfully familiar.

... I know: This appears to be a well accepted convention by VB developers everywhere. (And, apparently FoxPRO developers, too!)

 I've had the "pleasure" of working on several of these applications. Totally blows my mind that anyone, in the process of creating a mess like this could think, "This seems like the best way to do this"

Re: Surgical Module Changes

2006-09-18 14:41 • by Simply the J
This is exactly why I am not a GUI person.

Re: Surgical Module Changes

2006-09-18 14:41 • by s0d
91899 in reply to 91893
its me:

Anonymous:
Before I read the article, I thought I had a Firefox display issue when I saw this image (open www.united.com in FF). LOL -

 You might want to update your FF (or perhaps united.com got a clue) www.united.com looks fine in my firefox (v1.5.0.7)

-Me
 



You're right - my bad. I'm running NoScript and it's causing the display issue. I didn't realize that to correctly view a page served by united.com, I'd have to allow scripts served by akamai.net permission to run (in addition to the scripts served by united.com)... If the akamai scripts are not allowed to run, the links in the pop up menus show up as text links underneath the three-tabbed-widget that includes the fare finder etc.

Re: Surgical Module Changes

2006-09-18 14:43 • by meow
91900 in reply to 91893
www.united.com is still messed up in ff (?!?)

Re: Surgical Module Changes

2006-09-18 14:47 • by snoofle
91901 in reply to 91898

Anonymous:
This is exactly why I am not a GUI person.

I too, am not really a GUI person. However, some years back, I had the, ahem, pleasure, of building a foxpro app for a friend. In the report builder, things that were laid out nicely when the app was running would tend to overlay each other (beacuse of all of the extra stuff necessary to use the report builder) - even when the fields didn't were merely near each other. I finally got fed up with the GUI builder, snooped around to figure out the format of the resources under the hood, and wrote a C program to just hack the data structures to give me what I needed.

BTW: did all of those fields render with the fields closer to the front obscurring the ones in the back, or did the mother-of-all-if-statements just render what was needed? It must have taken forever to manage and render...

Re: Surgical Module Changes

2006-09-18 14:49 • by MyName
91902 in reply to 91898

Anonymous:
This is exactly why I am not a GUI person.

 Actually, the fact that you can tell there's something wrong with this approach is exactly why you should be a GUI person.

Re: Surgical Module Changes

2006-09-18 14:50 • by no name
91903 in reply to 91895
Anonymous:

Anonymous:
Before I read the
article, I thought I had a Firefox display issue when I saw this image
(open www.united.com in FF).

Oh gosh! When such a small page opens 36 script tags, you know there's something very wrong.

To the guys who suggest a resource editor: good luck trying to find out what number your desired "Txttextinput##" is...

 

That would be why someone mentioned grep. If the backing files are text,
you're talking a 5 minute job.  If they're binary it'll depend on
the format, but most likely still less than using the gui.

 

Re: Surgical Module Changes

2006-09-18 14:53 • by duh
91905 in reply to 91899

Anonymous:
You're right - my bad. I'm running NoScript and it's causing the display issue. I didn't realize that to correctly view a page served by united.com, I'd have to allow scripts served by akamai.net permission to run (in addition to the scripts served by united.com)... If the akamai scripts are not allowed to run, the links in the pop up menus show up as text links underneath the three-tabbed-widget that includes the fare finder etc.


Adblock does the same. 

Re: Surgical Module Changes

2006-09-18 14:53 • by growse
Of course, the correct way to code a GUI with a visual tool is to just drag components into any old random place and then set their location properly yourself in the code. Much easier, and more precise.

Re: Surgical Module Changes

2006-09-18 14:54 • by snoofle
91907 in reply to 91903
Anonymous:
Anonymous:

Anonymous:
Before I read the article, I thought I had a Firefox display issue when I saw this image (open www.united.com in FF).

Oh gosh! When such a small page opens 36 script tags, you know there's something very wrong.

To the guys who suggest a resource editor: good luck trying to find out what number your desired "Txttextinput##" is...

That would be why someone mentioned grep. If the backing files are text, you're talking a 5 minute job.  If they're binary it'll depend on the format, but most likely still less than using the gui.

Every system (*nix, PC's, etc.) has a hex editor  with a string-search capability - really not that hard if you understand what you are doing...

Re: Surgical Module Changes

2006-09-18 14:55 • by Bill
91908 in reply to 91894
its me:

Ok, I don't get it, what's this thing written in? Even if the only tool you have/can think of is the visual GUI designer, can't you still select a control by name? 

You could in Visual Basic.  Changing the properties of stacked controls can be done entirely through the Property window. 

 

Re: Surgical Module Changes

2006-09-18 15:02 • by its me
91909 in reply to 91899

Anonymous:


You're right - my bad. I'm running NoScript and it's causing the display issue. I didn't realize that to correctly view a page served by united.com, I'd have to allow scripts served by akamai.net permission to run (in addition to the scripts served by united.com)... If the akamai scripts are not allowed to run, the links in the pop up menus show up as text links underneath the three-tabbed-widget that includes the fare finder etc.

I can see why people want to run with scripting disabled, but for me it just makes it far too hard to use the web. Seems most sites I visit rely on scripting, and with new techniques like AJAX growing in popularity I don't see it as a trend that will subside.... Of course from work I'm not exactly going to too many dangerous sites (unless you count thedailyWTF.com ;) ) 

-me
 

Re: Surgical Module Changes

2006-09-18 15:06 • by XMLord

My instinct was to open IE just to make sure this isn't some incompatability with FireFox.

 

Still, I've seen worse. In fact, I've maintained worse.

Re: Surgical Module Changes

2006-09-18 15:12 • by endergt
91911 in reply to 91907
snoofle:

Every system (*nix, PC's, etc.) has a hex
editor  with a string-search capability - really not that hard if
you understand what you are doing...

 

Out of curiosity - what is the hex editor on a default Windows installation? 

Re: Surgical Module Changes

2006-09-18 15:14 • by Mike
Reminds me of my first job, back in 1995. It was just before Win95 was released, and we were using VB3 and Windows for Workgroups 3.11. We wanted a tabbed interface, but there was a limit to the number of window handles that could exist simultaneously. Our solution: when a user clicked a particular tab, we destroyed all the controls on the current tab, then dynamically created controls on the new tab. The layout of each tab (type of controls and their coordinates, etc.) was stored in a database table. IIRC, VB had a "clone" function, so we actually had one control of each type defined (a single button, a single listbox, etc.) and we "cloned" each of them to build the screen.

You should have seen the event handlers.

Re: Surgical Module Changes

2006-09-18 15:18 • by Elmer Fudd
91913 in reply to 91897
Well, it's better than 400 forms named frmAfterLookupByName, frmAfterLookupByAddress, frmAfterLookupByCompany, frmLookupByName, frmLookupByAddress, frmLookupByCompany, frmSelectName, frmSelectAddress, frmSelectCompany....

all of which are identical, except for the lookup and select forms having 398 "dummy" fields in them, so the LOOK like the AfterLookup forms... That crap makes stacking them all up and activating them conditionally look like a dream.

"Can you just add one field to this form..." means "Can you search for all the forms that I might be referring to and add the one field (or dummy field) to all of them, by dragging and dropping it on the exact same pixel...

GUI designers == Suck.

Re: Surgical Module Changes

2006-09-18 15:25 • by Elmer Fudd
91914 in reply to 91911
edit /50 file.exe

Re: Surgical Module Changes

2006-09-18 15:25 • by anonymous
91915 in reply to 91908

I program mostly PHP, but I have a project now with Delphi, so I need to do visual programing. 

Well.. I like the fact I can "draw" screens fast that look profesional. But some task are visual, so I feel really dumb moving 20 combobox by hand. I feel like something is wrong.

If I need to do some heavy modification on my designs on PHP is always very easy, because everything is controled by  CSS files, and templates, and is plain text and easy to modified.  The "text view of form" of Delphi is hard to hack, and If you do something wrong, the proyect seems to corrupt. So.. not only I feel dumb with Visual programming, but I have much less control over the result, and I need to do task by hand! thats new to me, task I can't automatize. Thats bad because move some reprograming task from O(1) to O(n)  :(

 

Re: Surgical Module Changes

2006-09-18 15:32 • by Ron

    I won't even mention the fact that you have all
of this with a pageframe control (tab control for non-FoxPro people),
which the controls may or may not be in, and the fact that you can't
reference a control directly from another control without fun commands
like thisform.pageframe1.page5.txttextinput26.  And what were they
smoking when they decided to name controls things liketxttextinput26
anyway?

Re: Surgical Module Changes

2006-09-18 15:39 • by nobody
This is the reason why GUI should be coded by hand.
If they had tried to write that by hand, they would have either gone insane, or canceled the project 350% over budget.

Re: Surgical Module Changes

2006-09-18 15:45 • by endergt
91918 in reply to 91914

Anonymous:
edit /50 file.exe

 

Huh. Learn something new every day. How about that. Thanks! 

Re: Surgical Module Changes

2006-09-18 15:45 • by themagni
91919 in reply to 91916
Anonymous:

 And what were they
smoking when they decided to name controls things liketxttextinput26
anyway?

That's what happens when you read one book on VB and get to work. It scares me a little that I can follow the logic, but I have worked with this sort of thinking in the past.
 
Several books suggest hungarian notation, so your textbox field would have the prefix "txt-"

Then, you have a place where you have a generic text input field. Let's assume it's a textbox. We'll call that generic field "textinput" because the use of the box will change depending on what's visible. Your box is now called "txt-" & "textinput" or "txttextinput"

Let us now assume that you have several of these boxes. You could either name them descriptively or follow the VB defaultconvention and add a numeric identifier. Your 26th box would be called "txttextinput26".

I'm still not sure what's wrong with:

SubHeadingLabel.Text = SomeString 

and changing the value of the labels dynamically. That would cut down the mountain of crap into a reasonably large hill.

As for the overlays, you can change the size and position of the boxes during execution. Now you've got a lump of crap.

Re: Surgical Module Changes

2006-09-18 15:45 • by Ozru
91920 in reply to 91911
endergt:
snoofle:

Every system (*nix, PC's, etc.) has a hex editor  with a string-search capability - really not that hard if you understand what you are doing...

 

Out of curiosity - what is the hex editor on a default Windows installation? 


debug.exe, as long as your file is under half a meg.

Re: Surgical Module Changes

2006-09-18 15:49 • by Pete

Maybe I'm missing something obvious here, but, what's so hard about rewriting a cluttered Preferences dialog?
The only WTF seems to be that nobody in their company knew how to run up a fresh dialog from scratch.

Re: Surgical Module Changes

2006-09-18 15:56 • by KattMan
91923 in reply to 91917

nobody:
This is the reason why GUI should be coded by hand.
If they had tried to write that by hand, they would have either gone insane, or canceled the project 350% over budget.

 Which is exactly why you shouldn't code a business GUI by hand.  Many projects would run over budget because of this, even if the GUI is designed well.  There are other types of GUI's (thinking games here) that should always be coded by hand, but then those GUI's are part of the functional process anyway; business GUI's are separated from process, or should be.

Oh and that'll be two cents for the quote.

Re: Surgical Module Changes

2006-09-18 16:17 • by different perspective

As an employee WTF's like this will make you cringe but as an hourly contractor they're money in the bank!  Sure, it may stink a bit while doing the dirty work of dealing with someone else's poor design but I'll bet its that kind of thinking that kept "Tom" from jumping out the window.

 

Re: Surgical Module Changes

2006-09-18 16:17 • by Matt Sayler
91928 in reply to 91914

Anonymous:
edit /50 file.exe

 

I wonder if edlin is binary-clean? 

Re: Surgical Module Changes

2006-09-18 16:41 • by navigator
91934 in reply to 91911
endergt:
snoofle:

Every system (*nix, PC's, etc.) has a hex editor  with a string-search capability - really not that hard if you understand what you are doing...

 

Out of curiosity - what is the hex editor on a default Windows installation? 

Think: DOS: debug.exe

Re: Surgical Module Changes

2006-09-18 16:41 • by Tukaro
Would I be less of a man if I just started crying right now?

Re: Surgical Module Changes

2006-09-18 16:56 • by VGR
The presence of "Core Details 1" and "Core Details 2" tabs alone is grounds for immediate membership in the User Interface Hall of Shame.

Re: Surgical Module Changes

2006-09-18 17:08 • by MrEricSir
But think about the efficiency of using a case/switch statement.  That's gotta be one lightning fast program!

Re: Surgical Module Changes

2006-09-18 17:15 • by Rank Amateur
91942 in reply to 91940

VGR:
The presence of "Core Details 1" and "Core Details 2" tabs alone is grounds for immediate membership in the User Interface Hall of Shame.

Along with "General" and "Module Specific." Like the user is going to know what fields are general (across modules?) what's specific, and what's a detail (little alone 1 vs. 2).

--RA

 

Re: Surgical Module Changes

2006-09-18 17:20 • by KeithSpook
91944 in reply to 91911
endergt:
snoofle:

Every system (*nix, PC's, etc.) has a hex
editor  with a string-search capability - really not that hard if
you understand what you are doing...

 

Out of curiosity - what is the hex editor on a default Windows installation? 

 

debug 

« PrevPage 1 | Page 2 | Page 3Next »

Add Comment