11 ms·
Ask HN: Is there a pure SMS based UI?
I’m traveling to an area of the world where the only communication medium I will have available to me is unlimited 140 character text messages. I’m wondering if it is possible to set up a computer that will allow me to fully interact with it via SMS. I’d like to be able to do things like check the news, read and reply to my emails, check on the status of my home and other servers. What is the state of the art in SMS based human computer interaction?
- ethanwillis 5y agoYou're basically talking about building a modem over SMS. I wouldn't use Twilio. The costs will be insane. Now what you could do, is get yourself a rooted phone stateside with custom software to receive requests for webpages via SMS. Then it sends back all of the data via SMS.
- detaro 5y agonot aware of anything universal. There are SMS-based services for lots of things, but less in the context of "UI for my own things". in lots of ways, it's console UI with additional length limits I guess? Or chatbot-UI.
- abrichr 5y agoWhich part of the world?
- joshcramer 5y agoAlaska. It is possible to get LEO phone / data, but it is more cost prohibitive. Unlimited SMS plans on LEO satellite services are relatively cheap.
- vegardx 5y agoHave you tried using these services? It can take anywhere from 5-60 minutes just to send a message. It's a reason they often go from 10-20 messages included in the monthly cost to unlimited for only a few bucks more. You're not going to be sending many. All sending and receiving happens through their proprietary application.
- Turing_Machine 5y agoI assume we're talking a deep Bush situation, as all but the tiniest villages have regular Internet service nowadays. Might be worth looking into Starlink, if you haven't already. I know it does have coverage in at least some regions of the state now. Source: have lived in Alaska for many years.
- lowwave 5y agothere was http://cel.ly http://cel.ly, they are no longer available.
- tough 5y agoSMS No-Code Tools A ssh-through-sms tunnel would be fun
- nurettin 5y agoSounds like the IP-over-pigeon protocol https://datatracker.ietf.org/doc/html/rfc2549 https://datatracker.ietf.org/doc/html/rfc2549
- cupofpython 5y agoyou might have an easier time splitting up send and receive into separate managed things instead of looking for one system to do it all over SMS _SEND_ You can send an email over SMS I believe by texting the email address. So you should be able to set up a server to process emails you send to a specific address and trigger commands in response to it. the triggers would need to be set up in advance, but other than that you should be able to do anything normal _RECEIVE_ For receiving SMS - I am not sure tbh. You could use Twilio, but it might be overkill. I would jsut make sure whatever solution you use doesn't get automatically blocked by the ISP. I am not sure the proper way to flag something as wanted / intended
- judge2020 5y agoThe main issue with SMS is that it's unencrypted and often intentionally being piped to third party firms for advertising and whatnot, so whatever you do it probably isn't advisable to send anything you wouldn't want people seeing (eg. I wouldn't suggest doing email via it). If you have even the smallest data cap, https://lite.cnn.com https://lite.cnn.com can be used for your news and https://mail.google.com/mail/u/0/h/ https://mail.google.com/mail/u/0/h/ (/h/ at the end) will load the mostly pure HTML version of Gmail, or even just imap (without automated push/pull) is pretty lightweight on data usage.
- Areibman 5y agoIf this is the case, why do so many apps use SMS for 2FA and sending unique links? Are MITM attacks over SMS common?
- Robotbeat 5y agoWell… it’s not necessarily a good idea to do 2FA with SMS. Additionally, the codes sent by SMS are usually very time-sensitive, like 5 minutes. And it means someone has to have compromised both your computer and your SMS in order to defeat the 2FA. Which doesn’t make it impossible. But it’s not trivial to coordinate those things.
- judge2020 5y agoBut, to add, sim swap attacks are a known issue and anything of value becomes a target. The main issue is that retail employees in 'authorized reseller' locations are allowed to make changes to accounts with the PIN of the account holder, but that is often easy to guess or is easy to figure out by anyone that does enough digging into someone's life. https://www.cnn.com/2020/03/13/tech/sim-hack-million-dollars/index.html https://www.cnn.com/2020/03/13/tech/sim-hack-million-dollars... https://youtu.be/caVEiitI2vg?t=145 https://youtu.be/caVEiitI2vg?t=145 (tldr he got cold called to set up 'extra security', gave the attacker a PIN number, and the attacker used that to impersonate them within a T-Mobile store and swap the sim card from the phone into a new phone, thus receiving SMS 2fa codes for their accounts).
- 7steps2much 5y agoDepending on how important this is to you there is always the option of getting yourself a VOIP number and a softphone on one of your computers and hooking a small script into it to do whatever things you want to acchieve. Never done anything like this but I imagine that it might not be too hard since the infrastructure is pretty much there already. However building a "protocol" on top of SMS might be somewhat tricky. You might want to write an APP or something for that. As for "fire and forget" solutions ... Well, there are email to SMS gateways if i remember correctly.
- JNRowe 5y agoFar from state of the art, but… I used to have a cheap Huawei dongle connected to my desktop that I'd interact with via awful scripting against gnokii¹. If you're the type of person that likes hacking up your own solutions it can be quite fun to work with. After a lot of trial and error^wimprovement I found it useful to use gnokii's SMS mailbox export, and run a job to iterate over the exported mailbox periodically. The simple reason being most scripting languages ship with mbox support out of the box, and there are heaps of tools for handling them from a shell script. ¹ http://gnokii.org http://gnokii.org
- CPLX 5y agoThere’s always these guys, who made quite a splash on this here message board: https://news.ycombinator.com/item?id=9087819 https://news.ycombinator.com/item?id=9087819 https://news.ycombinator.com/item?id=9107658 https://news.ycombinator.com/item?id=9107658
- BigBalli 5y agoWhich country will you be in? Can you send international SMS for free?
- 16 5y agoI have a second SIM card that T-Mobile gave me for free (no idea why). I have it installed in an Android phone running Tasker with a bunch of jobs I created to do various things. Android phone stays at home while my primary (flip phone) comes with me. I get specific Matrix (https://matrix.org https://matrix.org) messages forwarded to my flip phone, I can query the weather, I have a couple RSS feeds forwarding, and I can enable/disable any of these tasker profiles by sending custom commands from the flip phone back to the android. Obviously this requires having a second SIM card, but you could probably find a super cheap talk/text (or text-only?) prepaid plan temporarily and set up something similar. Tasker is extremely powerful and could conceivably do most if not all of what you're asking.
- beaconstudios 5y agoyou could also use Twilio to build an SMS inbox API and do it without any hardware.
- notRobot 5y agoThat's so cool! Q: How do you get Tasker to read Matrix messages?
- freen 5y agoHttps://textit.com
- jeroenhd 5y agoIP packets contain 20 bytes of headers, the rest is data. Theoretically you could create the world's worst VPN by stuffing the 140 bytes of an SMS absolutely full of binary data, with some compression of course. So I went looking for "IP over SMS" and actually found this: https://github.com/spandanb/ipos https://github.com/spandanb/ipos but it's for web browsers only. This old HN thread talks about the same concept: https://news.ycombinator.com/item?id=8304409 https://news.ycombinator.com/item?id=8304409 You could possibly port something like https://github.com/PiMaker/Teletun https://github.com/PiMaker/Teletun to SMS instead of using Telegram. The Python TUN API seems quite elegant to work with, if you can get two SMS capable devices running Linux you can probably set up the world's worst wireless AP. Some students had the same idea and built a proof of concept: https://www.thomasclausen.net/en/nice-student-project-at-ecole-polytechnique-ip-over-sms-because/ https://www.thomasclausen.net/en/nice-student-project-at-eco...
- bArray 5y agoThese requirements sound very similar to something like LoRa, would be worth checking out stuff in that space too. You could quite viably fetch the latest article from an RSS feed in this space, or reply to an email, even with minimal compression. The less technical the solution is the better. I would definitely suggest to have some commands built in and have the ability to poll the current state of your service to ensure it's not being abused, etc. You also might need a human the other side to reboot it occasionally, so make it very simple to get back online.
- giomasce 5y agoI managed to do something useful with iodine (IP over DNS), a couple of times. Performance is abysmal, but a simple SSH session might have some hope. Most web applications are impossible, and for email you must be lucky.
- threeio 5y agoI remember staying at a hotel in the UK that rented internet in 500MB chunks... i figured out that if I tunneled everything via DNS they didn't count the traffic. I wish I had known about Iodine at that point ;)
- aaronbasssett 5y agoYou could definitely create it with Twilio, you might be able to do most of it without even writing any code by using Twilio Studio. https://www.twilio.com/studio https://www.twilio.com/studio
- coldsauce 5y agoIn 2014, I had a similar problem so I created Cosmos Browser, an Android based internet browser which allowed people to connect to the internet via SMS. It's pretty much dead now, but wouldn't take a lot of work to revive it if you really wanted to. https://github.com/ColdSauce/CosmosBrowserAndroid https://github.com/ColdSauce/CosmosBrowserAndroid
- plants 5y agoThis is incredible - I remember seeing this project at a hackathon back when I was in college and thinking it was so cool! So funny to see the actual author of it posting about it on HN now :). Really such a cool project - would love to see this become more mature. Without actually looking through the code, I have a few questions: 1. How slow is it loading webpages? I think SMS would be a little sluggish since each message can only contain 160 characters. 2. How do you guys manage out of order text messages? Is there some sort of metadata that governs the order of a multi-part SMS? Thanks so much for posting this - really a blast from the past.
- coldsauce 5y agoThanks! Yeah it was fairly slow but we did some work to try to make it faster. Our process was 1. Remove all JS and CSS from the HTML file 2. Compress the file into a gzip stream 3. Base64 encode the file 4. Send it as a stream of text messages with some metadata on sequence numbers, etc SMS uses the GSM 03.38 encoding which is a 7 bit encoding. I think we were working on building a custom encoding scheme for it rather than using Base64's 6-bit encoding, but never got around to it. I think reddit.com (back in 2014 when it wasn't so fancy as it is now) took about 20 text messages to load, so you can imagine it would take less than a minute.
- lukeasch21 5y agoThis is crazy that I stumbled upon this post, I just learned about HackerNews today and saw this on the front page! I've been working on making a sort of revival project of Cosmos browser for a couple months now using a custom encoding and better compression. With the GSM 03.38 spec, I found there are 125 usable characters that I could use as a custom base, but I found out that for some reason the 0x10 column of the character set is mostly non-functional using any SMS API like Twilio. The characters from row 0x00 to 0x0A just show up as "?" instead besides the underscore. I contacted support for multiple API providers (Twilio and Plivo) and found that this is an issue on the operator level, which is quite surprising. I doubt this will ever be fixed because the problem runs so deep. This limits the usable characters to 115, which still has surprisingly good improvements in encoding efficiency compared to base64. I also used the (relatively) new Google brotli compression algorithm which allows me to compress even more efficiently. I'm still finishing a proof of concept so I don't have a GitHub repo up yet but I will soon (I'm a first-year CS student so I need to make my code somewhat presentable before it draws the internet's scrutiny, haha). Right now the server uses Python and the client app began as a fork of Cosmos browser. It turns out that getting code from the KitKat era to work on Android 11 isn't the best solution so I'm looking into rewriting the app. Regardless, thank you so much for your work! I'm super excited to finish the proof of concept and I hope to be able to implement the peer-to-peer system you briefly mentioned in the repo by having a "server" option you could turn on in the app that leverages a user's phone number and internet connectivity to allow other users to connect to that number. Edit: I also want to add that I've looked into UCS-2 encoding (here: https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding https://www.twilio.com/docs/glossary/what-is-ucs-2-character... ) but I'm not sure if the decrease in characters per message (only 70 instead of 160) is worth the greater amount of characters (theoretically 36,864 but probably includes many non-usable characters). It would also require a more complicated encoding algorithm, and I'm not sure how well supported this is by carriers internationally.
- Someone 5y agoSMS is stateless, so you’d have to add sessions on top of it. The simplest probably would be to have a single endless session tied to your IMEI or phone number. For UI, I would look half a century back. ed (maybe with slightly more verbose prompts. Sending a single character is as ‘fast’ and ’cheap’ as sending 100) may well be the editor of choice, for example. Alternatively, look at speech interface systems, and adjust them for text input. Those typically are more constrained, though.
- HWR_14 5y agoMost providers let you email phone numbers to send an SMS. I don't know if your LEO phone would. However, when I attempted it every "from" was a different random provider phone number (fewer digits than normal) Keep in mind SMSs are pretty rate/bandwidth limited in your use case. SMSs originally (and probably still in your case) were based on having 140 bytes of freeish data in the keep-alive style pings between tower and phone. So you only get/send one SMs per (on regular devices I believe this is no longer the case). Can you program the device you will be using, or does it need to be human readable? One solution might be to run a cloud SMS service. You can set up an SMS endpoint on AWS with bidirectional communication. It would let you write as complex code as you would like to generate/parse the SMSs, and probably falls into almost free at a personal scale. As a warning as someone who built a little SMS autosender (as I said earlier based on email), be careful you don't accidentally DoS yourself. Consider some way to turn it off. Constantly getting texts on a device without the ability to assign a specific ringtone because the event you was sure was rare happened more frequently was no fun until I changed the code.
- moltke 5y agoI've never had the email/MMS gateways work. Personally I prefer JMP.chat which gives you a nice XMPP/MMS gateway and is much easier to work with.
- HWR_14 5y agoNote that the OP must use SMS, not MMS. In the US it wasn't an issue. What was the trouble? Keep in mind I was sending it to one or two people. I have no doubt it doesn't work on a mass scale.
- moltke 5y agoJMP.chat does pure SMS by default, you have to ask to be part of the MMS beta. I've only really tried AT&Ts gateways in the US from gmail, maybe something has changed but it never worked for me.
- 5y ago
- deleted 5y ago[deleted]
- dashundchen 5y agoNot that this is a solution for you now, but about 10-15 years ago there were a whole slew of SMS services which were super useful for those without data. Google 311 (EDIT: actually it was Google 411) let you conduct full searches, local listings, full text turn-by-turn navigation, weather, movie listings etc. You could also call a number and do an voice search that would text you back the results. Twitter, AIM, Facebook all had SMS based interfaces as well. I remember a privately run system which served up transit schedules. Was amazing to younger me to be on a bus and able to continue my AIM chats and check the bus schedule without a data plan. You could get useful services sent to your phone and not get sucked in endless feed scrolling.
- whalesalad 5y agoTexting Google in the early 2000’s was so cool. Felt like magic at the time.
- BoxOfRain 5y agoSeeing the web on a GPRS device was pretty cool too! It was a bit like watching an elephant perform ballet, seeing it happen at all made up for the fact it wasn't very good.
- garciasn 5y agoThe Hiptop / T-mobile Sidekick was a GPRS device which used a proxy to slim pages down to a manageable format for the device. I was using one in 2003 (the CSK) and it was quite the revolutionary piece of equipment for the time. I still miss its ability to multitask, notify, and switch between apps while providing a full keyboard.
- nvrspyx 5y agoI can't remember the name of it, but there was a service where you would text a question akin to a Google search and a real human would respond with the answer. If you signed up to be one of the responders (and proved your ability to find and return an accurate result quickly), they paid you like $0.01 per answer. I thought it was a neat idea back when everyone was still using dumb phones.
- InsomniacL 5y agoSMS may be unlimited but are you sure it's not rate limited?
- junon 5y agoThis isn't a new concept. When I was at Uber I heard of some places in the world we did data over SMS, using it as a secure transport layer.
- oregondan 5y agoThis doesn't directly answer your question, but there's a nice SMS interface framework available for Django called RapidSMS[0]. It's been a few years since I've played with it, and never got around to testing "in the wild" / with a real phone, but, it makes the Request/Response <-> SMS gateway mapping pretty easy to navigate [0] https://github.com/rapidsms/rapidsms https://github.com/rapidsms/rapidsms
- o-bla-dih 5y ago
- romellem 5y agoThis reminds of Google's SMS-based search that was shut down a few years ago - https://slate.com/technology/2013/05/google-sms-search-shutdown-angers-people-who-had-forgotten-it-existed.html https://slate.com/technology/2013/05/google-sms-search-shutd... It was extremely handy in the pre- smart-phone days.
- mathverse 5y agoReminds me of this talk but I have never used anything like that myself: https://www.youtube.com/watch?v=ZsBAkSxwU5c https://www.youtube.com/watch?v=ZsBAkSxwU5c
- ftth_finland 5y agoFYI, Iridium Go plans include an unlimited data plan. Very slow, but people have actually used ssh over it. With this you’d actually be able to achieve your use case goals.
- lallysingh 5y agoThis is the right answer. Prefixed with a "No, SMS won't work for that in 2022."
- polyrand 5y agoThis presentation by an engineer from Wave (African fintech) shows how they used SMS and other tricks for zones without internet: https://www.youtube.com/watch?v=EAxnA9L5rS8 https://www.youtube.com/watch?v=EAxnA9L5rS8
- staindk 5y agoThis is interesting - thanks! Two of my CS lecturers at university were involved in setting up/improving networks across Africa and they had great stories to tell about that. A LOT of stuff happens via USSD codes and SMS.
- munk-a 5y agoFor consuming information I feel like it's pretty realistic to roll one (I don't know if one actually exists) but for any data modification (like replying to emails) isn't any sort of Authentication going to be 100% infeasible due to the weaknesses of SMS? You might be able to get by it with some sort of SMS signing system but you really don't have a lot of room to work with and it'd likely make it unreasonable to handcraft any of these messages.
- jacquesm 5y agoWhat you want if your comms layer supports it is this: https://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data https://en.wikipedia.org/wiki/Unstructured_Supplementary_Ser... It works on dumb phones and is extremely lightweight. Think of it as connection based SMS. Very popular in places with low connectivity.
- WesolyKubeczek 5y agoYou can’t use it for your own applications willy nilly, though. You have to talk to the sms center of your comms operator, and that comes with costs and infrastructure to set up.
- jacquesm 5y agoYes, this is similar to having an application server hookup from the Videotext days, or for a more recent example, to have a point-of-presence in someone else's datacenter. I'm not sure if there are gateways to the internet available for the server side, that would seem to be a logical development.
- zikani_03 5y agoTelcos and Mobile Money services where I come from (Malawi, Africa) use USSD extensively and it works well. So much so that even though some Telcos have Android applications for some of those services - people still mostly rely on USSD menu-driven applications to perform tasks like buying airtime, and sending and withdrawing money.
- jacquesm 5y agoYes, that's how I know about them (M-Pesa, specifically, not in Malawi I believe, but in Kenya and Nigeria).
- MYEUHD 5y agoThere's a free software android app called Silence that lets you send encrypted SMS. The functionality was originally in Signal, but at some point that project decided to remove it. So "Silence" is the fork of Signal that was made specifically to retain that feature. as a result, it uses the Signal encryption protocol. (but it can't federate with Signal) https://silence.im https://silence.im
- artsarescis 5y agoI think Arist a YC company is an SMS education platform. https://www.linkedin.com/company/aristlearning/ https://www.linkedin.com/company/aristlearning/
- shanecleveland 5y agoI update my own site/blog/journal with a sms-only service I set up: https://textpost.me https://textpost.me
- debdut 5y agowow! Can I send text from India?
- shanecleveland 5y agoHmm. No idea, actually. Incoming texts run through Twilio.
- Tijdreiziger 5y agoSMS-only? How are you adding the photos if not MMS?
- digisign 5y agoStarlink sounds like a better deal if you really need connectivity.
- zoomablemind 5y agoBack in the days of the growing spread of mobile comms, there was a convenience of email-SMS gateways. One could send an email, which would then be delivered as SMS messages onto the mobile. If that's the case for you, then at least the delivery to your mobile may be simplified. Your remote systems may just schedule the sending/forwarding of the whatever textual data via email corresp. to your mobile address. As for the reverse direction, there needs to be some gateway on your remote end to proces the incoming SMS and forward these correspondingly.
- nickdothutton 5y agoWhen SMS was first introduced it type UK, it was free at least for some carriers (Orange). Data was a traditional mobile phone call and therefore very expensive (we are talking even pre-GPRS, it was WAP or nothing so far as I recall). There were some IP-over SMS projects.
- kkfx 5y agoIMVHO: you can base64-encode anything so any "REPL-alike system" (classic CLI included) can run over SMS BUT it would be probably less expensive buying a satellite connection for boats (C or Ka band) and relevant hw... Just to check news a classic radio, or again in many area of the world a satellite dish for C or Ku bands works far better, emails might be more problematic for html messages, having at home a small server that pipe a classic mail (1) UI over SMS is easy but html2text converted mails are generally not good. Status check I do not know how much can be useful: you can know that's something goes wrong but you can't do almost anything so...
- paxys 5y agoI'm pretty skeptical that there's any area in the world with reliable SMS and no mobile data, not even GPRS.
- advisedwang 5y agoMaybe they just can't afford data in their location, but can afford SMS (or are on somebody else's plan etc)
- hankchinaski 5y agothere is no such thing as unlimited, you will still have a bandwidth cap or "responsible use policy" which your IP-to-SMS protocol will easily overflow. I believe translating even a basic set of http request responses into and from IP/SMS will cause lots of SMS jam. but interesting proposition nevertheless :)
- whiskypeters 5y agocapsule does a great job with SMS based UI, my girl doesn't even have the app on her phone just texts with them
- GrumpyNl 5y agoIf you are lucky they support wap, https://www.geeksforgeeks.org/wireless-application-protocol/ https://www.geeksforgeeks.org/wireless-application-protocol/
- teaearlgraycold 5y agoI'd love to see remote shell over SMS. Seems a pretty fitting mapping. Not very secure, though.
- colbyhub 5y agoFor what it's worth, I built a service that allows you to use Google Maps and a dictionary over SMS: https://gistsms.com https://gistsms.com I've stopped working on the project but would be curious to hear if there's still interest!
- solresol 5y agoI think it's fabulous. Just signed up to be notified when it's ready. ;-) Anyway, you now have my email.
- boramalper 5y agoNot exactly what the OP asks, but still surprised that no one mentioned M-Pesa yet: > M-Pesa (M for mobile, pesa is Swahili for money) is a mobile phone-based money transfer service, payments and micro-financing service, launched in 2007 by Vodafone and Safaricom, the largest mobile network operator in Kenya. > The service allows users to deposit money into an account stored on their cell phones, to send balances using PIN-secured SMS text messages to other users, including sellers of goods and services, and to redeem deposits for regular money. Users are charged a small fee for sending and withdrawing money using the service. > M-Pesa is a branchless banking service; M-Pesa customers can deposit and withdraw money from a network of agents that includes airtime resellers and retail outlets acting as banking agents. > M-Pesa spread quickly, and by 2010 had become the most successful mobile-phone-based financial service in the developing world. By 2012, a stock of about 17 million M-Pesa accounts had been registered in Kenya. By June 2016, a total of 7 million M-Pesa accounts had been opened in Tanzania by Vodacom. The service has been lauded for giving millions of people access to the formal financial system and for reducing crime in otherwise largely cash-based societies. https://en.wikipedia.org/wiki/M-Pesa https://en.wikipedia.org/wiki/M-Pesa
- tpoacher 5y agoI was part of a project at Oxford where we installed sms transmitters on waterpump handles in Kenya, which sent sms signals giving us data about the pumphandle's movement (and therefore water consumption, and state of the pump). It was amazing how much we could do with SMS. It really is a great medium. If I remember correctly, we used FrontlineSMS https://www.frontlinesms.com/ https://www.frontlinesms.com/ It worked very well. I can't remember the exact details now, but I think the messages were sent to a modem, connected to a PC which ran frontlinesms, which automatically triggered actions depending on the nature of the incoming sms. Later on I think we switched to a completely managed solution, which stored the data for us and allowed us to download from the 'cloud'. The "modem connected to a computer" thing sounds more like what you're after, but conceivably with the right scripts you could also make use of a cloud solution.
- contingencies 5y agoI wrote a trilingual one (Chinese, Korean, English) circa 2005 which allowed fuzzy search and directory services. The main issues are expense, per-message character limit (which is based on your character encoding; note Unicode UCS-2 is super-wasteful vs. other alternatives), latency, and questionable inter-network reliability. If you're in Alaska, honestly, if you're not really hard up for money just get a satellite deal like the sailors use, they're getting way cheaper. Don't even begin to dream about forcing IP down SMS. You could do a batched shell service if really desperate, but it would verge on unusable and you'd likely get rate limited at some point.
- lukeasch21 5y agoCould you elaborate on why UCS-2 is so wasteful? I think that makes sense on the surface level, but if you encoded a message using all the characters available in the BMP that UCS-2 provides then each character has tens of thousands of options rather than <125 with GSM-7. Considering the difference is a little less than half (70 chars per message vs 160), with the right encoding, shouldn't UCS-2 be much more efficient? Or is it not possible to encode data like that?
- contingencies 5y agoCan't recall specifics but I think I compared some languages (maybe an abugida like Thai) with UCS-2 vs native encodings and found UCS-2 was smackdown terrible. iconv is your friend for this. If you want efficiency skip charsets and use a binary PDU. Most phones with AT command sets used to support this. All GSM modems support this. These days, I am unsure if you can get a low enough level API to a smartphone to send and receive binary PDUs. I guess probably somehow, at least on Android, at least with root, but it's almost certainly a hassle.
- lukeasch21 5y agoGood point. I was looking into a way to maximize efficiency on Android without low-level access (no root necessary), so I'm pretty much limited to the charset that I can receive from the Android APIs for encoding binary data into (36864 chars). I was wondering if even the limited character set offered by an Android SMS receiver would still be magnitudes more efficient than the standard GSM-7 character set for encoding binary data, even though the amount of characters is less for each SMS. I'm having a hard time understanding if I'm oversimplifying things by just looking at the ratios 160/128 to 36864/70, in which case I would assume there would be huge benefits to encode data with UCS-2 instead? I haven't the slightest idea in how to accomplish that, maybe iconv would be useful as you mentioned? That is something interesting to consider though, dedicated hardware could easily take advantage of UCS-2 and encode binary PDUs to the point where you could achieve a somewhat respectable speed for TCP over SMS. Though by that point, I would assume SMS throttling would be a much larger concern so any benefits are mostly theoretical.
- cphoover 5y agoSome of these projects kinda remind me of the http tunnel over icmp/ping to bypass in-flight wifi restrictions. That was an interesting hacker news post a while back.
- syngrog66 5y agoI intend to build one, eventually. We'll try.
- Wingman4l7 5y agoA while back a buddy of mine wrote a Python framework that does pretty much exactly this! It has several demo modules already, such as fetching a weather report and requesting an Uber. https://github.com/hunterirving/phoneHome https://github.com/hunterirving/phoneHome
- deserted 5y agoYour best bet is to set up something like FreeSWITCH that you can text with keywords or your own custom arguments, and have custom scripts craft a response.
- landgenoot 5y agoWhy not hire a remote personal assistant and command him or her by SMS to do stuff for you?
- pcranaway 5y agoMy mate created kind of SMS dialup a few months ago, but (in my opinion) it's poorly implemented (if anyone would like to implement it in a better way I don't think he'd mind) https://github.com/acejr1337/smsdialup https://github.com/acejr1337/smsdialup
- mr_o47 5y agoI made something similar Running terminal commands over sms https://github.com/mtdevss/server-text https://github.com/mtdevss/server-text