[HN Gopher] Modern Turbo Vision 2.0
___________________________________________________________________
Modern Turbo Vision 2.0
Author : begoon
Score : 189 points
Date : 2022-03-19 08:59 UTC (14 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| michaelsbradley wrote:
| See also Final Cut:
|
| https://github.com/gansm/finalcut
| simonjgreen wrote:
| Wow, this is a throwback. I'm suddenly sat in front of my Amstrad
| PC as an early teenager poking around DOS tools I don't
| understand.
| pantulis wrote:
| My throwback is reading through sheets and sheets of continuous
| form paper printed with the Turbo Vision demos and being
| utterly unable the wrap my head around the object oriented
| code. Still I learned a lot by annotating that source code.
| bananaboy wrote:
| Hah I was just looking at this recently. I was looking for a C#
| version. I couldn't find anything nice though. There's this
| https://github.com/elw00d/consoleframework but it looks like it
| hasn't been updated in a long time.
| v-yadli wrote:
| C#? Tick.
|
| Console? Tick.
|
| TurboVision theme? Tick. (lol)
|
| https://github.com/jinek/Consolonia
|
| > TUI (Text User Interface) (GUI Framework) implementation for
| Avalonia UI
|
| > Supports XAML, data bindings, animation, styling and the rest
| from Avalonia.
| pantulis wrote:
| Have you tried Miguel de Icaza's gui.cs?
|
| https://github.com/migueldeicaza/gui.cs
| bananaboy wrote:
| I looked at that but it didn't look enough like Turbo Vision
| for me :)
| richardfey wrote:
| This is awesome! I would prefer to use it with Pascal though;
| will give it a try anyways!
| magiblot wrote:
| If you want Pascal, this might be what you want:
| https://wiki.freepascal.org/Free_Vision
| chajath wrote:
| Can rhide be built with this new tv? If so that will be the only
| ide I'll use and I'll never leave
| magiblot wrote:
| No, it can't. RHIDE needs specifically this one:
| https://github.com/set-soft/tvision. If it may interest you,
| there's a precompiled RHIDE binary in https://github.com/set-
| soft/tvision/tree/master/rhide_bin/li....
| rezaprima wrote:
| IIRC C++'s TurboVision is port of Pascal's one. Like the
| #define Uses_TKeys
|
| line is from something like uses Tkeys
|
| in Pascal
| abotsis wrote:
| This is great! A Python wrapper would be awesome!
| owl57 wrote:
| _I am confident that Turbo Vision can now meet many of the
| expectations of modern users and programmers._
|
| Probably needs help with porting to node.js though:
| https://github.com/magiblot/tvision/issues/27#issuecomment-8...
| digisign wrote:
| This looks awesome, but not packaged yet?
|
| For a decade or two I waited for a good CUA editor on Unix. One
| that took advantage of 1990s PC hardware. Like DOS Edit, but
| better. Built my own striped-down SET/RHIDE editor in the early
| 2000s, then hobbled along with "ne" from ~2010, but that niche
| was fully taken by micro a few years ago. Would love a friendly
| tvision-like competitor with real menus and dialogs.
|
| But what about the color palette? I see one screenshot with an
| extended palette, but the main shots that are using the original
| eight-color palette. Maybe nostalgia shots, ok. Was acceptable to
| have saturated dark blue and dark green backgrounds in ~1990 I
| suppose, that's all there was. But no longer. A micro/sublime-
| like dark grey color theme of at least 256 colors would attract
| new folks more effectively. Backgrounds should have a low-
| saturation imho.
| jrm4 wrote:
| Broadly, love seeing projects like this. Entirely too much wheel
| reinvention going on, well, everywhere in software. Let's go
| back, see what worked pretty well for a long while, and just
| updated or rewrite it to similar specs. Any more things going on
| like this?
| Andrew_nenakhov wrote:
| Btw those text based interfaces are better than most gui/web
| interfaces of today.
| protomyth wrote:
| The accountants where I work felt all the GUI interfaces sucked
| compared to their terminal. This led us to buy a new iSeries.
| It will probably last the same 15 years as the last one.
| bluedino wrote:
| They're faster than web based apps that's for sure.
| tonyedgecombe wrote:
| I remember one place I worked where we ripped out all of the
| dumb terminals on a UNIX system and replaced them with
| Windows 3.1 PC's with terminal emulation. Productivity was
| noticeably down after the change.
| zozbot234 wrote:
| > Productivity was noticeably down after the change.
|
| Can't play much Solitaire or Minesweeper on a UNIX dumb
| terminal... The most fun you can have is flying around in a
| 3D-rendered filesystem.
| pjmlp wrote:
| MUDs say hello.
| pajko wrote:
| "It's a UNIX system! I know this!"
| toast0 wrote:
| 80x24 is plenty of room for solitaire, and an ok
| minesweeper (bigger is nice though)
|
| If you've got a graphical terminal, like you'd need for
| your filesystem viewer, then you can do all sorts of
| stuff, of course.
| [deleted]
| qbasic_forever wrote:
| Definitely not as good as the web, if only for zero
| accessibility. With the web you have a DOM of semantic elements
| that are all carefully marked up by hand to describe the intent
| and meaning of everything. With turbo vision and TUIs you have
| a buffer of bytes with text, graphics, background, etc. all
| using the same character set. Good luck if you're a screen
| reader trying to make sense of it.
|
| But you can have TUI style on the web, this tui.css project is
| absolutely amazing IMHO:
| https://github.com/vinibiavatti1/TuiCss
| miohtama wrote:
| Windows 95 was the peak of good UX, like the ancient Greek was
| the peak of statue crafting. Some things were better in the
| past.
| rahoulb wrote:
| Personally I'd say MacOS 9 was the peak (ignoring its
| instability).
|
| Things like:
|
| * the filesystem root being the desktop - so you started
| navigation from the first thing you saw when you switched the
| computer on
|
| * the way the finder remembered the exact layout of your
| folder windows (if you've not experienced it, it's hard to
| explain why it's better - but Windows Explorer and the
| current Mac Finder are both file browsers, whereas the old
| Mac Finder *was* your desktop in whatever state you left it)
|
| * kernel extensions being switched on and off by dragging
| them in and out of the extensions folder
|
| These things made the GUI match the actual underlying system
| - whereas I always felt that Windows 95 onwards (and now
| OSX/macOS) hide the workings under pretty layers).
|
| Having said that I also used Turbo Vision in the olden days
| and it was fantastic.
| toiletfuneral wrote:
| tonyedgecombe wrote:
| Windows 95 was unreliable, NT Workstation 4.0 was better.
| qbasic_forever wrote:
| Pre-internet windows 95 was fine, as long as your hardware
| was good. A lot of folks had off-brand CPUs with bad
| cooling, off-brand RAM with problems, etc. which lead to a
| lot of instability. But on a plain old Intel pentium with
| good RAM Windows 95 would run forever.
|
| It was a hermetically sealed little environment--there were
| no updates or changes unless you popped a floppy disk in
| and made them. If you didn't do anything different it would
| boot up the next day just like it did the days prior. It
| wasn't until we started getting those machines on the
| internet regularly and started running a lot more
| background tasks, services, new software, etc. that they
| really started to degrade.
| LargoLasskhyfv wrote:
| 49.7 days are _forever_?
| qbasic_forever wrote:
| Before the internet was on 24/7 with broadband
| connections everywhere people didn't run their PC all the
| time. It's not like you had a local wifi network to serve
| data, etc. to your other devices. You turned the PC on,
| played a game, did some spreadsheets, dialed in to AOL,
| and then turned it off. Those PCs pulled 300+ watts of
| power at idle too and were huge power hogs. Running your
| windows 95 PC nonstop for days and months at a time was
| not common at all.
| LargoLasskhyfv wrote:
| Maybe, maybe not. At the times W95 was usual, I mostly
| ran NetBSD and later some Gentoo and Debian on my
| assorted systems. Furthermore, most systems had PSUs
| rated at 200 to 250 Watt, which they didn't even burn if
| one used operating systems which knew what to do with the
| CPUs HLT instruction during idle, or less load, also
| spinning down disks was a thing.
|
| BTW, there was software which made W95/98 use HLT too.
| Rain, Waterfall, CPUidle, or something like that. Which
| became obsolete with W2000 which did that by itself.
|
| Shrug.
| digisign wrote:
| We downloaded the 95 betas from the internet to test them
| before rolling them out.
| [deleted]
| pkaye wrote:
| Now we replace it with fifty million JavaScript libraries for a
| web interface.
| qbasic_forever wrote:
| Why not both? https://github.com/vinibiavatti1/TuiCss
| dugmartin wrote:
| Turbo Vision was very fun to use and I made a good bit of money
| contracting on small projects in grad school in the early 90s
| using it. It made writing text mode guis a breeze. Borland's
| later Object Windows Library (OWL) was, in my opinion, much
| clunkier but it was done in C++ compared to Turbo Vision's
| Pascal.
|
| Probably the most interesting app I did was a small quality
| control/stats app for this book: "Quality Control 4th Edition"
| (https://www.amazon.com/Quality-Control-Dale-H-
| Besterfield/dp...). All the data entry used Turbo Vison and all
| the graphs and charts used BGI (Borland Graphics Interface). It
| was meant for student use but I found out later it was used by
| Jim Beam on their whiskey distillery production line.
| pjmlp wrote:
| Turbo Vision and OWL started as Turbo Pascal frameworks and
| were later ported to C++.
|
| Delphi continues this tradition, most VCL components are
| implemented in Delphi, even those shipped in C++ Builder.
| tssva wrote:
| There were Pascal and C++ versions of Turbo Vision. This
| version is based upon the C++ version Borland released into the
| public domain in 1997.
| tluyben2 wrote:
| Nice work!
| magiblot wrote:
| Thank you very much!
| aghilmort wrote:
| fun memories -- that + monochrome channel adapter was first dual-
| monitor setup can actively recall using
| andrewshadura wrote:
| Unfortunately, I'm afraid, since this is based on the actual
| source code of Turbo Vision, it's non-free, so it's unusable for
| open source projects.
| dvdkon wrote:
| Wikipedia says there was an official Borland public domain
| release of the source code, which this is probably based on:
| https://en.wikipedia.org/wiki/Turbo_Vision
| andrewshadura wrote:
| Yes, you're right.
| lproven wrote:
| Very important point, this.
|
| But of course Borland could fix that quite easily.
| ilaksh wrote:
| Man I hope you are wrong.. because I was literally planning to
| build an IDE for Algorand/Python/PyTEAL with this (I know,
| mentioning Algorand is an automatic downvote, oh well).
|
| You might be right.. but I am not sure. Could Borland really
| sue you or something, many years they release the full source
| code "as is", "provided gratuitously", "no support", "no
| updates"? I mean it doesn't explicitly say "public domain", but
| if someone built software using this and then Borland tried to
| claim ownership of it or something, would that not be some kind
| of trap? It seems like any reasonable court would not allow
| that.. I would like to believe anyway.
|
| DISCLAIMER AND LIMITATION OF LIABILITY: Borland does not make
| or give any representation or warranty with respect to the
| usefulness or the efficiency of this software, it being
| understood that the degree of success with which equipment,
| software, modifications, and other materials can be applied to
| data processing is dependent upon many factors, many of which
| are not under Borland's control. ACCORDINGLY, THIS SOFTWARE IS
| PROVIDED 'AS IS' WITHOUT EXPRESS OR IMPLIED WARRANTIES,
| INCLUDING NO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
| PARTICULAR PURPOSE, OR NONINFRINGEMENT. THIS SOFTWARE IS
| PROVIDED GRATUITOUSLY AND, ACCORDINGLY, BORLAND SHALL NOT BE
| LIABLE UNDER ANY THEORY FOR ANY DAMAGES SUFFERED BY YOU OR ANY
| USER OF THE SOFTWARE. BORLAND WILL NOT SUPPORT THIS SOFTWARE
| AND IS UNDER NO OBLIGATION TO ISSUE UPDATES TO THIS SOFTWARE.
|
| WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, NEITHER
| BORLAND NOR ITS SUPPLIERS SHALL BE LIABLE FOR (a) INCIDENTAL,
| CONSEQUENTIAL, SPECIAL OR INDIRECT DAMAGES OF ANY SORT, WHETHER
| ARISING IN TORT, CONTRACT OR OTHERWISE, EVEN IF BORLAND HAS
| BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR (b) FOR
| ANY CLAIM BY ANY OTHER PARTY. SOME STATES DO NOT ALLOW THE
| EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES,
| SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU. Use,
| duplication or disclosure by the Government is subject to
| restrictions set forth in subparagraphs (a) through (d) of the
| Commercial Computer-Restricted Rights clause at FAR 52.227-19
| when applicable, or in subparagraph (c) (1) (ii) of the Rights
| in Technical Data and Computer Software clause at DFARS
| 252.227-7013, and in similar clauses in the NASA AR Supplement.
| Contractor / manufacturer is Borland International, Inc., 100
| Borland Way, Scotts Valley, CA 95066.
| andrewshadura wrote:
| I hope I am wrong. But I don't see anywhere in the text of
| this license any explicit permission to use it for any
| purpose, it's basically only a warranty disclaimer, unless
| some bits were omitted by accident.
| ilaksh wrote:
| Right. The question is, if I made a program, and for some
| reason they wanted to extract a fee or make me delete it or
| something, would a court take their side?
|
| Because otherwise what is the utility of releasing the
| source code of a programming library for free? Could they
| argue that it was only for educational purposes or
| something?
|
| Again, seems like a trap if it's supposed to be interpreted
| otherwise. In which case why should such a trap be legal.
| andrewshadura wrote:
| For anything Python, I recommend you try rich/textual.
| magiblot wrote:
| I very much doubt you can get into trouble for using Turbo
| Vision as an external dependency. There are already projects
| using it, e.g. https://github.com/electroly/tmbasic.
| andrewshadura wrote:
| I stand corrected, but the license statement should be updated
| to clearly state the actual license, as it currently only
| includes the warranty disclaimer.
| enriquto wrote:
| It reminds me of the great rhide, of djgpp fame. It was a similar
| project.
| magiblot wrote:
| RHIDE uses this other Turbo Vision port:
| https://github.com/set-soft/tvision. It depends on the custom
| API extensions of that port, so it's not compatible with mine.
| zozbot234 wrote:
| AIUI, the FreeDOS project still maintains DJGPP and RHIDE.
| MrYellowP wrote:
| W o W ! :O
| the-dude wrote:
| I bought a mouse specifically for this. It was a Genius and came
| with a holder which you could stick to the side of your monitor
| or to a wall.
|
| So you could store your mouse when not in use. I am not making
| this up.
| dual_dingo wrote:
| Genius GM6000? I had that one and still use the cutting side of
| the combined mousepad/cutting mat that came with it.
| the-dude wrote:
| Green. Outstanding quality.
| jeffreygoesto wrote:
| Can confirm. Mine was resting in a drawer for some years,
| but seven i found it, I immediately started using it again.
| Great mousepad since 1989.
| WalterGR wrote:
| Mouse holders are still manufactured, believe it or not.
| vasac wrote:
| I had the same one :) - https://youtu.be/GiFWLSdFAuA
| sdfjkl wrote:
| It also had a ball that you had to remove every third day or so
| and then clean the friction rollers inside the mouse which the
| ball was turning. All the dust the ball picked up transferred
| onto those rollers and coagulated into dense felt around them
| until they stopped turning.
|
| Mine had three buttons though!
| a_e_k wrote:
| My standard kit still includes a pair of fine-point forceps
| from my dad's lab that he gave to me for cleaning mice when I
| went off to college. It's been a long time since I used them
| for mice, but they're now really handy for charging ports.
| wiz21c wrote:
| I've already asked the question, but is there a way to embed this
| in a regular app ? I mean, if I want to have a "retro" like GUI
| _but_ I don 't want to bother my users with opening a
| terminal/console, can I embed this ?
|
| The thing I'm thinking about would be to extract the alacritty
| render code and make it a library... But that's sure not easy to
| do...
| bonzini wrote:
| You can use the vte library to embed a terminal in a GTK+
| program. QEMU does it for example.
| qbasic_forever wrote:
| IMHO I would pop a web view and load an HTML page with tui.css.
| It's seriously impressive looking and much easier to integrate
| in a modern gui system, electron app, etc.:
| https://github.com/vinibiavatti1/TuiCss
| sdfjkl wrote:
| Turbo Vision is odd. It's a backport of a graphical UI (Windows
| 3.0) to text mode. It was exceptionally well done in both end
| user and developer ease of use and caught on.
|
| But I doubt it's the optimum for a text based UI, at least for
| most applications. Keep evolving!
| dual_dingo wrote:
| IIRC both Windows and TV where modeled after the IBM Common
| User Access
| (https://en.wikipedia.org/wiki/IBM_Common_User_Access)
| interface style, which was a somewhat big theme in the late 80s
| and early 90s.
| dugmartin wrote:
| Its fun seeing some of the vestigial CUA key bindings in
| modern apps. The one I probably use the most is F5 in the
| browser to refresh the page. That is listed in your Wikipedia
| page:
|
| > If applicable to the page/screen in question F5 provides a
| refresh function;
| digisign wrote:
| Also influenced by the original Mac UI, which influenced
| Motif, which influenced later toolkits. It was a great time
| for standard interfaces, which has gotten worse since, imho.
| zozbot234 wrote:
| There were text mode UIs well before Windows 3.0 - Microsoft
| had their own TUIs, similar to Turbo Vision but with a subtly
| different style. They even supported a "monochrome mode" option
| that wouldn't look out of place on a VT-100 terminal.
| digisign wrote:
| Also reminded of the Norton DOS tools, which were interesting
| in themselves.
| qbasic_forever wrote:
| You're not wrong, I remember a lot of turbo vision apps loved
| to use the MDI, multiple document interface, paradigm where
| each application was like a mini OS with unique windows you
| could resize and place as you please. This was fine when you
| were in DOS and could only run one application at a time,
| entirely fullscreen. But nowadays MDI on a multitasking OS with
| multiple things running at once is a weird anachronism, like
| you're running an OS inside an OS. It's confusing and not good.
|
| You can use turbo vision for good interfaces though. Just have
| to be careful not to fall into the tropes of 30 year old pre-
| multitasking OS application design.
| zozbot234 wrote:
| MDI is completely optional in TUI apps. It only enters the
| picture _if_ you have multiple documents open within the same
| terminal /app session, otherwise you simply get the single
| document view. This applies to Emacs "windows" as much as any
| TUI in DOS.
| digisign wrote:
| This is usually handled by tabs today... not sure that has
| been ported back to libs like turbo vision yet. I don't think
| so.
| zozbot234 wrote:
| Tab bars are not very TUI friendly though, since the
| typical TUI has too little space to display a list of
| usable tab names at all times. Instead there's simply a
| hotkey which pops up a "window list" for the user to switch
| to. (There are exceptions when space is genuinely abundant
| and a side list of "views" or "tabs" to switch to can be
| kept permanently visible, but they _are_ exceptions.)
|
| Here the TUI designer profits from being able to _assume_
| that the user can navigate using the keyboard, as opposed
| to implementing "keyboard shortcuts" as a purely
| additional feature. (The GUI on the other hand can use
| design 'tweaks' to minimize the wasted space and perhaps
| distraction that would normally result from showing an
| always-visible tab list.)
| hdjjhhvvhga wrote:
| > But I doubt it's the optimum for a text based UI, at least
| for most applications.
|
| Why do you think so? When I came across the first Newt apps
| years later (Red Hat installer and tools) I was actually
| surprised how less user-friendly and intuitive these newer TUIs
| were wen compared to TV.
|
| One big advantage of TV was that it was consistent: when you
| learned how to use one app, you more or less knew how to use
| all other TV-based apps.
___________________________________________________________________
(page generated 2022-03-19 23:01 UTC)