Jump to content

Telling if Someone is Online


You are about to reply to a thread that has been inactive for 4103 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

you could just im them..if you were worried about filling up their IM's you could send them a note card instead and if they accept it  then you know they are on..

if you are in any of the same groups  you could look in those..otherwise i don't think there is sposed to be an indicator for people that are not on our friends list unless they set something up like one of those online indicatores that we can set out on our lands..

Link to comment
Share on other sites

We used to have these discussions a lot.  Seems they are rearing their ugly head again lately with threads and questions either identical or very similar to the question here.  There always have been two distinction sides to the "issue"............the privacy concern and the "it's Second Life, there is no privacy" side.  It's almost a hot button issue.  :matte-motes-big-grin:

 

There are ways with any viewer to determine if someone is or is not online.  That disturbs the privacy folks.........and it's a legitimate concern.  The fact that there are ways to find out the online status of anyone (except LIndens.........they have the ability to hide from everyone) The folks who want to know such information can do so.  LL made a compromise of sorts (with the introduction of Viewer 2.xx) to make is a little harder by removing the "online status" from a person's profile.........it was a good move in my mind.  Make it a little harder for the "snoopers" but don't make it impossible for the others.

 

I'm more on the "it's SL, there is not privacy" side than the other.  I can, however, see the privacy concerns.  I don't think the ability to find someone's online status should be removed completely, but I also, don't think it should all that easy either.  My big question is why is it so important to have anyone's online status "at your fingertips"?  My suspicious mind kicks in every time I read these threads.

Link to comment
Share on other sites


Qwalyphi Korpov wrote:

It was one of the things the emerald viewer overrode. 

Not really. There has always been an LSL function for this purpose. The Lindens implemented llRequestAgentData in a way that it always returns the true online status regardless of any privacy settings. With the result that long before third party viewers became available, lots of people used scripted online notificators that are still being sold everywhere. The Emerald devs simply implemented this existing function into their viewer in the same way they included an AO and a radar HUD.

 

ETA: Here is an example of a simple online detector script:

 

string spy_on = "Ishtara Rothschild";  key reqid;startup(){    reqid = llHTTPRequest( "http://w-hat.com/name2key?terse=1&name=" +                               llEscapeURL(spy_on), [], "" );}default {    state_entry()                     { startup(); }    on_rez(integer meh)               { startup(); }    touch_start(integer total_number) { startup(); }    http_response(key id, integer status, list meta, string body)     {        if ( id != reqid ) return;        else llRequestAgentData(body, DATA_ONLINE);    }    dataserver(key id, string data)    {                if((integer)data > 0)            llOwnerSay(spy_on + " is currently online!");        else llOwnerSay(spy_on + " is offline.");    }}

 

(The script only uses the w-hat database to search for the avatar UUID, which can be found out in many other ways too).

Link to comment
Share on other sites

You and Ishtara are both correct. Though it seems to me that including that code in Emerald might very well have been for the same reason that the AO and Radar were included, because people were using huds for those things that put a heavy burden on the servers. Just a thought.

...Dres

Link to comment
Share on other sites

What made me think about it was that I needed to contact a customer service rep.  Her profile said to IM her if she was online and to send a notecard if she was not.  I realized that there was no easy way for me to know.

Sure, I can send an IM and see what happens, wasting some effort and causing IMs to cap faster if the person is not online.  Or I can go ahead and send a notecard, which takes a little more effort than an IM.

I see nothing good about making it a little inconvenient to find out online status.  The people who intend no harm may be discouraged by having to take a little trouble, but malicious ones won't, and they sure don't care if they fill up the inbox of annoy people with unneeded IMs.

The old system was fine with me.  I made my online status know to all.  

I would like a way to be online without anyone knowing sometimes so I can work undisturbed, but it's clear LL won't make that possible, as people have been asking for it for years.

Link to comment
Share on other sites

Hey, wait a minute... I see where you're going with this... well you're wrong! All wrong!

That was not my cheap spy cam... I have no idea where it came from and no, it does not have a direct line to that monitor in my bedroom. Just because I have a gorgeous hunk of a next door neighbor you assume the worst... jeez. Some people. :matte-motes-silly:

...Dres

Link to comment
Share on other sites

