Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Ok, so I know what you are thinking: "What on earth are you doing still running Windows 3.1?"

Here's the situation. The computer running 3.1 is also the controller for $150,000 bandsaw made in Germany, so any chance of upgrading the actual computer without spending quite a bit of money up front to the manufacture is slim to none. The problem is that the timeclock software is on a web driven platform. Netscape 4.0 does not display the site correctly and does not respond to the button pushes like "login" or "punch".

Things like Java or flash are not necassary. AFAIK, it just needs to support HTML 4 and CSS.

EDIT:

So I figure it might be a good idea to disclose the software being used. It's Gorrie Regan's Time and Attendance software. They have done some updates since we first acquired them. The service is hosted through a combination SQL server and IIS.

share|improve this question
11  
You may want to look into a physical clock. They have biometric finger/hand scanners, swipe cards, prox cards. A lot of clocks are wireless and can be integrated with time and attendance softwares. Some also carry the capability of bell timers, door entry, accrual balances, schedules and time restrictions. Probably better to do this than open up this computer with outdated security software to the web. –  kobaltz May 10 '12 at 21:23
37  
@Moab not a good idea to upgrade if the computer is being used to control equipment. That computer is better left alone (and unnetworked if possible). –  Renan May 10 '12 at 21:27
208  
The real question is why anyone would use the bandsaw controller to log into your time tracking platform. –  Oliver Salzburg May 10 '12 at 21:29
33  
If management have asked this in the name of "lean manufacturing" then simply tell them that the cost of making this work far outstrips the cost of using another more appropriate machine to do the timekeeping job. Trying to use a spanner to hammer a nail isn't lean manufacturing, it's stupid manufacturing. –  Mokubai May 11 '12 at 16:39
11  
I voted this up because either your life sucks or you've done a terrific job entertaining me. Either way, it's wroth an uptick. :) –  tewha May 11 '12 at 20:53

15 Answers 15

up vote 199 down vote accepted

Sorry to put this as an answer, since I can't give you one, but seemed too big for a comment.

To add to the people recommending not to do this: the more useful that you make the Win3.1 machine (by allowing it to do other work), the longer the machine is just useful enough to not replace with something that makes sense.

Win3.1 is a horrible OS to have as a controller. Think of it as DOS with a GUI, which is what it is. There's no process isolation so a bad browser window (or any app) can scramble memory in the controller's memory space wreaking havoc. Since you have old browsers looking at modern HTML/CSS/javascript, there are a lot of possibilities for browser bugs and the odds of scrambled memory are relatively speaking, high.

There's also not a lot of Win3.1 support for realtime. Even Win95 was better, though not by much. This means that as apps try to cooperate and share the CPU, they don't necessarily have to, and some app or browser window may use up all of the CPU, throwing off the timing for the controller software. That may not end well. This is in fact a bandsaw.

There were (possibly still are) viruses for 3.1 (err, DOS really), so opening it up to any network should scare you. Any wise network engineer would require a firewall (if you could find one for Win3.1) and at that point you bog the machine down. Then, many answers recommend IE5, which is unpatchable at this point.

Win3.1 was end-of-lifed about 4 years ago (surprisingly recently in my book). Internet Explorer 5.x had it's last support of any kind in 2010. I'd tell my boss that this is connected to a bandsaw and we don't want any problems with the controller software. If the controller-software people were at all smart, they'd have a clause not allowing any other software on the controller box, or you void some support from them.

If you really need something close to the controller, I'd say WiFi+cheap tablet/used iPod Touch, but I'd obviously say you need to secure your WiFi network as well.

share|improve this answer
9  
Excellent points, but also keep in mind that the current computer might have been built to withstand an industrial environment, whereas a common consumer-grade tablet/iPod might not last long if it hasn't been built to withstand the fumes, dust, etc. –  rob May 10 '12 at 22:44
23  
@rob true enough, but I'd even then recommend some third option over a non-protective OS running an unpatched IE connecting to industrial equipment. –  Rich Homolka May 10 '12 at 22:53
5  
There's also not a lot of Win3.1 support for realtime. -- except for the fact that any application can seize the CPU for as long as it wants, not giving it to the OS or any other application. This includes the bandsaw controller app. –  Random832 May 10 '12 at 23:57
14  
This this this. The idea to put a browser in such a critical Win 3.1 box in that way is just mind-numbingly bad. I just woke up, so it's certainly the most stupid thing I've heard today :-) . The "Linux and Wine" solution that was mentioned sounds interesting to me if you necessarily have to have a browser on the very same computer that operates the bandsaw (still stupid, but a lot more secure, and it will take care of another problem: the Win 3.1 computer will break sometime. Be ready to upgrade). But for crying out loud: just get another isolated computer or device to do this. –  Daniel Andersson May 11 '12 at 5:43
8  
Win3.1 may not provide any real-time capabilities, but it also doesn't get in the way of software that provides its own, by installing custom interrupt handlers. That's one of the few things that makes 16-bit software really not work on Win9x and XP, so I'm fairly confident that's what's going on. Upgrading the computer is therefore a non-starter. The real question is why anyone expects the bandsaw controller to continue working if the configuration is changed (adding new software, etc.) –  Ben Voigt May 11 '12 at 23:09

