Very nice! Could this be published in the App Store, or does it use any APIs Apple considers off-limits?
I'm regularly frustrated by modern phone's complete inabilities to allow any communication when outside of mobile network or Wi-Fi coverage, not even within the two large walled gardens.
It would be so easy for Apple to extend iMessage to work peer-to-peer, at least between people that have already messaged each other before and while both screens are on. That's literally how AirDrop works, and having to send a "Notes" text back and forth is just silly.
Legit curious what the use case would be, that would justify Apple adding it in. Like, when do you need to text someone who's within Bluetooth range but somehow has no WiFi or cell reception?
When you're at a protest and the government shuts off the internet in response to the protest. It's happening right now in Togo, has been for ten days (https://pulse.internetsociety.org/en/shutdowns/).
My eyes are opened as to how much more power the people would have if cell phones were all mesh network devices, especially as we enter a world where having a working cell phone is easier than having running water or food.
I'm not holding my breath--it would seem that keeping the people down is more profitable.
But if it happens we'll have to figure out how to write partition tolerant apps, which I think would be a lot of fun. It would also make "going viral" so much more apt, as you might catch the content from people you got physically close to.
I dunno, that still sounds like a perfect use case for a third-party app like the one this post is about. I'm not sure government crackdowns are a core enough experience that it needs a first-party app from Apple.
This is admittedly a rare and minor use case, but maybe on a plane if you’re not sitting next to each other? Last time I flew I saw two teenage girls communicating by typing into the same note file and Airdropping it back and forth for hours - it struck me as very silly that there was no messaging interface that they could use instead.
when do you need to text someone who's within Bluetooth range but somehow has no WiFi or cell reception?
There's no cell service or wifi at my neighborhood movie theater. If I could send her a message when she's up, I could tell my wife to bring me back a box of Sno-caps.
I dunno, I bet if it was widespread people could come up with applications. Like, telling people doesn’t necessarily leave a record, so you could talk about tomorrow’s plans and then send a summary text so everyone has a record and all the details.
“Coded PHY” Bluetooth has a range of up to a kilometer! Once you add mesh forwarding, you could probably cover quite some distance on moderately busy hikes.
On top of that “It would be so easy” is almost never true for a billion users network with all kinds of edge cases. Seems like a very narrow use case when there’s things missing from iMessage that could be way more appealing for a bigger group of users.
The technical details are often not the tricky part of new features. You have to integrate it into the existing app that people know and use, explain how it works, maintain it forever etc.
“With iOS xx, now you can message your loved ones even without any cell or Wi-Fi signal from up to a mile away! Simply make sure you already have an iMessage conversation with them started while you still have signal.”
This happens at festivals - despite being largely offline events, you still want to text your friends "hey I'm over at <place>", but the one rural cell that's usually empty for 362 days out of the year is getting DDoSed by 50000 people suddenly arriving one weekend.
Looks like it, at least on the README, section "Building for Production" mentions it.
I'm a bit more concerned that it is a niche application. Not having Mac myself, can't compile it without going through the hassle of getting the environment running.
It would be better if the application was built is something a bit more cross-platform, as I find the idea really good. Not sure if the "mesh network" part would work though, as you need a really high enrolled-device density in order for it to work further than just an office (it's BT after all). I guess the "Fork" button is there for a reason, or maybe a new repo with some other stack.
I've never understood this argument. Apple spends billions of dollars vetting their store for high quality apps. You can't even verify the build you get off Github was compiled from the same posted source.
As much as people want to be "leet" and run 3rd party software, it's inherently insecure and that's why Apple shuts it down.
There was a version of Apple at a point in time where I agree with your rhetoric. They have completely lost credibility to uphold that position IMO.
Apple definitely does not spend billions guaranteeing "quality". To prove my point, where does Apple even define what they consider "quality"? How can you quantify such an aubjecrive and ambiguous term?
They spend billions paying out the 70% they don't pocket.
Heck, They don't even adhere to their own HIG nor let us revert to past (objectively higher quality) versions of iOS.
The 30% also covers refunds, legal stuff (not stuff IN your app, but regarding the sale of it), taxes, GDPR and much more.
The infrastructure running the app store probably also isn't cheap.
I'm not saying Apple doesn't profit from it, but they're not just pocketing every penny.
As for "quality", they mostly check that your app isn't using unauthorized APIs, or doing other scetchy stuff, like leeching all of your data. They couldn't care less if your app is bad, thats' between you and your potential users.
Does it work ? apparently so. Apple catches around 2 million apps every year that are rejected for those reasons. Android has about the same amount of apps, but there they're caught by Kaspersky (and others) after they're published.
That doesn't mean that malware isn't making its way through the App Store review, the damage will be somewhat limited if it can't use private APIs.
I should add that here in the EU, where we’ve had 3rd party app stores for over a year, nobody uses them. The absolutely biggest one, Epic Games, has attracted about 29 million users across both iOS and Android, out of a population of 450 million.
> You can't even verify the build you get off Github was compiled from the same posted source
Sure you can: build it and check the hash. If the maintainer prepared for such a check ahead of time it can be as simple as:
wget https://github.com/owner/foo-project/releases/download/.../foo
sha256sum foo # make note of this
nix build github:owner/foo-project
sha256sum result/bin/foo # it should match this
A pinky promise from a corporation can never be more trustworthy than something that we can all verify locally.
Of course there's still the should-you-trust-this-code part of the problem, but at least bad guys in that case must operate in public view, which is--once again--a stronger deterrent to shenanigans than anything that happens behind closed doors at Apple.
This might sound crazy but some people want the freedom to use their belongings however they want instead of having artificial child locks placed on them by trillion dollar corporate daddies.
I could answer "iOS may be shitty but it doesn't phone home every touch and your health data stays local". I really don't want to argue abour iOs vs Android. I used both. They are both shit made to lock their users in an ecosystem that solely benefits Google or Apple. I really couldnt care more about arguing which is worse, I would just want the market to allow something better than both for me, the user.
I'm regularly frustrated by modern phone's complete inabilities to allow any communication when outside of mobile network or Wi-Fi coverage, not even within the two large walled gardens.
It would be so easy for Apple to extend iMessage to work peer-to-peer, at least between people that have already messaged each other before and while both screens are on. That's literally how AirDrop works, and having to send a "Notes" text back and forth is just silly.