list gLstFor;list gLstWho;list gLstQry;uCull( integer vIdxLst ){    gLstFor = llDeleteSubList( gLstFor, vIdxLst, vIdxLst );    gLstWho = llDeleteSubList( gLstWho, vIdxLst, vIdxLst );    gLstQry = llDeleteSubList( gLstQry, vIdxLst, vIdxLst );}default{    state_entry(){        llListen( 42, "", "", "" );    }        listen( integer vIntChn, string vStrNom, key vKeySrc, string vStrMsg ){        gLstFor += [gKeySrc];        if ((key)vStrMsg = llToLower( llStringTrim( vStrMsg, STRING_TRIM ) )){            gLstWho += [vStrMsg];            gLstQry += [llRequestAgentData( vStrMsg, DATA_ONLINE )];       else{           gLstWho += [vStrMsg = llDumpList2String( llList2List( llParseString2List( vStrMsg, [".", " "], [] ) + (list)"resident", 0, 1 ), " " )];           gLstQry += [llHTTPRequest( "http://w-hat.com/name2key?terse=1&name=" + llEscapeURL( vStrMsg ), [], "" );       }    }        http_response( key vKeyQID, integer vIntSts, list vlstMta, string vStrBdy ){	if (~vIntSts = llListFindList( gLstQry, [vKeyQID] )){            if ((key)vStrBdy){                gLstQry = llListReplaceList( gLstQry, [llRequestAgentData( vStrBdy, DATA_ONLINE )], vIntSts, vIntSts );            }else{                llRegionSayTo( llList2Key( gLstFor, vIntSts ), 0, llList2String( gLstWho, vIntSts ) + ": Unknown User (check spelling or use their key)" );                uCull( vIntSts );            }        }    }        dataserver( key vKeyQID, string vStrDta ){        integer vIdxQID = llListfindList( gLstQry, [vKeyQid] );        if (~vIdxQID){            llRegionSayTo( llList2Key( gLstFor, vIdxQID ), 0, llList2String( gLstWho, vIdxQID ) + ": " + llList2String( ["Offline", "Online"], (integer)vStrDta ) );            uCull( vIdxQID );        }    }}

 /42<[usename | legacy name | acount.name | uuid]>

returns "[input text]: [unknown User | OffLine | Online]" in private chat on the public channel

capitilization or extra leading/trailing spaces don't matter, but spelling does.

 

may contain typos and errors in logic known to the populace of SL to cause confusion, frustration, and general annoyance

Link to comment
Share on other sites


Qwalyphi Korpov wrote:

The LL viewer showed u a profile and the online/offline information was influenced by choices people made in their preferences.  

The emerald viewer code overrode those preferences and displayed the accurate online status in the profiles.

The fact that a script could be written to obtain information the viewer didn't provide doesn't change the fact that the emerald code overrode the users preferences.   (It just makes it a little less significant)

 

My point is that LL's implementation of the llRequestAgentData function also overrides the user choice. What the Emerald devs used wasn't a hack but a built-in feature. Linden Lab never really gave us the choice to hide our online status because they left so many doors open that render this setting useless.

Link to comment
Share on other sites


Qwalyphi Korpov wrote:

I concede that the preferences option provided a false choice because the overall system allowed the information out that you supposedly elected to keep hidden.

So my analogy is this:  My neighbor elects to keep his backyard pool area secluded by erecting a 9 foot high wooden stockade fence.   I already could observe everything over there by purchasing some satellite camera time.   Instead I choose to mount a cheap spycam on the upper edge of the fence.   It's very efficient and really the pictures are much clearer than the satellite feed.

So nobody's preferences really got overridden.  Everyone is happy.

But the pictures aren't any clearer in this case. I'd rather use the following example: The government installs security cameras in every backyard and allows people to access the camera feed on the internet using a simple JavaScript webcam template. I decide to make good use of this template and build it into my personal website. That's comparable to what the Emerald devs did.

Edited to add: I can totally see why this is a privacy concern for many people. I also originally had issues with Emerald back in the day, for the exact same reason. But the problem lies with the government-issued security cameras, to stick with the analogy, not with the website that displays the camera feed.

Link to comment
Share on other sites

I find it is always 'easier' to use a notecard to contact a customer service rep or the seller.  This way, all relevant details are in one place and I retain a copy without having to go into the chat log.  It does not matter if they are online or not to send the notecard and I do not have to worry about capped IMs.

Link to comment
Share on other sites


leliel Mirihi wrote:

Those bitwise not operators are causing me confusion, frustration, and general annoyance. ^.^

 think of it as asking if the index was found... when used in conjunction with functions that find and return an index, -1 means "not found" and ~(-1) == 0 or false... ~(any other integer) == (a non-zero value) or true.  mathematically its equivalt to adding 1 and flipping the sign of whatever it's applied to.

 

@Venus:

unless they ARE online, and in busy mode, then the notecard gets discarded.... annoying innit?

Link to comment
Share on other sites


Void Singer wrote:


leliel Mirihi wrote:

Those bitwise not operators are causing me confusion, frustration, and general annoyance. ^.^

 think of it as asking if the index was found... when used in conjunction with functions that find and return an index, -1 means "not found" and ~(-1) == 0 or false... ~(any other integer) == (a non-zero value) or true.  mathematically its equivalt to adding 1 and flipping the sign of whatever it's applied to.

I know what it's doing, I was pointing out a grammatical error. You're using the bitwise not when you should be using the logical not.

ETA: I'm being overly pedantic. I don't like it because it implicitly depends on architecture specific implementation details. The code will only work when negative integers are stored as twos compliment.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 4103 days.

Please take a moment to consider if this thread is worth bumping.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...