K-Meleon may work. It works on many old systems. Small and nimble.

share|improve this answer
    
It's faq says win32; which isn't surprising. There were major architecture changes going from Win16 to Win32; it's not like the more recent 32-64bit transition which (for well written) code required little more than flipping a compiler switch. kmeleon.sourceforge.net/wiki/FAQ#platforms –  Dan Neely May 18 '12 at 12:43
1  
@Dan - as others have mentioned, 32 bit code can be run on Windows 3.1 using win32s. As far as I remember, a pretty big subset of the win32 API was supported. –  Steve314 Jun 15 '12 at 15:48
    
@Steve314 many of the APIs being capable of being grafted onto win16 isn't surprising, since in many cases the only changes needed would be changing the default int from 16 to 32 bits in length. At deeper levels the change from win16 applications cooperatively sharing a single process/thread among the OS and all applications and win32 using process isolation and preemptive scheduling is a massive shift for complex applications. As they steadily race towards doing everything that an OS does, browsers have become among the most complex applications in existence. –  Dan Neely Jun 16 '12 at 11:02

This is actually a situation that OS2 had been used for years specifically to address.

It's obviously a lot more destructive then just installing a browser... but it is both capable of running Windows 3.1 software in addition to more modern software like Firefox 3.6.

share|improve this answer

Technically, you might be able to get a more modern 32-bit browser to run on top of Win32s (which gives you a subset of 32-bit functionality for 16-bit Windows). If you want to try that, I'd start with "portable" versions of Opera, Mozilla/Firefox, etc. (I also mentioned this in a comment the other day, but deleted it because I didn't think it was advisable.)

That said, you might want to reconsider your decision not to try running the software on a newer machine. As Rich pointed out, there are many reasons not to run a web browser on your bandsaw controller PC.

However, at some point something bad will happen to this PC, and at that point you're going to lose a lot of money if you don't have a well-tested backup plan in place. I don't know much about lean manufacturing, but I do know that when a critical system goes down with no contingency plan in place, it has an immediate and direct effect on operations.

Something that won't cost you much right now (aside from time) would be to try copying the Windows 3.1 installation to a VM or emulator such as DOSBox, or even try to run the software directly on a newer version of Windows. Many programs won't run on the first try, but can be made to run with the right compatibility options. I was pleasantly surprised several years ago when I was able to make an insurance company's proprietary DOS app run just fine on Windows 2000 and XP by doing nothing more than supplying an extra flag to command.com or cmd.exe. (Note that command.com is apparently only available on 32-bit versions of Windows 7.) Even if you can't get any support from the manufacturer, you may be able to figure it out yourself or find a local independent computer shop or techie who is up to the challenge.

Also consider any processing time that you're currently wasting. Maybe opening and saving files for your bandsaw controller is instantaneous, but I wouldn't be surprised if you could recover at least several minutes a day by shortening or eliminating all the "loading..." screens. The insurance agents in my anecdote were ecstatic, because the obvious side effect of migrating to newer machines was that everything ran faster, so they were no longer waiting for screens to come up.

