A Successful Practical Joke: FreeCell
Published Jun 25, 2024
Hello! Can you tell us who you are and what you do?
Good day everybody, I’m Jim Horne, the creator of Microsoft FreeCell for Windows systems, XWord Info. I also recently helped Jeff Chen, a fellow crossword enthusiast, with his game, Squeezy.
I’ve been doing software development, writing and music for a long time. From handling software development management to theatrical direction, I think I’ve done a lot and have garnered enough experience to say that I’m a veteran of my industry. I’ve worked in The New York Times before, but most of my career was spent at Microsoft, where I fulfilled multiple roles for more than 26 years.
Microsoft FreeCell was a classic game that came with the Windows operating system, being released in Windows 95 up to Windows 7. FreeCell is a solitaire card game where you have a 52-card deck, and you have to move all the cards to the foundation piles, sorted by suit and in ascending order from Ace to King.
I created it as a nice little project back then, and with all its fans all over the world, I’m pretty sure you’ll enjoy playing it whenever you have the time as well.
What’s your favorite game to play these days?
My whole career in puzzling got started because I was intrigued by FreeCell. I didn't invent the game, but I wish I could say it did because it's kind of a perfect solitaire game.
It doesn't take long to play. You can win nearly every game, like, well over 99% of them. And if you start playing, you start thinking, “Okay, I got this. I got this figured out. I going to win. I'm going to win another one. I'm going to do another one.” And then you get cocky and you get slammed down all in about three minutes or so.
So it's a perfect logic game. I think it fits the human psychology of wanting to feel good about accomplishing something. And it's possible to do on regular Solitaire, but it's hard enough to always be interesting. So I'm going to say FreeCell.
Did you really play music in Antarctica?
Yeah. I've been a musician all my life and I did a lot of theater work, and one play that I music directed included a woman who worked for an eco-tour company. They took small ships down to Antarctica and they wanted to celebrate the change over from 1999 to 2000 by having a special trip.
And so they were going to have a piano player come and since she worked in the company, she was going to be the singer, and we were going to be entertainment on this small ship. That time was particularly interesting because, a lot of you may not remember, but back then the world was about to end due to the Y2K crisis.
And we were going to be at the far end of the world. So whatever happened, you know, we would be either doomed or safe or something. I don't know. But we had a great time! Antarctica is the most beautiful beautiful place I've ever seen. It's got the greatest bio-density of animal life anywhere on the planet during the few weeks that every critter in the Southern Hemisphere has to get to Antarctica to do whatever they need to do to reproduce.
It's just extraordinary. That was my favorite gig by far.
Music in Microsoft
There was a Microsoft orchestra that I conducted as well.
I was studying conducting and my first chance to conduct any orchestra was the Microsoft Orchestra, which had some amazing players, from Juilliard grads all the way to people who just played in high school and hadn't played for years. So that was a lot of fun. I did theater work for them as well.
I also music-directed some plays and directed a few as well. I'm a Sondheim fan. I think Little Shop of Horrors is one that everyone probably knows. And that's always a super fun one to perform and to watch, I think.
I worked at Microsoft for a long time and a surprising number of people there have both math and music backgrounds. They seem to tie together. We can have a philosophical discussion about why, but it's quite common. One of the best programmers who worked for me had a degree in music composition and no formal background in programming at all.
What made you interested in gaming?
I've loved games since I was a kid, I suppose. I have a lot of fond memories of camping with my family and playing cards with my dad or with my younger sister who can still today beat me at just about every game. She's incredibly competitive, very smart and quite humbling to play against, but it's always fun for me.
Then when I got into high school and university, it was just at the beginning of the age of programmable calculators. And I consider that kind of a game too. There are very specific rules about how you can construct a program and at the end, magic happens if you get the incantation.
I had a TRS 80, the first sort of readily available home computer. And I learned what in Canada we call the Z80 and Americans call the Z80 assembly language. And I just got fascinated by how programming worked. And then I ended up working at the University of Alberta on a system called a PLATO, a computer system instruction system, and it had a game called FreeCell in it.
So, as I say, I didn't invent it. I stole it completely from this system. And so one of the first things I wanted to do when I upgraded my TRS 80 to an IBM PC was to create a version that didn't actually include graphics except for the ANSI characters that would do the card suits that were part of the standard character set.
But it was the regular FreeCell game. I made it available. Before the internet happened, there was a system called CompuServe where you could upload programs and people could download them and play them. There was a thing at the time, you could make something called Freeware or Shareware.
Yeah, you can download it and play it, but if you like it, here's an address that you can send a few bucks to. And I asked people to send $10 if they liked the game. And I was quite surprised that I got inundated with $10 checks that just kept arriving month after month after month. So that was my first realization that FreeCell was fun and that I liked creating games, and I've been involved in game creation ever since.
The “monetization” scheme of FreeCell pre-Windows
You know, I just made the whole game available and asked people to pay money, and I thought it was really interesting sort of as a psychological experiment. You know, Wikipedia, when it came along, did the same thing. They would give away everything for free and then ask for money, and it was successful.
When I started XWord Info, the crossword puzzle website that I created, I asked people to donate and I created three different donation levels by default, you could send $10 or $20 or $50, and there was no difference between the levels. There was no difference between paying anything and paying nothing.
It was, again, just sort of a psychological experiment for me. How many people would, you know, think that they would pay—more than they had to even—for absolutely nothing? And it turned out a lot of people did. Eventually, for reasons we can get into, we went to a model with XWord Info when Jeff Chen came on board, where there were certain capabilities that he added that were valuable enough that we wanted to put behind the paywall.
But for the first several years, it was just this shareware model. Same as I had with my Shareware CompuServe version of DOS-based FreeCell.
How did you get started with Microsoft FreeCell?
So when Windows first started, Bill Gates was quite concerned that there was a particular and important constituency that Windows was not attractive to, and that was gamers.
In the old days, DOS games had the capability of writing directly to the hardware, which meant that you could have much more sophisticated graphics and high refresh rate graphics. So Bill offered incentives to people that if they could create a game, they would collect the ten best games.
They would throw them into something called a Windows Entertainment Pack and just basically give this away for $10 or something. That was the cost of the five-and-a-quarter-inch floppy and the box that it came in. There was no copy protection on it so it was basically, you know, just buy this and give it away copies to all your friends.
And it was fun to try to do that. A guy named Wes Cherry created the first version of Solitaire and he created the graphics back then for all the different cards. So it was available, and I thought, well, you know, FreeCell was fun to write. I wrote FreeCell. And in my spare time, I then created a Windows graphics version of the game.
Before Windows 95, there was a version of Windows I worked on called Windows NT, and at the time, it started as an OS2 joint project with IBM but then became Windows NT when that marriage broke up. My boss at the time did not like games. He was afraid that people were spending way too much time in their office playing games instead of doing productive work like, you know, finding bugs and getting the performance up and things.
So, as a joke, I took this version of FreeCell, and inserted it into the build of the product without telling anybody. And in the About box, I put “Written By”, and I put my boss's name in there. So people started mentioning, seeing him in the hall and going, “Hey, great game, Dave!” And he had no idea what was going on.
Finally, just at the second to last check-in for this version of Windows, somebody told Dave and figured it out or something. So he changed the About box to say by Jim Horne, and he put my home phone number in there. And then the last check-in he took my home phone number out. So it went out with my credit in the About box.
I then moved over to Windows 95 because I was sort of interested in this consumer version. And I wrote a couple of games for Windows 95. I wrote a version of Hearts that worked where you could have multiple players playing and so on. But I also stuck the version of FreeCell into the build there. Again, without telling anybody, you can't get away with that now, though!
Microsoft is now a very legitimate company and they have procedures that stop random people like me from doing random things, but it became a very popular game on Windows. We do all kinds of analytics, of course, and FreeCell was way more popular than Word or Excel or, you know, any of these programs, I think Solitaire was slightly more popular because it's easy and everyone knows how to play it.
But basically, it was, you know, the top five or six of all the apps that were running on Windows for many years. It stayed in the build through Windows XP, which was the next version. There was a version of Windows called Windows ME, which we like to forget about because it was a bit of a disaster.
But then in more recent versions, starting I think in Windows 8, they contracted out this other company to create games and they did a fancier version with bigger, fancier graphics and music and all that… And they kind of wrecked the logic of the game. It didn't kind of work quite right, but it was still, you know, free.
The best part about having my name in the About box was my mom got to brag to her friends. She would go over and visit a friend and she would say, “Hey, my son's name is on your computer!” And she would bring up FreeCell and bring out the About box, and it would say “By Jim Horne”. So I got a lot of good mileage out of that.
And my mom got even more.
Encountering FreeCell in the PLATO System
Yeah, the University of Illinois Urbana-Champaign had created this computer-assisted instruction system, its hardware and software were way ahead of its time. It had touchscreens even, and it had a lot of built-in stuff so you would create lessons and be able to track.
Completion rates, perform tests, and be able to report results to teachers and so on. It was so far ahead of its time and the hardware was so expensive that it never really took off. And when general-purpose microcomputers like PCs and Macs became more readily available, there was just no market for it, but it included a version of this game, FreeCell.
That's where I first heard about it. And the game has some history going well before that, too, under different names. The Wikipedia article talks a little about the history. But again, I was just so intrigued by this game because I thought it was, as I said, the perfect Solitaire game.
And it was a great test for me to see if I could program something to do that. A little geeky note, I actually used something called Recursion in the game to figure out if a move is possible and how to move the cards. This is something that computer science students learn in school, but it’s something you never ever use in production code.
And yet, it’s maybe the only example of a Microsoft product that has Recursion and was shipped for years and years and years.
The Unsolvable Instance
There was an interesting question about were all free cell games solvable. One of the great things about FreeCell is that pretty much all were.
In the original version of FreeCell, there were 32,000 games, and the numbers from 1 to 32,000 were just a seed for a random number generator that could reliably reproduce a particular shuffle. Well, how many of those games were solvable?
So I set up a system where anyone could participate. I want to try this out. And I would send them 10 game numbers and they would report back which ones they could solve and which ones they couldn't. And the ones they couldn't solve got stuck in a bucket somewhere. And eventually, I got through all 32,000 and I just went to that bucket, and unsolvable games were sent out.
And then, you know, people who were very good at it were able to solve them. And it came down to just one game that nobody could solve. It was surprising to me that if there were any unsolvable games, it would only just be one. That's a pretty small percentage, one out of 32,000, but I was able to create artificial shuffles that were obviously unsolvable.
And in the original Windows XP, Windows 95 or Windows NT version of FreeCell, if you typed in game number -1 or -2, it would give this clearly non-random shuffle that you could only make four moves and you were done. The fact that there was only one in the 32, 000 was just sort of an interesting coincidence.
Many people then doubted this human-driven version of trying to find the unsolvable game. So people wrote programs to try to algorithmically solve the different games. I published the algorithm so anyone could create these 32,000 different shuffles. And the first proofs that this one game was unsolvable were just brute force proofs; an algorithm that would just try every possible move, every possible submove, and every possible move from there until your program ran for however long it took and could never find a winning solution.
And that was actually good proof. It was not an elegant proof, but it was a good one. And since then, other people have developed more sophisticated proofs. The more recent versions of FreeCell include much higher game numbers. I had one to 32,000 because that seemed like a lot, and 32,000 was close to the biggest positive integer that would fit into 15-bits in a 16-bit integer.
One of the more surprising and delightful things for me about FreeCell is that so many people were caught up in this question of “Were all the games solvable?” And coming up with all kinds of very interesting and creative algorithms to try to figure that out. A nice little side effect that I wasn't anticipating but I was delighted by.
How was it to work in Microsoft?
Well, I have an interesting story to share again. I used to stay in an office directly adjacent to Steve Ballmer, and he is known to be famously loud. And the man who hired me, Brian Valentine, was also equally boisterous.
When I first started at Microsoft, I shared an office for a couple of days with a guy named Eric R., who went on to become quite a big shot at Microsoft. But because I was hired as a lead, I got a private office. So I was stuck in between these two incredibly loud, boisterous people who would have arguments at the top of their lungs and everyone asked me, like, how could I like concentrate? How could I stand this? But I learned so much about the company. Steve Ballmer at the time was the Vice President of Windows.
And so all the strategy stuff that was going on got hammered out through loud conversations right across the wall for me. And I could hear pretty much every word. It gave me a lot of insights into how Microsoft worked at a high level. And, you know, when I would have meetings with Bill Gates later, it informed my approach on how to talk about these things in a way that executives cared about and understood.
But yeah, that was entertaining for sure. You know, I joined Microsoft because I wanted to work for a small software company, which it was at the time. So I utterly failed in that long-term plan.
Furthermore on working at Microsoft
I started in ‘88. I worked for about 11 years. I took five years off to do other projects, came back, and did another ten-year stint, so yeah, that adds up to about 2015.
In one of my jobs at Microsoft, I was hired to run this new group because Bill was interested in this new thing called “blogging”. And I didn't really know anything about blogging and neither did anybody else at Microsoft. We didn't really care about it, but well, maybe it should be investigated. So I started this group to investigate that.
And I was thinking one night, I was lying in bed doing the crossword puzzle, which I usually did just before I went to sleep. And I said, “Well, I should start a blog. I should figure out why people find it interesting to blog. What's this all about?” But like, what am I going to write about? I wanted to write a blog every day for a whole month.
You know what, I'm going to run out of ideas very quickly. And of course, the inspiration was literally in front of my nose. The crossword puzzle was there! And I thought, well, Will Shortz sends me something new every day. I like working on crosswords among many other games. So well, I could start a blog about crosswords So I did that and I was quite worried because I knew that I was posting the complete grid with the answers on the blog every day and I knew that the New York Times was not gonna like that This is their copyrighted material after all.
Working in the New York Times
So I was expecting any day to get a call from a lawyer at the New York Times with a cease and desist request. And eventually, I did get that call a couple of months in. And the call was, “By the way, we're starting a blog on the New York Times called Wordplay, and we would like you to write it. Would you be interested?” And so I thought, well, that sounds fun. So yeah, while. I was still working at Microsoft. I got this second gig writing Wordplay.
I got to go to the New York Times office, several times. I got to sit in on a New York Times Page 1 meeting where all the editors, you know, hammer out what's going to be on the next day's Page 1 and in what order. It was really fascinating and Wordplay lasted for three years. It's now run by a woman named Deb Amlen, who is great, and she has a big staff, and there's like four or five people who write different posts every week.
And it's become quite an important thing. And that expanded when New York Times Games picked up Wordle and Connections and all the other ones, Spelling Bee in particular, all have blogs associated with them. They all have very enthusiastic communities of people who will point out errors, who will talk about why a certain puzzle is great or if it sucks, or you complain about their streak being broken, or whatever.
I hadn't anticipated that that community would be so important, but it turns out it is. And, New York Times Games is a profit center for that company. It helps fund the, you might say more important work, like having a news office in Russia or something.
So yeah, it's, it's been big for the New York Times and a life-changing opportunity for me.
How did you create XWord Info?
So I started working on this private blog, and I wanted, as I said, to write every day.
But a couple of weeks in, I was starting to run out of things to say. So I thought, well, maybe, because some of the puzzles were fascinating, some of the puzzles were kind of boring, and I didn't want to, you know, just denigrate puzzles that I didn't happen to like. So I thought, well, in those days, maybe I could do a statistical analysis of recent puzzles and find out something like, this is the most common word used in the last year, or this is the third puzzle by this constructor, and they all have this particular quality or something.
So I decided that I was going to take the digital Cross Light files that the New York Times used to provide for free or if you signed up for the Wordplay access. And I was able to crack that digital format and create a little database with puzzle information. And I decided, well, you know, I might as well make it a web page because that way, I can share the results with people and so that's how XWord Info started, and that, in particular, was why I was worried.
The New York Times was not going to be happy about it, although, as already said, that turned out to not be the problem that I expected. It took off much more than I thought. I didn't know when I started the blog that there were already a couple of quite successful crossword blogs already. I hadn't even bothered to check.
Rex Parker is the most popular one still. A woman named Amy Reynaldo has a great crossword blog where it's a sort of more analytical approach to understanding crosswords. And they're still going to this day. So, if I'd known that they were happily going without the New York Times shutting them down, I wouldn't have worried so much.
But I expected XWord Info, like my personal blog, was going to be a short-term project because I was clearly violating the copyright at least. It turns out the New York Times doesn't go after bloggers, and it turns out that they probably realize that there's some benefit for them to have external discussions about it.
And I think that's probably the case, and it meant that XWord Info became popular enough that there was a sort of pressure on me. Both internally and externally to keep it going that it's been going all these years later. I think it started in 2007, and here it is in 2024 and it's still chugging away.
I, thanks to the work of a lot of different people, now have Information about every single crossword the New York Times has ever published, going back to 1942. A gentleman named David Steinberg started this project called the Pre-Shortzian Puzzle Project, where all the puzzles that predated Will Shortz's entry into his job in 1993 were digitized by hand by this large group of volunteers who submitted their digitized versions. Then editors went through them and we still get people finding, you know, little tiny bugs that we continue to update.
And so we have this incredible archive of the history of these puzzles that reflect different times in really interesting ways. The puzzles from World War II, for example, often reflect the concerns of being in the middle of a war. The theme answers might be, you know, the generals associated with each theater of operation or something like that.
There were often fairly derogatory terms about Germans or Japanese that would not fly today at all, but were part of the common discussion at the time. The references to what were popular novels or popular movies have long since been forgotten, but things that were important at the time. And I think it's quite fascinating to go through those.
David Steinberg did an amazing thing with that project of his group of volunteers.
With your history of games, programming, music and other endeavors, do you have anything to say for people who have these chances to grab like you did before?
Absolutely. From my grandmother helping me buy my first IBM PC, which got me interested in programming, to happening to love FreeCell, to applying for a job at Microsoft… I had no idea if I was going to be good enough to work for them, but I thought it'd be an interesting company.
And, you know, they could have said no, but they happened to say yes. And I got into a group that was working on Windows and that gave me an opportunity to play around with FreeCell. So many coincidences just sort of lined up. I don't think I'm unique in that aspect though. I think everybody's life drastically changes from one big decision, like which university should I apply to, to some smaller decision about going for a walk in the park and happen to run into someone who becomes important in my life
I'm a big believer in taking advantage of those serendipitous opportunities when they arise.
Do you still enjoy writing these days?
I have a blog called XWord Blog, which is the “official blog” of XWord Info that I link to on the XWord Info homepage.
That's where I will post things about things like some new feature on XWord Info, or this is some feedback that I've got or so. That's the blog writing I do. I took some courses at the University of Washington on Fiction Writing recently, so I'm interested in exploring that. Nothing published so far, but I'll certainly let you guys know and give you a signed copy of my first major great American novel.
Did you ever try to create your own website with your own playable game?
That was never a desire of mine. I liked the fact that I had created this super popular game on Windows that a lot of people played.
I was proud of the fact that I was destroying productivity around the world by people who got obsessed with this silly little game. But I never tried to create more games. But then Jeff Chen, who had been my partner in XWord Info for about a decade, had this idea for a game and he approached me about it, and it was something that we could do together.
He had this idea that I thought was unique, unusual and would be fun to play. So we created this game called Squeezy. imsqueezy. com, which as we're recording, there's been 120 games so far out in the wild. Jeff's a brilliant crossword constructor and very creative at understanding how wordplay works.
He was anxious to learn more about coding websites and so I was able to help him a bit with that. But mostly, he dove into it himself, and he's sort of a self-taught programmer, but it turns out the internet is full of help for people who want to try to learn that kind of stuff. And I think he's created a really fun game, and I've been very proud to be able to help him realize this little dream of his.
He's got some other ideas too. And I wouldn't be surprised if there are other creations that he comes up with. And I hope I get to be involved in bringing them into the world.
Do you have any advice to give to aspiring game creators?
You know, the hardest thing about creating a new game is coming up with an idea. There are lots of great games that you probably know about and you probably love to play. And you think, well, you know, I wish it worked this way, or I wish it did this instead.
And from there to creating the actual game, that needs some work. Depending on your programming background, you might have to learn a whole bunch of different new skills, but those new skills are also a game. They're also fun. They also have rules that, when you understand, you can construct a logic around them, and they're fun. You get the payoff that's better than just the congratulations payoff that you see in a game that you play online. You get a working little puzzle. I think I've already referred to programming as like magic, but it really is.
In that, you need to have the incantation exactly right. You need to figure out the right ingredients and mix them in the right order. When the magic happens, pixels dance on the screen. Nobody understands how all levels of software work. You write in a high-level language like JavaScript or Python, and that somehow turns into machine code that somehow generates pixels that move on the screen, through deep knowledge of which needs a lot of work.
Complicated understanding of quantum mechanics that drives, you know, how modern semiconductors work. It's just a lot of different layers, but now the world gives a lot of that to you for free. You can program at a high level using a language that you can learn about on the web and practice with the cheapest computer.
And if you like games, creating games is a lot of fun. And, you know, maybe you get to spread the joy to your friends or even broader around the world. And that's definitely great.
Where should we go to learn more about you and your work?
Well, XWord Info has links to send me email. That's probably the best way. Those emails will go to both me and Jeff. So that's my sort of public email address now. I'm happy to correspond with anyone who wants to ask further questions or comment on anything you've heard today.
Have a game to sell?
Let’s find out if we play well together.