Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Simultaneous Login Copy/Paste

Simultaneous Login Copy/Paste
Thread Tools
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Nov 20, 2003, 12:47 PM
 
Has anyone considered writing a copy/paste mechanism that supports multiple users? I keep getting annoyed when my wife is logged into her account, and I want to open a URL or copy an email address, whatever, into my own account. I keep having to save it to a common file and open it in the other account.

Maybe a service? You copy a selection, and a menu in the services menu says "Copy Clipboard to ..." and has an expanded menu which lists all other logged in users.

I know this would help me a lot. Is anyone else interested? I might consider writing it myself if noone else wants to.

And just in case someone gets freaky about security and says "Hey, some user shouldn't be able to overwrite my clipboard, there could be a preference pane or something which allows you to specify who can copy to your clipboard. Or, better yet, the target user could explicitly select to copy the common clipboard data to the local clipboard.
     
yeslekmc
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status: Offline
Reply With Quote
Nov 20, 2003, 05:00 PM
 
I think you would need additional *copy* and *paste* commands (and cut, etc...). Ones that could write to a shared clipboard that could be used by any user on the computer. I wouldn't attempt to use the normal clipboard. You would need a separate clipboard buffer.

Now let's take the idea one step further. Maybe there should be a way to create a copy and paste mechanism that could run over pure TCP/IP. That way you could copy from one machine and have ANY machine paste the contents at will. In order to implement this, you'd without a doubt have to create a copy and paste server that was hosted somewhere. The copy command would be a simple protocol to send data to the server and have it stored, while the paste command would contact the server and grab what ever is stored in the 'netboard. Of course you'd have to put some thought into it to make sure that tons of people don't keep on copying to the 'netboard before others have a chance to retrieve it.

The beauty of the 'netboard approach is that it would allow copy and paste not just between users on a single machine, but would work across any operating system as well. This is a big one for me, for I switch from Mac OS X, Win, and Linux machines all the time. Wouldn't it be neat to highlight something on your Mac, do a 'netcopy, then call up your mother across the country, and tell her to do 'netpaste into Microsoft Word on her PC?

This is just a rough idea... But could be implemented by someone rather easily. (If only I had the time!)

Later!
     
Turias
Mac Elite
Join Date: Nov 2003
Location: Minnesota
Status: Offline
Reply With Quote
Nov 20, 2003, 05:02 PM
 
Originally posted by yeslekmc:
I think you would need additional *copy* and *paste* commands (and cut, etc...). Ones that could write to a shared clipboard that could be used by any user on the computer. I wouldn't attempt to use the normal clipboard. You would need a separate clipboard buffer.

Now let's take the idea one step further. Maybe there should be a way to create a copy and paste mechanism that could run over pure TCP/IP. That way you could copy from one machine and have ANY machine paste the contents at will. In order to implement this, you'd without a doubt have to create a copy and paste server that was hosted somewhere. The copy command would be a simple protocol to send data to the server and have it stored, while the paste command would contact the server and grab what ever is stored in the 'netboard. Of course you'd have to put some thought into it to make sure that tons of people don't keep on copying to the 'netboard before others have a chance to retrieve it.

The beauty of the 'netboard approach is that it would allow copy and paste not just between users on a single machine, but would work across any operating system as well. This is a big one for me, for I switch from Mac OS X, Win, and Linux machines all the time. Wouldn't it be neat to highlight something on your Mac, do a 'netcopy, then call up your mother across the country, and tell her to do 'netpaste into Microsoft Word on her PC?

This is just a rough idea... But could be implemented by someone rather easily. (If only I had the time!)

Later!
I like it! And it really wouldn't be that hard to do...
     
absmiths  (op)
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Nov 20, 2003, 07:13 PM
 
Originally posted by yeslekmc:
I think you would need additional *copy* and *paste* commands (and cut, etc...). Ones that could write to a shared clipboard that could be used by any user on the computer. I wouldn't attempt to use the normal clipboard. You would need a separate clipboard buffer.
Well, that is the point - the real clipboard is not accessible therefore a new shared one must be implemented. For it to be useful, however, the user would have to be able to transfer the shared clipboard to the real clipboard so any part of the system could access it like normal.

Now let's take the idea one step further. Maybe there should be a way to create a copy and paste mechanism that could run over pure TCP/IP. That way you could copy from one machine and have ANY machine paste the contents at will. In order to implement this, you'd without a doubt have to create a copy and paste server that was hosted somewhere. The copy command would be a simple protocol to send data to the server and have it stored, while the paste command would contact the server and grab what ever is stored in the 'netboard. Of course you'd have to put some thought into it to make sure that tons of people don't keep on copying to the 'netboard before others have a chance to retrieve it.
That is certainly an interesting idea. How about using Rendezvous to list the service? That would be a nice touch. The network approach would be quite natural since this will probably have to be done through sockets anyway. The main problem is how to deal with data flavors, etc. I am not sure that I want to write versions for other OSes, though. Maybe a Java client? That wouldn't integrate well with others, but would get the job done.

This is just a rough idea... But could be implemented by someone rather easily. (If only I had the time!)

Later!
Whoa there, easily? It definitely could be done - but it will be a nice little task. I am getting more interested, though. Would anyone here really like to see this happen?
     