If all goes well on a test PC running a more modern OS, you can set it up as a permanent replacement and keep the old PC as a backup. (You should be able to pick up a 5- or 10-year-old industrial PC for pretty cheap, if a regular desktop machine isn't likely to survive very long in your environment.) You still probably don't want to run a web browser on it for real-time performance, security, and uptime reasons, but at least you won't have to worry as much about that fateful day when the PC breaks.

share|improve this answer
    
In addition to a VM or DOSBox, there's Wine on Linux. –  detly May 11 '12 at 3:04
5  
The controller is almost certainly a real-time application. This means that it needs to run for, say, ms every 100 ms or so. In an emulator, this is not guaranteed. If you start up an application (like the browser) in another window, it will take CPU time from the VM or emulator. There are real-time versions of Linux, but the VM would require custom programming to make this work. –  Kevin Vermeer May 11 '12 at 13:24
    
@KevinVermeer true--I've clarified that the real-time performance is one of the reasons not to run a web browser on the host OS. –  rob May 14 '12 at 5:22

I would consider running screen sharing software. After doing some research, it sounds like VNC was never ported to Windows 3.1, but you could try running pcAnywhere 9.2, which I believe is the last version that supports Windows 3.1. I think the most important thing is to only run stable software on this machine, as there is no memory protection, no bug fixes in many years, and it's controlling an expensive and dangerous piece of equipment. You can find another thread which discusses browser alternatives for Windows 3.1 here. They seem to think that Opera is a bit unstable, and other browsers probably don't support all of the modern CSS that you need.

share|improve this answer

You should build a simple script which screenscrapes the original modern web app and exposes it in a simplified view accessible by the browsers from 1994.

share|improve this answer
    
"simple"? I must have misread. –  Lohoris May 14 '12 at 8:13

Here's what I would do:

Develop a web app interface legacy compliant running in a modern PC so the 3.11 machine can connect to the actual website through it, like a proxy-translator thing. It shouldn't be very difficult, just forward the input and translate the output.

OR

Buy 1 host PC and set up 2 virtual machines: One with 3.11 connected to the controller, another connected to the network with an updated browser and OS. Total price, about 200USD?

If VM can't handle the controller device, I suggest that you use a new computer for accessing the network, since old software connected to a network is a huge security flaw.

share|improve this answer
3  
Custom hardware, limb-maiming controllers, and virtual machines. Will not work. If it will work, it won't work reliably. If it will work in a way that seems reliable, in case of any accident the insurance company will not pay, stating it isn't a reliable setup. –  ZJR May 13 '12 at 13:33
    
You're right, virtualization is not ultra reliable in every context, but in case that's a problem I gave an alternative to that. I updated my answer to consider a third, more time consuming solution also involving 2 PCs. –  elcodedocle May 13 '12 at 16:55
  1. VNC still works for Windows 3.1. Install VNC and open a connection to a more capable machine, with shares that the Windows 3.1 machine can reach (or running an FTP server with IIS).

  2. Run an XWindows client on the 3.1 machine, and connect to a machine running XServer. Then you can run modern browsers in a terminal window.

Way to rock the classic tech. Windows 3.1 as the new OS/360 mainframe the company is afraid to replace. :)

share|improve this answer
    
I mean, VNC runs on my Wii, it works everywhere. –  ZJR May 13 '12 at 13:22
11  
this is the most secure and reliably futureproof solution –  Joeri Sebrechts May 13 '12 at 20:09

Err... Do you really want to give a second task to a computer from the stone age that is controlling a $150,000 bandsaw..?

Judge to plaintiff: Tell us how you lost your arm.
Plaintiff: Well, Bob was late to work that day and tried to punch the clock while I was using the bandsaw.
Prosecutor to defendant (Bob): Did you know that the bandsaw always stops while the time clock web site is opening?
Defendant: Sure, everyone knows that. We'd just wait for the person to click the Clock In or Clock Out button and then the saw would come right back on!
Plantiff: I didn't know Bob was late! The saw stops when a part gets stuck. How was I supposed to know that it would suddenly start back up while I was looking for the part in there..?

share|improve this answer

