Notifications, as you rightly mentioned, are a huge problem with Android. Some manufacturers implement battery saving measures which force kill applications so they can no longer process notifications.
I used to work at a team messaging startup Flock and we used to get a lot of complaints from users about missing notifications. We were able to detect impacted users and reduce complaints substantially using duplicate acks from xmpp fcm and app. The details are outlined here in case anyone wants to check out: https://hackernoon.com/notifications-in-android-are-horribly...
That's a pretty horrifying story about those push notifications. The biggest use case of my customers for creating native apps around web apps for iOS is push notifications, that's immensely huge for businesses. Losing push notifications means your application loses it's value.
Although probably not push itself as a mechanism, this interfering trend is so bad that for a time I could not find a timer or alarm that would actually ring at the right time. I have one now, but there should have been zero instances of failure to notify for a timer.
On the other hand, there should also be zero instances of battery-burning apps, and zero instances of unkillable apps.
IMO the blame belongs mostly to the thingies that kills apps so hard that Android blacklists them, and won't start them again until the user explicitly does it. That Android has that blacklist is understandable; that "battery savers" get innocent apps added is IMNSHO offensively shoddy.
Never tried Greenify. But the two I've seen close apps in a forcible manner that Android cannot distinguish from a buggy app that crashes repeatedly when restarted. Then Android revokes the app's right to (re)start itself.
The user retains that right. But the app cannot e.g. schedule anything to be run next time the phone is on WLAN, or next time the battery is being charged.
Why does push notifications on Android require the app to be running? On iOS, as I understand, you tell Apple to send a notification, which is received by a service on the device, which triggers your app to do a little processing and show the notification - why is Android any different?
If you still know people working over there please let them know that the slack wannabe messaging app is a dumpster fire. I struggle with it every day at work.
Edit: I realise I came across a bit too aggressive. Apologies for that.
You could also use 'Send Feedback' from inside of the app and send in your issues to the devs. I've found that the developers are pretty responsive to feedback and reply back quickly. It has 4.3 rating on the store.
The current Android app development landscape seems to be where the web was circa 2005, where you have a "standard" Android API (except without an actual standard), implemented a million different ways based on the whims of each individual vendor. Compounded by the problem that Google seems to enjoy replacing parts of the API every single year for no discernable reason.
You have notifications, that are not important, so low priority.
But equally you have notifications that are important, those should be sent and logged message queue style, so they stay on the send queue until processed and processing acknowledged by the client.
It's just the custom battery saver stuff that some manufacturers implement on top of Android which causes issues. Google doesn't have much control over the privileged process that manufacturers install on devices.
The user determines the priority of notifications per-app and per-app-notification type (using notification channels) and configures how the notification is allowed to interrupt them.
Apps developers seem to think their notifications are more important than they really are. Yet somehow the time sensitive notifications don't show up. but it's awesome I was notified and interrupted throughout the day about a new ___. I personally have cancelled paid services and uninstalled apps because of that abuse.
And yet useful apps have issues with notifications even without battery saving measures. It's not just a single app, it's been a consistent issue.
It's been possible to turn off notifications on an app-by-app basis for at least 2 years. The settings are pretty granular in the newer versions of Android, you can set it so that an app does not interrupt you in any way, and you'll only see the notification once you unlock your phone.
However, if a single app is mixing in, say, 5 frivolous notifications with 2 critical ones, I don't think there is any OS-level way to deal with that.
The problem is that some notifications for a particular app are useful. It just seems like the creators of the app feel all of their many notifications are equally important. It's granular to the level of "all or nothing" in most cases.
Agreed. I deleted the Starbucks app from my iPhone because Starbucks decided to use spam notifications. Same for 9to5 Mac.
Ditto for the New York Times, my local media, and even the BBC.
I just want an app that will send me notifications about breaking news. Breaking news that is actually important breaking news, and not "See our profile of some celebrity you don't give a crap about in tomorrow's New York Times!"
Sadly, the only news app I have left that's permitted to access notifications is Sky News. And even it spams on occasion. But it seems to be only around once or twice a month.
> force kill applications so they can no longer process notifications
I saw your article about push notifications on certain android phone manufacturers and found it interesting -- something I hadn't seen before. Nice!
But, if I'm not mistaken, the OP is focusing especially on android notifications raised by the app itself rather than push notifications. I'm not sure, but it seems like the problem he highlights involves compatibility-mode changes to the way apps run code while the app itself is also in the background.
Or, it could be that the app developers are not using the officially recommended soup of background processing job scheduling classes the way Android says they should.
Or, maybe that soup of classes isn't always as reliable as advertised.
From what I know, Android app has to run a background service to listen for GSM notifications so if you kill it - no notifications for you. Am I being wrong, has it changed? My last android dev experience is about 5 years old.
any app can raise a Notification i.e. a message box thingee that appears in the device's Notification Drawer. (this is different from a Push Notification.)
and I think what the OP was talking about was this kind of Notification. i think he was saying that various apps that count on reliably running code in the background (e.g. when the app itself is in the stopped state and not visible on screen) are no longer able to reliably run that code in the background because Android decided not to let them do that on demand in a reliable way (in order to save battery). but that backgrounded code is what had been placing notifications in the Notification Drawer (when, say, the app became aware that there was a new email in your inbox or when a Calendar appointment was now one hour away, etc).
as for push notifications, nowadays, Firebase Cloud Messaging is recommended. your app derives a service from FirebaseMessagingService and marks that service as "exported" in the manifest. and, you don't have to explicitly start that service. and, though i could be wrong, I think that service does not actually run in the background all the time. i think what happens is that some generic Firebase service invokes your app's service when a push notification has arrived for it. your app's service then processes that message as desired, and, if I understand correctly, it shuts back down. i believe Firebase is basically managing your service so that it does not have to run in the background all the time.
No, only Android suffers of these hacky issues because Google allows manufacturer to customize Android way too much. Android is the modern equivalent of Windows XP themes if you want to compare.
Not me551ah, but the problem with Android is that:
1. iOS is an Apple operating system. Every iOS device has a daemon running a service that connects with Apple's APNS (Apple Push Notification Service), and that service routes the notifications of every App to the user's device. APNS is non-negotiable, every iOS device has it running, and every App that wants to [reliably] deliver notifications must use it. It's part of the OS, so the OS won't kill it, in fact, if it crashes, the OS restarts it. It also means it's "well behaved", meaning it won't mine cryptocurrencies in the background (unless Apple breaks bad and decides that it's $1T value is not worth it anymore).
2. Android is not a strictly Google operating system. Google has it's APNS analogous, GCM (Google Cloud Messaging), but not every Android device has ties with Google, its open source, meaning millions (billions?) of Android devices out there are running without any Google ties. So in turn, many Apps device to have their own background tasks running all the time, with a persistent connection to the server to watch for notifications. Problem with this it's okay when you have 10 Apps with notifications, not when you have 100 Apps with notifications, each one having it's own background service. Some Android OEM's want their users to have great batt life and kill those background services, leaving notifications dead.
Also, sure, some user might run pure Android and not have a centralized push notification system, but that is not the problem people usually might be experiencing.
The power management and priority system is rather complicated on Android and incoming notifications might be deferred or not shown at all(to avoid wasting power on low priority notifications) depending on app, app usage and settings.
Apple is a closed ecosystem, so the OS that Apple builds is what goes into the end device. Android is open so manufacturers have the ability to add other privileged processes in addition to what is shipped with the default OS. These processes can monitor other processes and kill them in such a way that they can't wake up or display notifications until they are opened once by the user. These processes are usually added to extend battery life and make the device more responsive by limiting background applications.
I was hoping the author was going to list alternative stable mobile OSes with privacy and users in mind, or maybe lay down the reasons for starting a project hard forking an existing OS or something...but he literally just said he wants to move to iOS???
Honestly, (and personally) I feel better knowing that I am running an Android ROM with publicly available code on Github than any iOS any day
On the notifications part, I had a Huawei phone for a bit and encountered the same issue. Huawei does some crazy things to keep the battery from draining. It does kill almost all background apps. There are some settings to stop this but it seems like a crap shoot whether it decided to listen to them. I thought android had gone down hill and eventually tested out an S9 and realized it was the Huawei android flavor that did this.
Basically I'd like the phone to cut off all mobile data, wifi, gps, and other radio and kill all applications when the screen is locked.
OnePlus has some background activity limits and you can turn on the aggressive Doze (or whatever it's called these days) but if my phone is locked I would really, really like to just receive calls and sms and have the system enforce that, and switch off all the unrelated hardware to extend standby time.
I used to do this when I had a rooted phone. I kept the radio active so that I could receive calls and texts but data, GPS and wifi were all off.
It saved battery if I wasn't doing much with my phone. If I was constantly unlocking to check where I was on a map then it ate up more battery and it was incredibly frustrating as it takes a while to get a GPS lock when you don't have Wifi to assist in a city, until Wifi come back on which also takes a while. Friends that only communicate with messenger and Whatsapp had trouble getting through. Loads of apps that had been trying to communicate also woke up once there was a connection using up more CPU cycles, slowing everything down some more.
IMHO, its not worth it. Just use the background apps controller in Android 8.1. Whitelist the things that you do want notifications from and everything else can wait for you to open the app.
A bit painful to read considering the iPhone SE-series is now discontinued. (Despite that the SE is still a very good phone. Wish more manufacturers made devices with these dimensions and polish.)
It will be supported for another year or two so there's time to wait a bit to see what Apple does. An Xr Mini would be an instabuy for me even if they would price it around US$700.
Yeah, the SE was best value/price phone. I have hard time understanding why Apple stopped producing it. The form factor was the best as well, I can't stand bigger phones personally.
I told my parents to buy an Android initially but ultimately they moved to the iPhone because they thought it was simpler and better than Android. To me the fact that I can code my own apps with Java without having to buy a mac is a plus, but I understand people who aren't developers don't care about hackability if they can afford an iPhone.
iOS can also be pretty fun to develop for if you have a mac and xcode.
IMHO iOS is good for developers who are okay with coloring inside the lines set out by Apple. The developer experience isn't perfect by any stretch, but writing personal apps/utilities in Swift using a package manager like Carthage is pretty painless.
Apple has some great features for de-centralization, such as the Multipeer Connectivity framework.
I think it depends a lot on where in the stack you want to work. If you want to customize your baseband or do system-level modifications then Android is the way to go. If you work higher up the stack, writing apps, then you might like iOS more than Android. I certainly did.
It's discontinued, but you can still purchase the device (for fairly low price too!). On top of that, based on Apple's track record for software support, you can expect support for at least another year, if not more. Note that the iPhone 5S, a phone released in 2013 on iOS7, received the iOS12 update not too long ago.
I'm not sure what HN policies are on sharing retailer links, but amazon, ebay, ali-express are all retailers that sell the iPhone SE. The major US cellular providers also still sell the SE, though at a much higher price.
A quick check of Amazon brought up a hundred or so resellers. Unfortunately you can no longer get them via Apple refurb program, but an online retailer like Amazon is probably the next best thing if you are careful to vet the seller.
The SE was launched in 2016, after the 6S. It is on par with many newer Android models, has a great camera, supports AR, and still feels faster and smoother than almost all of them due to iOS and better touch response time.
That doesn't change the fact that the hardware is 3-4 years old. The SE has nothing that's newer than the 6S which launched in fall of 2015. It also has some components that are from the 6 era, so fall 2014. Like I said, it's still a capable phone (I've had the SE since release).
You can still buy one at local Apple stores (it's in stock but not listed anywhere), and most online retailers; won't last long though. I expect it to be fully supported for at least another 2-3 years considering it's 6S hardware.
Just got one myself a couple weeks back, after being disappointed by the new Max Extra Turbo-sized models.
The number of requests sent to Google or Apple seems like a poor metric to judge privacy impact. A single request with my bank account number carries a lot more information about me than 1,000 with my battery status.
I thought so too, until while programming a wifi webcam I needed to sniff wifi traffic from my phone. God that was scary. I remember doing packet capture work 10-12 years back and knowing more or less what my machine was doing on the network.
These days I can't even begin to work that out. There is easily a 100x more traffic and every single time I ran a capture I would find a whole bunch of new hosts being contacted that have no business talking to my phone. And I just use my phone for email and messaging. Not a big app user.
To say that I'm ditching Android is a pretty incomplete statement - because there is no one Android. It really matter which flavour of Android we are talking about. And which specific device. For example, the bloatware might not be a problem on a unlocked Pixel device.
At this point, both iOS and Android are in pretty stable states. It comes down to individual preferences. Author primarily seems to have an issue with Google, which again is justified.
I do not have any extra bloatware from any manufacturer, due to the fact that I run a Xiaomi Mi A1 as my daily driver, but I still would appreciate the choice to be able to manually install only the apps that I would use, e.g. Firefox instead of Chrome. I do have 64Gb of internal storage, but I obsess about every lost megabyte due to something I don't use( even when disabled or not used, Chrome still runs functions on the phone, so it runs in the background ).
Boy, this is really starting to remind me of the controversy over bundling IE in Windows 98. Makes me think that all products eventually end up as bloated due to market pressure.
WebView is the built in web view mechanism for all apps that don't want to roll their own web view, and Chrome for Android is a browser that makes use of that WebView mechanism. Strictly speaking, a browser is just an interface that lets you interact with web pages.
And you're not locked into WebView: if you actually wrote your own, you're entirely free to deploy it. It's just insanely hard to write a web render engine these days so for most people there's no point in the slightest: it just makes your application bigger.
One example where it _does_ make sense is Firefox for Android, which comes with its own engine, because as long as the Android core classes area available, it should be able to run. Not "stop working" just because someone tailored their Android build to not include WebView.
When disabled, the operating system exposes none of the app's hooks to start any part of it, so it is not true that a disabled app still runs functions on the phone. It is even possible to swap out the WebView implementation for other apps. https://stackoverflow.com/questions/47577525/get-webview-imp...
iOS has just as much bloatware, and much of it can't even be disabled, let alone uninstalled.
For privacy, consider that iOS does not let you disable AGPS data collection. On Android, it is opt in. iOS does not let you open addresses in an offline maps application by default, so Apple gets all your address lookups. iOS does not let you replace your default SMS app, so Apple gets all the phone numbers you want to send a message to in order to see if that phone number is associated with an iMessages account. On Android, you can set your default SMS app to Signal to get automatic private messaging by default. Worst of all, iOS does not let you develop for your own phone without registering an Apple ID.
Apple talks a good privacy game, but there is no substance there. You are jumping out of the frying pan and into the fryer.
Both of your claims don't disagree with mine. The point is there are some bloatware apps that you can't uninstall, including Safari and iMessage. You don't have to use iMessage, but unlike on Android, it is impossible not to use it if you use SMS.
> but I still would appreciate the choice to be able to manually install only the apps that I would use, e.g. Firefox instead of Chrome.
I have a Xiaomi Mi A1 with Firefox and no Chrome anywhere. I flashed LineageOS with the Open GApps nano package (which does not include anything you can also get from the play store, like Chrome) and don't even know what the stock experience is like. So far I didn't experience any major problems running a non-stock ROM.
To say that I'm ditching Android is a pretty incomplete statement - because there is no one Android.
I’m sure the author would be glad to add that to the list of complaints. One OS might say, “Surprise! You got the wrong version/model/puppy for your use case!”. The other one won’t.
Honestly, who really cares that much about what smartphone you have these days? You have one with a good enough battery and the same apps as anyone else, and the speed is all fast enough to not notice. At this point the technology has converged.
Yup. I just bought a $250 Moto X4 to replace my Nexus 6 and it feels faster. My Nexus 6 cost $450 a couple years old, and my new phone was new.
I don't see any reason to pay $1000 for a phone these days, and I probably could have gotten the same experience from the Moto G at $200.
I just want a phone that:
- can last the entire day
- can run a browser reasonably well
- has decent reception
- will get security updates for at least 2 years (expected lifetime of batteries)
I don't need a fancy camera, next-gen graphics, or super high DPI screen, I just need a phone that's reasonably reliable, and even the bottom tier phones are more than capable.
> You have one with a good enough battery and the same apps as anyone else, and the speed is all fast enough to not notice. At this point the technology has converged.
Sure, which is why we're seeing a shift towards choosing a phone based on your personal/philosophical/marketing beliefs about how your personal data is treated instead, which is what at least part of this article talks about in justifying the switch.
I've been coming around to this way of thinking more and more lately. Apple has a clear business model that involves selling high-end phones and other hardware and taking a percentage of app sales, not selling me to advertisers. I've found at least 5 different privacy settings buried in various places around the Android menus in a confusing way (instead of just having a single switch in the privacy settings menu), and for years iOS has had a much better security track record. The only real down side I can see is that it's not open source (not that Android is either, but there are Android based alternatives that are), but on balance I'd rather use something where the economic pressure is to do right by their customers, not something where their customers are the product.
Apple has serious problems, but on balance it seems to be the better choice. I also tend to agree with the OP that the iPhone SE is a reasonable size, unlike every Android phone on the market. I just really wish there were a decent chat client that supported XMPP-based services, that's really all that's stopped me from moving over (my carrier lets me receive SMS/MMS messages to an XMPP address and receive calls via SIP, so it's rather important to me).
I think you can say that if privacy is important to you, then you are probably more aligned with Apple's business plan. The article says as much. It's not like Apple are being more magnanimous, it's just that they don't profit off of user tracking so they use it as marketing ammo against Google users.
As a developer, it constantly burns my biscuits that Apple software only runs on Apple hardware. The fact that I have no choice but to buy expensive Apple devices to develop for their platform is irritating.
To some degree, a company that makes money of devices rather than ads will always charge more for the devices since they can’t really sell the device at or below cost and then make the profit from showing ads to their users.
The fact that I have no choice but to buy expensive Apple devices to develop for their platform is irritating.
I've never understood this line of thinking.
Maybe it's because I've been selling programs commercially since the 1980's. Back then, if you wanted to develop a program for a Commodore 64, you bought a Commodore 64. If you wanted to port it to a TRS-80, you bought a TRS-80. If you needed an Atari version, you bought Atari gear.
In the mid-80's it was just ordinary business that if you were developing a program, you released it on Commodore, Apple, Texas Instruments, IBM, and a few others. And to achieve that, you bought at least one machine from each of those companies.
The concept of "I want to build an iPhone app on a Windows box" is a strange new phenomenon to me.
>The concept of "I want to build an iPhone app on a Windows box" is a strange new phenomenon to me.
To be fair, I can build an android app on a Windows or Mac.
Also you're talking about buying a computer to build on that computer. I think the argument was about needing a particular brand laptop to develop apps for a different device.
Apple already charges to publish to the app store, just raise the price for people that aren't using a Mac and let people develop on the platform they feel comfortable in. Everyone wins.
Fighting the customer doesn't usually go well in the long run.
However if you actually wanted to be productive, you would be buying a bigger computer running CP/M, VMS or UNIX variant, cross compile Assembly code and use a transfer cable.
> Back then, if you wanted to develop a program for a Commodore 64, you bought a Commodore 64.
I don't think anyone would object of all it took to develop for iOS was the device bring targeted, or even an iOS device. The fact that you have to buy a different piece of Apple hardware is this the issue.
You can build Android apps on an Android device. Optionally, you can use Linux, MacOS, or Windows, instead.
> The concept of "I want to build an iPhone app on a Windows box" is a strange new phenomenon to me.
The iOS situation isn't like “you must buy a PC to build PC software”, but more like “you must buy an IBM mainframe to build PC software”.
It is not 1980 anymore. We moved on. And that is one of the reasons that the ibm pc was so successful. One platform to develop for, as opposed to TRS, Commodore 64/128/Amiga, Acorn etc.
The IBM PC was successful because IBM did a couple of mistakes, which have been fixed in the world of laptops, 2-1 convertibles, mobile, tablets without expansion slots, with UEFI and blocked boot loaders.
To quote Purism (who are in the process of making a competing phone), Apple is right about privacy, but wrong about freedom; real privacy depends on freedom.
Interesting is though how the number's been growing over the years, even though the amount of sold devices's been rather stagnant. Google pays a lot per customer, while Apple allows to use DuckDuckGo and others. I wonder how long will Google feel it's that valuable for them (and what a percentage of users'd swich to Google even though other search engine would be default instead)
Apple really has google over a barrel here. You’d have to imagine that google wouldn’t even toy with the thought of not paying the ransom and testing how many people would switch their search engine from the default to google. Also, let’s say DuckDuckGo was the default and users actually liked it and switched their desktop browser search away from google, they’d be really sorry.
Totally agree (happy DuckDuckGo user here). My point is - is there a point from which Google wouldn’t pay “the randsom”? As it’s spiked and is prone to rise again.
It's interesting that aiming high and taking profit from app makers kinda push the goal to make high value apps. While on Android, ad money and free apps doesn't really create the right context
I also like a lot about this phone's hardware (too sad they decided to not continue it), but the stock software on it is quite annoying (glitches, insane loading delays, ads).
Omni ROM isn't LineageOS but a binary built from the Sony AOSP right?
Considering I disabled all Sony applications because I have no use for them, with the exception of the keyboard because can't be disabled, Omni ROMs are another option that I hadn't considered. I already dumped the TA partition with the DRM keys many moons ago (I only need to find where I stored it), but I suppose they only work with Android.
I'm tempted by Jolla, but I need a banking OTP generator that only exists on Android and iOS (so Android emulator or another phone)...
I'm not sure if Omni builds on Lineage, but they don't use any closed source Sony stuff, I think.
The open camera drivers bring a great performance increase in shutter response, but a pretty bad decrease in low-light performance.
The build I'm using has some annoying issues like a barely working fingerprint scanner and Bluetooth audio, but even with that it is less irritating than Sony's to me. I assume both are fixable fairly easy (I'm waiting for Pie builds).
The official Sailfish OS builds come with an Android app runtime (Alien Dalvik), I think, but it may be missing some security features.
I'm not sure if it uses the official Sony camera drivers, information about this seems to be conflicting. Maybe both are available, if Sailfish utilizes Android drivers.
I grabbed the SE before it went out of Apple stock recently and because I also loved the form factor. I ended up upgrading to the XS because the SE would drop calls consistently in my downstairs home office. The XS has to-date never dropped a call for me. Just thought I’d mention it for anyone else who frequents lower signal areas.
I find it surprising because iPhone SE SAR levels are higher than those of iPhone 6. Actually, at the time of the release, it was the model with the highest SAR levels ever released by Apple.
> This dramatic difference in head SAR levels is mainly because the transmitter is located at the bottom of Samsung phones rather than at the top, also they incorporate an innovative antenna that transmits the highest intensities of microwave radiation from the lower back of their smartphones.
I did the same ~4 years ago, but it's not really a reason anymore. Apple no longer makes reasonably sized phones, they stopped doing that since the 5s. The SE was a nice surprise at the time (I still use it) but it was always considered a budget phone.
I actually had a Blackberry Priv before the phone I have now. I could never really gel with it - the physical keyboard was awesome though. Still have it in the drawer actually.
> Apple has a clear business model that involves selling high-end phones and other hardware and taking a percentage of app sales, not selling me to advertisers.
I would just be a little cautious about this. Apple is currently sticking it to Google by making it easy to block ads and by offering appealing privacy features.
But we don't know what Apple will do if everyone switches away from Android. I would guess that the profit stream from selling everyone's data to advertisers when most users are locked into their ecosystem will be very appealing.
Similarly to how Google and Facebook both eschewed ads while drawing people away from other services that were swamped with ads.
Very little risk of that. Our owners also want phones, and for the moment do not mind sharing the brand/models with the 10 or 20% who can afford, and know enough to choose, it.
It's also not going to happen. Normal people don't pay for high-end phones, and way outnumber the people who do in most of the world (those parts that are not California). Even the "cheap" iPhone models are outside the price range the average consumer pays.
I dunno what average consumer means. Here in Australia almost everybody on train have an iPhone not older that 1 gen back. Some minority has flagship Samsung’s. Some of the geeky people have top notch(no pun intended) pixels or one plus, all flagships, but this is really a minority from my anecdotal experience. Most of the regular people that I see use some version of an iPhone. Apple Stores are being packed compared to the Samsung store across the street. The price is not a problem I think. People just buy it on two year contracts or loans and being just fine with it.
Yes, and look at how much $ Apple made from Google by having Google as the default search engine on Apple devices (most people don't ever switch the search provider). I'm wondering how much longer Google will be willing to pay that much while Apple continues to limit the ways the data gets shared back to Google via the browser, basically stabbing Alphabet in the back. That can't last forever from Googles perspective.
I keep wondering why Apple doesn't just build their own search engine and provide unfettered results based entirely on popularity/rank (and other "real" metrics) like how google "used" to be in the beginning. Yes, I know search is hard, but it's not as hard as all of the extra steps Google has been doing the last 15 or so years to manipulate their results higher so they get more $ out of it. Certainly it's not as complicated as building a new mapping system from scratch. That would go a great deal further to "increase Apple users privacy" than anything else I can think of. It would also cause a lot of financial harm to Alphabet if all of the sudden all Apple device owners world-wide suddenly didn't have their data going through Google. And, it would provide top-notch results, which Apple consumers would presumably love. What is the downside to this that I'm (obviously) missing?
Anyone is free to modify, build, and distribute their own versions of Android. How else would OEMs ship their own skins? This also means you can audit Android source for vulnerabilities, backdoors, etc.
Very Disingenuous , AOSP standalone is rarely sold over the counter in a consumer droid phone, you could run it if you are interested, projects use it as a base but AOSP standalone is not the version most consumers run.
Every major version ports more functionality from AOSP over to GSF - which is closed source.
I cannot audit GSF and I cannot check for backdoors,, GSF phones home as it legitimate functionality, it is next to possible to verify back-doors don't exist. Location APIs could just be for your location, or google/ three letter agencies could be tracking you .
All the major OEMs include AOSP + GSF and then their custom layers. The only popular OEM using without GSF I know is Amazon with the kindle platform. To get Google certified OEM / use droid trademarks / use GSF you need to jump through hoops and give Google all kinds of access, not remotely same as open source.
This guy was a saviour. I was poking round his blog after reading this, and found his review for elementaryOS where he mentions how to get the system tray working. I've been searching for months to get it working.
What about iOS being a walled garden? Moving to a proprietary OS isn't going to safeguard the interests of data security in the long term.
Also see the rich custom rom scene for Android phones, with highly active communities building rooms for even phone models long abandoned by their
manufacturers.
> Moving to a proprietary OS isn't going to safeguard the interests of data security in the long term.
They did say in TFA (or perhaps another comment) that Apple uses privacy as a marketing jab against Google since they don't really want all your datas to sell ads.
Which does seem to hold true in practice, their newest crypto-chip thing they can't access even if they want to, going to the mat to against the FBI and various other instances over the years.
I don't use any Apple services really, so I won't be sucked in to the walled garden. A lot of things I self-host and I've already checked that equivalent apps are available in iOS.
I remember when Ubuntu tried making a mobile phone OS( Ubuntu Touch ), but it never was a commercial success. I was extremely dissatisfied to hear about Google and their phone upload requests. It makes me question whether Android is a good choice after all( not that I agree with Apple, either ). That is the problem with modern-day tech, there is not enough choice in the market. Everything is either bought out or choked out by larger, dominating manufacturers, i.e. Google & Apple.
I installed ubports a year ago on a nexus 5 and it ran great. The only reason I switched to lineage was for authy and anki. They really did give up too soon
"I tried replacing Android with Lineage OS on a old phone I had. Whilst that meant I didn’t have any Google Apps on my device, it was still Android underneath. Also many apps kept complaining that I didn’t have Google services on the device."
An alternative is to install microG [1], which reimplements assorted Google services. YMMV, but I've been able to run ~70% of all Android apps with no problems.
What's the best hardware supported by microG? My current phone is not supported and while my previous one is, it's an original Moto G; I don't think I could handle returning to those specs, not to mention the ageing battery.
I actually tried it on my moto g and it runs pretty well. Everything works so far, this seems like a much better choice than buying an overpriced, discontinued, entirely closed Apple device.
I won't ditch Android for Apple. Apple is restricted, Safari is a tragedy for the web and prices are too expensive for the value.
Somehow I dislike everything Apple represents, and reminds. The design, the simplicity which comes from restrictiveness. Even the lightest Linux window manager like i3wn, is better than all of os/x does.
I will just wait till a true open source option comes.
I'm currently in a similar spot, but am very surprised you did not mention MicroG, which is an open reimplementation of the Google APIs. There seem to be some issues with GCM (or, more precisely, the newer replacement - uhm, FCM?), but imho it's worth a try. If you already have a LineageOS-supported device, you can grab a prebuilt LineageOS+MicroG image from the MicroG site.
Disclaimer: That's pure theory. I'm still figuring out how to do a custom build of LOS16+MicroG for my device, since it's only on LOS14.
> If you already have a LineageOS-supported device, you can grab a prebuilt LineageOS+MicroG image from the MicroG site.
I redacted a lengthy part of my comment since I felt it wouldn't add anything to the discussion; but it went like this: Sadly, my device (HTC 10 aka pme) is officially only on LineageOS 14.x, which is Android 7. Since I am coming from Android 8 stock ROM, I'd like to stay on Android 8 or even get Android 9. There are unofficial LineageOS builds for this (from a guy who just doesn't merge the back to LOS; which I can understand considering the additional effort - on top of all the work is already doing). But of course they lack the necessary patches for MicroG. And the MicroG only pre-builts are based on the official LineageOS build process and thus the official images. So I can only get Android 7 + MicroG with the comfortable "grab image and flash"-method.
I gave building a custom MicroG+LOS{15.1,16.0} a shot using the official MicroG docker image (just a single docker run command) and adding the unofficial builds local_manifest.xml, but those two builds failed for me and I didn't bother messing around with that docker c*. Accidentally, I did that the day before this was posted to HN, no changes since then. But I suppose I'll try a docker-less build on my machine once I feel like it.
Eventually I can just put MicroG on the unofficial build from xda-devs, since that doesn't contain GApps; but I am not sure how great the experience is when not having the MicroG/F-Droid patches. I will see.
EDIT:
Regarding signature spoofing, the MicroG github wiki says:
> You can also patch your already-install ROM by flashing NanoDroid-patcher, without any computer interaction. It will auto-patch every updated ROM.
I used NanoDroid - worked quite well :) I'd still prefer to build a LOS with MicroG integrated, but it's difficult to get the required information from the folks at xda-dev...
I put lineage on two devices and I must say it's shockingly refreshing to be able to have some say in how much Google you get. I am used to the idea of OEM and carrier bloatware but it's surprising how much unwanted Google software appears in a stock image. On lineage I am pretty happy with the "nano" set of OpenGApps which is about the amount of Googleyness I want. I install a few more from Play on top.
Yeah, if you don't like something Apple puts in their image good luck...
On the other hand it's not always as reasonable as it should be. I do find it frustrating that devices are so locked down, to the point where finding something to run lineage well and has the feature set you want can be tough. With my latest attempt I found a phone where several models, depending on what country and carrier, would not unlock the bootloader. And online sellers of phones are not always specific about what sub-model you get. I had to return a few because the seller sent me a Rodgers or an AT&T one that wouldn't unlock. I can definitely see how enough rounds of this can make some people throw their hands up and let Apple make all the choices.
Thing is, there are plenty of places where Google dictates Android options that you cannot do anything about. It is not like Apple has a monopoly on this.
The idea of mucking about with multiple phones just to find the one which irritates me the least is very unappealing. It's an appliance, I just need the thing to work.
Ok. It's like running Linux or BSD on desktops or laptops, which I have done since the 90s. If you get into that game, or especially many years ago it was more true, you sometimes had to be picky or patient about hardware. That's a choice I can make in order to get perceived advantages on other fronts, and I respect and understand people who make the other trade-off. (I acknowledged as much in the comment you're replying to.)
I think addresses it succinctly. If you remove google from Android, some apps won’t work because they are ecpecting those services. This isn’t the fault of the app developer.
If you are using linage and /e/ you can’t really add “works with all android apps” as a check in the pro column.
You’re getting even more fragmented than Android which is already much more than IOS. To each his own but let’s be honest about what these are.
Agreed, but if he's already ditching all his apps then there's no single app that seems absolutely required...
Some core apps have replacements on the other side, like maps, might be why a full leap is better than half measures. /e/ should help with those. Ideally. Maybe it's not there yet.
I've been using CyanogenMod and now LineageOS since my first Android phone, and I love it over OEM. I'm unfortunatly still tied to GApps, but at this point it's basically contacts and calendar sync along with Maps, along with a random Play-store-only app (e.g. Transit). (I find almost everything I need in F-Droid.) (Yes, I have OSMand and offline maps, but I still like Google Maps for some things.)
My biggest problem right now is finding an Android phone smaller than 5", preferably under 4½", that I can both install lineageOS on and actually purchase :-\",
I hate how Google Contacts and Calendar are so much superior to any other offer. I can easily find alternative to everything google except for those two.
Especially true with Contacts I feel like I'm doxing everybody I add to it. I have tried many alternative, but nothing even remotely measure to it.
I personally find Gmail and Drive to also be superior offerings. The only problem I have with either is privacy.
Gmail's integration with Drive and Calendar are really nice. It's a very mature web email app besides all that. It's not hard to find other email solutions, but in my experience they lack the polish and integration that makes Gmail so valuable.
I have been looking for a good zero-knowledge cloud storage solution that fit my requirements for a while. All of the alternatives I've tried have severe limitations or unresolved issues.
I made the opposite move last month. Ditched my iphone 6+ and went with a Samsung Galaxy S9+.
Apple soured me with their bullshit around throttling the CPU to make the battery last the same. No wonder my phone was performing like shit.
But here's the bad news, this new phone I got is still not so hot. I still run out of battery despite working from home and only using the phone for google maps and calendar/slack when I'm out of office. I don't game on it or anything.
For my next phone I want to find a much more inexpensive phone, swappable battery, with a long-ass battery time. I would go with a Nokia but I don't know if their classic phone supports google maps.
Based on the stated concerns, data sent to Google, bundled apps that can't be removed...
And given the author's interest in FOSS...
Really interesting Lineage failed. He claims apps kept nagging about the lack of Google app support. How pervasive is that? Could he have just found a couple app alternatives rather than throwing them all out at once?
It's hard to disentangle whether the problems we have are with our phones, with the OS, or with the app ecosystem.
As someone who also tried Googleless Android before giving Android a kick to the curb, it's often specific service clients with no alternative. Like I needed Skype, and despite Microsoft being a Google competitor, their app didn't work without Play Services.
And with security being key to me, I'm not interested on depending on a third party hack with all my sensitive data.
Google has entangled its Play framework deeply into the AOSP, obviously on purpose, not necessarily to discourage ROM developer, but I'm guessing primarily to discourage OEMs from changing AOSP too much, as well as slow down Android fork-developers such as Amazon.
He missed the thing that's getting me really close to leaving Android after being a devout user since the G1 (with a short 3-5 month stint on an Iphone 6). I really, really dislike IOS and I absolutely don't want to be more tied to Apple than I am with my MBP and Hackintosh (technically I'm just tied to OSX right now).
RCS (the Android attempt at iMessage) is STILL not a real-world thing. Txt messaging and MMS on Android is still an absolute joke. My Samsung S8 has, what, a 12-megapixel camera (I never look at these specs anymore) that can take incredible pictures and videos but if I want to send them to someone I have to jump through a bunch of hoops. Upload them to dropbox, share it, send my friend the link, hope they click it vs it just playing in their messaging app.
If I send that video via text message it gets compressed to a 500kb blurry mess. I frequently have to explain to people that Androids don't take terrible pictures, my phone takes amazing pictures. The problem is when I send them to you I'm limited to the maximums of text messaging because phone providers haven't rolled out RCS. It also doesn't help that the Snapchat app back when I used to use it just took a screenshot of our camera app. That further shouted, "Android sucks at pictures, what a peasant phone!"
Tmobile has RCS now but it only works between Tmobile Android users who are using the stock messaging app. They might even need a recent phone with a specific version of Android, I'm not sure there. They rolled this out in June 2018. 2018! How long has imessage been around? And I still have never seen it actually kick in because 90% of the people I txt are on iphones. I also HAVE to use the built-in Messaging app to get this because the RCS API wasn't (not sure if it is now) public so other messaging apps couldn't send over RCS. If I use the Samsung messaging app then I lose the web messaging feature that the Google Messaging app gives me. The Google Messaging app is terrible, though, it doesn't even have the ability to click a person's name and see all of the media shared between us like the good messaging apps do. I have to literally scroll and scroll and scroll to see a picture that I've been sent.
There are all these tradeoffs just for messaging. Do I want an easy web experience so I don't have to pick my phone up every time I get a text? Then I lose the file library when you click a contacts name. Do I want RCS? I'm not even sure which Messaging app to use for it. It's either Samsung Messaging or I need to download Tmobile messaging.
I don't follow it but I don't believe ATT/Verizon are even going to roll out RCS, I believe they have their own implementation coming (somedayTM). Unless their "Advanced Messaging" is just RCS. Will that work with Tmobile users? Or will it just be between ATT customers?
I have plenty of other complaints about Android lately. Privacy, per-app notifications are a mess.
I LOVE the customization of Android and the lack of it is what I dislike about IOS but I'm to the point where I just want a smooth UX.
edit: Before I get the "Use Whatsapp/etc" that's just not an option. Google Hangouts was SOMEWHAT ubiquitous between my friends a few years ago and was great but if I'm taking pictures of my house for a contractor, or shooting pictures of my Jeep offroading to random Jeep friends and what not I'm not going to go "Are you on WhatsApp?" each time. I know these limits are because of carriers and not Google/Android specifically.
If you have a smartphone, people invariably have one or two messaging apps in my experience. If it is not Whatsapp then it is something else. You need to figure out what everyone in your circle is using and switch to it or resort to sending blurry SMS. I've found sharing google photos links is much easier since it backs up anyway.
Yes their hardware is grossly overpriced, but the flagship Android phones are pretty much inline with Apple these days.
So which is it, Apple is grossly over-priced or inline with what a decent Android phone costs? And then the author goes on to complain about the data firehouse back to Google and bloatware. Are we yet seeing that price is not always measured in dollars? I don’t mean to pick on the author, I guess it’s just interesting to watch the process of coming to this realization.
But the notifications, holee-shit. That seems like one of those “under a full moon...” reports, but others here confirm. I’m so speechless, I don’t even have a snarky Apple fanboi comment.
Apple devices have been historically overpriced. Most recently Android manufacturers wised up and realized they can also benefit from segmentation, and raised prices to match. Now everything is overpriced, and we all win! /s
I also have an SE and love it. The OP, and various posts above are slightly wrong to say that Apple is a hardware company. Apple is a PRODUCT company; They design, sell, and support the whole product. That’s why is all Just Works, which is what most folks of any ilk want. Even their Unix (basically BSD) Just Works. Yeah, a little more Open would be great, but when I want to build something else, like a house, I really don’t need to be worrying about recompiling my screwdriver. Like the OP said, I want a phone that’s a phone and works. I want a Unix that’s stabdards compliant and works. I want a laptop that works. And I’m willing to pay a little more for someone else to build and maintain the roads and bridges so I can get where I want to go. And, yeah, not to spy on me while I’m getting there.
The best thing about Android is that you can change it (Huawei is useless). Acquire root permissions and any app can be deleted. There is also an option to install a fully free and open source Google Services implementation (if you need them so much). Finally, notifications are caused by vendor specific problems, clean Android is fully functional.
255 comments
[ 0.24 ms ] story [ 228 ms ] threadI used to work at a team messaging startup Flock and we used to get a lot of complaints from users about missing notifications. We were able to detect impacted users and reduce complaints substantially using duplicate acks from xmpp fcm and app. The details are outlined here in case anyone wants to check out: https://hackernoon.com/notifications-in-android-are-horribly...
IMO the blame belongs mostly to the thingies that kills apps so hard that Android blacklists them, and won't start them again until the user explicitly does it. That Android has that blacklist is understandable; that "battery savers" get innocent apps added is IMNSHO offensively shoddy.
The user retains that right. But the app cannot e.g. schedule anything to be run next time the phone is on WLAN, or next time the battery is being charged.
Edit: I realise I came across a bit too aggressive. Apologies for that.
I do not envy the job of an Android developer.
In a sense they are kind of right just in a wrong way, OEMs got even worse.
You have notifications, that are not important, so low priority.
But equally you have notifications that are important, those should be sent and logged message queue style, so they stay on the send queue until processed and processing acknowledged by the client.
It's just the custom battery saver stuff that some manufacturers implement on top of Android which causes issues. Google doesn't have much control over the privileged process that manufacturers install on devices.
One of those never works.
https://developer.android.com/training/notify-user/channels
Though in my experience, any notifications is too many.
And yet useful apps have issues with notifications even without battery saving measures. It's not just a single app, it's been a consistent issue.
However, if a single app is mixing in, say, 5 frivolous notifications with 2 critical ones, I don't think there is any OS-level way to deal with that.
https://www.howtogeek.com/204187/how-to-disable-app-notifica...
Ditto for the New York Times, my local media, and even the BBC.
I just want an app that will send me notifications about breaking news. Breaking news that is actually important breaking news, and not "See our profile of some celebrity you don't give a crap about in tomorrow's New York Times!"
Sadly, the only news app I have left that's permitted to access notifications is Sky News. And even it spams on occasion. But it seems to be only around once or twice a month.
I saw your article about push notifications on certain android phone manufacturers and found it interesting -- something I hadn't seen before. Nice!
But, if I'm not mistaken, the OP is focusing especially on android notifications raised by the app itself rather than push notifications. I'm not sure, but it seems like the problem he highlights involves compatibility-mode changes to the way apps run code while the app itself is also in the background.
Or, it could be that the app developers are not using the officially recommended soup of background processing job scheduling classes the way Android says they should.
Or, maybe that soup of classes isn't always as reliable as advertised.
and I think what the OP was talking about was this kind of Notification. i think he was saying that various apps that count on reliably running code in the background (e.g. when the app itself is in the stopped state and not visible on screen) are no longer able to reliably run that code in the background because Android decided not to let them do that on demand in a reliable way (in order to save battery). but that backgrounded code is what had been placing notifications in the Notification Drawer (when, say, the app became aware that there was a new email in your inbox or when a Calendar appointment was now one hour away, etc).
as for push notifications, nowadays, Firebase Cloud Messaging is recommended. your app derives a service from FirebaseMessagingService and marks that service as "exported" in the manifest. and, you don't have to explicitly start that service. and, though i could be wrong, I think that service does not actually run in the background all the time. i think what happens is that some generic Firebase service invokes your app's service when a push notification has arrived for it. your app's service then processes that message as desired, and, if I understand correctly, it shuts back down. i believe Firebase is basically managing your service so that it does not have to run in the background all the time.
Surely every possible operating system suffers the same problem, no?
1. iOS is an Apple operating system. Every iOS device has a daemon running a service that connects with Apple's APNS (Apple Push Notification Service), and that service routes the notifications of every App to the user's device. APNS is non-negotiable, every iOS device has it running, and every App that wants to [reliably] deliver notifications must use it. It's part of the OS, so the OS won't kill it, in fact, if it crashes, the OS restarts it. It also means it's "well behaved", meaning it won't mine cryptocurrencies in the background (unless Apple breaks bad and decides that it's $1T value is not worth it anymore).
2. Android is not a strictly Google operating system. Google has it's APNS analogous, GCM (Google Cloud Messaging), but not every Android device has ties with Google, its open source, meaning millions (billions?) of Android devices out there are running without any Google ties. So in turn, many Apps device to have their own background tasks running all the time, with a persistent connection to the server to watch for notifications. Problem with this it's okay when you have 10 Apps with notifications, not when you have 100 Apps with notifications, each one having it's own background service. Some Android OEM's want their users to have great batt life and kill those background services, leaving notifications dead.
Also, sure, some user might run pure Android and not have a centralized push notification system, but that is not the problem people usually might be experiencing.
The power management and priority system is rather complicated on Android and incoming notifications might be deferred or not shown at all(to avoid wasting power on low priority notifications) depending on app, app usage and settings.
I never used Flock & would get spammed notifications (via SMS) from them.
My 2012 Twitter thread: https://twitter.com/wdr1/status/255454270160244736
It later which switched to email wherein the justification was "growth strategy."
Nope.
This account's Tweets are protected.
Honestly, (and personally) I feel better knowing that I am running an Android ROM with publicly available code on Github than any iOS any day
Basically I'd like the phone to cut off all mobile data, wifi, gps, and other radio and kill all applications when the screen is locked.
OnePlus has some background activity limits and you can turn on the aggressive Doze (or whatever it's called these days) but if my phone is locked I would really, really like to just receive calls and sms and have the system enforce that, and switch off all the unrelated hardware to extend standby time.
It will still poll for notifications - but nothing else.
It saved battery if I wasn't doing much with my phone. If I was constantly unlocking to check where I was on a map then it ate up more battery and it was incredibly frustrating as it takes a while to get a GPS lock when you don't have Wifi to assist in a city, until Wifi come back on which also takes a while. Friends that only communicate with messenger and Whatsapp had trouble getting through. Loads of apps that had been trying to communicate also woke up once there was a connection using up more CPU cycles, slowing everything down some more.
IMHO, its not worth it. Just use the background apps controller in Android 8.1. Whitelist the things that you do want notifications from and everything else can wait for you to open the app.
https://twitter.com/videolan/status/1022033608670961665
I told my parents to buy an Android initially but ultimately they moved to the iPhone because they thought it was simpler and better than Android. To me the fact that I can code my own apps with Java without having to buy a mac is a plus, but I understand people who aren't developers don't care about hackability if they can afford an iPhone.
IMHO iOS is good for developers who are okay with coloring inside the lines set out by Apple. The developer experience isn't perfect by any stretch, but writing personal apps/utilities in Swift using a package manager like Carthage is pretty painless.
Apple has some great features for de-centralization, such as the Multipeer Connectivity framework.
I think it depends a lot on where in the stack you want to work. If you want to customize your baseband or do system-level modifications then Android is the way to go. If you work higher up the stack, writing apps, then you might like iOS more than Android. I certainly did.
Just got one myself a couple weeks back, after being disappointed by the new Max Extra Turbo-sized models.
These days I can't even begin to work that out. There is easily a 100x more traffic and every single time I ran a capture I would find a whole bunch of new hosts being contacted that have no business talking to my phone. And I just use my phone for email and messaging. Not a big app user.
At this point, both iOS and Android are in pretty stable states. It comes down to individual preferences. Author primarily seems to have an issue with Google, which again is justified.
WebView is the built in web view mechanism for all apps that don't want to roll their own web view, and Chrome for Android is a browser that makes use of that WebView mechanism. Strictly speaking, a browser is just an interface that lets you interact with web pages.
And you're not locked into WebView: if you actually wrote your own, you're entirely free to deploy it. It's just insanely hard to write a web render engine these days so for most people there's no point in the slightest: it just makes your application bigger.
One example where it _does_ make sense is Firefox for Android, which comes with its own engine, because as long as the Android core classes area available, it should be able to run. Not "stop working" just because someone tailored their Android build to not include WebView.
Android WebView is a system component powered by Chrome that allows Android apps to display web content
iOS has just as much bloatware, and much of it can't even be disabled, let alone uninstalled.
For privacy, consider that iOS does not let you disable AGPS data collection. On Android, it is opt in. iOS does not let you open addresses in an offline maps application by default, so Apple gets all your address lookups. iOS does not let you replace your default SMS app, so Apple gets all the phone numbers you want to send a message to in order to see if that phone number is associated with an iMessages account. On Android, you can set your default SMS app to Signal to get automatic private messaging by default. Worst of all, iOS does not let you develop for your own phone without registering an Apple ID.
Apple talks a good privacy game, but there is no substance there. You are jumping out of the frying pan and into the fryer.
I have a Xiaomi Mi A1 with Firefox and no Chrome anywhere. I flashed LineageOS with the Open GApps nano package (which does not include anything you can also get from the play store, like Chrome) and don't even know what the stock experience is like. So far I didn't experience any major problems running a non-stock ROM.
I’m sure the author would be glad to add that to the list of complaints. One OS might say, “Surprise! You got the wrong version/model/puppy for your use case!”. The other one won’t.
Or an Android One device.
Pure Android doesn't have to.
I don't see any reason to pay $1000 for a phone these days, and I probably could have gotten the same experience from the Moto G at $200.
I just want a phone that:
- can last the entire day - can run a browser reasonably well - has decent reception - will get security updates for at least 2 years (expected lifetime of batteries)
I don't need a fancy camera, next-gen graphics, or super high DPI screen, I just need a phone that's reasonably reliable, and even the bottom tier phones are more than capable.
2017, Pixel 1: https://www.jefftk.com/pictures/2017/20171228_091058.jpg
2017, Galaxy S6: https://www.jefftk.com/pictures/2017/20170312_123314_030.jpg
2014, Moto X: https://www.jefftk.com/pictures/2014/stevie-lily-ball.jpg
2011, Galaxy SII: https://www.jefftk.com/images/2011/all/IMG_20120115_202514.j...
Sure, which is why we're seeing a shift towards choosing a phone based on your personal/philosophical/marketing beliefs about how your personal data is treated instead, which is what at least part of this article talks about in justifying the switch.
Apple has serious problems, but on balance it seems to be the better choice. I also tend to agree with the OP that the iPhone SE is a reasonable size, unlike every Android phone on the market. I just really wish there were a decent chat client that supported XMPP-based services, that's really all that's stopped me from moving over (my carrier lets me receive SMS/MMS messages to an XMPP address and receive calls via SIP, so it's rather important to me).
As a developer, it constantly burns my biscuits that Apple software only runs on Apple hardware. The fact that I have no choice but to buy expensive Apple devices to develop for their platform is irritating.
I've never understood this line of thinking.
Maybe it's because I've been selling programs commercially since the 1980's. Back then, if you wanted to develop a program for a Commodore 64, you bought a Commodore 64. If you wanted to port it to a TRS-80, you bought a TRS-80. If you needed an Atari version, you bought Atari gear.
In the mid-80's it was just ordinary business that if you were developing a program, you released it on Commodore, Apple, Texas Instruments, IBM, and a few others. And to achieve that, you bought at least one machine from each of those companies.
The concept of "I want to build an iPhone app on a Windows box" is a strange new phenomenon to me.
To be fair, I can build an android app on a Windows or Mac.
Also you're talking about buying a computer to build on that computer. I think the argument was about needing a particular brand laptop to develop apps for a different device.
Fighting the customer doesn't usually go well in the long run.
So it really is on a different platform already, but one within the walls of the brand.
Sure most bought C64, Spectrum and so forth.
However if you actually wanted to be productive, you would be buying a bigger computer running CP/M, VMS or UNIX variant, cross compile Assembly code and use a transfer cable.
Apple is the lone hold out here.
But they also have no reason to change.
Follow the steps at https://sites.google.com/site/easylinuxtipsproject/oldgrub for a free Windows VM development license.
For Apple, it is an entire hardware platform.
For testing, yes. To protect their sanity, developers of big projects developed their code using rented CPU minutes on a mainframe.
Maybe apple should provide pay-by-the-minute xcode-as-a-service for the real 1980s feeling?
There certainly seem to be enough developers who complain about this. I wonder if there'd be a market for a virtual-iphone-dev-box-thing.
[1] https://www.macstadium.com
I don't think anyone would object of all it took to develop for iOS was the device bring targeted, or even an iOS device. The fact that you have to buy a different piece of Apple hardware is this the issue.
You can build Android apps on an Android device. Optionally, you can use Linux, MacOS, or Windows, instead.
> The concept of "I want to build an iPhone app on a Windows box" is a strange new phenomenon to me.
The iOS situation isn't like “you must buy a PC to build PC software”, but more like “you must buy an IBM mainframe to build PC software”.
edit: This is wrong, I can't find the source for that now but probably it was referring to 20% of services revenue. Its only like 5% of total revenue: http://fortune.com/2018/09/29/google-apple-safari-search-eng...
edit2: This was the source[1], they quoted 24% of services revenue:
[1] https://www.bloomberg.com/opinion/articles/2018-11-02/apple-...
[1] http://fortune.com/2018/09/29/google-apple-safari-search-eng...
[2] https://www.macrotrends.net/stocks/charts/AAPL/apple/revenue
This the single biggest reason I abandoned android for iPhone: A premium phone in a reasonable form factor.
By the way, Jolla should be installable on it, if I'm not wrong.
You can get Sailfish OS on it for 50€: https://forum.xda-developers.com/x-compact/how-to/sailfish-x...
I currently use an Omni ROM weekly build (Oreo, waiting for Pie). It's so much smoother and less terrible than the stock software.
Sure, this is not "It just works" (and I do like a lot about Apple's design), but I'm also glad it's not "fuck you, we decided this for you, take it".
Considering I disabled all Sony applications because I have no use for them, with the exception of the keyboard because can't be disabled, Omni ROMs are another option that I hadn't considered. I already dumped the TA partition with the DRM keys many moons ago (I only need to find where I stored it), but I suppose they only work with Android.
I'm tempted by Jolla, but I need a banking OTP generator that only exists on Android and iOS (so Android emulator or another phone)...
The open camera drivers bring a great performance increase in shutter response, but a pretty bad decrease in low-light performance.
The build I'm using has some annoying issues like a barely working fingerprint scanner and Bluetooth audio, but even with that it is less irritating than Sony's to me. I assume both are fixable fairly easy (I'm waiting for Pie builds).
The official Sailfish OS builds come with an Android app runtime (Alien Dalvik), I think, but it may be missing some security features.
I'm not sure if it uses the official Sony camera drivers, information about this seems to be conflicting. Maybe both are available, if Sailfish utilizes Android drivers.
About Sony official camera drivers, I checked briefly and it looks like they are available only on Android.
http://vbn.aau.dk/files/240065248/Mobile_Phone_Antenna_Perfo...
> This dramatic difference in head SAR levels is mainly because the transmitter is located at the bottom of Samsung phones rather than at the top, also they incorporate an innovative antenna that transmits the highest intensities of microwave radiation from the lower back of their smartphones.
http://weeksmd.com/2016/01/the-new-smart-phones-are-6x-more-...
I would just be a little cautious about this. Apple is currently sticking it to Google by making it easy to block ads and by offering appealing privacy features.
But we don't know what Apple will do if everyone switches away from Android. I would guess that the profit stream from selling everyone's data to advertisers when most users are locked into their ecosystem will be very appealing.
Similarly to how Google and Facebook both eschewed ads while drawing people away from other services that were swamped with ads.
Very little risk of that. Our owners also want phones, and for the moment do not mind sharing the brand/models with the 10 or 20% who can afford, and know enough to choose, it.
I keep wondering why Apple doesn't just build their own search engine and provide unfettered results based entirely on popularity/rank (and other "real" metrics) like how google "used" to be in the beginning. Yes, I know search is hard, but it's not as hard as all of the extra steps Google has been doing the last 15 or so years to manipulate their results higher so they get more $ out of it. Certainly it's not as complicated as building a new mapping system from scratch. That would go a great deal further to "increase Apple users privacy" than anything else I can think of. It would also cause a lot of financial harm to Alphabet if all of the sudden all Apple device owners world-wide suddenly didn't have their data going through Google. And, it would provide top-notch results, which Apple consumers would presumably love. What is the downside to this that I'm (obviously) missing?
Anyone is free to modify, build, and distribute their own versions of Android. How else would OEMs ship their own skins? This also means you can audit Android source for vulnerabilities, backdoors, etc.
Every major version ports more functionality from AOSP over to GSF - which is closed source.
I cannot audit GSF and I cannot check for backdoors,, GSF phones home as it legitimate functionality, it is next to possible to verify back-doors don't exist. Location APIs could just be for your location, or google/ three letter agencies could be tracking you .
All the major OEMs include AOSP + GSF and then their custom layers. The only popular OEM using without GSF I know is Amazon with the kindle platform. To get Google certified OEM / use droid trademarks / use GSF you need to jump through hoops and give Google all kinds of access, not remotely same as open source.
Also see the rich custom rom scene for Android phones, with highly active communities building rooms for even phone models long abandoned by their manufacturers.
They did say in TFA (or perhaps another comment) that Apple uses privacy as a marketing jab against Google since they don't really want all your datas to sell ads.
Which does seem to hold true in practice, their newest crypto-chip thing they can't access even if they want to, going to the mat to against the FBI and various other instances over the years.
I think there's still an opportunity for such devices.
An alternative is to install microG [1], which reimplements assorted Google services. YMMV, but I've been able to run ~70% of all Android apps with no problems.
[1] https://microg.org/
LineageOS for microG (which is a pre-built ROM) supports all phones that are supported by LineageOS. A full list of these phones can be found here:
Sorted by device age, with pictures and specifications: https://piotr-yuxuan.github.io/choose-a-new-phone/
Sorted by model, with LineageOS version and build day (view on desktop for all columns): https://www.lineageoslog.com/build/scheduler
Somehow I dislike everything Apple represents, and reminds. The design, the simplicity which comes from restrictiveness. Even the lightest Linux window manager like i3wn, is better than all of os/x does.
I will just wait till a true open source option comes.
Disclaimer: That's pure theory. I'm still figuring out how to do a custom build of LOS16+MicroG for my device, since it's only on LOS14.
https://lineage.microg.org/
> If you already have a LineageOS-supported device, you can grab a prebuilt LineageOS+MicroG image from the MicroG site.
I redacted a lengthy part of my comment since I felt it wouldn't add anything to the discussion; but it went like this: Sadly, my device (HTC 10 aka pme) is officially only on LineageOS 14.x, which is Android 7. Since I am coming from Android 8 stock ROM, I'd like to stay on Android 8 or even get Android 9. There are unofficial LineageOS builds for this (from a guy who just doesn't merge the back to LOS; which I can understand considering the additional effort - on top of all the work is already doing). But of course they lack the necessary patches for MicroG. And the MicroG only pre-builts are based on the official LineageOS build process and thus the official images. So I can only get Android 7 + MicroG with the comfortable "grab image and flash"-method.
I gave building a custom MicroG+LOS{15.1,16.0} a shot using the official MicroG docker image (just a single docker run command) and adding the unofficial builds local_manifest.xml, but those two builds failed for me and I didn't bother messing around with that docker c*. Accidentally, I did that the day before this was posted to HN, no changes since then. But I suppose I'll try a docker-less build on my machine once I feel like it.
Eventually I can just put MicroG on the unofficial build from xda-devs, since that doesn't contain GApps; but I am not sure how great the experience is when not having the MicroG/F-Droid patches. I will see.
EDIT: Regarding signature spoofing, the MicroG github wiki says:
> You can also patch your already-install ROM by flashing NanoDroid-patcher, without any computer interaction. It will auto-patch every updated ROM.
So maybe that works.
What may be easiest for you is actually to use Xposed. I think that can allow the signature spoofing needed for MicroG.
Dropping Android for iOS is a joke.
On the other hand it's not always as reasonable as it should be. I do find it frustrating that devices are so locked down, to the point where finding something to run lineage well and has the feature set you want can be tough. With my latest attempt I found a phone where several models, depending on what country and carrier, would not unlock the bootloader. And online sellers of phones are not always specific about what sub-model you get. I had to return a few because the seller sent me a Rodgers or an AT&T one that wouldn't unlock. I can definitely see how enough rounds of this can make some people throw their hands up and let Apple make all the choices.
The idea of mucking about with multiple phones just to find the one which irritates me the least is very unappealing. It's an appliance, I just need the thing to work.
/e/ might be a better fit for him.
If you are using linage and /e/ you can’t really add “works with all android apps” as a check in the pro column.
You’re getting even more fragmented than Android which is already much more than IOS. To each his own but let’s be honest about what these are.
Some core apps have replacements on the other side, like maps, might be why a full leap is better than half measures. /e/ should help with those. Ideally. Maybe it's not there yet.
My biggest problem right now is finding an Android phone smaller than 5", preferably under 4½", that I can both install lineageOS on and actually purchase :-\",
Especially true with Contacts I feel like I'm doxing everybody I add to it. I have tried many alternative, but nothing even remotely measure to it.
Gmail's integration with Drive and Calendar are really nice. It's a very mature web email app besides all that. It's not hard to find other email solutions, but in my experience they lack the polish and integration that makes Gmail so valuable.
I have been looking for a good zero-knowledge cloud storage solution that fit my requirements for a while. All of the alternatives I've tried have severe limitations or unresolved issues.
Google drive doesn't work on Linux so it's a non-starter for me. Have you looked at PCloud and Dropbox?
Apple soured me with their bullshit around throttling the CPU to make the battery last the same. No wonder my phone was performing like shit.
But here's the bad news, this new phone I got is still not so hot. I still run out of battery despite working from home and only using the phone for google maps and calendar/slack when I'm out of office. I don't game on it or anything.
For my next phone I want to find a much more inexpensive phone, swappable battery, with a long-ass battery time. I would go with a Nokia but I don't know if their classic phone supports google maps.
And given the author's interest in FOSS...
Really interesting Lineage failed. He claims apps kept nagging about the lack of Google app support. How pervasive is that? Could he have just found a couple app alternatives rather than throwing them all out at once?
It's hard to disentangle whether the problems we have are with our phones, with the OS, or with the app ecosystem.
(Quick edit for clarity.)
And with security being key to me, I'm not interested on depending on a third party hack with all my sensitive data.
Yeah, helping third parties engage in signature spoofing does sound far from ideal.
RCS (the Android attempt at iMessage) is STILL not a real-world thing. Txt messaging and MMS on Android is still an absolute joke. My Samsung S8 has, what, a 12-megapixel camera (I never look at these specs anymore) that can take incredible pictures and videos but if I want to send them to someone I have to jump through a bunch of hoops. Upload them to dropbox, share it, send my friend the link, hope they click it vs it just playing in their messaging app.
If I send that video via text message it gets compressed to a 500kb blurry mess. I frequently have to explain to people that Androids don't take terrible pictures, my phone takes amazing pictures. The problem is when I send them to you I'm limited to the maximums of text messaging because phone providers haven't rolled out RCS. It also doesn't help that the Snapchat app back when I used to use it just took a screenshot of our camera app. That further shouted, "Android sucks at pictures, what a peasant phone!"
Tmobile has RCS now but it only works between Tmobile Android users who are using the stock messaging app. They might even need a recent phone with a specific version of Android, I'm not sure there. They rolled this out in June 2018. 2018! How long has imessage been around? And I still have never seen it actually kick in because 90% of the people I txt are on iphones. I also HAVE to use the built-in Messaging app to get this because the RCS API wasn't (not sure if it is now) public so other messaging apps couldn't send over RCS. If I use the Samsung messaging app then I lose the web messaging feature that the Google Messaging app gives me. The Google Messaging app is terrible, though, it doesn't even have the ability to click a person's name and see all of the media shared between us like the good messaging apps do. I have to literally scroll and scroll and scroll to see a picture that I've been sent.
There are all these tradeoffs just for messaging. Do I want an easy web experience so I don't have to pick my phone up every time I get a text? Then I lose the file library when you click a contacts name. Do I want RCS? I'm not even sure which Messaging app to use for it. It's either Samsung Messaging or I need to download Tmobile messaging.
I don't follow it but I don't believe ATT/Verizon are even going to roll out RCS, I believe they have their own implementation coming (somedayTM). Unless their "Advanced Messaging" is just RCS. Will that work with Tmobile users? Or will it just be between ATT customers?
I have plenty of other complaints about Android lately. Privacy, per-app notifications are a mess.
I LOVE the customization of Android and the lack of it is what I dislike about IOS but I'm to the point where I just want a smooth UX.
edit: Before I get the "Use Whatsapp/etc" that's just not an option. Google Hangouts was SOMEWHAT ubiquitous between my friends a few years ago and was great but if I'm taking pictures of my house for a contractor, or shooting pictures of my Jeep offroading to random Jeep friends and what not I'm not going to go "Are you on WhatsApp?" each time. I know these limits are because of carriers and not Google/Android specifically.
Yes, it's called iMessage.
So which is it, Apple is grossly over-priced or inline with what a decent Android phone costs? And then the author goes on to complain about the data firehouse back to Google and bloatware. Are we yet seeing that price is not always measured in dollars? I don’t mean to pick on the author, I guess it’s just interesting to watch the process of coming to this realization.
But the notifications, holee-shit. That seems like one of those “under a full moon...” reports, but others here confirm. I’m so speechless, I don’t even have a snarky Apple fanboi comment.
I believe you can use the Application Manager in Android to disable any of these Apps, even though you cannot remove them.
Just don't disable an App the phone actually needs.