5 ms·
Transmit for iOS is $10, but I bought it because Panic is known for making premium-quality software to match the price. …So I was quite surprised to find out i
by comex 9y ago
Transmit for iOS is $10, but I bought it because Panic is known for making premium-quality software to match the price.
…So I was quite surprised to find out it doesn't support the SMB protocol (i.e. Windows file sharing). That's one of the most common file transfer protocols, not to mention the only one that current macOS can serve out of the box. And the lack of support is not an OS limitation, since there are other iOS apps that support it (e.g. Documents by Readdle). So what gives?
I suppose the lack of support is inherited from Transmit for Mac; macOS can mount SMB network drives natively, so there's no need for a separate app. (Although I might like to use one anyway - mounting network disks is always a laggy affair, since most software doesn't expect the filesystem to be that slow.) But iOS has no builtin SMB client, so it would be quite useful there - is useful, with those other apps.
The list of cloud services supported by Transmit for iOS is also rather small - S3 and DreamObjects, that's it - even (especially?) compared to Transmit for Mac, which supports something like 10 other services![1] Why couldn't they port that functionality over?
The app does have a quite nice UI, and unlike some, I place a high value on that. But a premium UI is no use if I can't even connect to the servers I'm trying to access. Maybe they'd have gotten more sales with an app that could.
[1] https://panic.com/transmit/ https://panic.com/transmit/
- Aloha 9y agoWhy would an FTP client support SMB? I mean yes, its obvious that this is probably a good idea for a phone - I think its one of those things that wouldn't occur to anyone to do.
- comex 9y agoWell, if you think of it as an FTP client. But it’s a multi-protocol file transfer client; I mentioned that the list of protocols was short on the iOS version, but it still includes three options that don’t have “FTP” in their name. I know what you’re saying wrt “wouldn’t occur to anyone to do” - true, desktop file transfer apps don’t traditionally include dedicated SMB support, since the OS can handle it. But the idea did occur to the developers of multiple competing iOS apps, including the one I mentioned, which support SMB in addition to FTP, WebDAV, and various cloud services. (FWIW, I’m not claiming I was scammed or anything like that. The feature list was right there in the App Store description, and even after buying the app I could have tried to get a refund. I didn’t, because I have use cases for it other than SMB. I’m just surprised that it’s missing.)
- Aloha 9y agoI think of the UI one would use on an afp or smb connection as very very different than the one used for ftp - I suspect thats a me thing, rather than a reality.
- 9935c101ab17a66 9y agoI'm not really sure why you would expect Transmit for iOS to have SMB, and in their product website and app description, they clearly outline what protocols they support. FTP and SMB are completely separate protocols?
- comex 9y agoSee my response to someone else with a similar question: https://news.ycombinator.com/item?id=16083772 https://news.ycombinator.com/item?id=16083772
- mschuster91 9y ago> I suppose the lack of support is inherited from Transmit for Mac I'd add that CIFS/SMB is one beast of a protocol... a basic ftp client for up/download can be done in a day, but CIFS/SMB? The spec alone clocks in at healthy 441 pages. Either reimplement a huge subset of this (and test with the countless versions of Windows + the even more countless deployed versions of Samba) at considerable expense, or ship Samba with the app... there are IIRC some Android apps doing exactly this, but I don't know if it's at all possible to do so on iOS.
- comex 9y agoSamba is GPL, but there are other options. I Googled 'smb client library' and saw at three viable-looking libraries on the first page: https://github.com/naxos/SMBClient https://github.com/naxos/SMBClient > SMBClient is a small dynamic library that allows iOS apps to access SMB/CIFS file servers. https://github.com/videolabs/libdsm https://github.com/videolabs/libdsm > lib Defective SMb (libDSM) is a SMB protocol client implementation in pure old C, with a lot less features than Samba but with a much simpler, and a more permissive license […] > The initial goal of this project is to have a library that can access most SMB shares to read files and that has a license compatible with the iOS/Android/WinRT appstores in order to integrate it into VLC for iOS and VLC for Android. https://jcifs.samba.org https://jcifs.samba.org > JCIFS is an Open Source client library that implements the CIFS/SMB networking protocol in 100% Java. […] This client is used extensively in production on large Intranets. (Java would be annoying to run on iOS, but probably doable, perhaps using Google's Java-to-Objective-C translator.) There's also Apple's own SMB implementation, which used to be included in opensource.apple.com source drops, although it seems to be gone as of macOS 10.11; here's the latest version: https://opensource.apple.com/source/smb/smb-759.40.1/ https://opensource.apple.com/source/smb/smb-759.40.1/ Or you could go to the BSD SMB implementation that it was based on. I'm not sure how difficult it would be to port either of these to run as a standalone library - it looks like parts are already a library, but smbfs itself is a kernel module - but it's probably viable. In fact, 'fs-utils' from the rumpkernel project, which is an existing effort to port filesystem modules from the BSD kernel to userspace, seems to have a version of it: https://github.com/rumpkernel/fs-utils/blob/master/lib/external/netsmb/smb_rq.h https://github.com/rumpkernel/fs-utils/blob/master/lib/exter... …Forgive me for the wall of links. I guess one example library would have been enough, but I was curious what options were out there. I don't know how these libraries compare to each other and to Samba in terms of quality and compatibility. Most likely Samba is the best, but they all seem widely used enough that I'd expect them to do the job in most cases.