Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Designing a user interface for a CGI application.

by Anonymous Monk
on Jul 11, 2013 at 05:44 UTC ( #1043628=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi all.

I am attempting to wrote a CGI application for a beginning bioinformatics class based on data I have extracted from the following web site:

http://bioinfo.mc.vanderbilt.edu/TSGene/Human_716_TSGs.txt

I was wondering if anyone had was willing to share his or her general suggestions regarding a user interface, e.g., flow from selection to action or selection to next page. As it currently stands, I was thinking of presenting the user with a collection of radio buttons each of which would allow the user to select the indicated action (label) before a submit button would load a secondary page where the actual input of data and action would occur. The information, e.g., sequence data, gene names, etc., would be stored in a SQLite3 database. Since I have very little experience designing a user interface, I am not confident on constructing the layout and I would prefer it not be too minimalistic.

Thanks.

Comment on Designing a user interface for a CGI application.
Re: Designing a user interface for a CGI application.
by choroba (Abbot) on Jul 11, 2013 at 06:25 UTC
    Crossposted at StackOverflow. It is considered polite to inform about crossposting so people not attending both sites do not waste their effort solving a problem already solved at the other corner of the Internet.
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
      Ah, yes. I forgot to mention that. I didn't think the response I received at the other site was that helpful and I anticipated a superior (more informative) answer here.

        I didn't think the response I received at the other site was that helpful and I anticipated a superior (more informative) answer here.

        daxim is daxim , here or there :)

Re: Designing a user interface for a CGI application.
by Your Mother (Canon) on Jul 11, 2013 at 07:35 UTC

    The question, as discussed on SO, is a bit overbroad.

    Web dev work can be like carpentry. Anyone can bang together a few pieces of knotty pine with whatever nails seem sensible and maybe have it stand but only a real carpenter knows the tools, techniques, and materials. How do you build a home entertainment center… just in general? Hard to answer in general. Long and very detailed to answer as "this is what I would do."

    A little CGI with a dispatch table is probably what I would do here if it's a one-off; search around for "dispatch table" and "CGI." Or even a naked plack script with a handful of subs as the dispatch table; it's too bare metal for most stuff but it can be fun and edifying for short-lived projects. A Mojolicious::Lite app is what I'd do if I'm being a bit more serious or want it to be RESTy and respond to anything but a few few plain HTTP requests. SQLite sounds like a perfect choice for it. DBIx::Class makes that stuff easy (after you get over the learning curve) but it is on the slower side so a persistent app (i.e., not plain CGI but PSGI through an app server) would be helpful.

    Don't worry about too minimalistic. Simple UI that affords what the user wants to do is good UI. You can tart it up with Ajax to make it slicker and sometimes a lot faster. But that's a whole lot of off topic.

      I see on stackoverflow it was put on hold as too broad but I don't think its actually too broad;

      I feel its imcomplete because it doesn't describe what the program is supposed to do

      -- its hard to advise on building a building if you don't know the purpose: dog house, sauna, or freezer

      Hi.

      Thanks for the response. Looking back on my initial posts, I can confidently hypothesize that my question (post) appeared vague (for lack of a better word) simply because I am inexperienced with regard to constructing a user interface, therefore, I simply did not know what to ask or how to phrase my question. I was essentially forced to rely on "generalities".

      The input from other monks is appreciated and I will certainly explore the suggestions offered thus far.
Re: Designing a user interface for a CGI application. (list)
by Anonymous Monk on Jul 11, 2013 at 07:47 UTC

    Read this please User Interface Design For Programmers - Joel on Software and A Summary of User Interface Design Principles and think about what your program is gonna do and how you're going to use it (in terms of screens and buttons), not if its going to use sqlite ...

    Also, when describing how it should work use lists , and then use paragraphs to support those list items (like headings), its like having different pages. Once you have pages/lists, its easy to see whats missing; If you find yourself having at most 1.5 list items (like I perceive in this case), you need lots more

    This is what I perceive

    1. radio button to choose action
    2. I/O on action page
    3. ...
    4. profit

    My suggestion, actions are submit buttons (triggers), exclusive options/choices are radio buttons ; you want to use buttons or hyperlink or submit buttons

    minimalistic is a good thing, it means essential :)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1043628]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2014-07-10 04:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (199 votes), past polls