Monthly Archives: September 2006

Engineering – Circa 1993

Citrix Engineering was fairly small in 1993.  I think there was about 15 people in the group (dev and test).  It always was surprising how much we could accomplish with such a small team.  I was thinking about this blog today when I realized that our secret probably came from our hiring process.  Instead of having our hiring being driven mostly from HR, we took a very active role in hiring people.  Everyone that interviewed the candidates had a say in whether or not the person should be hired.  Even if just one person said no, that was enough to justify not hiring them.  I remember that it was based on counting to three and then showing either a thumbs up or a thumbs down.

There were three departments in Engineering.  Two in dev and one in test.  Scott Kinnear and Andy Stergiades ran the dev group while Russ Naples ran the test group.  Most of the devs did not mind much which manager they had.  We really just worked as a group anyhow. 

Teamwork was pivotal to getting things done.  We made a point not to hire someone that wasn’t a team player.

Most of the devs had come from IBM but we also had people from Harris.  It was a good mix of talent.

We basically claimed half the floor for dev, test, and the labs.

Level 7, 210 University, Coral Springs, Florida

This was our address for Citrix between 1990 (?) to 1997. In 1997 we moved to a building off of Cypress Creek in Ft. Lauderdale.

Why did we have an office in Coral Springs? Well, the rumor was that Ed Iacobucci lived in Coral Springs and being that he was the founder it made sense to have the business in Coral Springs. For those of you not familiar with the location of Coral Springs, let me fill you in. It is way out west of the south eastern part of Florida. From a map, it probably would not look too far out compared to the west coast of Florida. It didn’t make it any easier to get their from locations closer to the coast.

As you probably already know, Citrix started in Florida because IBM had a major site in Boca Raton, Florida. Many of the people, including me, came from IBM Boca (as it was called). Boca Raton is probably about 30 minutes drive from Coral Springs. I supposed it wasn’t that far really.

The building we were in was called the upside down building. It looked a little bit like an upside down pyramid. Black glass surrounded the building and it did look very modern (and a bit sinister). It had at least 8 floors and Citrix had all of the seventh floor (If I remember correctly). Even in the early days, it was fairly crowded. As we grew, it became nearly impossible to find places for people.

We used to get quite a few storms out in Coral Springs. Two things I remember about this. One time I watched as a tornado crossed the horizon. It was probably about 10 miles away but up until that point I wasn’t even sure this part of Florida got tornadoes. The second things is that one time the building got hit by lightning. It wasn’t at first obvious since the noise was weird but then we saw smoke drifting away from the top of the building (from within the building).

There are lots of bits and pieces I remember about working there. We had a mixture of cubicles and offices. I was in a cubicle but was fortunate to get a really good window view. People in the offices were usually original Citrites.

We used to go out to lunch quite often. That was one thing Coral Springs did very well. You could go to a different lunch place for a couple of months. Lunch was when we used to talk in detail about what was currently going on.

Okay, so there probably isn’t much point in this post. Perhaps someone will be curious about the early office location.


Webcounter

ICA Client Object

When I came back to Citrix in 1999, there was a project started later that year to support an object model for the ICA Client. There was already a plug-in and ActiveX control available but there was also a need to have something more consistent with COM so the ICA Client could also be embedded inside things like Microsoft Office.

The concept was good but the end result would prove a bit elusive.

We were looking for something to help modernize the client and make it possible to control and get feedback from the client. COM was the obvious choice based on Microsoft standards. We also decided to use ATL to support the framework interally. We also decided to modularize the components interally so it would be possible to either use COM or support something like Mozilla.

The simplest way to explain it is that we were looking to give the client three basic characteristics for the interface. We wanted to support methods, properties, and events. Methods are great for scripting the client’s actions. Properties control how the connection is formed. Events are feedback about how the connection is going.

I worked on it from 1999 to mid 2003 (with some other small projects along the way). It was evolved over the four years to support far more than what most people would currently use. For example, it is possible with ICO to support writing a virtual channel driver. In a way, the ICA Client Object (ICO) is a wrapper around how the client works. Its pinnacle was supporting what was called ‘Headless’ mode which allowed for companies like Mercury Interactive to write software to be able to test the load of a Citrix server. Anil Roychoudhry was the lead of the project (I’m pretty sure about that).