The one sensible solution I think will be to:

  • setup modern computer (with at least 2 processor cores) with some long-support Linux distribution (CentOS/RHEL/Ubuntu LTS);

  • setup a virtual machine there - setup it so it only can connect to your bandsaw (I don't know how it is connected - I suppose for example with serial connection -serial /dev/ttyS0 option of qemu should help, -net none option would disable network);

  • install Windows 3.1 to this virtual machine and move bandsaw software there.

You'll have modern secure system and browser for timeclock software and insecure but isolated from Internet system for bandsaw.

This is even better than leaving current setup - a 15 years old computer will break rather sooner than later and you'll have no means of replacing it. Moving virtual machine to another computer is almost as simple as moving a disk image file.

share|improve this answer
6  
Won't work -- you will badly screw up the timing of the bandsaw control. The most likely reason for the Win3.1 requirement for the existing software is that it installs its own interrupt handlers in order to get real-time operation. That isn't possible on modern OSes which run applications unprivileged, and while a VM can emulate it, the interrupt latency will be greater and much much much more unpredictable. –  Ben Voigt May 11 '12 at 23:04
    
On modern Linux you can setup a virtual machine process for real-time scheduling using chrt --fifo qemu .... Also modern system will be hundreds times faster than 15-year-old one. I don't think there will be a problem with too slow reaction times. –  Tometzky May 12 '12 at 16:37
3  
Interrupt handlers are much faster than even real-time scheduled processes. Also, too fast a reaction may be just as big a problem as too slow. I don't see any way to avoid unpredictability of response latency when using a VM. –  Ben Voigt May 12 '12 at 17:07

If your web-based timeclock software has only 2 or 3 menus with 4-5 options, I guess that asking a cheap programmer to develop a Windows 3.1 application that fetch data on the website and sends the appropriate data would be the simplest way to go.

Chances are that your low-cost programmer already has Windows 3.1 as his primary OS on his 486 DX33.

It's (almost) not a joke, but the cheapest and faster solution.

share|improve this answer
1  
And the other solution is @rob 's solution: to change the PC yourself for another PC with a better OS but with the same I/O (serial port, parallel port and others) and with the original data / company softwares. –  leye0 May 11 '12 at 6:15
9  
I bet the "cheap developer" can't program a machine without TCP/IP support to fetch data from a website. –  ONOZ May 11 '12 at 13:13
    
Or to create a cheap proxy website/service that works for Netscape 4.0 –  Ivarpoiss May 11 '12 at 13:52
6  
@ONOZ: 3.1 has TCP/IP support. –  grawity May 11 '12 at 15:37
2  
surely two PCs is cheaper. –  leonigmig May 12 '12 at 15:45

I would assume your best bet is to go with a Microsoft product on this one. The last compatible Internet Explorer release seems to be 5.01.

OldApps has a realy nice list of latest released versions for the given platforms. However, contrary to that table, 5.01 is listed for Windows 3.1 as well.

Operating System        Latest Software Version
Windows 3.1             Internet Explorer 3.01 (Windows 3.1)
Windows 95              Internet Explorer 5.0
Windows 98              Internet Explorer 6.0 (Setup Only)
Windows 2000            Internet Explorer 6.0 (Setup Only)
Windows ME              Internet Explorer 6.0 (Setup Only)
Windows Server 2003 x64 Internet Explorer 7.0 (x64)
Windows Server 2003     Internet Explorer 7.0 (Final)
Windows XP x64          Internet Explorer 8.0 (XP x64)
Windows XP              Internet Explorer 8.0 (XP)
Windows Vista x64       Internet Explorer 9.0 (Vista)
Windows Vista           Internet Explorer 9.0 (Vista x64)
Windows 7 x64           Internet Explorer 9.0 (7 x64)
Windows 7               Internet Explorer 9.0 (7)
share|improve this answer
    
This page shows IE 5.1 for windows 3.1....oldapps.com/internet_explorer.php –  Moab May 10 '12 at 21:46
    
@Moab: You're right. Weird. I added a note to the answer. –  Oliver Salzburg May 10 '12 at 21:49
1  
This information is incorrect, since there was an Internet Explorer 5.01 for Windows 3.1x. While I agree that Internet Explorer 5.01 would be a better choice than Netscape 4, Opera 3.62 will still have much better CSS and HTML support, if I remember correctly. –  Gurken Papst May 10 '12 at 21:52
    
@GurkenPapst: My thought was that it might be best to use a Microsoft product considering what task the computer is primarily used for. I still find the whole thing rather questionable. –  Oliver Salzburg May 10 '12 at 22:16

Opera 3.62 might be the best match to a modern browser, that still runs on such an old system like Windows 3.1 (which even has no native support for TCP/IP). HTML and CSS support are quite nice for the age of this browser, but don't expect too much. Also note, that Opera 3.62 has no support for dynamic changes in websites through manipulation of the DOM, which makes modern JavaScript driven web applications unusable.

I would suggest to use another computer for the time clock software. Apart from your problem such an old system should only be run isolated from networks, because there are known unpatched vulnerabilities. On the other hand, one might argue, that there is virtually no network spreading malware runnning on such old platforms. Anyway I would not risk using such a special machine to do anything else apart from controlling the saw. What would you do if it breaks due to using it for tasks you could do on any other computer?

share|improve this answer
2  
This seems like the best solution. Just place two computers in the same area. Solves the problem of allowing a Windows 3.1 access to the internet, and solve the use of an unsafe browser ( anything that runs on 3.1 would be unsafe ). –  Ramhound May 11 '12 at 11:36
28  
+1 for actually answering the question asked –  kizzx2 May 11 '12 at 12:14
3  
Thanks for an actual answer. Once things slow down a bit, I'll give this a shot! If all looks well, I'll set this to the answer. –  hydroparadise May 11 '12 at 13:08
4  
I was wondering if the timeclock needed to be on the same computer for journaling or billing reasons (for operating the saw), or if it was just there as a convenience. If it not required for the equipment, move the feature to a different piece of hardware. –  horatio May 11 '12 at 14:17
2  
0: The only correct answer to this question, in this context, is DON'T. This answer might have been ok in another context, of course. –  Lohoris May 13 '12 at 12:49

There are none, at least with support for recent technologies (except for very basic CSS, JavaScript etc...).

Maybe you will have better luck with IE 5, but even then you are pretty cramped.

share|improve this answer

Short answer... no.

developers stopped developing software for Windows 3.1 a long, long time ago.

share|improve this answer

protected by Ivo Flipse May 14 '12 at 8:41

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.