Re: Cocoa (or any Mac API) "browse for computer" dialog
Re: Cocoa (or any Mac API) "browse for computer" dialog
- Subject: Re: Cocoa (or any Mac API) "browse for computer" dialog
- From: Dan Korn <email@hidden>
- Date: Fri, 09 May 2014 16:52:18 -0700
- Acceptlanguage: en-US
- Thread-topic: Cocoa (or any Mac API) "browse for computer" dialog
Thanks again for the replies.
The suggestions about designing the system differently to make the service discoverable are all great, and that indeed would be a superior design, but I have neither the ability nor the authority to change the design of the service, which is already deployed on multiple customer systems.
Short of that theoretical perfect system, all I’m trying to do right now is to make the Mac client a bit easier for our users, by showing them a list of servers on the network, like the Windows client already does, instead of just an empty “enter server name” box. I don’t see how this “requirement,” imperfect as it may be, is self-contradictory or unreasonable. Users find this feature helpful now on the Windows client app, and ask for it on Mac.
Again, the service itself does not advertise anything, to either Windows or Mac clients. It just listens on a TCP port. Users need to know the name or IP address of the machine, and enter it into the client application. (The TCP port on which the service listens is hard-coded.) The client could connect to an instance of the service over the Internet, but the most common use case, by far, is that the service is running on a machine on the same LAN.
Users who already know the name or IP address of the server don’t need to browse at all. The ability to browse the list of machines on the network is merely a way to help out users who may not remember the exact name or IP address, but who may be able to guess at it if they see a list of names of machines on their network. For instance, if the client app is called “FooBar Client,” the user might be able to browse the list of machines on the network, and if there’s one named “FooBar” or “FooBar Server,” then the user may be able to deduce that that’s probably the one they need to connect to. Yes, it’s a long way from Bonjour’s ideal of “zero configuration,” but it’s something that our Windows users do find helpful and our Mac users ask for.
I do realize that all the machines are advertising some kind of discoverable service to both Windows and Mac computers, and clearly both operating systems know how to recognize whatever service that is (or services those are), and both can present that list of machines to users in their file system GUIs, but apparently only Windows exposes that ability to enumerate the computers on the network via command-line utilities and system APIs which are accessible to application developers and end users.
I’m not looking to become an expert on Bonjour or SMB2 or anything else like that, nor do I want to try to reverse engineer exactly what the Finder is doing, as apparently would be required. I was just hoping that I could access the functionality that’s already in the Finder to see the list of computers that it knows about, just like I can leverage similar functionality of Windows Explorer on Windows with a simple API call.
If this is simply not possible to do, at least not without going too far outside of Mac or Unix-y system APIs, then it’s probably not worth the effort, especially for a feature whose absence on the Mac client is, admittedly, only a minor inconvenience.
Thanks,
Dan
P.S. I did finally get a confirmation email to join the Macnetworkprog list. It took about 15 hours from when I requested it. </meta>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden