Slashdot Mirror


Rapid Open Source Development for the Unix Console?

Adam Weiss asks: "With Web Interfaces and GUIs being all the rage these days, it seems hard to find much about console application development. Web Interfaces and GUIs look pretty and impress people, but I've noticed that it's awfully hard to beat the speed of a well trained operator on a well designed console interface. Some of the HR folks at work use a console app to access employee records while others use a Windows GUI. The console folk can lookup and update three records in the time it takes the the GUI folk to clicky-clicky through one. So, are there any mature Open Source toolkits that would enable rapid development of console applications. Sure, there's curses, but that's low level pain in the arse. I'm talking like something that is specifically designed for building database applications- kinda like an extensible version of Microsoft Access Forms for the green screen. Something that's pretty easy for the simple stuff, but lets you break out and get complicated if you need to. (unlike Access) I know there's gotta be plenty of obsolete commercial stuff that makes these kinds of projects easy. I just want to know if there are any Open Source alternatives that are somewhat modern and well maintained."

51 comments

  1. I can't be the only one who by lightspawn · · Score: 4, Funny

    misread the title as "Rabid open source development"...

  2. take web add lynx by josepha48 · · Score: 1
    .. your done...

    lynx will give you that 'green screen' feeling.. and if you do the web right (no tables ) your pretty much there.

    --

    Only 'flamers' flame!

    1. Re:take web add lynx by ichimunki · · Score: 3, Informative

      You're kidding. That's a horrible idea. How do you implement keyboard shortcuts in links/lynx? How do you do menus and stuff like that? Not to mention the additional security headaches involved in writing web interfaces...

      What this person wants to do is get over his leetness and learn to make a GUI application that behaves how he/she thinks a console app should work. There's no reason you can't bind keys the exact same way in a GUI that you would in a console app. And really, a console app created with something like curses is a GUI. Just not a very sophisticated one. A true command line application accepts lines in and spits lines out without mocking up a pathetic GUI using ASCII.

      --
      I do not have a signature
    2. Re:take web add lynx by josepha48 · · Score: 1
      yes it was kinda a joke..

      What you are talking about has been done. Examples are vim, emacs, word, mozilla. Many programs have keyboard shortcuts. In fact the app that I work on for a living, has shortcuts, that are all modeled after the console app that they came from. So you can be just as fast. The problem is that he has probably run across the GUIs for kde and gnome and many of the unix GUIs that are out there, where keybord shortcuts are an after thought.

      --

      Only 'flamers' flame!

    3. Re:take web add lynx by mbogosian · · Score: 3, Funny

      ... Examples are vim, emacs, word, mozilla.... The problem is that he has probably run across the GUIs for kde and gnome and many of the unix GUIs that are out there, where keybord shortcuts are an after thought.

      The problem with emacs is that everything but the keyboard shortcuts were an afterthought.... ;-)

    4. Re:take web add lynx by rafa · · Score: 1

      While the parent seems to have been more of a joke, some forms of keyboard shortcuts are available. You can use 'accesskey' for form elements. IIRC, links has implemented accesskey, but lynx hasn't.

      for example <input accesskey="g" name="field g" type="text" />

      --
      [Science] is one of the very few things that raises human life a little above farce and gives it the grace of tragedy.
    5. Re:take web add lynx by Anonymous Coward · · Score: 0

      Hey, that's an interesting way to screw with someone's mind. Try making one where the access key is "f", then stick it in a page and try to get to your file menu with the keyboard.

      In Mozilla, the focus jumps to that input field. That's useful in one sense, but really annoying in another.

    6. Re:take web add lynx by ichimunki · · Score: 1

      That is a good point. I'd forgotten about accesskey. I still don't think making an ASCII GUI is somehow more likely to be productive than a properly constructed actual GUI. A properly constructed set of command line tools, however... :)

      --
      I do not have a signature
  3. PHP + Perl + Links by ptaff · · Score: 4, Interesting
    Perl and/or PHP can be pretty powerful to access databases and lotsa libraries; PHP can be compiled as a Command Line Interface which gives the console user a plus.

    Links is a text-based web browser - building a console interface can be very simple using HTML and Links - you don't have to play with ncurses' mess.

    The problem with GUI speed is not so much caused by design - it's the darn mouse that slows down everything... instead of doing a simple Ctrl-S to save, it's all these 6 steps (or more!):
    • Take your hand off the keyboard
    • Grab the mouse
    • While looking at the screen, go to the menu
    • Click on File
    • Click on Save
    • Get your hand back on the keyboard


    1. Re:PHP + Perl + Links by nlh · · Score: 1

      99% of the GUI apps I use (that require saving, as per your example) still let me press Ctl-S instead of mousing.

      In fact, I find that most of my GUI work is done using keyboard commands (Alt-D in a web browser is one of my greatest discoveries) ... it's the rare app that doesn't have those keyboard shortcuts that piss me off...

    2. Re:PHP + Perl + Links by OwnerOfWhinyCat · · Score: 3, Insightful

      I, too, use the all the keyboard shortcuts I can, and find them surprisingly available.

      But the point he was making is cogent none the less. If you go into the office and tell your staff they have to start using the apps. they've been using for years "the way you think they should be using them," you'll probably note the conversation around the water cooler goes silent as you approach for several months. And not in a good way. People usually need a motivation to re-train that is a little more upbeat than "because you're inexcusably slow."

      If you have the tools to make the development cheap, a new app interface is a great approach to the problem. You get to have meetings, everyone gets their input, several features they've always wanted are added. They "buy in" to the new interface, and they all start at the same point when learning the new system.

      In the case where the Linux developer is not the only smart person in the organization (it happens :) ), the users may suggest features that genuinely enhance their productivity. I wouldn't be surprised if getting them to use the keyboard may be the least beneficial effect of the new interface.

    3. Re:PHP + Perl + Links by jbolden · · Score: 1

      What the apps should have though is keyboard shortcuts well documented including a .pdf reference card so you can learn them easily.

    4. Re:PHP + Perl + Links by stagmeister · · Score: 1

      It's "Lynx", not "Links". "Links" are those underlined-thingys that you click in "Lynx"...

      --Jason

      --
      http://www.virtualvillagesquare.com/ Online Communities: The Next Generation
    5. Re:PHP + Perl + Links by RevAaron · · Score: 1

      Umm, there is a browser called "links." Spelled exactly like that. It is also a text-based browser. Most people think it is quite a bit better than lynx. It's more like w3m than lynx. People who want to browse regular sites in a text-only format often use links rather than lynx because it supports a lot more than lynx does.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    6. Re:PHP + Perl + Links by RevAaron · · Score: 1

      As others have poitned out, I do Cmd- and Ctrl-Ses all the time.

      Furthermore, the mouse isn't neccesarily the problem. The problem is that one has to switch between the mouse and the keyboard, the real slower-downer. With an OS that properly supports a mouse/pen-based interface and was designed well for that purpose, one could work just as fast. Take the NewtonOS, for example... No, one can't write quite as fast as one can type (I get 40-50 WPM with the Newton OS 2.1 HWR and 70 WPM typing), but it is very satisfactory. The rest of the GUI operations are just as fast over the long run as using a CLI.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    7. Re:PHP + Perl + Links by ichimunki · · Score: 1

      So how hard is it to provide training for slow-movers in faster ways to use the tool and then having contests for cash money or gift certificates or a paid day off or whatever? That's got to be cheaper than attempting to go through an entire development cycle just because your employees don't give enough of a [expletive deleted] to work smarter rather than harder.

      --
      I do not have a signature
    8. Re:PHP + Perl + Links by cdrudge · · Score: 1
      Alt-D in a web browser is one of my greatest discoveries

      Every once in a while you stumble across a reference like this and think to your self...why didn't I find out about this sooner. I guess I never though about it but thanks for the shortcut.
    9. Re:PHP + Perl + Links by OwnerOfWhinyCat · · Score: 1

      So how hard is it to provide training for slow-movers in faster ways to use the tool and then having contests for cash money or gift certificates or a paid day off or whatever?

      Have you ever tried this?

      Very few people's jobs are so quanitfiable that you can just look at some log file and figure out what their user-interface-operation speeds are. If you had something like a true data entry position, then it might be an option (and contests probably already exist at your office). For more typical office applications the time a person spends navigating on the computer is mixed in with other tasks, and though you and I might sit over their shoulder and think, "they'd be much faster if..." it will in general be hard to quantify productivity in a sufficiently objective way to deny someone a prize and have them feel it was even remotely fair.

      Since the person who was asking /. was already looking for
      ...like an extensible version of Microsoft Access Forms for the green screen
      I assumed he had other justifications for this project besides interface speed.

  4. Get a Mac! by Otter · · Score: 1
    Cocoa offers exactly what you're asking for. (Are Tools not properly Cocoa? So sue me.)

    Oh, right, open source. GNUstep might be useful. And you can use Qt without creating a GUI, right? That would offer a terrific source of powerful objects -- see this JE.

    1. Re:Get a Mac! by i0wnzj005uck4 · · Score: 2, Informative

      Actually, this isn't far off...

      Project Builder does have templates for console applications, and if you don't use cocoa (IE, stick to libc and posix libs) the resulting code is quite portable to a regular unix system (although you'll have to write your own makefile).

      The best part about it is that PB can be extended with new templates, including console program templates. I'm sure someone out there has already created a few and released them as a free download. You may need to spend some time developing console templates for separate "RAD" tasks, but in the end it'd save you a lot of time.

      --
      - Cloud
    2. Re:Get a Mac! by Otter · · Score: 1
      Project Builder does have templates for console applications, and if you don't use cocoa (IE, stick to libc and posix libs) the resulting code is quite portable to a regular unix system (although you'll have to write your own makefile).

      Sure, but what he's asking for is a featureful toolkit. Writing console apps with Cocoa and PB is precisely what I had in mind, but he wants an open source kit, and giving up Cocoa puts him back in the libc boat. Albeit with a great IDE.

    3. Re:Get a Mac! by Anonymous Coward · · Score: 0

      And you can use Qt without creating a GUI, right?

      Were you one of those people who thought this was real? It's not

  5. at my work by jjshoe · · Score: 1

    we used to print labels through an as400 using rumba as our client to it... you speed through labels in no time flat however you couldnt preview what you were going to print. they updated us to a point and clicky interface that was supposed to help us by letting us see what we are going to print before it comes out. well it ended up being the same situation as before, you cant realy tell what's coming out in advance and the new point and click interface just slows us pros down. however, i must admit the learning curve for new employee's is much smaller.

    --
    -- botsex is {grep;touch;strip;unzip;head;mount} /dev/girl -t {wet;fsck;fsck;yes;yes;yes;umount} {/de
  6. VB? by Miffe · · Score: 0

    Get Visual basic for dos and run it through dosemu :)

  7. turbovision by divbyzero · · Score: 3, Informative

    Turbovision was an old Borland library for DOS, with C and Pascal bindings, which addressed the niche you're looking for. There's supposedly a free port to Unix. I can't vouch for it personally, but check out this Freshmeat project page.

    --
    But my grandest creation, as history will tell,
    Was Firefrorefiddle, the Fiend of the Fell.
  8. Big words... by clambake · · Score: 5, Funny

    I will never understand why people feel the need to use big words just to make themselves sound smarter. Case in point, saying "Rapid Open Source Development for the Unix Console" when what they really mean is "Perl".

    1. Re:Big words... by Anonymous Coward · · Score: 0

      uh... don't you mean python?

      Perl fits the 'rabid development' that a previous poster misread, an understandandable mistake.

    2. Re:Big words... by Anonymous Coward · · Score: 0

      Damn, that's funny! It's the first post rated funny that I've actually laughed at in months.
      Wish I had mod points...

      kwerle posting anon just 'cause this is so OT.

  9. Not a UI issue, but design issue by p7 · · Score: 2, Insightful

    Do the gui users have to point and click? It should be a pretty trivial task to make the gui useable point and click and keyboard navigable.

    1. Re:Not a UI issue, but design issue by DuckDuckBOOM! · · Score: 3, Insightful
      Do the gui users have to point and click? It should be a pretty trivial task to make the gui useable point and click and keyboard navigable.
      Seconded. This smells more like a poorly designed GUI than a super-efficient console interface.
      --
      Life is like surrealism: if you have to have it explained to you, you can't afford it.
  10. Gui doesn't suck, gui design does. by evilad · · Score: 4, Insightful

    If the same amount of time and effort was spent making the gui ergonomic and "keyboard accessible", I suspect that you would find that their speeds were about equivalent.

    1. Re:Gui doesn't suck, gui design does. by pmz · · Score: 4, Interesting

      If the same amount of time and effort was spent making the gui ergonomic and "keyboard accessible", I suspect that you would find that their speeds were about equivalent.

      I think GUIs take a lot more effort and time to do well than most people will admit. This is one reason the UNIX CLI is still around (it's quick, it's dirty, but it works reasonably well).

      Mainstream GUIs often have these problems: the fonts tend to be small making them hard on the eyes, grey and white backgrounds with black text are hard on the eyes, there tends to be more information packed into one screen often requiring scrolling (time consuming and hard on the eyes), GUI layout managers are mastered by few leaving some pretty darn ulgy forms (again, hard on the eyes), many GUIs imply the mouse for intuitive navigation, etc.

      It also doesn't help that GUIs are enormous programs, which are inherently unreliable and often not predictable. One reason Windows gets such a bad rap is that Microsoft produced a huge program in about 1% of the time it should have taken if they wanted to do it well.

  11. Interface by Samus · · Score: 4, Insightful

    A long time ago I read a book called "About Face." It was a book on user interface design by the guy who created Visual Basic (I think). Now don't discredit the book because its associated with a VB guy. From what I remember there weren't any code samples it was all theory. Basically it was talking about all the things your average GUI programmer was doing wrong back then. One idea that stuck in my head was that often people make the mistake of writing one screen to both view/edit and input data. The idea was that data input screens need to be designed for speed and efficiency but this layout is ugly and cumbersome when trying to view or edit a record. A manager of a data entry department at a local company in cincy said that everytime his people have to take their hands away from the keyboard and use the mouse he loses 3 seconds. So if you design a GUI screen that doesn't require the mouse, has lots of short cut keys and other conveniences like auto tabbing to the next field when the current field reaches the required amount of characters you should be able to achieve just as much throughput as a console app.

    --
    In Republican America phones tap you.
    1. Re:Interface by Ramses0 · · Score: 1

      NEVER AUTO-TAB ME if you don't do it everywhere!

      Learning how an application work depends 100% on consistency of how the application performs. I'm going to bring up Vim here (and windows as well).

      Eg: From bash:
      wget http://www.slashdot.org/
      vim index.html /<INPUT<enter>df>ggPa<enter><esc>VG x ... I typed this vim command from memory (except that slashdot uses uppercase input instead of lowercase input tags), without checking what would happen in vim. It grabs the first "input" tag and deletes the rest of the file. Because vim can be unambiguous and regular, I can get at what I want without touching the mouse (of course), and without having to see the results. Vim doesn't "autotab me sometimes" if my search string was over or under a certain length.

      In windows:
      <windows-key> + R
      IEXPLORE.EXE
      Ctrl-L<enter>http://slashdot.org/<enter&g t;
      Alt-V, C
      Ctrl-F, <input<enter>
      <home>Shift - End, Ctrl-C, Ctrl-A, Ctrl-V ...I can't do better than this (and I also typed this from memory, because I don't have a windows box at home ;^), because there is no "regular" way to find the end of the input tag. So I end up getting more than what I wanted, and have to either look at the screen (first), or use the keyboard / mouse to navigate and delete what I want.

      When the application that you are using behaves predictably in all situations, you can *allow* yourself to type faster than the computer or your brain can visually process the results. If you have to type, then wait to see what happened (because it's not consistent), then repeat that process, you'll be spending a lot of time waiting to see what happened.

      On the other hand, if you know what the keypresses do, and what they do is consistent, you can really get your interaction speeds up. That's one reason why I hate the text editor in this custom windows application that we're using at work. Somtimes it tries to be "helpful" and skip over punctuation when you are using ctrl-left-arrow, or ctrl-right-arrow. This means I can't unambiguously select the word before my cursor or after my cursor (because I never know if the thing is going to skip over the word I want to select, or even jump to a line above or below the one that I'm on!)

      If you are trying to improve the speed at which "experts" can use your system, then spend some quality time with vim, and make a few rules:
      0: always takes you to beginning of line (never goes to previous line)
      $: always takes you to end of line (never goes to next line)
      x: always deletes a character (never changes your line)
      [esc]: always gets you out of input mode (synonym: always puts you into command mode) ...understand *why* it's good that typing "<esc>00" in vim will always put you at the beginning of the line, and never move you a line up. Understand why it's good that in windows that <windows key> + R always opens up the run dialog, and that when you press enter, the application you're running always has focus (unless you hold down control while the app starts up?? I think?). Regularity is a good thing.

      --Robert

  12. Speed vs Training by FortKnox · · Score: 4, Interesting

    Web Interfaces and GUIs look pretty and impress people, but I've noticed that it's awfully hard to beat the speed of a well trained operator on a well designed console interface

    The key phrase here is a well trained operator. GUIs are pretty, and can be slow, but almost anyone can plop their butts down and start working on it immediately. Console apps, fast as they are, require sometimes days of training before working on it, then weeks (or months) of experience before getting truely fast at it.
    This tradeoff is what businesses look for, and if its a spot with a high turnover ratio, they don't want to throw money away on training. Sometimes its just better to make it more user friendly than speedy.

    I just wanted that point to come across for why companies go for web design. Right now I'm putting a J2EE front-end on a mainframe backend for a company to trade a 2 week training class to a 1 day relaxed training class to operate the software. It is something where speed is desirable, but web speed isn't that slow for the internal app.

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  13. Old skool case tools... by Usquebaugh · · Score: 2, Informative

    The Informix 4gl environment. x4gl is pretty common there's even a GPL version Aubit
    Oracle forms
    Adabas Natural
    I worked for a number of years developing case tools. I saw the tools used to great effect and also saw complete disasters caused by them. As long as you work within the confines of the tool everything will be quick and robust. Try and get clever and you might as well not use a case tool. The important word is TOOL not CASE.

    1. Re:Old skool case tools... by sql*kitten · · Score: 1

      Oracle forms [oracle.com]

      Oracle Designer/Developer is pretty darn cool. You can design your application, then automagically build the same app for a console (like a VT100 or something), a Windows or Motif application, or a web site. In some cases, it can even import a VB app (or at least, all the forms) into its internal format, then generate a web site or a Motif app from it. Not the cheapest, but certainly one of the best RAD tools.

    2. Re:Old skool case tools... by Isomer · · Score: 1

      Theres a program called gnu enterprise written by some people that previously used oracle forms. Of course it's Free software, and supports multiple database backends etc. It also supports multiple frontends, although the only one that I'm aware of that supports the full functionality is the wxwindows frontend, although web, and console frontends occasionally show signs of life. It's undergoing continous frantic development as more features are added and bugs are fixed.

  14. GUIs not necessarily slower than console apps by splattertrousers · · Score: 2, Interesting
    Some of the HR folks at work use a console app to access employee records while others use a Windows GUI. The console folk can lookup and update three records in the time it takes the the GUI folk to clicky-clicky through one.

    A well-designed GUI app is not necessarily less efficient to use than a well-designed console app. The problem is that many GUI apps, especially custom-written apps or vertical apps, are based on the horrible "forms" or "screens" paradigm, where the app is just a series of screens, each with lots of fields. (And all web-based apps are like this so I also classify them as "horrible", despite (or maybe because) the fact that I currently write web-based apps for a living (because that's what people like to pay for).)

    In fact, given talented UI (GUI or console) designers and application developers, I'd guess that a GUI app could be more efficient to use than a console app at least 75% of the time.

    And of course, a well-designed GUI app should be easier to learn than a console app almost 100% of the time.

    1. Re:GUIs not necessarily slower than console apps by Godeke · · Score: 1

      I have to concur here. A well designed GUI for data entry is no different from a console. One of the problems I find in GUI's is that they want to use tab to move fields and enter to submit. Old fashion data entry terminals used enter to move fields and "send" or some other custom key to actually commit the form. Seems like a simple thing, but I have found that by mapping some custom key handlers for using tab/space/enter where appropriate (and auto advancing on fixed width fields) you can run just as fast. Faster if you include well hotkeyed drop-down combo boxes.

      --
      Sig under construction since 1998.
  15. GUIs can be fast too by Jerf · · Score: 2, Insightful

    I know other people have said it, but let me give more concrete examples.

    Keys can be associated with every field on the screen. The convention is to mark those keys with an underscore (prefacing the desired key with '&' in the label definition on most GUI systems), and CTRL-thatkey will jump to that box.

    Reasonable default values are another key to console-app speed, and there's absolutely no reason why they can't show up in GUI apps either. In fact it's almost exactly the same amount of work.

    The GUI has other advantages over console use as well, because of the wider array of widgets you can use. A notebook tab interface is easy to write in a GUI, but I doubt many console libraries make it quite as easy. (There may be isolated counterexamples.) Tab navigation is usually as easy as a keypress, CTRL-PgUp (mozilla) or CTRL-Tab (wxWindows tab control, some exceptions in wxGTK if certain widgets are included in a tab that might eat the CTRL-Tab) for instance. The ability to embed things into the GUI display might be useful.

    I'd suggest going GUI and just being very methodical about making shortcuts for everything (and showing them on the screen).

    Failing that, if you have time to learn it I'd suggest building the app in Emacs, or at least looking at it, along with the Lynx+web suggestions I've seen.

  16. Good question by 0x0d0a · · Score: 2, Interesting

    This is actually a pretty good Ask Slashdot, for a change.

    I know exactly what you want -- something like a text-based Hypercard...a front-end building toolkit. Also, the insight that computer operators tend to be significantly faster with text-based UIs is interesting.

    Suggestions have included text-based web browsers (not really ideal...I think what the guy's thinking of is a screen-by-screen interface where there's no scrolling or anything, much like those custom DOS apps that banks use) and perl (AFAIK, perl will let you enter lines but doesn't natively have a great text-based UI tookit). I don't think any of these are really appropriate.

    You may want to look at dialog. It's a GPLed higher-level toolkit that sits on ncurses that ships with (at least) Red Hat. This is probably simpler than what you want, though, and I don't believe it has a drag-and-drop-ish interface. That means you can't "draw" the forms, like you can with common GUI tools.

    Another package, which is probably about as powerful as what you want, is newt (ships with RH and made by them, don't have an URL). The problem is that while this is a relatively high-level widget interface, it *still* isn't to the point of drawing your interface -- it requires coding. It's LGPLed.

  17. Zim by Anonymous Coward · · Score: 0

    It's not open source but it's not a bad tool.. kind of a VB for the console (as well as a Windows version).

    http://www.zimismobile.com/wireless/zimdevelopme nt .html

    1. Re:Zim by conteXXt · · Score: 1

      I like their current customer support page.

      404 page not found.....

      --
      The truth about Led Zep should never be told on /. (Karma suicide ensues)
  18. Why need an IDE for console? by mnmn · · Score: 1


    The whole pleasure of programming in console is doing it in your text editor, and compiling it on the shell by typing make. Theres RHIDE, and EMACS does fancy compiling, but nothing beats the simplicity of joe editor + bash command line.

    As for curses, try ncurses. Ive been wanting a simple replacement for these, but I suppose getting used to ncurses and working with sleepycat databasen is the way to go. Need bigger databases?? Go with Postgresql, but build a good stable foundation underneath with FreeBSD or a stable linux kernel and glibc.

    I still second your claim that someone on the command line (I think here you mean text mode GUI not command line) could work faster. A well designed GUI and a person used to it can work faster than any command liner. Fewer keys to press.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  19. Curses by duffbeer703 · · Score: 1

    You can build the apps you want to build with the curses libraries in a number of different languages.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  20. GUI's rarely support type-ahead by bill_mcgonigle · · Score: 3, Interesting

    That is, a continuous input stream that fills into the screens as they return data.

    Go watch a few good travel agents sometime. They start their query, know what options are on successive screens, and are entering their choices before the screens even draw. Having seen those screens ten thousand times they have them memorized.

    So, there might be 5 navigation steps to get to a desired screen but they don't see those 5 screens, they enter the navigation keypresses all while the second screen is drawing, which immediately is cleared as the next is drawn, etc, even if that stream is some weird string like 'R,N,1,3,F9'.

    Now, one may argue that a good GUI would eliminate all those navigation steps by placing all the options on one, more dense, higher resolution, screen. Yet, in a complex system, not every element can be crammed on one screen, so there is still navigation that needs to be done, and the lack of type-ahead comes back to be a problem. Also, on an infinitely large screen the user takes an infinitely large amount of time to acquire his target, so every useful system of any complexity has to be multi-level.

    There's also the issue of the keyboard being a much faster means of data entry than a mouse for certain types of data.

    Plus, most terminals are of very low complexity and can be implemented to draw just as fast as their line speed allows. This compares favorably with, say, a web page full of DHTML, JS, CSS, and applets. Even a plain-old-html page often renders more slowly today because the browsers have to be capible of rendering so much more they're built on far more complex object models, which take time to process.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  21. sure by Pierre · · Score: 1

    these are pretty rapid in c/c++/fortran already...

    argc, argv and a case statement ;)

  22. When you're comfortable weilding that hammer... by babbage · · Score: 1
    ...sometimes every problem can just be a nail. Hypothetical arrangement:
    $ cat ~user/.profile

    #!/bin/sh

    HTML_VIEWER=/usr/local/bin/links
    WEB_APPLICATION="http://localsite/login"
    $HTML_VIEWER $WEB_APPLICATION
    exit 0

    Or use w3m, or if you want to be retro-cool, lynx. Whatever. Every good Unix nerd knows that every good site will work perfectly fine in a text browser, and this is a perfect example of such an opportunity: if all you want is a forms driven enterprise application, people have been moving these things to the web for years now, and there are huge, well tested toolkits for doing this in every language you could ever want to use (Perl / mod_perl, Python / Zope ...others too, or so I've heard -- something about Java or something).

    Among other benefits, writing your network console app this way lets your developers leverage web & database skills that they've already mastered over the past few years, and your users can either have the console mode interface or if GUIs are that important to them they can use a standard graphical browser instead: no decision is imposed on them (well, aside from the snarky login script :).

    I still like console apps, and don't mean to disparage them -- my main mail client, for example, is still Pine, and I wouldn't feel nearly as productive with any of the GUI mail clients I've tried (many of them). At the same time, I also wouldn't feel as productive in a web based mail client -- too clunky in the best case, and almost always a disaster in a text browser. Obviously there is a sweet spot to be hit and some applications don't work well through a web browser.

    But for a lot of the network applications I've seen (the DOS based inventory lookup software in retail stores, etc) where the client is essentially dumb and all you're doing is the more equivalent of "SELECT Product FROM InventoryTable WHERE ProductID LIKE "%whatever%", that works very well in a Perl or mod_perl CGI/DBI script, and there's no reason that such a script can't be engineered to be just as easy to use in a good quality text browser like links.

    If I were writing a network aware console app today, I would strongly consider such an implementation. There are cons -- it can be clunky compared to a pure console app -- but the pros are interesting enough -- interface flexibility, leveraging of well-honed skills, etc -- that it just might be the right approach in many situations.

  23. Progress Database by Anonymous Coward · · Score: 0

    I know that you are looking for an open source solution, but let me recomend a commercial environment -- Progress databse.

    If you are looking for something like Ms Access, progress is the perfect environment. It has a built in 4gl that is easier to learn than any that I have ever used before. There is a large user base and several ERP systems were written in progress. The further advantage of progress is that the GUI client makes it easy for your console application to run in a windowing environment.

    Other features: sql, odbc, and a gui design tool.

  24. Dumbest question ever!!!!! by Monkelectric · · Score: 1
    Ncurses + python or perl

    Do your own research!

    --

    Religion is a gateway psychosis. -- Dave Foley