4 ms·
The Nintendo Switch has a hilarious use case for this. When you view a screenshot or screen recording in the Switch’s album, there’s a menu option called Send
by comex 5y ago
The Nintendo Switch has a hilarious use case for this. When you view a screenshot or screen recording in the Switch’s album, there’s a menu option called Send to Smartphone. Press it, and a dialog comes up with a QR code. This points to a non-internet-connected Wi-Fi network that the Switch has just set up. You scan it, wait several seconds for your phone to connect to the network, and… the Switch displays a second QR code. This one is an HTTP URL pointing to a web server the Switch is now running. Scan that one, and you can finally access your screenshot through the phone browser. You have to go through this process every time you want to send media. You can’t remember the Wi-Fi network on your phone, as the password changes every time; you can’t tell the Switch to run a web server on an existing network; and you can’t ask it to show the password as text so you can easily input it into a non-phone device.
The sad thing is that, while Nintendo could have added more polish to the feature, they had no way to make the UX truly good for an average user without depending on some cloud service. The file transfer protocols with good UX are all either Internet-dependent (cloud storage), proprietary (AirDrop), slow (classic Bluetooth file transfer), or all of the above. Under those constraints, the QR codes feel a bit like a clever hack.
- KingMachiavelli 5y agoInteresting. Is it using WiFi Direct or is it just a standard adhoc WiFi network? I though WiFi Direct was suppose to basically be a the open/standard transport part of Airdrop like things such that it would be seamless but frankly I have not used it enough to know. I'm also a bit surprised QR codes can't be composed or combined. e.g have a single QR code that has a WiFi connection as the first code and then a URL code as a second. I know QR codes can increase in size to fit more data but I guess it still has to be a single string/byte array?
- mschuster91 5y ago> The file transfer protocols with good UX are all either Internet-dependent (cloud storage), proprietary (AirDrop), slow (classic Bluetooth file transfer), or all of the above. Under those constraints, the QR codes feel a bit like a clever hack. There would have been other alternatives to make life easier for people: 1) the Switch is gonna be connected to your LAN anyways via WiFi - so have it open up a SMB server that you can connect to. 2) Use the Nintendo Switch companion app and broadcast packets to allow local discovery 3) Expose the content of the internal storage and/or SD card via USB MTP 4) Use the NFC transmitter in the right JoyCon that is normally used to read Amiibos to transmit the WiFi credentials like Sony does this in some of the Alpha cameras. The problem is, we're talking about Nintendo here who require you put the Switch into the DMZ with full (!) firewall exposure to play Animal Crossing because apparently they have never ever heard about STUN/TURN or WebRTC. Good luck if you have two people in one household who both want to play Animal Crossing as the host with someone else! I, seriously, have NO FUCKING IDEA how a company can be at the same time so good at implementing software and so fucking bad at the basics. Jesus. They have all the hardware they need but apparently are unable to make use of it. (Side note: Anyone here who has tried fuzzing the network stack that Animal Crossing uses? Could be a nice vector for remote code execution, especially since the way AC operates network play requires it be wide open to the Internet)
- tinus_hn 5y agoNintendo is not good at implementing software, it is great at game design but its software really is a big mess full of bizarre bugs.
- tokamak-teapot 5y agoAmazing. I found the easiest way was to set up a Twitter account and have it post there, then log in to Twitter to download!
- crooked-v 5y agoYou may find Snapdrop interesting: https://github.com/RobinLinus/snapdrop https://github.com/RobinLinus/snapdrop It uses WebRTC for local file transfers, though as of yet it still needs a server to shuffle connection messages between peers on the same IP.