It's worth pointing out that people are sometimes reading /THREADEDCONTENT as ,THREAD, but that's not the same thing.
a) The Memory Table itself is thread-safe, but you want the file to have the ,THREAD attribute so that each thread gets its own record Buffer. So in this respect it's like all your other tables - ,THREAD must be on.
b) /THREADEDCONTENT is unique to the memory driver. It allows every thread to contain a "different file" - so the DATA is not shared across threads. This is unique to the memory driver - in all other drivers the data is obviously "the same for all threads".
With NetTalk you _do not_ want to use this /THREADEDCONTENT switch.
c) given that all users are sharing the same EXE, the same TPS tables, and yes the same Memory tables - if you are storing user information in a temporary table (TPS or InMem) then you need some field to tell one user's information from another. In a netWeb app this is the "Session ID" which is a string (up to 255 chars long.) Remember you are responsible for removing any data in here when the session expires (you would add code to .NotifyDeleteSession in WebHandler.)
If it's not clear let's chat about it on Thursday during the webinar.
Cheers
Bruce