{"id":1063,"date":"2014-07-14T13:17:43","date_gmt":"2014-07-14T18:17:43","guid":{"rendered":"http:\/\/www.vintagecomputing.com\/?p=1063"},"modified":"2024-09-18T10:08:49","modified_gmt":"2024-09-18T15:08:49","slug":"bringing-prodigy-back-from-the-dead","status":"publish","type":"post","link":"https:\/\/www.vintagecomputing.com\/index.php\/archives\/1063\/bringing-prodigy-back-from-the-dead","title":{"rendered":"The Prodigy Preservation Project"},"content":{"rendered":"<p><a href=\"http:\/\/www.theatlantic.com\/technology\/archive\/2014\/07\/where-online-services-go-when-they-die\/374099\/\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/prodigy_logo_crop.png\" alt=\"Prodigy Online Service Logo\" class=\"centered shadow2\" \/><\/a><\/p>\n<p><em>[ <strong>Major Update: 4\/12\/2017<\/strong> &#8211; Keep an eye on <a href=\"https:\/\/www.flickr.com\/photos\/149332336@N06\/albums\" target=\"_blank\">my Flickr account<\/a> where I will be posting galleries of Prodigy screenshots and other artwork. ]<\/em><\/p>\n<p><em>[ <strong>Major Update: 6\/6\/2017<\/strong> &#8211; Our Prodigy Reception System reverse-engineering tools <a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/1236\/prodigy-reverse-engineering-tools-released\">have been released<\/a>. ]<\/em><\/p>\n<p><em>[ <strong>Major Update: 1\/15\/2021<\/strong> &#8211; Phillip Heller has begun <a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/2921\/reverse-engineering-prodigy-part-1\">reverse-engineering<\/a> the Prodigy client. ]<\/em><\/p>\n<p><em>[ <strong>Major Update: 8\/6\/2022<\/strong> &#8211; I wrote the <a href=\"https:\/\/x.com\/benjedwards\/status\/1555982224943611905\">first new Prodigy content<\/a> in 23 years. How is that possible? Phillip Heller has reverse-engineered the Prodigy Client\/Server architecture, and you can connect yourself with <a href=\"https:\/\/www.prodigyreloaded.com\/\">Prodigy Reloaded<\/a>! Prodigy Reloaded <a href=\"https:\/\/x.com\/benjedwards\/status\/1555983127532773377\">debuted at VCF West<\/a> on August 6, 2022. Finally, the Prodigy Restoration Project is coming to life. ]<\/em><\/p>\n<p>Since last year, I have been working with Jim Carpenter, a freelance programmer by trade,  on hunting down old <a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/932\/prodigy-20-years-ago-today\" target=\"_blank\">Prodigy<\/a> data so that we may preserve it, display it again, and perhaps even one day use it to recreate Prodigy itself.<\/p>\n<p>We&#8217;re calling it the Prodigy Preservation Project.<\/p>\n<p>By now you may have seen my latest piece for The Atlantic entitled <a href=\"http:\/\/www.theatlantic.com\/technology\/archive\/2014\/07\/where-online-services-go-when-they-die\/374099\/\">Where Online Services Go When They Die: Rebuilding Prodigy, One Page at a Time<\/a>.  That article describes the genesis of the project while also diving into the technical back story of the Prodigy service.<\/p>\n<p>The reason we have any hope of doing something like this is because Carpenter discovered that Prodigy screen data can still be found in the STAGE.DAT and CACHE.DAT files located in used Prodigy client directories.<\/p>\n<p>Those two files were used as cache files to speed up load times when using the service.  When connecting to Prodigy, the client would download page data into the files.  Whenever the client last connected to Prodigy, that data got frozen in time.  If a vintage Prodigy client install still exists, we can get at the &#8220;frozen&#8221; data today.<\/p>\n<p>Here are some screens that Carpenter pulled from a STAGE.DAT I had in my personal archives (these are from a STAGE.DAT file dated October 6, 1996):<\/p>\n<p><a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_login_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_login_small.png\" alt=\"Prodigy Login Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a>&nbsp;<a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_rebel_space_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_rebel_space_small.png\" alt=\"Prodigy Rebel Space Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a>&nbsp;<a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_encyclopedia_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_encyclopedia_small.png\" alt=\"Prodigy Encyclopedia Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a>&nbsp;<a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_golf_tour_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_golf_tour_small.png\" alt=\"Prodigy Golf Tour Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a><\/p>\n<p><a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_greeting_cards_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_greeting_cards_small.png\" alt=\"Prodigy Greeting Cards Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a>&nbsp;<a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_email_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_email_small.png\" alt=\"Prodigy Email Template Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a>&nbsp;<a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_phone_directory_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_phone_directory_small.png\" alt=\"Prodigy Phone Directory Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a>&nbsp;<a href=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_problem_large.png\" target=\"_blank\"><img decoding=\"async\" src=\"\/wp-content\/images\/prodigy\/screenshots\/prodigy_problem_small.png\" alt=\"Prodigy Problem Error Screenshot from Benj Edwards STAGE.DAT\" class=\"shadow2\" \/><\/a><\/p>\n<p>We can extract these screens using a series of Python programs written by Carpenter.  They read through a previously used STAGE.DAT file, generate a list of pointers to the pages or object data contained within, then direct the Prodigy Reception System client to display them one at a time so we can take screenshots.<\/p>\n<p>Jim&#8217;s code is not ready for release yet, but he hopes to polish it up enough to put up on GitHub soon.  It has a long way to go before becoming a turnkey solution to extracting and displaying the data found in STAGE.DAT files.  We&#8217;re working on it.<\/p>\n<p>With that in mind, I&#8217;ve written the rest of this post in the form of a Frequently Asked Questions.<\/p>\n<p><!--more--><\/p>\n<h3>How Can I Help?<\/h3>\n<p>After looking around for more Prodigy installations on and off for the past year, Carpenter and I recently decided to go public with our project and ask for your help.  If you have any previously used Prodigy client installations sitting around in backups or on old hard drives somewhere, we would love to <a href=\"mailto:editor@REMOVE-STUFF-IN-CAPS-BEFORE-SENDINGvintagecomputing.com\" target=\"_blank\">hear from you<\/a>.<\/p>\n<h3>Can I Provide Financial Assistance?<\/h3>\n<p>Yes.  In fact, I have set up a <a href=\"http:\/\/www.patreon.com\/benjedwards\" target=\"_blank\">Patreon campaign that will partially fund<\/a> all of my history-related work, including the Prodigy Preservation Project.  Your pledge will give me more time to devote to the PPP.<\/p>\n<h3>What Do You Need?<\/h3>\n<p>In order for a Prodigy client directory to contain any useful data, that particular installation had to be used to connect to Prodigy at some point.<\/p>\n<p>This means that we do not need original Prodigy installation disks; they were never used to connect to the service, and thus do not contain any downloaded data.<\/p>\n<p>So if you find a Prodigy client directory that is sitting on an old hard drive or in an old system backup, ZIP up the whole folder\/directory and <a href=\"mailto:editor@REMOVE-STUFF-IN-CAPS-BEFORE-SENDINGvintagecomputing.com\" target=\"_blank\">send it to us<\/a>.<\/p>\n<h3>How Can I Send You My Data?<\/h3>\n<p>Carpenter and I are working closely together on this project at the moment, and I am acting sort of like a data secretary for him, obtaining data and organizing it in a shared repository so he can go through it when he gets the chance (he professes to be a perpetually stressed, last-minute deadline programmer that is always short on time).<\/p>\n<p>I&#8217;ll also be using Jim&#8217;s software to extract what I can.  But his software still needs improvement &#8212; it only works with MS-DOS Prodigy clients as of this writing, for example &#8212; so this whole project is very much a work in progress.<\/p>\n<p>If you find any data from any platform, describe what you&#8217;ve got <a href=\"mailto:editor@REMOVE-STUFF-IN-CAPS-BEFORE-SENDINGvintagecomputing.com\" target=\"_blank\">in an email to me<\/a> and attach the data in a ZIP file.<\/p>\n<h3>Who Are You and Why Are You Doing This?<\/h3>\n<p>My name is Benj Edwards and I am a tech journalist that specializes in computer and video game history.  For the <a href=\"http:\/\/www.benjedwards.com\/\" target=\"_blank\">past nine years<\/a>, I have been professionally researching, interviewing, and writing about tech history with a goal to both preserve and educate.  I have also run this blog since 2005.<\/p>\n<p>I am working on this Prodigy project because I have always been fascinated with online services since I was a kid.  I first <a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/932\/prodigy-20-years-ago-today\" target=\"_blank\">connected to Prodigy in 1992<\/a> and was amazed.  Today, if you look for info on Prodigy online, you will find very little information about it (especially in terms of screenshots), and that is a shame.<\/p>\n<p>I believe the old Prodigy data is worth preserving as a cultural treasure from the early online era.  It was a cultural reference point of an entire computer-using generation that grew up with it, and it is now missing from our cultural heritage.  At the moment, no one can go to a library or a website and see what was on Prodigy back in the day, so in future generations, we won&#8217;t be able to point to it and say, &#8220;See?  This is what it was like.&#8221;<\/p>\n<p>Reasons for preserving this data are too numerous to go into here, but they will become more obvious to everyone as people continue look at the past in a search for information on the formative experiences that made them who they are today. (By the way, whole families were founded on Prodigy, with their parents having met on the service, so this inquisitiveness will continue for generations to come.)<\/p>\n<h3>What Are You Going to Do With What You Find?<\/h3>\n<p>For now, I am planning a gallery of every Prodigy screenshot I have ever found.  It may end up on Flickr or this site, so stay tuned.<\/p>\n<p>As for screens extracted from STAGE.DAT files, so far the only STAGE.DAT that had usable data was the one I found last year in my archives.  But in the past few days, I&#8217;ve received three more promising Prodigy directories that we will be looking through soon.  We will add whatever we find to our Prodigy screenshot gallery.<\/p>\n<p>In the long term, I would ideally like to create a simulation of Prodigy with a Reception System written in Javascript (so it can run in any browser).  It will deliver original Prodigy data to users and allow them to experience what the service was actually like back in the day.  That is a potentially huge project that is a long way off, however.<\/p>\n<p>Less ambitiously (but still ambitious), Jim would also like to create a Prodigy server simulation that can deliver original Prodigy objects to the original Reception System client.<\/p>\n<p>In the mean time, Jim and I will be going through the data and sharing what we find.  <\/p>\n<h3>I Don&#8217;t Have a Prodigy Client, But I Have Other Prodigy Information.  How Can I Help?<\/h3>\n<p>Carpenter and I are working on reverse engineering the entire Prodigy service, backend and frontend.  If you have any internal Prodigy documents that describe, in detail, how any part of Prodigy worked, <a href=\"mailto:editor@REMOVE-STUFF-IN-CAPS-BEFORE-SENDINGvintagecomputing.com\" target=\"_blank\">we would love to see it<\/a>, as it will be very helpful in our mission.<\/p>\n<p>I&#8217;m also working on a general history of the service, so literally anything and everything can be useful.  Personal stories of using the service, documents, photos, software, data, code, internal Prodigy software tools, screenshots, artwork.  You name it.  All of it will be useful in building a more accurate historical record of this most unique online service.  <a href=\"mailto:editor@REMOVE-STUFF-IN-CAPS-BEFORE-SENDINGvintagecomputing.com\" target=\"_blank\">Send me an email.<\/a><\/p>\n<h3>What Happened to The Original Prodigy Data That Was On Its Servers?<\/h3>\n<p>Good question!  I&#8217;m currently talking to ex-Prodigy employees about whether that data even exists at all at this point in time.  I&#8217;ve discovered some interesting tidbits, but it&#8217;s too soon to say anything definitive.  If you know anything about it, please <a href=\"mailto:editor@REMOVE-STUFF-IN-CAPS-BEFORE-SENDINGvintagecomputing.com\" target=\"_blank\">send me an email.<\/a><\/p>\n<h3>How Can I Search For Old Prodigy Installations?<\/h3>\n<p>If you want to do a targeted search for old Prodigy data, I have a few tips.<\/p>\n<ol>\n<li><strong>Look in your own archives. <\/strong> This is what I did when Jim told me about his Prodigy technique last year.  While I didn&#8217;t find my original Prodigy client installation from 1992, I did find a backed-up Prodigy client directory from 1996.  Obviously, you have to be a bit of a data pack rat for this method to be useful.<\/li>\n<li><strong>Ask around.<\/strong>  Find old Prodigy users, and ask them to look through old system backups, which may be on floppy disk or CD.  Or they may simply have their old PCs with intact hard drives still inside.  You may have to help them liberate the Prodigy data from various obsolete storage formats.<\/li>\n<li><strong>Target IBM PS\/1 machines.<\/strong> The Prodigy client shipped with most consumer IBM PCs after the service&#8217;s launch in 1988.  That means if you find, say, an in-tact IBM PS\/1 of any model from the early 1990s, or some PS\/2s, it is very likely to have a Prodigy directory sitting on its hard drive.  If the user of that machine tried Prodigy even once, it should have some useful data in its STAGE.DAT and CACHE.DAT files.\n<p>Also, you can target the hard drives that commonly shipped in IBM PS\/1 machines.  I determined common models a few months ago, but I need to find my notes and put that info up here later.<\/li>\n<li><strong>Search Hard Drives in Bulk.<\/strong>  Another approach is to comb through bulk collections of old hard drives.  PC hard drives under 500 MB (all IDE Parallel ATA drives) are most likely to have a form of Prodigy Classic client on them.  I myself have done this, buying up dozens of scrap and surplus hard drives and searching for STAGE.DAT files in them.  It is a needle-in-a-haystack approach, but it is faster to search through bulk collections of hard drives than to buy 100 old PCs, move\/ship them, and go through them one at a time.\n<p>Obviously, user privacy is of the utmost importance when handling used drives with personal data on them.  Luckily, if you scrape out a C:\\Prodigy directory, it&#8217;s almost guaranteed to have no personally sensitive information on it.  It is your responsibility to then securely discard data on the rest of the drive.  Of course, if you do that, you may also lose some other data of historical value on the drive that we don&#8217;t even know is important yet.  You&#8217;ll have to cross that ethical bridge when you come to it.<\/p>\n<p>By the way, using this method, I have found no working Prodigy directories (it is, admittedly, a long shot), so I stopped after going through about 100 hard drives.  The biggest problem for me is that 90% of the hard drives I could obtain were too recent.  I asked around, and most MS-DOS era drives have been sold as scrap and shredded years ago.  But it&#8217;s still a possible approach if you have access to a stack of old drives.<\/li>\n<\/ol>\n<h3>The Project Continues<\/h3>\n<p>Thanks for everyone&#8217;s help so far, including the dozens of ex-Prodigy personnel I have spoken to about their amazing work with the service.  I wrote this information out as quickly as possible, so I will likely keep revising it over the next few days.  Keep an eye on this blog (and this post) for future updates.<\/p>\n<p><em>[ <strong>Edit: 04\/12\/2017<\/strong> &#8211; I changed the name of the project from the &#8220;Prodigy Restoration Project&#8221; to the &#8220;Prodigy Preservation Project&#8221; to reflect the growing role of our simply collecting Prodigy screenshots and documents for preservation. Re-creating the Reception System in Javascript is still a goal, however.]<\/em><\/p>\n<p>&#8212;<br \/>\n<em>Benj&#8217;s Other Writings about Prodigy:<\/em><\/p>\n<p><a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/1222\/prodigy-gaming-classic-madmaze-ii-updated-to-support-chrome-and-firefox\">Classic Prodigy Game Recreation MadMaze-II Updated to Support Chrome and Firefox<\/a> (<em>VC&#038;G<\/em>, 2017)<br \/>\n<a href=\"http:\/\/www.pcworld.com\/article\/3034592\/internet\/this-old-tech-exploring-the-lost-world-of-prodigy-one-screen-at-a-time.html\">Exploring the Lost World of Prodigy<\/a> (PCWorld, 2016)<br \/>\n<a href=\"https:\/\/www.theatlantic.com\/technology\/archive\/2014\/07\/where-online-services-go-when-they-die\/374099\/\">Where Online Services Go When They Die<\/a> (The Atlantic, 2014)<br \/>\n<a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/1064\/retro-scan-of-the-week-the-new-prodigy\">The New Prodigy (Retro Scan)<\/a> (<em>VC&#038;G<\/em>, 2014)<br \/>\n<a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/953\/madmaze-ii-now-hosted-on-vintagecomputingcom\">MadMaze-II Now Hosted on Vintagecomputing.com<\/a> (<em>VC&#038;G<\/em>, 2013)<br \/>\n<a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/932\/prodigy-20-years-ago-today\">Prodigy 20 Years Ago Today<\/a> (<em>VC&#038;G<\/em>, 2012)<br \/>\n<a href=\"https:\/\/www.vintagecomputing.com\/index.php\/archives\/171\/prodigy-lives-play-madmaze-online\">Prodigy Lives! Play MadMaze On the Web<\/a> (<em>VC&#038;G<\/em>, 2006)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ Major Update: 4\/12\/2017 &#8211; Keep an eye on my Flickr account where I will be posting galleries of Prodigy screenshots and other artwork. ] [ Major Update: 6\/6\/2017 &#8211; Our Prodigy Reception System reverse-engineering tools have been released. ] [ Major Update: 1\/15\/2021 &#8211; Phillip Heller has begun reverse-engineering the Prodigy client. ] [ [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,7,35,21,5,10],"tags":[],"class_list":["post-1063","post","type-post","status-publish","format-standard","hentry","category-bbs-history","category-computer-info-and-history","category-internet-history","category-news-current-events","category-vcg-announcements","category-computers"],"_links":{"self":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts\/1063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/comments?post=1063"}],"version-history":[{"count":8,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts\/1063\/revisions"}],"predecessor-version":[{"id":3515,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts\/1063\/revisions\/3515"}],"wp:attachment":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/media?parent=1063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/categories?post=1063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/tags?post=1063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}