I regret that I did not find a better way to promote the use of ICO in the field. It would have been more important to teach people about how to use it than to continue to add new features at the end. I suspect I felt more comfortable with adding more than discovering how to reach the developers.

I still get requests for help from time to time internally about ICO. It has been more than three years since I worked on the project. At most, the project had two developers working on ICO. It was great working with Jonathan and I learned much about a better coding standard. Thanks Jonathan (if you happen to read this!).

ICO really hasn’t progressed much since 2003. There hasn’t been much focus on it. That’s probably okay. The only area that I see coming up more commonly now is support for .net and other scripting models. Oh, and it sure would have helped to have built more examples!


Webcounter

1997 – Another crisis year

By 1997, Citrix was reaping in a great deal of success based on their WinFrame 1.x product line. This software was based on Windows NT 3.51 and instead of just patching a 3.51 installation, Citrix actually shipped a full modified version of NT 3.51. This work had been done by a small core of developers between 1993 and 1995. Work in 1996 focused on supporting the upcoming NT 4.0 release from Microsoft. This version was unofficially called WinFrame 2.0. Citrix had worked hard to support the latest changes and had already merged and tested the code base by early 1997.

Early in 1997, Microsoft declared that it would no longer license the operating system code to Citrix for NT 4.0. In fact, it became clear that Microsoft wanted such work to stay in house. Microsoft had some ventures (investments) in an alternative solution for making NT multiuser. I don’t remember the name of this group but I’m sure someone out there will. The message to Citrix was to either sell the multiuser component or Citrix wouldn’t have this part of the market anymore. Tough negotiations proceeded. The stock price sank. Speculation was rife. Many Citrites of the time saw this as a threat to the survival of the company.

Later that year Citrix and Microsoft struck a deal to sell the multiuser code to Microsoft for something like 185 million dollars over five years. Microsoft would not buy ICA but would instead develop RDP. RDP was originated from another software acquisition. Citrix would no longer be allowed to ship its own versions of operating systems and would be only given a restricted access to the source with no rights to build derivative works from such source.

The company, obviously, survived this crisis. I think it was mostly due to the strength of the work to do multiuser and I would give strong credit to John Richardson, Brad Pedersen, and Mike Discavage. Brad is still with the company and is the Chief Architect and the sole Citrix Fellow. He started with the company in 1989 and obviously is one of the originating developers. His strong Unix background made all the difference during the early years of the company.

1997 was the year I left Citrix to move to Australia. I was offered a Systems Engineer job for Citrix but decided I didn’t want to travel to all the English speaking countries in the southern hemisphere as part of my job. I started with a local reseller in Brisbane instead.


Webcounter

Early Citrix history

Being that I started first at Citrix in 1993, I know a fair amount of Citrix history.  There are many people that now work for the company, but when we first started there was less than 50 people.  It was a family of sorts.  When the company was first founded in 1989, most of the people left IBM Boca Raton from jobs in OS/2 to go start a Multiuser OS/2 venture.  Instead of dealing with IBM, it was decided to license the code from Microsoft instead.  Ed Iacobucci had a vision of providing a server on OS/2 that could give similar functionality to Unix.

Unfortunately no one really wanted to run OS/2 text based applications due to the fact that there were so few of them.  From the high of 1989 to the low of early 1993, it didn’t look like the company would make it.  I remember vividly in early 1993 the whole company being brought into the conference room and being told that it didn’t look like we were going to get paychecks that week.  The silence was huge.  I remember thinking that perhaps I had made a large mistake leaving IBM to join such a small company.  At the last minute, more money was raised and a new round of investors were called in and company had enough money to run until the next crisis.  We were all aware of how close we were to going under.  Luckily this memory is the worst it got at Citrix in those early days.  We really didn’t thrive until we released WinFrame and we went public in 1995.  1993 was really the worst it got.

Hello world

Cactus shade

I am a developer/researcher in Citrix Advanced Products group.  One of the things I would like to do is interact more with the community to learn what is currently going on. 

Nothing else to report just yet. 

 I am interested in discussing what people think about DVI.