Tritium
Junior Member
Join Date: Jan 2003
Status: Offline
Reply With Quote
Nov 20, 2003, 07:53 PM
 
"easily"? Uhhh..... I can imagine referring to raw text as "easily" but that's not the complicated part about copy/paste... Cross platform copy/paste of more than just text sounds like a daunting task to me.
     
yeslekmc
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status: Offline
Reply With Quote
Nov 20, 2003, 08:01 PM
 
Yeah, since I posted this I�ve had some time to dwell on the initial thought. This can be done (still not very difficult), but in order for it to work over the internet there are a couple of items to deal with.

The menu items under the Edit menu would need to contain sub-menus directing where to send or pull the clipboard data from. Something like this:

Code:
Edit | ------------------------------ NetCopy to > Kelsey�s House Blue Clipboard Elko Community Buffer NetPaste from > Kelsey�s House Blue Clipboard Elko Community Buffer Configure NetBoards...
All of the submenus appearing under the copy to / paste from menus would be setup by the Configure NetBoards� menu item. This item would open up a dialog that would allow you to identify a server (and port) that a NetBoard service was running on. The text "Kelsey�s House" would be defined by the owner of the server. The simple name would be easier for people to use than 192.168.0.1 or www.somestinkingplace.com:12345.

Of course then there�s the issue of a protocol to use for the transport and encapsulation of data from point A to B (and eventually B to C). The mechanism would need a discovery command, like "[HELLO]" with a return response "[WELCOME]Kelsey�s House" of the server name. Then if sending data you�d need to send some type of copy command, that along with the message identifier might also identify what type of data is to be sent (like text, jpeg, xml, pict, etc... Something like "[COPY][TEXT]A man a plan a canal, Panama!" Then on the receiving end, the paste command could first query the netboard for data [DATA?], and receive a response like "[NODATA]" or "[DATATYPE=TEXT;SIZE=2112]". If there is no data, a message should alert the user to the fact (so they don�t sit there forever waiting for data that will never appear�). If there is data, the type will be known along with the size of the data. After the consumer program knows it can paste it will issue a "[GETDATA]" command and handle it appropriately based upon the previously identified data type. Also, the size can be used as a means on determining whether or not an hourglass or progress bar should be used and if using a progress bar the incoming stream (which is running in a separate thread, right?) can update the progress bar.

Of course this is just a high-level view of how it would work, I didn�t even mention the fact that you might need to implement some type of USER/PASSWORD scheme on the [HELLO] command if you want to make it semi-secure.

Food for thought. Expand on it. But try and keep the concept somewhat simple, so that others would want to implement it in their applications, and it would not be a hassle to do so.
     
yeslekmc
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status: Offline
Reply With Quote
Nov 20, 2003, 08:13 PM
 
Originally posted by absmith:
Whoa there, easily? It definitely could be done - but it will be a nice little task. I am getting more interested, though. Would anyone here really like to see this happen?
Originally posted by Tritium:
"easily"? Uhhh..... I can imagine referring to raw text as "easily" but that's not the complicated part about copy/paste... Cross platform copy/paste of more than just text sounds like a daunting task to me.
Points taken. But, when I say easily, you have to understand that the project I just completed involved over 250 separate programs that made up a commodities tracking system. This was a two year project, that just went live this past October. I guess the term "easily" is all relative. I wouldn't expect this effort to take anywhere near the amount of time and resources of what was just finished up.

But, yes, the cross platform aspects would take some work. That's where the [datatype] mechanism I was talking about above would come into play. You could ahead of time pass the data as TEXT or RTF or JPEG or some other format. It would be up to the program to properly pass (or convert) the data into the proper format for the netboard server to handle. Same goes for the program receiving the paste data. It would have to handle the datatype, or convert it into something that it could deal with (like convert RTF into TEXT...).

It's all just a simple idea at the moment, that could turn into something useful with more thoughts and ideas from others.

Take care! Got to run, I'll check back later after I get home from work.
     
absmiths  (op)
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Nov 21, 2003, 12:06 AM
 
I was actually hoping to keep it simpler than that (UI-wise) for OS X anyway. I don't really like the idea of having to launch a program to make this work. Something more like a menu item, System Preference Pane, or System Service. Perhaps one or more might be implemented depending on the users preference, but I really don't like simple utility programs that show up in the dock.
     
yeslekmc
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status: Offline
Reply With Quote
Nov 21, 2003, 02:55 AM
 
Yeah, I was thinking more along a *global* solution. (I tend to think big sometimes.) For your original need it would be best to incorporate it into the OS. I was thinking along the lines of creating something that would allow people to copy and paste from any login on any machine to any other machine, no matter where they were at in the world...
     
absmiths  (op)
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Nov 21, 2003, 11:17 AM
 
Originally posted by yeslekmc:
Yeah, I was thinking more along a *global* solution. (I tend to think big sometimes.) For your original need it would be best to incorporate it into the OS. I was thinking along the lines of creating something that would allow people to copy and paste from any login on any machine to any other machine, no matter where they were at in the world...
I have been thinking about this. I am not sure that anything outside the local subnet would be that useful. After all, when I want to transfer data from work to home, I send an email or put it into an ichat message.

On the local subnet, using rendezvous, no work would be required to make it work on the network, so it would be beneficial. Once you start having to configure servers, etc, it may not be worth the effort.
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 06:39 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,