“ICA Stream” is the oldest idea I have in the product ideas database. It was submitted March 23, 2002. The basic premise was being able to record and playback ICA sessions. This idea later became a part of Project Iris and eventually became a product called “SmartAuditor”. This first submitted idea was a trial balloon to see how well the product ideas database worked.
It took a number of years for the project to finish due to some gaps in development. Initially the company was not overly excited about the project but over time it must have realized that it had value in the market. From a compliance point of view, it makes perfect sense even though I never intended it to go that far. Some people might think that this kind of capture could be seen as being a bit like “Big Brother”. Like any other technology, how it is used is based on where it gives the most value. In this case it is largely used by financial institutions to guarantee integrity. In theory, the more people involved, the less likely something will go wrong or someone will try to commit a crime.
Anyways, here is the original related text:
I have had some ideas about ICA Stream for some time and I’m glad that I am finally writing them down. Basically the idea is to take advantage of being able to record and playback sessions. I know work has already been done on this with AdProd but it has not progressed beyond that. Another idea of ICA Stream is the ability to broadcast to multiple players at the same time. This would give us the ability to broadcast one stream, which may or may not be recorded. The power of this is that we would not need to worry about scaling since MetaFrame does not need to support the ‘splitting’ of the session to multiple clients.
ICA Stream also makes it more real to have a collaboration server. Most of the data will be outgoing from the initial point of view, but it does allow for the rapid transmission of new information.
Some of the ideas are still a bit raw but I wanted to express them to start some discussion. I can see this product fitting into the Virtual Workplace vision, but not quite from the angle that has been presented to this point.
If you have any questions about these line items, please send me an email. I could spend a lot of time trying to explain these ideas but I will instead assume that you already know what I am talking about.
- Treat ICA like it is something that can be recorded and played back
- Allow users to access these ICA streams to get desired information
- Provide a way to transmit any information to anyone as fast as possible
- Make the web interface more alive with live data feeds using ICA Stream
- By broadcasting one ICA Stream, it is possible to support many users at once
- Allow companies to track transactions (banks, ordering, reservations)
- Recordings can be selected at any time and require no MetaFrame resources
- Act as if ICA is a TV broadcast – some people have no need to interact
- One ‘teacher’ could demonstrate with MetaFrame to an unlimited number of ‘students’
- Support primitive interactivity by creating ‘click zones’ for clicking on
- Selected zones act as hyperlinks to other streams or positions in current stream
- ICA Stream can be fully ‘live and interactive’ if it is ‘solo’ or ‘teacher’ mode
- ‘Teacher’ role can change to another person just like a typical meeting
- ICA Stream data could be fed to non-PC devices potentially (mobile phone, PDA)
- Well suited for environments that have trouble with latency (Satellite, GPRS)
- ICA is much more efficient than other Session playback techniques
- Can broadcast one ICA session to many clients (very good for scaling)
- On-demand ICA Stream sessions
- Good for education/training, news/live data update, or system monitoring/auditing
- Excellent for presentations and tele-conferences
- Possible to extend concept with limited interactivity (menu select, next slide)
- Possible to mix with fully interactive sessions
- Different streams could be played based on user selecting other paths
- Auto-detect bandwidth and best fit the closest matching ICA Stream
- Live and Pre-recorded ICA Streams
- Pre-configured color depths and resolutions for sessions on MetaFrame
- Audio support
- Uses ICA Stream Player to receive ICA Stream
- ICA Stream Server (Responsible for ICA Stream transfer to clients)
- ICA Stream Player (Play Session)
- ICA Stream Recorder (Record Session)
- ICA Stream Editor (Edit Recorded session)
- Can operate in either messaging or streaming mode for data (UDP versus TCP)
- Data between MetaFrame and ICA Stream Server should be highest quality (audio/video)
- ICA Stream Server should have filters to reduce quality based on connection
- Stream connections can support Rewind, Fast Forward (recorded), Pause, Play
- ICA Stream elements could be cached (sounds, bitmaps)
- Could use CSG for secure ICA Streams
- ICA Stream Server could re-mix stream based on connection (high, medium, low bandwidth)
- Directory of resources available from ICA Stream Server (streams, stream properties)
- Security model for granting access to ICA Streams
- Use Internet multicasting if it makes sense
Obviously not everything was done for this idea. It was a tall order. For awhile the product seemed like it was not going to make it through. However, it did and from what I have heard it is doing well.
Why am I sharing these ideas? There are a few different reasons that come to mind. Perhaps the first is to show that Citrix has been thinking about certain topics for a number of years. The second reason might be to see how much interest there is still remaining in these topics. Probably the real reason is spend some time looking through the archives to find anything interesting to bring back to share.
I’ve been interested to hear more about how other technology companies generate ideas and it is so rare that I hear any decent details. Being that I have only worked for IBM and Citrix, I’m also certain that my view of creating ideas would not match the rest of the industry.
Perhaps this is because ideas are considered to be quite valuable and the companies do not want to disclose. I would argue that ideas are almost useless unless they are acted upon like a hedgehog from “Good to Great”. It’s really not the idea anyhow. An idea is like a match. If it catches, it creates a much bigger fire. If it is never used or never starts a fire successfully, it just sits there. The match can start something big but only if conditions are right. The same is true of ideas. Without the willingness to try and the ability to support the right decisions, the idea will wither and die.
This just means that we make ideas more important than they really are. There are probably millions of good ideas on the Internet. It is much more difficult to do the work needed to make any of those ideas a success. The glorification of ideas goes back a long way. The realization that this does not actually accomplish anything by itself is a much healthier way of looking at it.