Good post. There's one other challenge though and that is access to native GUI widgets. Just having an app icon and appearing in the task switcher simply isn't enough. It's one of the problems React Native tries to solve, although I have to admit I'm not impressed with it so far. With the momentum Javascript is having I wouldn't be surprised if most vendors will release "native" javascript bindings to their platforms anyway, which hopefully will remove the last missing piece for "native experiences" using Javascript on iOS and Android (and for that sake, Windows 10 and OSX).
For what it is worth, Windows has had "native" JS bindings since Windows 8/Windows Phone 8.1. The Windows 10 store added support for server-hosted JS apps, which was the last puzzle piece in the support system as a lot of web developers still love their existing/preferred server host/backend language/deployment pattern.
To be honest, I've been hoping that Google would lead the way with JS API bindings... Cordova is pretty nice these days, but it would also be nice not to deal with it.
Sadly, the web is an accessibility nightmare. If that changes, then sure, I could move too. But there's a lot that modern versions of iOS get right regarding accessibility, stuff that I wish google/android would do too.
with the latest webdev trends it is extremely unlikely this will improve any time soon. There was a time (~10-15) years ago when separation of concenrs and accessibility did matter, now it is just a js frameworks bloodbath.
Some "frameworks" put a ton of work into accessibility.
The Polymer team's entire element catalog is accessible with ARIA integration done with assistance from Chrome's dedicated accessibility engineers. We even provide reusable abstractions that make writing your own accessible elements easier, like iron-a11y-announcer and iron-a11y-keys.
Thanks for the link - was really interesting, particularly the introduction which explains why accessibility is so important and the number of people that it touches.
I am not a professional web developer, but I used LAMP to make a decent size website using standards conformant XHTML/CSS without table hacks with PHP and MySQL for forms when I was in high school. I wrote the markup by hand, so I made certain to place content first so that 56k modems would load it quickly and web browsers for the the blind would not read navigation bars before the actual content. At the time, I assumed that JavaScript was not always available because people eithet either turned it off to eliminate the Javascript engine as an an exploit vector or were using browsers that did not support it because they were blind.
Consequently, I considered requiring JavaScript for a webpage to load properly to be bad practice. Even if I assume JavaScript is everywhere, I have yet to hear of how one would make things dependent on it accessible to the blind. I know that people will make webpages that require it regardless of whether the blind can view them or not, but I still feel that is bad practice.
Modern screen reader software looks at the output of the DOM. It isn't manually parsing raw HTML straight from the server (it's possible 10 or 15 years ago this was the case). So however the browser got that particular text on the screen (directly from a server, or rendered on the client via XHR requests) this is an abstraction most screen reading software doesn't involve itself in.
I might switch if my job was only coding, but I handle a lot of graphics as well, and that just doesn't fly on linux. On a side note, it's frustrating that everything I want to do on linux requires me to download 5 packages and recompile a binary... I guess that's just me...
>So, instead of opening my text editor I placed an order for a Nexus 6P
Nexus 6P is notorious for atrocious build quality. It bends easier than a bar of chocolate. [0] Google should do a recall on these things. It bends a lot easier than an old iPhone 6 plus.
Edit: I see Google fanboys decided to downvote this comment instead of engaging in a debate. This is not in the spirit of Hacker News. I know HN has a lot of Google employees who are extremely touchy but come on.. be objective once is a while
Interesting on case usage. I'd say virtually everybody I know with an iPhone has it in a case, but for other devices it's maybe 20% of people I know who use one. All anecdotal, and every mall I go in has a hundred shops selling them, I've just always wondered who's buying them
I've never used a case on any of my phones whether iPhone or Nexus. I did use the iPhone 4 bumper they gave out because it was free and I liked the little ridge that let me lay the phone face down.
I'm using a bumper-style case myself just because it came with the phone, and the phone has a glass back and razor sharp edges which is really just bad design.
Anecdote: I have owned a Nexus 6p for ~6 months now. When I'm not using it, it's either on my nightstand (sleeping) or it's in my pocket. It has not bent.
I have carried several chocolate bars in my pockets before (mostly when I was younger). They bend very easily. (They also melt and even when they don't escape the packaging, there is melted chocolate all over the wrapper, and it's nearly impossible to eat without making a mess. And if you let it cool again, those tiny chocolate traces end up falling all over!)
Anyway, I'm not sure I got the point of this (only incredibly tangentially related to the post) piece of FUD.
Fact is that Nexus 6P is incredibly poorly engineered due to the placement of various button cutouts and battery position.
Can you take your phone and do what he did and prove him wrong? Go ahead. Until then, this is not FUD and your post is nothing more than a rationalization.
I don't know. Oddly enough, picking up my phone, placing my thumbs in a particular location along the body of the phone so as to minimize the structural rigidity of the device, and applying force just isn't part of my use case for a phone. I use my 6p like every other phone I have used, and it hasn't bent. Good enough for me!
Seriously. I'm a big dude, and my everyday life is filled with objects that I could bend with a similar amount of force, including objects that I carry on my person and/or interact with a lot. I don't pick them up and try to bend them, and they don't bend.
You need to get better chocolate. I have had the 6p for over 3 months now and try as I might I cannot bend it. I don't see how the phone can bend in 99% use case scenarios.
We appreciate your concern for the spirit of Hacker News, but your comments in this thread do three things we ask people not to do here: (1) call names; (2) comment about getting downvoted; (3) make insinuations about astroturfing. Please do your part on those, even if other users are wrong. Any other approach damages the community in the long run.
The biggest issue is the performance difference. It takes an entire second to syntax highlight a new file and large files are unusable. Almost all interactions have a noticeable delay, including typing. Scrolling is painfully slow.
At least on OS X, it's by far the app with the largest energy impact. It's the only other thing that competes with Chrome.
Besides that, it doesn't use native UI elements where it could. Plugins don't add top menu items, the folder view on the left isn't a native treeview, it renders its own (slow) scrollbars, it doesn't respect native text rendering settings like line height or font hinting, pop-ups overlap in surprising ways (sometimes scroll bars are above them) and can't easily leave the main window, various elements move around unexpectedly when scrolling to an edge.
Wow. I'm a long time Android user and probably pay more attention than most, and I had no idea web apps had gotten quite this nice. Currently the only web app / web shortcut I have installed is the HackerWeb app[0], which is nice but clearly not taking advantage of all of the functionality it could.
I "installed" Flipkart Lite and the Voice Memos demo app to see the state of the world. Clearly it's possible to build some really nice web apps these days! I hope to see more of it moving forward.
Hey! Sorry if that comment came out a bit harsh; I definitely didn't mean it to. As evidenced by the fact that I continue to use the web app over any of the native options, I'm obviously a pretty happy user.
So, random thoughts/feedback:
- I wish I could login, comment, maybe even receive comment notifications? Although the last would clearly be an improvement on HN itself.
- I wish I had some preferences available to me, e.g. always open links externally vs. inside the app itself. (I can long-press on a link and select "open in Chrome" of course.)
- Flipkart has some pretty slick animations. The primary thing that jars me about HackerWeb is how abrupt everything is compared to native apps.
Obviously nothing huge; just stuff I didn't know was even possible. Anyway, let me at least grab this opportunity to thank you for your work!
> I wish I could login, comment, maybe even receive comment notifications?
AFAIK authenticated user actions (logging in/commenting/profile management/etc) are simply not exposed through the official HN API. I don't think there's much third party developers can do about that, unfortunately.
But yes, web apps have come a long way. Apple treating web apps as second-class citizens will probably still pose a huge barrier to widespread adoption for quite some time though.
1. I myself also wish that I could login, comment, etc. Unfortunately the official API doesn't allow it yet. Other HN apps implement those by scraping HN, save your username/password somewhere but I didn't choose this route because it might be a maintenance nightmare for me :(
2. Regarding the 'open new tab/window' preference for links, I've been thinking about this for a long time. Will experiment soon :)
3. Animations. I'll need time to implement those :P
I have tried multiple Hacker news native application, and I didn't like any of them. I, however, love your Hackerweb web app. Its clean, simple and fast. And it feels like a native app.
Only one for me: get the previous icon back! I've really tried to like the new one but I still miss your previous icon.
Joke aside, HackerWeb is an awesome example of a webapp done right. It's the only web app on my home screen, and my favorite Hacker news reader on mobile, beating any native app I've tried.
Awesome job! Do you have any feedback about issues your encounter for the development? I'm thinking about iOS updates, responsive design with iPad etc... ?
Thanks! If you're interested in the issues I encountered for dev, I recently blogged some of them in my article here: http://cheeaun.com/blog/2016/03/building-hackerweb-ios/ (Also note that I've released an iOS counterpart of the web app).
Actually, let me piggyback on your comment and ask a usability question: Has anyone written an OS X app to make OS X play nicely with Android phones by syncing contacts, emails, calendars, and audio? I ask because Apple did something supremely annoying with an iTunes, OS X, or iOS update a while ago: Contacts and calendars no longer sync directly from OS X to iPhones and vice versa.
This is monumentally annoying. iPhones are now pretty expensive and don't have this one feature that I used to find incredibly useful. I know there are ways to accomplish this via iCloud, but I neither like nor trust iCloud and don't need it.
You can connect your gmail account on a Mac and it sync's contacts. I do this so my VoIP apps have access to my gmail contacts, which are shared with my Android phone.
jseliger - Thank you for saying this! I can't use iCloud when I don't have internet access. This is usually when I'm travelling, which is also the time I most need to manage new contacts and calendars.
I'm still using iTunes 10.7 and iOS 6.1.3 on Mac OS 10.9 Mavericks. It required some framework hacking to make it work, but it's the only way to get offline USB sync and a (beautiful) Retina display.
Oh, and don't forget the ability to sync Safari Bookmarks. I used to be able to sync Notes too, but Apple broke that in 10.8 Mountain Lion.
If any company can offer an ecosystem comparable to Apple circa 2011, I'd be persuaded to switch. For now, I have to stick with my old iPhone 4S. Surprisingly, I haven't really missed out by not upgrading.
If YC provides API like reddit, you can build really good client using web technology. https://hackerwebapp.com/ is best you could do without good APIs.
This is my reddit client. https://reddit.premii.com/ - You can login, upvote, reply, save, and tons of other things.
I read the post, then looked up ServiceWorkers and this progressive web app stuff, and it doesn't seem that useful. You don't have access to files, or hardware (Bluetooth/sensors), or notifications, so what's the actual use case?
It seems like it's just a way to be able to make cross-origin requests in a browser. Can it even do that? Seemed like it had a bunch of security considerations that make even that not useful.
The primary use cases for service workers today are robust offline support and notifications. More generally service worker gives you broad and very fine grained control over your app's use of the network. Service worker itself doesn't give additional cross-origin request abilities, except by giving more control over caching.
It would be nice if guy stuck to coherent argument.
Meanwhile he talks about "monarch enforcing a 30% tax.", about iOS developers barely making any money.
Ok, so where are the numbers, how much money did he make with his "installable web apps" on Android?
I think apps are in a lull right now because most were abandoned and left users feeling jittery about pouring their lives into them. Also few apps spent the effort to take advantage of working offline. If I'm in the subway, I'm basically unable to use anything except games. Although the last couple of games I couldn't play because they were trying to connect to an Ad server that would fail and so the game wouldn't progress.
Not just to ad servers. Some games that have no need for online-only modes are starting to function that way as well. I suspect it was thoughtlessness on the part of the developers ("When would someone ever be without the internet?" "When they're on a cross-country flight!"). This reminds me, I should find a comment box on their site and suggest they fix this, it was incredibly frustrating being barred from a game I bought to play in single player mode just because I was 30k feet in the air.
It's antagonistic behavior towards users and unnecessary for most apps to be always-online. This is the difference between "I'd recommend this to friends" and "screw these guys". The primary reason I buy board and card game apps is to play offline when traveling, usually with other people, versus carting around 100lbs of games. If a simple hot seat version of your game requires an internet connection, you're doing it wrong.
I agree that it's annoying because I like to play games on the bus where I also don't have internet. I'm just saying that in a way, this was caused by people pirating too much software.
I wish I had a solution which didn't require the apps to go online but I don't.
To forget about piracy. I mean no offense to these developers, but if your app can't sell then it can't sell. People will steal software regardless of what you do. Measures like this almost certainly don't encourage more sales, instead they result in negative reviews and fewer sales.
Related question: This was on iOS. How bad is software piracy for this platform?
From what I understand iOS doesn't have much of a problem with piracy since you have to jailbreak to pirate apps (I think). If it's iOS then I'm not really sure why they had to use the internet to be honest..
I just know that Android has a pretty big issue with piracy and some developers choose to release their apps for free on Android for that reason.
I don't disagree with what you are saying and again, I don't know if requiring internet access to combat piracy is the right thing to do but I feel like it's a bit sad to place the blame solely on the creators of the app and not on people who pirate their apps
>("When would someone ever be without the internet?" "When they're on a cross-country flight!"
Actually, that's incorrect. All cross-country flights by now should have WiFi available.
Now, draw your own conclusions about app developers who think you should pony up $$$ to get WiFi on a plane just so their app can connect to game servers (in single player mode).
And then somebody in management asks why the new app is missing so many features on his brand new iPhone. In fact, all the C-level folks and board members are primarily iPhone and iPad users and none of them are happy that so many goodies are missing.
If you aren't worried about provided a first class experience to your iOS customers, then build for Chrome + Android. Although, that sounds a little like "build for IE6 + Windows" 15 years ago.
> If you aren't worried about provided a first class experience to your iOS customers, then build for Chrome + Android. Although, that sounds a little like "build for IE6 + Windows" 15 years ago.
Except that Android is the open one that is implementing agreed upon standards, and Apple is the laggard left behind.
I'm not sure if you're trolling or sincere here. Of course iOS apps don't need them, they are native. We are talking about the capabilities of the iOS Safari browser.
Yeah, because the browser doesn't offer the capabilities needed to render native apps redundant. I'm not sure why we're talking in a giant circle here.
Clearly, the "build for IE6 + Windows" of 2016 is "build for native iOS", which was the original point I was making.
You learn to evaluate technologies working in a relevant sector or studying some information systems stuff. No citation needed IMHO.
Would you demand citation if I tell you that 'mov ax, data' in assembler moves data to ax or look it up if you don't trust your own judgement at the moment?
But unlike in iOS, the browser is a Play Store app which is updatable outside of major OS releases. So a two year old phone can run the latest version of Chrome.
Telling users that they have to install a new browser before they can fully use your app is a lousy experience though. And then two months later they will uninstall Chrome because (as far as they know) they never use it.
That's not how it works. Most Android phones have come with Chrome preinstalled for a while now. That version is automatically updated, just like any other app.
It probably isn't on the Kindle Fire, no, but neither is the Play Store. It might use Android as its base, but it's not really an Android tablet.
And while I don't doubt there are many variations of Android device without Chrome installed, the devices that dominate the market (Samsung Galaxy and the like) have had Chrome preinstalled for a long time. From a brief Google it sounds like the default browser varies between phone, provider, etc. etc., so I can't say for certain. What I can tell you is that my analytics logs show the vast majority of Android users are running Chrome.
The Kindle Fire ships with the Amazon Silk web browser, a Chromium/Blink fork which supposedly tries to serve all content via SPDY tunnel to Amazon's CDN.
I don't think that really serves your argument - phonearena.com post a lot of stuff like that either as reference for people who Google the right question, or because the writing effort:ad revenue ratio is working in their favour.
You can install new browsers through the play store, but I do not recall the stock web browser being updatable back when I used Android. Can it be updated on Android 2.3/4.x and how much effort does that require?
As for browsers installed through the play store, how many users can reasonably be expected to install them and of them, how many would update them?
Not only does the Chrome app auto-update, on Android 4.3+ so does the WebView component. This makes Android pretty hospitable for hybrid apps nowadays.
KitKat was the first version to ship with Chrome as the default browser, but IIRC it didn't replace the system webview or become auto-updating until Lollipop. Wikipedia shows 70% of Android users on KitKat+, and about 35% on Lollipop+.
I dunno what Samsung ships with, when I was still doing a bunch of mobile web work (early 2014) they used a forked version of Android Browser that was really terrible. Hopefully they've replaced it with something saner. A lot of recent Samsung devices have dropped Android entirely for Tizen, though.
My Samsung S4 came preinstalled with some off-brand default browser that was worse than terrible. Hopefully they have gotten their act together by the time I'm due for an upgrade this fall.
Who cares what it came preinstalled with? My S4 was automatically updated to Android 5.1 and comes with all the stuff that 5.1 normally comes with. I also installed Firefox as my default browser there.
Why bother to upgrade to another phone? The newer phones (except the S5) aren't any better. I love my S4. The only thing I'd bother upgrading to is an S5, since it's waterproof, and still has a removable battery.
Probably yes, although they seem to show basically the same numbers. I think the Wikipedia graph comes from someone scraping the official dashboard periodically; the text of the Wikipedia article indicates that the data source is Google Play Store and excludes non-Google forks.
You still need to write apps to be compatible with 2+ year old OSes if you want them to be able to install those apps. You don't get infinite forward compatibility for free. There are many updates I stopped being able to get on Android 2.x after 4 was released.
The market share of <Android 4.0 is small enough now to ignore, especially if you are also ignoring iOS entirely. Definitely not enough to stop you from writing a webapp in the first place.
> Except that Android is the open one that is implementing agreed upon standards, and Apple is the laggard left behind.
Given that many of these things are potential exploit vectors, I am not inclined to fault Apple for taking its time to implement them.
Also, we are at the point where the standards are driven by a select few companies. If I recall correctly, those are Apple, Google, Microsoft and Mozilla. Opera used to be there too, but I doubt Opera does much of anything there anymore and I suspect the same either is or will soon be true for Mozilla given its leadership issues.
In the past, changes to internet standards were about enabling better presentation of webpages. Now changes involve JavaScript APIs that access things traditionally reserved for plugins (which were a security nightmare) and native applications. Doing that can pose unforeseen security risks, such as the supercookie:
Not to mention, I posted elsewhere in this discussion that WebBluetooth seems like a way that an attacker with control of a server can run attacks against bluetooth devices that he otherwise would not have been able to access without breaking out of the sandbox. Once in control of one of those bluetooth devices, it would be possible to attack the system from the compromised devices. It is like giving unrestricted network access to Javascript once a user clicks accept (and they almost all would), except with a different network technology where devices all trust each other not to do malicious things.
Given that security flaws can happen when new features are used in unforeseen ways, I am happy to see Apple take its time under the assumption that it is taking its time to implement things correctly.
I also went from iOS to Android (iPhone 4s -> Nexus 5x). I had my 4s for 5 years and loved it. I'd still have it if it weren't for iOS 9 being too big to install and verizon overcharging. I've developed apps on both.
Some apps have to be apps to use sensors and devices built into the phones. A lot of apps could probably get away with being mobile sites. Doubly so with some of the new html technologies being introduced by the W3C.
Because Android and iPhone are owned by companies, they can move fast. The web has to accommodate for many more devices. So web standards move slower. In the time apps have become huge, a lot has been added to web standards. But I'm guessing most people haven't noticed. My guess is people are used to using frameworks and have abstracted themselves away from the basics.
As a challenge to the reader, see what you can build in only JS/HTML/CSS with no server side. You'll be pleasantly surprised by what you can accomplish.
> From the article you have to "install" the web application for any of these features to be available.
As far as the article is concerned, rendering a webpage as if it were an app takes away functionality (mainly, the ability to interact with the address bar). It does not discuss the security of web 2.0 features and it certainly does not claim that these features are only available when the webpage is pretending to be an app.
> From websites sure, but they do from other apps.
iOS uses capsiculum to isolate applications while Android uses SELinux. They aren't executing each others' code.
> iOS uses capsiculum to isolate applications while Android uses SELinux. They aren't executing each others' code.
XSS isn't about executing other people's code, it is about performing commands that you shouldn't be performing. There are a ton of instances in the pass where cross application communications have lead to privilege escalation in the same way that XSS does.
> Apps suffer from MUCH bigger security issues than XSS.
It depends on the attack surface. However, something like WebBlueTooth has only one-click/tap authorization protecting it at best against software that is already downloaded and executing. Mis-taps/clicks are trivial. You do not have that with a new application that a website wants you to download. You also tend not to have installed software updated without your consent after you first obtained it (with the trend to use Javascript to add functionality to iOS apps being the glaring exception), but websites can be updated at any time, by both the web developer and by black hats who hack into it.
A malicious app must be installed before it can run and is likely vetted by the maintainers of a package manager or App Store. A webpage running JavaScript simply runs with no inspection from anyone.
Also, a malicious party usually cannot inject code into an installed app. Injecting it into a webpage you visit is far easier. Ad/tracking networks have been used for that. There is the possibility of a MITM attack if all parts of the page are not protected by HTTPS. There is also the potential for cross site scripting.
The web is not a place where I would want access to everything an installed application can access to be possible by design.
The Javascript has to request permission for each type of device access on first use, which is a lot better than the ask-for-everything-on-install model that older versions of Android use. Service Workers also only load over HTTPs. Generally xss attacks are prevented by the permission being granted to the domain of the script which is trying to use the service.
If you are uncomfortable that any given site will be properly secured you can always deny them the permissions just as you would decline to install their app, except that the website can offer you a degraded experience, where the uninstalled app will offer you nothing.
> The Javascript has to request permission for each type of device access on first use, which is a lot better than the ask-for-everything-on-install model that older versions of Android use. Service Workers also only load over HTTPs. Generally xss attacks are prevented by the permission being granted to the domain of the script which is trying to use the service.
If you are going through an app store, the app has been vetted. If that misses something and it is later found, it gets pulled. There is the possibility that you will never encounter the bad app by virtue of being one of the ones who would have installed it using it after it was pulled. On iOS, there is the possibility of signature revocation providing protection to disable it after it is downloaded. With a website, there is no such protection.
Plus, web servers are rarely patched and often exploited. Anyone who allows a website to use WebBluetooth effectively opens themselves to the poor security practices of the other end. Even without that risk, there is also the risk that an ad/tracking network is not used in a cross site scripting attack to gain access.
> If you are uncomfortable that any given site will be properly secured you can always deny them the permissions just as you would decline to install their app, except that the website can offer you a degraded experience, where the uninstalled app will offer you nothing.
If all users thought the way I did, WebBluetooth would never have been proposed. The reason being that WebBluetooth could be used to exploit other things even if the web browser's implementation has no exploitable bugs. If WebBluetooth becomes widely used, Black hats will have a field day with the users who do not know.
They need not even compromise a web server of a site that has a legitimate application for it. They might just ask users of some other site that they trust to enable it as few users ever say no to such prompts (or prompts in general).
Firstly, these powerful features are not available unless your site is properly (I.E. fully, absolutely nothing can be plain HTTP) protected by HTTPS. You cannot even create service worker without working HTTPS so any kind of PWA is out of question without HTTPS. Secondly, any browser that supports these capabilities also supports Content Security Policy which makes your site trivially immune to XSS and I expect that it will sooner or later become required to get access to the powerful features, on top of HTTPS. Thirdly, any powerful feature is behind a permission that is basically as hard to obtain as the consent to install an app in the first place.
First, black hats hack into sites protected by HTTPS all the time. Requiring HTTPS does not protect you when the server is compromised. Second, XSS is not needed to exploit devices on the other side. Third, users click/tap yes to just about any dialog, no matter what it says.
The user experience is similar to webcam/microphone access: nothing works without a prompt and browser-mediated pairing process, and only on secure origins (e.g. https). The spec goes into detail about security/privacy considerations, and includes a blacklist of problematic targets. https://webbluetoothcg.github.io/web-bluetooth/#security-and...
Access through web browsers could expose issues in the user's kernel bluetooth stack, but that risk exists with any binding. There should be time to explore this possibility while the feature is still behind a flag.
> The user experience is similar to webcam/microphone access
What happens behind the scenes is not. The microphone and webcam are far easier to secure because they just provide data streams if authorized and the web browser can provide a visual cue when it is in use. Some webcams even have a light to indicate when they are I use. Although that might not be perfect, it is far better than things like browser plugins.
Bluetooth is another story. With WebBluetooth, you are effectively providing access to an Advanced Persistent Threat attack vector. That takes things to a whole different level for black hats. If it is widely adopted, someone somewhere will find a way to target it as compromising the firmware of paired Bluetooth devices should be easier than typical escape from sandbox attacks. How long it takes for us to hear about it is another story.
> Access through web browsers could expose issues in the user's kernel bluetooth stack, but that risk exists with any binding. There should be time to explore this possibility while the feature is still behind a flag
Whether WebBluetooth can attack the Bluetooth stack directly is irrelevant. What matters is the embedded device's Bluetooth stack. Allowing a web site to dictate the contents of an otherwise legitimate communication with an embedded device's Bluetooth stack allows it to compromised with no compromise of the machine required.
Running exploits against the embedded device should just requires gaining control of a webserver hosting a site that the browser permits to use webbluetooth or injecting code through a XSS attack. If the embedded device allows firmware updates over bluetooth, getting malicious code onto it is easy. If not, the embedded code that communicates with a paired device should have been written under the assumption that the other end would not try anything malicious and consequently, it should have vulnerabilities.
Regardless of how a blackhat gets into a paired bluetooth device, once they are inside, they have code execution on the opposite side of the surface typically attacked on modern computers.
I have an Ubutu phone, and most of the apps are web based. Its quite a good user experience (way better than Andorid or ios in my opinion, apart from the lack of apps). However, when I went abroad and turned off the data connection it became pretty useless. No offline maps, as the web based apps won't even startup without a data connection.
A bit OT: I'd like a mobile platform that provides confidentiality (from both government draget and commercial spying) and end-user control. These seem like fundementals of any platform, at least as user options, but I haven't found it:
* iOS seems to have some confidentiality, though are users really protected from commercial spying? Of course end-user control is very limited.
* Android provides some end-user control if you root your phone, but it's complicated to utilize. Confidentiality is awful; there are a never-ending number of holes and leak, AFAICT, many built into the OS. No fork (i.e., ROM) of Android seems to focus on confidentiality, though I'm curious whether Blackberry's Priv locks down the OS in addition to the hardware.
* Basebands are neither confidential nor provide end-user control, in any phones outside of FOSS projects, AFAIK.
* Mobile service providers also are an omnipresent risk.
---
I suspect a decent solution to the baseband and mobile service problem is the following, but I haven't tried it and I know it has some weaknesses:
* a hosted VPN service that provides a firewall (the firewall is needed to filter outbound connections from your phone)
* a cellular router that's pre-paid, tethered to the phone to isolate the baseband from the rest of your handheld computer
I'm curious whether Blackberry's Priv locks down the OS in addition to the hardware.
So am I, but when I read their site about it around the time it launched, there were so many loopholes and weasel words in the information about security features that I ran away.
FWIW, the most obvious warning sign was that they were very hot on telling you about potentially insecure things being done on your device, but I couldn't find a single definitive statement that their software actually let you do anything to prevent those things from happening, nor any reference to tools or controls that seemed like they might do so, on their entire site. It also appeared to be based on an older version of Android that didn't have some of the more recent advances in per-app per-function privilege controls, suggesting that they might actually be worse in this respect than recent devices from other providers would be just with the latest off-the-shelf Android release.
I agree with pretty much everything in this article - I firmly believe that we're due a "post-app" world where progressively enhanced web sites provide 95% of the functionality we require. But we're not there yet - I'd love to see better WebView integration into native UI components (UINavigationController and the like), to provide things like swipe-to-go-back, which is monumentally hard to do on the web.
But hey. Maybe, just maybe, we'll end up back in a world were cross-platform development is viable. If Apple lets us.
Interesting, I see the same thing, though it hadn't occurred to me. Seems easily fixable, though I agree that we're not there yet.
However, I have uninstalled the Facebook app from my phone, and now receive push notifications from the mobile website, which I have on my home screen. It's a fantastic experience.
Unfortunately it's a limitation of the Android platform; you can't add arbitrary launch activities at runtime. So the Chrome team is unable to fix this AFAIK.
However, you could imagine a future release of Android that sports a custom homescreen app that just includes Chrome progressive webapps in the main app drawer. Or someone might be able to write a third-party homescreen app already that does that. (Not sure if Chrome exports that data though TBH.)
Also, FWIW, the "add to homescreen" is really just icing on the cake - even without it, PWAs save data locally and are launchable offline. If you remove Pokedex.org from your homescreen, you'll notice you can still navigate to https://pokedex.org while in airplane mode, and Chrome still reports some 6MB of Pokémon data as being stored on your device. (It remains to be seen whether this is a bug or a feature... but we'll see how many PWAs abuse it.)
The Chrome team should tell the Google Now Home activity team to show these apps in the drawer until they get the Android team to implement runtime (instead of install time) addition of launcher activities. It sounds like an instance of UX failure through non-communication.
I struggle to find the reference, but I'm almost certain that the unveiling of the original iPhone came forward with this intention ("progressively enhanced web sites provide 95% of the functionality we require"), which is why there was no app store or anything until the second release of the iPhone. We were supposed to develop amazing web pages, which could be placed as shortcuts on the home screen and function somewhat like a native app.
Of course, back then, I'm not sure there were any sites that were actually mobile friendly, and developers were more interested in hacking the device to make native apps than using a browser to make crippled apps.
"This app provides the functionality I require" is a pretty meagre goal. The idea of native apps using a platform's native support is that users come into your app already knowing how to use most of it, having learned the platform conventions.
If every app is a cross-platform web app, what's the point in having more than one platform?
> I firmly believe that we're due a "post-app" world where progressively enhanced web sites provide 95% of the functionality we require.
I don't think we are. Apps provide users with better performance - compiled native is going to be faster for almost everything and should also use less battery - and provide Apple + Google with control over the ecosystem.
The latter makes it possible for (e.g.) Apple to claim that it won't unlock a phone for the FBI.
It doesn't matter whether or not the claim is true. It matters that the claim is possible at all.
>If Apple lets us.
Apple won't. Nor will Google. It's a political decision, not a technical one.
There will be a post-app world one day, but it will only happen when there's a new platform and a new kind of OS - probably something AI-based like Echo/Alexa that has no concept of separate applications.
I'd be interested in a composable OS where you could build processes from free components and then share them. This is how a lot of web development works already - see also left-pad and NPM - but if a friendlier, simpler version was available in UserLand, that might start to chip away at the walled gardens around app dev.
Of course neither Apple nor Google are likely to support something like this.
> Of course neither Apple nor Google are likely to support something like this.
They won't when they're on top. See Microsoft, Sun, etc.
But when the cracks start to show, they will cave. Long term betting against internet technologies is almost as foolish as betting against Open Source.
And if you think about it, how much longer can the gold rush last? Especially for mobile devices. How far are we from saturation? Probably not that far. The markets that are left are much smaller and harder to enter than the existing ones.
Of course, Apple or Google could pull some tricks to create entirely new markets, but that's usually a long shot.
And when the stocks stop going up (or they go up slower than expected), that's when we'll start seeing concessions from them.
Sounds like someone trying to force web apps to do native apps' jobs. When something like React Native bridges web languages and full native benefits/performance.
I also just made the exact same switch, after years of wanting more control over my hardware without jailbreaking, I just want to install f.lux for crying out loud! As a web dev, i'm very excited to loose the chains of iOS :)
How did Android help you with f.lux? Apple just came out with a f.lux copy built into iOS, while none of the alternatives on Android work without rooting.
There aren't any programs that do the same thing without rooting. Android doesn't have any APIs that allow you to change the color temperature, so all of the non-root apps just add a transparent red overlay on top of the screen.
I know this area well since it's one thing I was really looking forward to when I got an Android phone and I was very disappointed.
If you want to argue that I shouldn't expect my user to have the newest iPhone you shouldn't also list WebBluetooth as a pro. My user probably doesn't have a device that supports it either.
If I ever get a Android phone, it will be Nexus series. I had an HTC and I waited ages for Android 4 update because AT&T didn't had there "customized" version, with bunch of useless apps on it. On the other hand, my friend was able to upgrade to latest version of Android, because he was using Nexus. I switched to an iPhone and I loved it. Better battery life, and clean installation.
My main exposure to Chrome web apps is Hangouts on Chrome for Mac and half the time I shut it down and choose to use the native app on my phone instead due to the poor, non-native UI and the battery life impact of Chrome.
edit: the other shiny Google Web App example, Google Docs, doesn't work either. In Safari it likes to drops keys, and the last time I used it in Chrome (last autumn), it would either crash the whole tab, or freeze it up long enough for it to tell me it gave up and that I should just copy the content and paste into a new document
It seems we're re-living the nightmare of Java "cross-platform compatibility" but with an even worse programming language.
> In fact, I think Progressive Web Apps (PWAs) actually have a huge leg-up on native apps because you can start using them immediately
> There’s just so much less friction for users to start using them
Every web app I've used has required a painful sign-up process, which is usually where I bail out of the process. Way more friction than an app store install.
> Every web app I've used has required a painful sign-up process, which is usually where I bail out of the process. Way more friction than an app store install.
That signup process can be made better. Nothing fixes the pains of having to download a large app over a potentially slow/spotty network, sacrifice an unknown amount of privacy, then having to twiddle a variable amount of options to get the thing to stop sending you notifications about every single action or event, then after a week of use, having to re-download the large app again because of updates.
> Nothing fixes the pains of having to download a large app over a potentially slow/spotty network
You mean like the 12 MB it takes to load a Google Sheet? At least with a native app, once it's downloaded you know it's there and it won't go into an indeterminate state if you happen to try to use a feature that hasn't been loaded yet.
> sacrifice an unknown amount of privacy, then having to twiddle a variable amount of options to get the thing to stop sending you notifications about every single action or event
These are not issues when you have iOS's permissions model
> These are not issues when you have iOS's permissions model
Which is 13.9% market share currently.
Unless Apple wants to make budget devices (they don't), this world does not exist, and it won't any time soon.
> You mean like the 12 MB it takes to load a Google Sheet?
Although I realize we are speaking in hypotheticals, and generalizing the type of apps people use (I realize there are smaller ~2 meg apps), the average size of an iOS app is 20mb, and the average android app is 7mb. You pointed out an exceptional use case, not the most common.
Facebook's mobile web app is very good. In fact it is quite a lot better than their native app on Android. I believe most of the examples of bad mobile web apps (eg: twitter, linkedIn) are because the organization focuses their resources on the native side instead of the mobile web app.
The website about 'progressive web apps' [1] has 3 demo apps. None of them work in Firefox 43 on Linux. The apps require JavaScript but fail to use the <noscript/> tag to tell the user.
I've an iPad 1 on which I can install web pages as web apps by bookmarking them. If the page has the right meta tags [2], the app/page will open as fullscreen. This works fine with many web APIs e.g. WebAudio. I do not know if Android or Ubuntu phone support Web Apps in the same way.
I like this way of distributing simple applications, but take care to check the JavaScript with Closure Compiler.
airhorner reacts to mouse clicks visually but plays no sound. (Debug console says: "EncodingError: The given encoding is not supported.")
voice memos needs cookies or local data but does not inform the user about this requirement. With cookies / local data enabled and after a reload, it does work.
The weather app also needs local storage enabled but fails silently when it is not available.
> Every web app I've used has required a painful sign-up process, which is usually where I bail out of the process. Way more friction than an app store install.
Support for password managers like LastPass is one of the areas where Android shines compared to iOS.
Also, you seem to imply that most apps downloaded from the app store don't require a sign-up process. I beg to differ. And I note that the sign-up process is even more painful outside of a browser (e.g. outside of the browser you can't use LastPass to generate a random password for you)
My main argument being that any password manager, be it Lastpass or not, tends to work better on Android because of features like "draw over other apps" which basically means creating a modal window on top of other apps. On Android this action can be initiated by clicking on an icon which lives in the notification drawer, and it can be done in any app, while on iOS it's only possible in an app that supports the iOS 8+ extensibility features (such as Uber)
On iOS Keychain works relatively well for Safari, but needs to be explicitely supported for native apps, which means basically never.
Also as far as I know there's no first party app to directly view your keychain items in iOS, which makes it useless when the domain detection fails (it's the most painful when the same service has two clearly different domains for desktop web and mobile web, which is a pretty common case)
I use keychain but end up duplicating a lot of entries in a Lastpast like app just to cover these cases.
> Also as far as I know there's no first party app to directly view your keychain items in iOS, which makes it useless when the domain detection fails
They fixed that in either iOS 8 or 9, there's now a "Other Passwords..." option that lets you browse/free-text search through all your saved passwords.
Yes, this definitely improved the situation, but I think there is still big limitations on what you have access to.
Perhaps some of the entries are not marked as web passwords, and/or it is limited to the passwords Safari has saved (Chrome or firefox passwords would get ignored for instance). I have hundreds of entries in my keychain and "Other Passwords..." won't display most of them.
As a behavior, it doesn't bother me much if Safari wouldn't get automatic access to other apps' keychain entries or generic passwords (from a security perspective it's a sensible limitation). Instead I would like a separate keychain app, mirroring the abilities of the OSX app.
Android sucks so bad, i hate having to develop for it. I pity all those who have disillusioned themselves into liking a substandard mobile operating system. Have you guys not tried iOS? It will change your life.
I did the opposite and can't believe how much better my life had gotten because my iPhone is just a simple tool that I use for communications and don't think about it as a project. With Android, I always wanted to tweak silly things and run Cyanogenmod because the handset firmware was always so bad and vulnerable. On several occasions I'd bricked my phone requiring hours of recovery, or had transient failures of cell service and communications issues. I guess if you have the right level of discipline, apathy, or use a Nexus device that may be more Apples to Apples (harhar).
I made a trade off, being a FreeBSD person I am one degree removed from a lot of the xnu/iOS team and trust them to do the right thing. Empirically it seems like they quickly ship updates for vulns and support phones for beyond their typical first world lifespan. I also trust Apple to worry about the baseband firmware for the lifespan, whereas that is completely unmaintained on all other handsets especially once you use a custom ROM.
What you're saying is that you left the freedom of your device to jail yourself into simple interface...?
Actually, this is a pattern that many products follow, as they evolve from a newly tinkered thing pioneered by enthusiasts to a mature consumer device.
There is much more "freedom" in 80's and 90's audio equipment. (And markedly higher build quality. Bargain stuff I bought as a teenager is now lauded on ebay as the good old stuff, "built like a tank.") However, there are also a lot more cables to deal with.
The progression is like this:
1) Pure tinkering, no standards
2) Enthusiast market, standards, high modularity/complexity
3) Prepackaged experience, no modularity
Cars also followed this pattern, come to think of it.
> Cars also followed this pattern, come to think of it.
I remember my dad complaining all through my youth about how the more modern that cars get, the less serviceable you are. That in new cars you need special computers just to tell them that yes, you did fix the problem and the car can stop complaining now.
10 years later ... man, if I have to even think about opening the bonnet and poking at something, I assume the manufacturer has failed at their job. I don't want to maintain my car. I expect my car to be a tool. Even taking it into the shop to get its tires changed every winter (and the additional 30euro checkup and winter-prepr, then spring-prep) are too much of a hassle.
Maintainability is the feature of unreliable equipment.
Maintainability is the feature of unreliable equipment.
Not necessarily. Modern airliners are highly reliable, so long as you follow the maintenance schedule.
Disposable equipment is a feature of markets driving costs down. It's a sign of commoditization and convenience+short-term reliability winning over long term reliability.
Considering structural widths in modern CPU's, I'd disagree. But CPU's are built by the billions and planes by the thousands, so the amount of engineering that can go into a CPU is insane.
> Maintainability is the feature of unreliable equipment.
Not quite. The whole purpose of maintenance is to increase the longevity of a product by making small, cheap, tweaks to complex parts that can fail due to wear and tear.
Everything lasts longer if you maintain it. A good knife, a high performance vehicle, a good pair of shoes, a couch, etc ...
I don't know of any product that is "as good as new" after years of use. Watches, even spoons, aren't as shiny as they were when you bought them for the first time.
I think his point is that the goal is to make equipment that minimizes having to make "small, cheap, tweaks to complex parts that can fail due to wear and tear".
That's not how it works though. Manufacturers realized they want to force you to buy again so they just made it unmaintainable with the same lifespan. iPhones are unmaintainable and they still become useless after 5 years or so.
5 years is a long time for a smart phone! And remember that a longer lifespan costs more money. I doubt many customers (myself included) would be willing to pay more money for an iPhone for it to last more than 5 years.
Agreed - which is why building mass market convinience stuff that require it is a bad idea - I have limited hours in a day - I do not want to spend any of them doing chores such as maintenence - I'd rather just buy a new working thing every x years and not care. Paying someone else to do the maintenence is nice in theory but finding someone reliable who won't ripp you off is too much hassle.
In college I changed my oil and filters. It was a pain getting under a car a few inches off the ground, disposal was tricky, and I had to spend time cleaning up nasty gunk. I also could only do it when the car had not been driven recently.
The fundamental problem with changing your oil is that it involves oil. I saved $30, at the cost of an hour of my labor. As soon as I had a job, that equation didn't make sense.
I did the same thing on a late 90's 3 series throughout college. A pair of car jacks or rhino ramps makes the job way easier. Also if you take your oil to pep boys they'll dispose of it for free. Either way I'd still do it if I didn't live in a city. There's something nice about maintaining your things, it brings pride in ownership.
I now have a much newer car (that I probably don't need since I don't need to drive to work and live in a city) and no garage so I pay for oil changes. On the college car I knew how everything fit together, I took everything apart to fix it multiple times, I changed/ upgraded/ retrofitted things in their to make it more enjoyable. On my new car I can't really do those things without more complicated tech. It definitely changes how you view the object. Both are fun "tools" but one was my fun tool the other isn't
Except for when you have to update the microcode due to bugs that freeze your system under certain loads. Or when certain calculations are incorrect and you could NOT maintain it and the whole CPU range had to be recalled
Oceans have different parts and are far more homogeneous than CPU's. Further individual transistors can break making parts a meaningful distinction.
PS: We call them silicon chips, but there are several tiny blobs of different chemicals involved. The process is closer to 3D printing than you might think.
I am aware of how chips are constructed. They are not built of discrete parts even though they are composed of multiple chemical elements. They are assembled through chemical processes that create a unified product through a few hundred steps. They are not an assembly of billions of parts and it is misleading to describe them as such.
Part does not just mean discrete object. The lower part of that beam is damaged.
pärt/Submit noun
1. "a piece or segment of something such as an object, activity, or period of time, which combined with other pieces makes up the whole."
2. some but not all of something.
"the painting tells only part of the story"
You might be thinking of Component, but even that's arguable. CPU's often contain nonfunctional parts so each transistor is actually a meaningful distinction.
The need to preform maintenance during the useful life of an object is a defect. The ability to extend the life of an object through maintenance is useful. These statements are not in conflict.
Early CPU's where built to be maintained, modern CPU's are not. That in no way makes modern CPU's worse. The Hubble cost more to maintain than it would have been to replace with something better. From a utilitarian standpoint the ability to maintain it was useless, from a political standpoint NASA loved being able to pretend those missions where useful.
At a deeper level maintenance generally means some parts break down before others. So, an ax becomes less sharp over time. Meanwhile the head also loses strength which limits how long that head can reasonably be maintained.
QED: Maintenance is all about having different parts that ware out a different times.
I'm not taking sides in this debate, but I am surprised that we haven't yet seen a product which is a car lease for 3 years where the hood doesn't even open. The car ships with synthetic oil and high mileage tires and literally the only thing you do is put gas in it. The high end version of the lease involves someone driving to your place of work and filling up your car with gas, so that for three years you literally just get in and drive.
I think there is enough of a luxury market for that to be a thing, and I am surprised we haven't seen it yet.
This is absolutely not true of equipment with moving parts. It must either be maintained or treated as disposable. One of the hallmarks of commercial-grade equipment is its ease of maintenance and repair. You might not find it fun, but professionals who rely on that equipment for their livelihood understand the long-term TCO for well-maintained commercial-grade equipment vs. disposable consumer-grade equipment.
Whether that applies to mobile phones with their general lack of moving parts is an entirely different question.
> It must either be maintained or treated as disposable.
While I agree with this, I understand where Swizec's comment is coming from. I have a few business acquaintances who have been automotive engineers for 30-40 years now. They have an excellent idea of how their cars work. And yet, they rue that earlier, they could open any broken car and get it to run. Now, there's not much they can do to fix their own cars. Pretty much all they can do when they see a blinking light is take the car to a mechanic. The older generation has learnt that they can't fix their cars. The newer generation, unsurprisingly, doesn't even want to make the effort. The older generation could fill up their oil, change their filters, etc. Now, most people just get their mysterious machine serviced every few months. "I don't want to maintain my car" seems like a natural consequence of how cars work now.
OBD2 doesn't tell you much, in a lot of cases. It might identify a loose gas cap or a broken plug wire, but for everything else that can wrong on a modern car you need the manufacturer's proprietary scan tool and a subscription to their online service documents. These cost thousands of dollars, needless to say.
Not that, but certain "luxury-brand" cars specifically don't want you fiddling with anything, and to simply bring it in for a service.
E.g. The weirdest part of it (after driving an old car for the longest time) was they explicitly tell you not to have gas-station attendants check your oil for you. If you're leaking/losing oil, the lights will at some point come on and prompt you to take the car in for service.
> E.g. The weirdest part of it (after driving an old car for the longest time) was they explicitly tell you not to have gas-station attendants check your oil for you. If you're leaking/losing oil, the lights will at some point come on and prompt you to take the car in for service.
Why is that weird? It's a pressurized system with plenty of sensors, you are certainly better off following the data than a gas station attendant (which itself is an old fashioned concept in most places).
And this becomes even more true as the thing with moving parts becomes more expensive. For an excavator which costs several hundred thousand dollars, when a shaft wears out of spec, they send it to a welder to apply more metal, then onto the lathe to trim it back into spec. In other words, when the equipment gets expensive enough, parts which you wouldn't normally consider to be maintainable become maintenance items.
>Maintainability is the feature of unreliable equipment.
I want to see a two hour debate on that by top engineers from several industries because that seems to be one of the big questions of our time in regards to product development.
If you find an engineer willing to argue in favor of non-maintainable equipment, he's not a true engineer, but some failed engineer who's moved over to management and is more interested in profitability than in users having a quality product that allows them to keep their TCO low by being able to maintain it themselves (or by an independent professional) and keep it for a long time instead of throwing it away early.
There is, quite simply, NO good argument in favor of non-maintainable equipment, unless your goal is to increase profits. This doesn't mean we should go back to the days of carburetors and points; modern cars are extremely reliable and actually highly maintainable if you have the right equipment, but there's no reason they can't make the computer-based service tools publicly available so that anyone can service them themselves. They keep that software and those interfaces secret to increase profits.
>There is, quite simply, NO good argument in favor of non-maintainable equipment, unless your goal is to increase profits.
As a universal assertion, particularly in the realm of products intended for personal mobile use by the general population, this absolutely and utterly wrong. The fundamental core issue is that many forms of maintainability require dead matter, simple as that. Take removable vs non-removable batteries, perhaps the most classic example in portable electronics: having a removable battery requires user safe contacts that can handle repeated mechanical strain, the battery itself to have its own protective case, the device case to have a way to interface the battery and the resulting structural support and tradeoffs therein, the dimensions and shape of the battery are significantly constrained, etc. All of this boils down to significant additional stuff that isn't battery, or performing any other useful role for that matter, but rather is simply scaffolding/support infrastructure. In other words, dead matter. There is no free lunch. A removable battery fundamentally can never match the size/weight/performance matrix of a non-removable one, full stop. That's the tradeoff for being able to swap it. In this specific example there are additional potential tradeoffs too for some use-cases (it's significantly easier to have a higher degree of harsh environmental tolerance with a fully sealed system for instance).
Now, yes, there is absolutely room for reasonable disagreement about what side of the tradeoff is correct for any given application or use-case. There are times where the utility of maintainability or modularity is well worth a reduction in default performance. But there are also many cases where a higher percentage of active matter in a product is a legitimate feature to the majority of its intended users. The "No True Scotsman" fallacy you use to start your argument should have been a flag and caused you to rethink the rest of it.
I disagree. You can call this "moving the goalposts" if you want, but I don't think it is. You seem to be basically be claiming that something is only "maintainable" if you can easily disassemble it down to the smallest component; I'm not arguing for that at all.
If there's an actual engineering reason to reduce maintainability (e.g. it improves performance), that's a worthwhile consideration. What I'm talking about is when a product is made intentionally non-maintainable, or maintainable only by people with service tools which are non-obtainable, solely because it increases profits. There's no good reason for this.
Now, for your battery example, I don't think that even applies. From what I've read and heard, most "non-replaceable" batteries are actually completely replaceable, it's just not so easy to do and requires a bit of skill. "Maintainable by a service technician with some common hand tools and half a brain" does not equal "non maintainable". I've seen tons of videos on YouTube showing non-professionals how to take apart their phones and replace those "non-maintainable" batteries. It's not like the things are epoxied in there. And you're right, you can save a bit of space by going that route; it's an engineering trade-off.
My example of something that's deliberately designed to not be maintainable (by the end-user or someone not employed by or affiliated with the manufacturer) would be a car that requires regular service, but where it can't be done without connecting a laptop to the car and using an extremely expensive software program to really do nothing more than tell the car the oil has been changed. This makes it impossible for the customer to do the service himself, or have an independent mechanic do it unless that mechanic is willing to shell out the money needed for that tool.
>If you find an engineer willing to argue in favor of non-maintainable equipment, he's not a true engineer
And probably not a true Scotchman either.
I mean, obviously only a failed engineer would ever propose not maintainable products -- everybody should use old maintainable razors for example, and not (recyclable) disposable ones. /s
Hmm. Take it from a resident of Scotland, the words are Scot and Scottish. Scotch is whisky or tape, and when it is applied to people is likely to result in contempt at best
Oh please. It's not engineers who propose non-maintainable products, it's the marketing and business people who make those decisions. Engineers just carry them out.
As for razors, that's a terrible example. Gillette is famous for the whole "razor and blades" marketing scheme, which obviously was invented by a business person seeking to maximize profit. Disposable razors are a bad idea all around (and they're not recyclable easily; recyclable things don't have metal and plastic merged together so they can't be separated): they perform terribly and are wasteful and cost more over time. The only thing they're good for is if you left your razor at home while traveling. I like old DE razors personally, but even a modern razor is "maintainable": you can replace the cartridge heads. You can't replace the individual blades because there's no feasible way of making a blade assembly that small, with that kind of precision, where an end-user can replace the blades individually, and besides the plastic part of the blade-holder isn't very much plastic anyway. This example is just silly; it's like claiming a car air filter is "unmaintainable" because you can't wash it out, or you can't separate the paper pleats from the plastic frame. That's just dumb. As long as the filter is fairly easily replaceable, it's OK for the filter (a consumable) as a whole to be a disposable product.
I am not arguing for things to be made so they can be easily disassembled to their smallest components.
I'm sympathetic with your overall point, but the fact is, I own and enjoy a lot of cool gadgets that simply couldn't exist if your words became law.
It's best to think of "unmaintainable" things as monolithic components of a larger system. You wouldn't complain about not being able to fix a light bulb, would you? Then don't complain about not being able to fix a smartphone. Your phone is just the tip of a leaf on a very large tree... and the same will be true of our cars, soon enough. This isn't necessarily a bad thing.
As for what "true engineers" would do, engineers have to take the big picture into account and design accordingly. Everything real is a compromise of some kind, and maintainability is only one factor among many that can make a product succeed or fail in the marketplace. If you design something that fails in the marketplace, it probably doesn't matter how awesome it is... or how easy it is to fix.
An item that can't be maintained is an dark pattern. It is a sign of planned obsolescence. It is goes against the interests of the user. Items should be designed to have long lifetimes. This only doesn't happen because capitalism incentives manufacturers to sell consumers a new product as often as possible. There is no reason an item can't be user friendly, reliable, and maintainable.
By creating reliance(for service), a future revenue stream is ensured(for manu or 'authorized' provider). Over-engineered products with features of spurious benefit only adds to the reliance. That is The Service Economy, in a nutshell. But don't worry, we can always pay more!
I bought my Corolla off the lot in 2004. It currently has 120k miles on it and I've never had a major problem with it.
OTOH, I always maintain it by taking it into the shop and having them do what they do.
The only issue I'm having now is the A/C would sometimes go out last summer, but I'll be getting that looked at as we get into the summer months.
I expect this vehicle to be running just as well at 240k miles. I've already got over 10 years in it and I don't expect another 10 years to be outlandish.
That's lasting power, but I don't maintain the vehicle myself, I pay others to do it for me.
An item that can't be maintained is a light pattern. It is a demonstration of confidence in good design and engineering; longevity for as long as an item is useful, but no longer.
It is in the interests of the user to do away with the costs and complexities of making something maintainable and the consequent obligation to do maintenance.
This only doesn't work well because once something reaches a reasonable 'end of life', there often is no identical or equal replacement. This generates in the user a wish that they could maintain their old device to prolong its use, to avoid having to choose and learn a new and different device which may not even have any improvements.
There is no reason an item can't be user friendly, reliable, and need no maintenance.
The majority of people don't even maintain their bodies, which are priceless and irreplacable - it does not make sense to say capitalism is failing because it's not meeting people's interest in doing maintenance, when people don't show any interest in doing maintenance (outside of a small subset who care about maintaining certain specific highly prized or expensive and necessary items).
When my teeth start to rot I get them fixed at the dentist, then start to maintain my teeth by brushing them. If I get a wound on my arm, I wash it and apply bandages, not finalize my will and kill myself. When your toilet gets clogged, you plunge it, not buy a new toilet. When your carpet gets worn out you replace it, not tear down the whole house and buy a new one. If the RAM on your computer fails, you buy new RAM and install it, not scrap the entire computer and buy a new one. Absolutely, ideally everything would run perfectly forever without intervention, but disorder is inevitable in this world.
Without intervention, the artefacts of civilization would literally crumble within decades. With proper maintenance, a building could last for centuries, a car for decades, a computer or phone I would hope for at least 5 years.
Our throwaway culture is threatening our existence via environmental degradation. We're in the middle of a mass extinction, and climate change could literally end life on Earth. We need to consider the long term sustainability of our economy, way of life, and civilization.
I'm still with you father on modern vechicles. Yes--the engine light comes on, and I can read a PID trouble code on many vechicles.
The fault code is not always the problem. It's just not that simple to fix a modern vechicle. I pull a generic pid of XXXX, but maybe, around 30% of the time it's just that error code.
Manufacturers have scan tools that read there products very well. Much better than my Snap-on 2500mt. I can't buy their tools, nor will they sell their priority information to
most mechanics.
So, working on vechicles made after, I say, 2000 is really getting hard.
So hard, I believe most vechicles made in the 90's will become collectable? Why--they have less do-dads, and Emmission sensors.
It gets monumentally difficult if your trying to get a vechicle to pass CA Emmission tests.
I thought OBD2 would make working on vechicles a breeze. I have not found it to be the case.
I have found buying a new vechicle is a lifelong relationship with the dealership; at dealership repair prices. I think manufactures did this on purpose. "Get them to buy your vechicle, and keep them coming back?" A sales tatic that software companies have been relying on for years now? I still remember buying Lightroom 1 at $199.00, and thinking that's all I will spend. What a deal?
I actually foresee a bunch of bricked, by failing emmission tests, vechicles in the near future.
In Germany the vast majority of cars on the road are well looked after and relatively new - at least that was the persistent impression I got during my time there.
In the US the average car age seems much older and they are less well maintained on average - the inspection is a breeze in comparison. So in Germany the overall amount of pollution is lower to start with so exemptions for older cars is a less objectionable and more clear cut. Comparatively. That's my thoughts on it anyway :-)
I had a 1974 TR6 with an H kennzeichen! It was an adventure owning that car in Germany.
Good post. And that's why if I ever by a car it'll be older and not require a proprietary computer sensor to maintain.
That and I have a hard time with the new "smart" driving technology. I was in my friend's Subaru last week and it beeped anytime he did anything remotely out of line...
> Good post. And that's why if I ever by a car it'll be older and not require a proprietary computer sensor to maintain.
If that day comes you should find a way to secure it because almost all older cars are very easy to steal. Those computer bits make new cars much more difficult to snatch.
It's great, but without tinkering - you never really learn how things actually tick.
I always chuckle to myself when I'm told by 40-year-olds how their 14-year-
olds are "so amazing with computers!". But yeah - Jimmy can open up Facebook on the iPad like nobody's business, but Jimmy has no fracking clue what's actually happening or why, or how to even diagnose common issues. Then again, maybe that's ok if Jimmy doesn't give a crap about how computers work.
I grew up in Europe and never had a car until I was in my late 20's so I never tinkered with them. Now, if something goes wrong, I just take it to the dealer. So I'm like Jimmy with the iPad.
There's no problem for me or Jimmy. The world is fine.
But then there's Billy. Unlike me, Billy didn't grow up with DOS and early Linux, so Billy has never had to look at a hex dump or figure out what pointers are or registers or flags - Billy just hits "Go" in his Java IDE and prays everything works out. If it doesn't, his eyes glaze over and he heads over to Stackoverflow.
Billy is hampered by today's world. He doesn't have to tinker with his PC or iPad, but not only that, he's actively being prohibited from tinkering with them. They're not only appliances, they're sealed off, protected by dozens of copyright and patent laws appliances that you don't even technically own anymore without signing-off on 7 different legal agreements. It's insane.
Billy might never learn about how a computer actually works. And one day he'll have to diagnose/fix something that only the 30-somethings can and he won't know how, and not because he's dumb.
Those DOS hex dumps meant nothing to me until I had a couple of microcontrollers and CPU architecture classes under my belt.
Like you, I'm also nostalgic about those error dumps and tinkering. But I also don't remember a single time when my reaction was more than "Oh neat, I understand my CPU did an error. reboot"
Unlike the HN readership, most people don't want to think about the tech. They just want to get things done, and are willing to pay big bucks for that convenience.
What you're saying is that you left the freedom of your device to jail yourself into simple interface...?
That's an incredibly hyperbolic way to spin their choice. No one's in prison here. A choice was made based on desired functionality and features. And they paid for that choice out of their own free will.
They've chosen 'the jail of a simple interface' the same way someone who gets tired of working on a classic car just to keep it running as a hobby decides they'd like to buy an A8 has imprisoned themselves to the dregs of luxury car use and bumper to bumper manufacturer maintenance.
I am not generalizing here. I am solely talking about kev009's decision in moving. Read his comment, his motivation to move is because he could not resist doing things that resulted him with a bricked device.
The way his comment read to me is he felt compelled to tinker because of flaws in the device like bad firmware or poor design that didn't seem to work well for him.
So he switched to a device that worked well enough so he did not feel that compulsion. After all, he could equally choose to jail break his iOS device and tinker with it. But there's no reason (for him) to do so.
In 5.x -- because Moto/Verizon refuse to update my X to 6 -- the path to add a news number in my call list to my list of contacts is... several steps and non-obvious, via the route of the command to "edit number before calling".
With each Android revision I've encountered, I feel more pissed off at it. Whoever's making these changes -- it feels like they are jerking me around for the sake of their own purposes -- whether ego, marketing/ads, or whatever.
And did I mention, my device -- still under contract -- is stuck on a vulnerable version of 5?
I'm about done with this shit. I've been looking at the Nexi, but... I'm just pissed, at this point. Maybe Apple's a "bully", but sometimes that seems to serve a good purpose.
In stock Android, just click the "face" placeholder left of the number in the call list, then the new contact button on the top right of the screen. Moto is close enough to stock for this path to be present.
Much as I was happy with my Nexus 4 when I had it, this is one thing that I really didn't like about the OS' design. On iOS, it can generally be assumed that tapping on a list item will do the same thing no matter where on the item you tap. I found it infuriating at times (no hyperbole) to tap on part of a list item on Android and have different things happen depending on where I tapped, or to discover hidden functionality.
Just one of the many small reasons why I ended up going back to iOS. To be fair, I could still happily use Android and the main reasons had nothing to with UI, but still, it contributed.
This vulnerability was already fixed for Nexuses by the time the article was written. The exact same thing has happened for iPhone. People forget that to date, a far higher percentage of iPhones have actually been infected with malware than Google-flavored Android phones due to XcodeGhost and that actual Google Android devices like Nexuses have an even better security record than that.
Malware infections from the Play Store have usually been on the order of thousands infected, with the occasional instance of 500k-1 million (http://www.ibtimes.co.uk/google-removes-13-android-apps-play...). XcodeGhost infected more than 500 million of a smaller total userbase (http://www.macrumors.com/2015/09/20/xcodeghost-chinese-malwa...). The numerator is an order of magnitude larger, and the denominator is an order of magnitude smaller, so a much higher percentage of iPhones have been infected with malware.
I can't find the percentage of Wechat users who use iOS, but that 500 million number is potential based on the fact that Wechat had 500 million users at the time.
Clearly not all are iOS, and clearly not all happened to have that one compromised version.
That was indeed a serious breach, but the rigor of your comparison is lacking.
We can only judge by devices that are out of support.
Galaxy Nexus: released in November 2011, last release: 4.3 in July 2013. Update Window: 1 year and 8 months.
Nexus 4: released in November 2012, last release: 5.1.1 in May 2015. Update window: 2 years and 6 months.
Nexus 5: released in October 2013, last release: 6.x (?), probably April/May 2016. Update window: probably 2 years and 6 months.
(Granted, the Nexus 4 received security updates for a longer period.)
They have recently announced a better policy:
Nexus devices will continue to receive major updates for at least two years and security patches for the longer of three years from initial availability or 18 months from last sale of the device via the Google Store.
Don't buy a Nexus. I have and it's a huge disappointment.
I had a perfect Nexus 10 device running KitKat. And then it keeps nagging to upgrade to Lollipop, so I did. Ever since that, it runs every application slow as hell. If you allow the battery to run out, prepare for pain. Once you fill up the battery and it restarts it will start "optimizing" all installed applications. I have about 80 applications and this takes an hour. Every time it reboots!
Also, whether the sound will work after reboot, is a lottery. If you leave it plugged into the power, it surely won't work.
It's been how long since Android L came out and they still haven't fixed these issues for their own flagship device. Nexus is a mess and we're not even beta testers. Just a big fu from Google.
Sorry to pick on your response, and you're right, a factory reset might be worth a shot, but factory resets on Android are a PITA. The last time I did it (my last 3 phones have been Nexuses), it literally took half a day to get the phone back to the point it was at previously - I had to install OS updates, re-install apps (which also reset to 0 in many apps), re-download music (I admit, I could copy files over from my laptop). It makes setting up a new iPhone for the wife look like magic.
I wouldn't mind, but even with Nexus phones, my experience of issues is that you end up crawling Google, and the answers are the technical equivalent of doing the hokey cokey in the hope of curing a cold: "Uninstalling Snapchat made the problem disappear!"; "Install this app and use it to work around an issue", etc.). And then the last resort - the factory reset. I'm not doing anything particularly exotic with my phone, the thought of the hassle of a factory reset is just depressing.
I bought a Nexus 5X at launch, after my replacement Nexus 5's power button died. And it has been a laggier experience than the 5 (I admit the latest update seems to have improved things (though it's still not equivalent to the 5 IME). But looking for other people with the same problem you see the same responses, like a repeating background in a roadrunner cartoon - "Mine runs buttery smooth"; "Maybe yours is faulty, RMA?"; "Tried a factory reset?". Sorry, I don't enjoy this detective work/maintenance.
I doubt the iPhone experience is perfect, but it can hardly be worse, can it?
Ahhh no. Factory resets don't do ANY OS upgrades. All they do is wipe the data partitions. Unsess you downgrade the firmware no OS needs to be upgraded.
I've wiped my n10 many times. Wipe boot and let it reinstall. Takes a while to reinstall but hands off.
The n10 is problematic hardware wise. Mine will do random reboots and always has. Boots fast so not a huge issue but annoying.
Nexus devices have pretty much proven out to be that way. I was going to move to a Nexus before abandoning Android (after about 7 years of using various phones) but they cut off updates way too early. My friend has one and overall I was just not pleased with it. Build quality as well. I ran Cyanogenmod on my phones usually and helped a lot but I'm still happier with my iPhone.
I ended up moving to an iPhone 5S and I love it. Right size (for me) to hold with 1 hand while holding the rail on the train or bus, and runs really well with no problems. I maintain my work computer and home machines, that's enough. I really didn't appreciate what Android offers and it really is a shame that even the Nexus isn't the answer. I'm not a hater, I use what works for me.
There is no real iPhone equivalent in the Android market. The real kicker for me was that my wife has been using an iPhone 4S to this day, since 2011. I went through 3 or 4 Android phones in that time. Not low end phones either, Motorola Droid, GS3, GS4, HTC Thunderbolt... absolutely absurd.
Today we buy apps once and both use them, enjoy the iPhone tracking services that are built in, and the fact she just got iOS 9.3 is flat out fantastic.
Apple has literally earned our business and will continue to get it.
I'm still using an iPhone 4S and I have no reason to upgrade. a while back I called to see what it would cost me to upgrade through my provider, and I think I was quotes something like $600 (that's the cheap, 2 year contract version), and I just cannot fathom why it's worth spending an extra $600 for the new iphone.
The only think I wish was better is the load times on the kindle app. We're talking seconds, so not worth $600 to get better hardware for it.
As far as I'm concerned, the 4S is perfectly usable.
We're waiting on hers to break too. But I'll be more than happy when that time comes to toss Apple their $600 or whatever they're asking for a iPhone6S Plus (that's what she wants) or 7 Plus. She's a heavy user of it, both games and calls. That little thing has seen a lot of "Cookie Run". :)
It's amazing too because the phone was originally Verizon carrier locked, then Apple/VZW sent out an update to unlock 4S phones through iTunes and now she's been using AT&T and before that, T-Mobile.
I sparsely use my 5S, and will probably replace it with a SE when the time comes. I'm more than happy buying apps from Apples store because of the ability to install on both our phones. My most expensive app was $20 for TouchDown (coming from Android I was using this for work email and liked it). She's able to use it as well. But given something with the right utility, I'd pay more than $20 if it's on iOS.
Apple made the right call in building higher quality devices, providing the best support they can, and then banking on the AppStore to pay off. Since there's only so many iPhones to optimize for, when we do buy apps they Just Work. I had a lot of trouble with certain apps on the phones I listed in my last post.
When she's missing on a Saturday morning I can see she just went to the store without hassling her. If I'm at a Python meetup or other user group, she can see if I'm still there without calling/texting. Just now I see she's 2 miles from being home from work. If she loses her phone, I can locate it or make it sound an alert, lock it, wipe it. iCloud is so nice as well for both backups and getting access to photos without even plugging it in. It's rendered iTunes useless for me, and I was never an iTunes fan.
Yes, a lot of these features are possible on Android but iOS got there first and they just work so well and built in from day 1. Zero additional apps needed. I'm also happy with iOS' interface. It's just ideal IMO. Then the build quality and support as mentioned before.
I use a NUC for my desktop, but she uses a laptop and I've never had a Mac or Macbook but we have absolutely no qualms in buying them when we need new machines. If I weren't 100% satisfied with the NUC, I'd strongly consider just buying a Mac Mini as well.
Anyway, sorry about that. I'll stop singing the praises of our experiences with an old iPhone 4S and 5S. :) But I completely understand how you're happy with a 4S. We're really that happy about our situation as well. And I hated smartphones before. I wanted to go back to no phone at all before moving to iOS.
Having gone back and forth myself a half dozen times, (and sticking with iPhone this time), the thing I miss the most on Android is iMessages. Sending full photos and videos is really nice and I just appreciate the simplicity of the interface. On my last Android device (LG G2) Hangouts still didn't have SMS support (and it was pretty ugly). It was always "coming real soon now!".
My reception on my MVNO carrier sucks at the house, but that's OK. She just has my Facetime Audio number down as primary. Signal is much less of an issue, and call quality is much better. If I've got WiFi in the building, it doesn't matter if my cell signal is weak.
I could go on all day... but yeah. I guess it cuts both ways (Apple/Android) to an extent. But there's a lot to be said for being on the same platform as your spouse.
Well, I have nexus 4 since 2012 and have been using to this day. I just might use it for another year (unless the new Nexus phones this autumn really impress me). Some of my relatives still use Samsung Galaxy S3. It is possible to use an Android phone for more than a year. I have no clue why you went through them so fast. 4 phones in 5 years? So you upgraded nearly every year. Why?
Only getting what's promised is a disappointment. My expectation from Google is that they over-deliver on their promises. Being pressured to buy a new (much more expensive) device is sure to turn me off from buying one.
I had to upgrade almost every 1 1/2 years due to various problems. I wanted to stick with Android. I kept hoping the next one would be the "iPhone" of Android but it never landed. I don't think it ever will. The last GS phone I looked at was damn near an exact copy of Apple's all-metal design but Samsung is really wearing on me.
The best phones I had were the Droid 1 (for its day it was ok) and GS4. I don't have a ton of bad things to say about them, but the GS4 was too locked down and got returned for a 5S. Androids bigger appeal is easy hacking with CM and other mods. My GS3 just started randomly restarting, so it flaked out. My HTC Thunderbolt was definitely the worst piece of electronics and software that I've ever put my hands on. It was an absolute abomination.
They all had strange slowdowns, lockups and restarts at one point or another. The Tbolt took the cake on that behavior though. I still have the GS3, it works but it gets used as an Alarm Clock Xtreme that sits next to our bed. It's running CM and reliable enough for that. But when I really use it, seems to flake out eventually.
The biggest things I appreciate from the Android space is the great variety in smartwatches, and GearVR is pretty neat. If Apple has their own GearVR someday I'll definitely be onboard. I think that's the future of VR for the masses and Apple will swoop in and perfect it.
Apple did the same thing to the original ipad. It was a great device with ios 3.x when it launched. The ios 4.x -> 5.x transition rendered it useless. The original ipad had just 256 megs of ram, around the time ios 5. arrived the ipad 3 was out with 1 GB of RAM. As a result you could see that apples own apps were making assumptions about system resources that were not true on the ipad 1. Safari, Itunes etc would crash routinely. Added bonus with apple is that they dont allow you to downgrade to previous versions of ios.
You need to factory reset your device or maybe even reinstall the OS. I had the same issue with my Nexus 5 and Nexus 7 (2nd gen) and after doing factory resets after the update to 5.1.x, it was like I had a new device.
In 2010, I was considering getting into Android development, so I paid full price for an unlocked Nexus S when it came out (I think it was about $500). At about the same time, I bought an iPhone 4 for my wife. That Nexus S became slower after each upgrade until it was nearly unusable. The UI was so janky that making or receiving phone calls was difficult, and wasn't even worth considering using the browser. The iPhone 4 stayed just as good as the day we bought it and my wife didn't bother upgrading until the iPhone 6S.
My current phone is a $200 Moto G and I'm perfectly happy with it. Lollipop runs well, battery life is good, and with a cheap SD card I don't have to think about storage. It isn't as nice as the iPhone 6S, but the Moto G is great value.
Honestly the Moto g is probably the best value phone available. Even the earliest version without 4g or the SD card would still serve my purposes perfectly at a great price point.
> The iPhone 4 stayed just as good as the day we bought it and my wife didn't bother upgrading until the iPhone 6S.
This isn't a typical experience. There's a reason that iOS9 is only on 80% of "active devices": people hold off deliberately. There have been many iOS updates since iOS4 that have caused widespread criticism for their effects on older phones.
It is pre-compiling apps from java to native executables. This comes from the ART runtime which is the default in Lollipop and newer. Google for "android ART"
I think this is a HUGE problem, and that somebody is going to die because they're unable to call 911 while the phone is "optimizing"
Allegedly in Android N this will be much faster. When I upgraded my Nexus 9 to N this step was probably less than 30 seconds long. I almost didn't even notice it.
Clean as it gets? That must not be a very high bar. I bought a Nexus 7 once and it came with an HP Print services app that could not be removed. I would be willing to bet that would be classified as crapware by most users.
This is the main reason I stuck with iOS, even the the "pure" Android experience the Nexus line is supposed to offer is tainted.
You mean like all the Apple apps you can't remove on iPhones? The difference is that on your Nexus 7, you can disable the HP Print Driver, so you never see it, while on your iPhone, those Apple apps are going to keep taking space on your home screen and continue to waste battery and data on updates.
And on Samsung, we have Samsung apps. Double standard?
Yes, not all of them are Samsung apps but those are mainly what Samsung users rile them for.
Once again, you are not forced to suffer this. You have the freedom to get out of this. In your case, you DON'T!!
!
And that's why Apple fans will never get it. We do have a lot of crap on Android just as you! But the thing is, we don't have to suffer it! We have the freedom to change this!
That is why Android remains a superior platform. You get to choose your experience!
You mean like Yahoo! Weather, Yahoo! Stocks, and (formerly) Google Maps and YouTube?
To actual users, it doesn't matter whose app it is. It just matters that they don't want them, and most of the Apple preinstalled apps are utter crap.
Meanwhile on Android, though the apps aren't removable because the system partition is read-only, the apps are disable-able so the user never sees them, which is far better than what iOS lets you do.
It amazes me when Android users say that the answer to fleeing a walled garden where one company controls the hardware, the software, and the app store is by buying a phone (a Nexus) where one company provides the hardware and software and if you want to stay safe, only use their app store.
I'm an iPhone user myself but I understand this impulse. Having safety and compatibility sorted out for you really is an important time-saver and convenience. However, when you want to do something that isn't part of the manufacturer's plan there's only one way to go. I probably wouldn't sideload many apps, but when there's one app that makes my life easier and app store rules prohibit it, I'd really appreciate the flexibility.
Long story short: just because you can doesn't mean you must. Options are nice but so is not having to think about it. The Nexus is a middle ground for Android
> I probably wouldn't sideload many apps, but when there's one app that makes my life easier and app store rules prohibit it, I'd really appreciate the flexibility.
Apple relatively recently removed the requirement to pay for a developer account to compile and run apps on your own device. You can pretty much sideload apps like you can on Android, just with the added requirement of re-signing them for your device specifically (which is IMHO a nice security feature). A lot of the app store rules are enforced by human review (e.g. only being allowed to use background execution for certain things), not the sandbox itself, so you have a comparable amount of flexibility (one thing I still really miss is the ability to do JIT and dynamic code generation).
> I probably wouldn't sideload many apps, but when there's one app that makes my life easier and app store rules prohibit it, I'd really appreciate the flexibility.
Apple relatively recently removed the requirement to pay for a developer account to compile and run apps on your own device. You can pretty much sideload apps like you can on Android, just with the added requirement of re-signing them for your device specifically (which is IMHO a nice security feature). A lot of the app store rules are enforced by human review (e.g. only being allowed to use background execution for certain things), not the sandbox itself, so you have a comparable amount of flexibility (one thing I still really miss is the ability to do JIT and dynamic code generation).
Nexus devices have a variety of manufacturers. The current 9 is made by HTC, the 5X by LG, and the 6P by Huawei
>one company provides the software
Nexus devices all come with unlockable bootloaders that allow you to flash custom Android ROMs such as Cyanogenmod. Past that, other operating systems such as Firefox OS and Ubuntu Touch could be flashed on Nexus phones such as the Nexus 5.
>app store
F-Droid is an alternative FOSS app store available for Android. You can also use Amazon's App store which is what Amazon's Kindle Fire Android tablets do rather than Google's.
The Nexus 9 is a tablet, and the 5X and 6P were released within a month of each other. So they're all pretty relevant, and are targeted at different markets.
Because they like the awesome hardware, they can install the software from another company if they wish and even use other app stores they trust, or better yet make their own and run them instantly without a hassle.
It is the freedom of choice. And the quality of the hardware that makes them say that!
There are people out there who are either going back to flip phones or getting rid of their phones entirely. I chose to go to a Nexus 5X instead, but I feel people wanting to simplify their lives and focus on things that matter to them more with fewer distractions.
I was a longtime android user. Now jumped to iOS. It was not just the crapware but also the sheer audacity of android developers to access any and every piece of information available on the device. Marshmallow will fix things but the ecosystem still has to catch on and I don't think that developers would be quickly jumping on board.
I remember a very big media house published their first android application in my country. They demanded access to contacts, calendars, locations, camera, gallery...basically everything imaginable. And there was a fierce backlash from users.
It's always a matter of trade offs. For some people, tinkering with their device is more important. And for the rest, they just want to get their work done and for their devices to get out of the way. I have come to terms with the freedom in the latter category now.
I tried in February to switch to the Nexus 6P. I literally had to restart it TWICE on day one. How is that even reasonable? for 650 dollars, that's a joke.
I'll get downvoted to hell, but I really don't care, iOS just works (tm), and I'll take that over custimizibility any day of the week.
This is the first time I am hearing about someone having to restart their 6P twice a day. I have been using mine for 5 months now and I would have restarted the phone may 5 times other than the times I was updating it.
With Android you have a choice to buy devices with unlockable bootloader so you can get root without looking for on exploit. On iOS you have none such.
And the fact that every iOS version ever has been jailbroken only tells you how hard security is... specially against an adversary with full physical access to the device.
Has N6 and Note 4, just got iPhone 6s+ a month ago, can't believe I stayed with android so Long, the only thing I miss on iphone tho is the touch flow keyboard from windows phone, nothing on iphone and android comes close. :(
You know...I used to think the way you do. But given that we're the product in the Android ecosystem, lately I'm wondering more and more if I've made a mistake. If the perms were better on Android...if Google's control and permissive misuse of Android were better, I might feel differently.
> What you're saying is that you left the freedom of your device to jail yourself into simple interface...?
Hmm, I think it's only a jail if it feels like one. I did something similar for my photography, "jailing" myself to a fixed lens with no zoom. It was truly liberating to lock myself in. Yes, I realize the oxymoron there. But I could concentrate on making the best of my skills rather than falling into a gear swamp.
That's how it's always come across to me. I buy Nexus or Nexus-like devices (the 2014 Moto X being an example of the latter) and just like iPhones, they work just fine for me out of the box.
In general, even the devices I don't personally like with OEM skins and addons work just as well out of the box for typical uses like web, email, phone, calendar, nav, and your average smattering of entertainment and communication apps.
In that regard, there's not a lot of difference and both platforms succeed well. It's more about how well they "fail". When I use my iPad and it doesn't do something I want or behave in a way I prefer, my options are often similar tweaking and tinkering. Many times, I would need to jailbreak the thing in order to install an unsigned app not approved by Apple to get it to do what I want.
On my Android devices, it's usually a lot simpler. iOS has improved a bit in terms of customization (being able to "open with" various apps instead of the factory defaults, third party keyboard layouts, and stuff like that) but that was always the case on Android.
As these platforms have matured, they've both got their "success states" pretty solid so now it's down to how well they "fail" and how easy it is to get my device to do what I need without jaibreaking or otherwise taking advantage of security holes to gain access to certain settings or capabilities.
Did you click on the article? All your points, while valid in a vacuum, have nothing to do with the author's argument about the two platforms' approaches to web apps.
I appreciate and even agree with your view, but you might as well be talking about OS X versus Windows given the topic of the submitted post.
Threads like these (completely off-topic, but somehow ends up at the top and takes up 1/4 of the page) are why I wish the official HN client could collapse threads.
This is an annoying top comment because it has nothing to do with the developer topic of the OP. It's just another boring useless opinion in the fanboy flame wars.
Linux user chiming in. This reminds of the people who complain about running Linux :-) When they run linux, they start tweaking all sorts of things: trying to run wayland master or run Arch (which is a great distro if you know what you are doing). And more often than not, they come out frustrated. Then the proceed to claim how awesome Mac is since everything just "works".
I know a few people who have a constantly broken desktop because they like to tinker (which is fine, we all did it) and then complain that linux is getting more unstable.
I just install Xubuntu, configure it to my workflow and it works until the next update comes out, I've had one serious issue with it (they shipped 15.10 unable to build the fglrx kernel module with the version of GCC, can't blame Xubuntu directly but that was a pain oth I found out that the open driver is now as good/better for just the desktop stuff so I came out ahead).
I have a laptop with in installation that's 4/5 years old, and still running. Except for the occasional things, no problems with upgrading (even transitioning to systemd went fine without problems).
As another Arch user using an S4... that currently has stock, because CM is just broken from a lack of maintainer on jfltespr... your desktop never breaks and is always up to date, while your phone eventually breaks and never gets updates.
That is predominantly because OS and hardware as separate products is essential to user empowerment over their own hardware. There is a tremendous conflict of interest for a company who makes its money selling new hardware to provide good software support to old hardware, so they just do not. And it brings Android as a whole down for it.
If these companies were also not so Linux hostile and stupid, they would upstream their device support into mainline Linux so we could see a healthy ecosystem of Android forks rather than just one attempt in CM that destroys the souls of volunteers who have to maintain all the insane out of tree binary blob kernels these OEMs ship phones with.
I made the switch to OS X because I couldn't trust myself not to tinker. Everything I broke, I eventually fixed, but that isn't something I wanted to deal with once I started using my computer for my work.
This. This and more this. Compared to Android and Windows, iOS and OSX is pure nirvana. Sure, accuse me of drinking the Kool-Aid all you want, but is my life simpler or what. Never wanna go back to fiddly-hell, ever.
The article talks about how Android is a better platform to develop mobile offline web apps. You talk about how you like iOS from a user point of view. Your comment is totally unrelated to the article.
I got a cheap-o Moto G for $170 3 years ago and love that thing. It is small 4" only, got reasonable updates (up to 5.1 now). It is simple to use.
Yeah Google owns my life, but I wouldn't feel better if Apple owned it instead. Never felt the need to tweak hardware, or run Cyanogen and others. Once I wanted more memory for my music. But then deleted some of the music I didn't want and was fine.
Best part if I sit on it and break it, I'll just go find another $170 Moto G without blinking an eye.
I have a full time job and all but shelling out $700 for a phone I can drop, loose, break is not in my budget yet. Maybe one day...
> Yeah Google owns my life, but I wouldn't feel better if Apple owned it instead
Why? Apple makes money selling you hardware. Google makes money selling you to advertisers.
I'm not comfortable with any company figuratively "owning" my life, but if I have to choose, the one that isn't built on scummy ads will get my money every single time.
Sure, there's a chance for government abuse of my data, no argument. There are also significant benefits to me for sharing with Google. For me (and I suspect for most Americans), the real benefits exceed the likely costs.
I worry far more about things like getting into a car wreck, falling in the shower, and my crappy diet.
There's not that much difference between what the two of them provide to governments as a response to legal requests.
Also note that Apple continues to operate in China while Google refused to cooperate with the government there and gave up huge business potential in that country.
Whenever I try to get iCloud actually working [1] I kind of wish Apple was actually interested in owning my data ;-)
Rants apart, this fact:
> Apple makes money selling you hardware. Google makes money selling you to advertisers.
has a direct consequence: cloud services made by Apple are generally inferior compared to those made by Google[2].
Now of course if you value privacy over everything you might prefer to save your data locally rather than in the cloud, but I have too many devices lost or broken to go that way.
I just got a Moto G3, and the 6.0 upgrade. Almost zero complaints so far. My only gripe is it occasionally has to restart apps with 1GB of memory. I would go with the 2GB model if I had a time machine.
There is an entire book written about this trade off called "Zen and the Art of Motorcycle Maintaince" One of the major themes is the author and his best friend comparing how they interact with their bikes and the meaning they get from either tinkering, or not having to tinker, with them.
I've been thinking about "trying" a move in the opposite direction as well, but each time I look at the limitations of iOS, I think maybe next time I just get a cheap non-smart phone if that's all I want. Escape from all this.
n.b. I'm 40 and have no need for snapagram or whatever. (Even if I needed it, pfft, nobody needs it).
yep, exactly the same experience. I've used android since beta and finally switched on iPhone 6s. never been happier. At one point (on my 2nd to last android) i found myself flashing a version of cyanogen on the subway because the phone just stopped working. I was laughing to myself about the crazy mess I was in. and flashing was never a smooth process, each version had it's own issues for which of course the only support was the forum. definitely do not miss any of that. i was shocked at how little tweaks ios needed after first setting it up and how little work there was to transition to a new phone when i changed colors. it not "just works" but works extremely well.
Me too. I switched from Android (Verizon HTC One) to iPhone and shit just works, e.g. VPN. I wasn't able to use a stock Google phone without vendor crapware. But the market being flooded with devices suffering from crapware is in some sense a valid criticism of "Android" as a product isn't it? At least that's how it seems to end users who might not have the sophistication to avoid crapware and who don't understand that Android is a platform rather than a product.
> I did the opposite and can't believe how much better my life had gotten because my iPhone is just a simple tool that I use for communications and don't think about it as a project. With Android, I always wanted to tweak silly things and run Cyanogenmod because the handset firmware was always so bad and vulnerable. On several occasions I'd bricked my phone requiring hours of recovery, or had transient failures of cell service and communications issues. I guess if you have the right level of discipline, apathy, or use a Nexus device that may be more Apples to Apples (harhar).
I did the same. Outsourcing mobile to Apple made my life easier too.
I went through something similar recently. I moved to another country and in the process I had to buy something to replace my Note 4. I initially bought a Note 3 to replace my iPhone because I wanted to stop carrying a tablet. The Note was a "solution" to be able to read on the go at all times, play games, etc. all in one handy device. Upon moving I was really frustrated at first at the lack of options with large amounts of storage (my Note has a 128GB SD card) and a giant screen that were available from my new company's carrier.
The more I thought about it, though, the more I realized I was solving for a problem that no longer existed. I've felt recently like I spend too much time on my phone. I don't want to play games and watch movies on my commute any longer. I don't want to read books on my phone. I want to read an actual book or, at worst, on a Kindle where all I can do is read. I want to work my brain more, basically and the phone has become antithetical to that.
So I purchased a Nexus 5X. Low storage, barely enough space for my music, etc. I saw it as going as far down the phone food chain as I was willing to go without going to a flip phone. I've been really happy with it. I talk to human beings. I look at the world. And my phone really only has enough space for a few smartphone things like maps and music. It's perfect for what I want now. Fairly simple and limited. In this case limited is good.
"Perfect" is a stretch. It was one of the better options in its release window, though.
One flaw: tough to repair (2/10 on ifixit [0]) which will be fun when the battery starts to go.
Another issue: Android Marshmallow (admittedly not Nexus-specific) doesn't play well with AdBlockPlus, and if you want AdAway or another hosts mod, you still need root. Rooting will allegedly break Android Pay, too.
Android pay can be activated when you are not rooted, and remains active if you root later. It is trivially easy to root/unroot flagship android devices and you have access to unblemished images from google if you happen to screw something up.
My experience "hacking" my Nexus 5 to enable WiFi hotspots, without paying sprint for the service, required root, and the process took maybe five minutes.
Same. I had Android for probably 6 years. Top of the line phones. Nexus one and Nexus 4. The Nexus one was great. The 4 irritated the crap out of me. I can't answer an incoming phone? Hello, this is a phone. Charging issues. Weird lag all the time. When it came time to upgrade I switched.
Exactly Kev. Android is like having a phone that feels like it has holes in it and thorns - its like an overgrown backyard like oh I should pull up these weeds.. I should work on this fence.. My iphone is like a smartphone.
My iPhone would ring and I could use speaker on a call but I could not hear music or sound in videos. I rebuilt my image, but the issue persisted for about 3 months!! It was my car audio dock and Apple's hidden "other volume" setting that was the culprit.
At one time, I tried to copy music to my phone, but all new songs were being corrupted. I used 3rd party tools successfully, but iTunes would corrupt the songs when I re-synced my phone. About a month later, Apple fixed the bug - but it was "impossible" to get new songs on my phone.
ITunes crashed during synchronisations and I realised at one point that I had about 25 gigabytes in lost space. I had to erase the phone and recover from a backup to fix the leak, which takes many hours to do. There is no file system fixer for IOS.
In most of these instances, I was snookered because I had no control over my device. Going several months without music was a major inconvenience that Apple failed to solve, despite many attempts. This reinforced that I am not truly in control of my device when such basic things are not possible.
TL;DR Apple "just works" is a myth. It's great when it works and disastrous when it doesn't.
521 comments
[ 4.1 ms ] story [ 337 ms ] threadThe Polymer team's entire element catalog is accessible with ARIA integration done with assistance from Chrome's dedicated accessibility engineers. We even provide reusable abstractions that make writing your own accessible elements easier, like iron-a11y-announcer and iron-a11y-keys.
Accessibility was a big topic at our last Polymer Summit: https://www.youtube.com/watch?v=o6yLWihykVA
Consequently, I considered requiring JavaScript for a webpage to load properly to be bad practice. Even if I assume JavaScript is everywhere, I have yet to hear of how one would make things dependent on it accessible to the blind. I know that people will make webpages that require it regardless of whether the blind can view them or not, but I still feel that is bad practice.
Nexus 6P is notorious for atrocious build quality. It bends easier than a bar of chocolate. [0] Google should do a recall on these things. It bends a lot easier than an old iPhone 6 plus.
[0] https://www.youtube.com/watch?v=r3cWVdLqXCg
Edit: I see Google fanboys decided to downvote this comment instead of engaging in a debate. This is not in the spirit of Hacker News. I know HN has a lot of Google employees who are extremely touchy but come on.. be objective once is a while
FYI I have a case and I don't know anyone that uses a phone without a case.
I have carried several chocolate bars in my pockets before (mostly when I was younger). They bend very easily. (They also melt and even when they don't escape the packaging, there is melted chocolate all over the wrapper, and it's nearly impossible to eat without making a mess. And if you let it cool again, those tiny chocolate traces end up falling all over!)
Anyway, I'm not sure I got the point of this (only incredibly tangentially related to the post) piece of FUD.
So this video is wrong? He made TWO videos showing how easily Nexus 6P bends because people accused him of faking it the first time.
Video 1: https://www.youtube.com/watch?v=tTIaUH6PIvo
Fact is that Nexus 6P is incredibly poorly engineered due to the placement of various button cutouts and battery position.
Can you take your phone and do what he did and prove him wrong? Go ahead. Until then, this is not FUD and your post is nothing more than a rationalization.
Seriously. I'm a big dude, and my everyday life is filled with objects that I could bend with a similar amount of force, including objects that I carry on my person and/or interact with a lot. I don't pick them up and try to bend them, and they don't bend.
Like what? I'm starting using it and I'd like to know.
At least on OS X, it's by far the app with the largest energy impact. It's the only other thing that competes with Chrome.
Besides that, it doesn't use native UI elements where it could. Plugins don't add top menu items, the folder view on the left isn't a native treeview, it renders its own (slow) scrollbars, it doesn't respect native text rendering settings like line height or font hinting, pop-ups overlap in surprising ways (sometimes scroll bars are above them) and can't easily leave the main window, various elements move around unexpectedly when scrolling to an edge.
(Except TextMate that I see less and less cited in discussions.)
I "installed" Flipkart Lite and the Voice Memos demo app to see the state of the world. Clearly it's possible to build some really nice web apps these days! I hope to see more of it moving forward.
[0] https://hackerwebapp.com/
So, random thoughts/feedback:
- I wish I could login, comment, maybe even receive comment notifications? Although the last would clearly be an improvement on HN itself.
- I wish I had some preferences available to me, e.g. always open links externally vs. inside the app itself. (I can long-press on a link and select "open in Chrome" of course.)
- Flipkart has some pretty slick animations. The primary thing that jars me about HackerWeb is how abrupt everything is compared to native apps.
Obviously nothing huge; just stuff I didn't know was even possible. Anyway, let me at least grab this opportunity to thank you for your work!
AFAIK authenticated user actions (logging in/commenting/profile management/etc) are simply not exposed through the official HN API. I don't think there's much third party developers can do about that, unfortunately.
But yes, web apps have come a long way. Apple treating web apps as second-class citizens will probably still pose a huge barrier to widespread adoption for quite some time though.
So as for your feedback:
1. I myself also wish that I could login, comment, etc. Unfortunately the official API doesn't allow it yet. Other HN apps implement those by scraping HN, save your username/password somewhere but I didn't choose this route because it might be a maintenance nightmare for me :(
2. Regarding the 'open new tab/window' preference for links, I've been thinking about this for a long time. Will experiment soon :)
3. Animations. I'll need time to implement those :P
Glad to know that you like my app! Cheers.
Joke aside, HackerWeb is an awesome example of a webapp done right. It's the only web app on my home screen, and my favorite Hacker news reader on mobile, beating any native app I've tried. Awesome job! Do you have any feedback about issues your encounter for the development? I'm thinking about iOS updates, responsive design with iPad etc... ?
This is monumentally annoying. iPhones are now pretty expensive and don't have this one feature that I used to find incredibly useful. I know there are ways to accomplish this via iCloud, but I neither like nor trust iCloud and don't need it.
You can sync your calendars and contacts only to and from your Mac if you want to.
I'm still using iTunes 10.7 and iOS 6.1.3 on Mac OS 10.9 Mavericks. It required some framework hacking to make it work, but it's the only way to get offline USB sync and a (beautiful) Retina display.
Oh, and don't forget the ability to sync Safari Bookmarks. I used to be able to sync Notes too, but Apple broke that in 10.8 Mountain Lion.
If any company can offer an ecosystem comparable to Apple circa 2011, I'd be persuaded to switch. For now, I have to stick with my old iPhone 4S. Surprisingly, I haven't really missed out by not upgrading.
I'm not an OSX user, but AFAIK, it supports CardDAV, IMAP and CalDav. That should allow you to sync with ANY phone.
This is my reddit client. https://reddit.premii.com/ - You can login, upvote, reply, save, and tons of other things.
It seems like it's just a way to be able to make cross-origin requests in a browser. Can it even do that? Seemed like it had a bunch of security considerations that make even that not useful.
The primary use cases for service workers today are robust offline support and notifications. More generally service worker gives you broad and very fine grained control over your app's use of the network. Service worker itself doesn't give additional cross-origin request abilities, except by giving more control over caching.
Web Bluetooth is still a work in progress, but you can try it out: https://developers.google.com/web/updates/2015/07/interact-w...
(disclosure: I work on this kind of stuff for Google)
I can understand the frustration you're facing but also sympathize for people who are trying to make a living from selling apps.
I wish I had a solution which didn't require the apps to go online but I don't.
Related question: This was on iOS. How bad is software piracy for this platform?
I just know that Android has a pretty big issue with piracy and some developers choose to release their apps for free on Android for that reason.
I don't disagree with what you are saying and again, I don't know if requiring internet access to combat piracy is the right thing to do but I feel like it's a bit sad to place the blame solely on the creators of the app and not on people who pirate their apps
Actually, that's incorrect. All cross-country flights by now should have WiFi available.
Now, draw your own conclusions about app developers who think you should pony up $$$ to get WiFi on a plane just so their app can connect to game servers (in single player mode).
Personally, I hope some "blue ice" falls on them.
If you aren't worried about provided a first class experience to your iOS customers, then build for Chrome + Android. Although, that sounds a little like "build for IE6 + Windows" 15 years ago.
Except that Android is the open one that is implementing agreed upon standards, and Apple is the laggard left behind.
citation needed
If you're not writing a native app, don't bother. Facebook learned this lesson, I'm sure everyone else does eventually as well.
Clearly, the "build for IE6 + Windows" of 2016 is "build for native iOS", which was the original point I was making.
Would you demand citation if I tell you that 'mov ax, data' in assembler moves data to ax or look it up if you don't trust your own judgement at the moment?
Yeah, except most of your users' devices are still running 2+ year old software versions.
Why Apple still doesn't do this mystifies me.
http://www.phonearena.com/news/How-to-change-your-Android-ph...
I don't think Chrome is as ubiquitous as it should be. Do new cheap tablets (like the Kindle Fire) even ship with Chrome?
New phones from Samsung don't have Chrome set as the default browser (not sure if it's even installed by default).
And while I don't doubt there are many variations of Android device without Chrome installed, the devices that dominate the market (Samsung Galaxy and the like) have had Chrome preinstalled for a long time. From a brief Google it sounds like the default browser varies between phone, provider, etc. etc., so I can't say for certain. What I can tell you is that my analytics logs show the vast majority of Android users are running Chrome.
As for browsers installed through the play store, how many users can reasonably be expected to install them and of them, how many would update them?
http://www.statista.com/statistics/271774/share-of-android-p...
Do all Android handsets and tablets ship with Chrome now? I'm guessing lots of cheap tablets don't.
And I know Samsung used to have their own browser. Do they ship with Chrome now?
https://en.wikipedia.org/wiki/Android_version_history#/media...
I dunno what Samsung ships with, when I was still doing a bunch of mobile web work (early 2014) they used a forked version of Android Browser that was really terrible. Hopefully they've replaced it with something saner. A lot of recent Samsung devices have dropped Android entirely for Tizen, though.
Why bother to upgrade to another phone? The newer phones (except the S5) aren't any better. I love my S4. The only thing I'd bother upgrading to is an S5, since it's waterproof, and still has a removable battery.
http://developer.android.com/about/dashboards/index.html
Just like Windows 7 still runs the latest Chrome despite being a whopping 6 years old, so, too, does Android KitKat run the latest Chrome.
So... no, you don't. Browsers already did the compatibility work for you.
Given that many of these things are potential exploit vectors, I am not inclined to fault Apple for taking its time to implement them.
Also, we are at the point where the standards are driven by a select few companies. If I recall correctly, those are Apple, Google, Microsoft and Mozilla. Opera used to be there too, but I doubt Opera does much of anything there anymore and I suspect the same either is or will soon be true for Mozilla given its leadership issues.
I don't know if you can claim Chrome is insecure, simply because it supports more web standards.
e.g. look at the results of the recent pwn2own contest:
http://venturebeat.com/2016/03/18/pwn2own-2016-chrome-edge-a...
There are other variables that probably have a greater impact on the security of a browser.
http://money.cnn.com/2015/01/09/technology/security/super-co...
Not to mention, I posted elsewhere in this discussion that WebBluetooth seems like a way that an attacker with control of a server can run attacks against bluetooth devices that he otherwise would not have been able to access without breaking out of the sandbox. Once in control of one of those bluetooth devices, it would be possible to attack the system from the compromised devices. It is like giving unrestricted network access to Javascript once a user clicks accept (and they almost all would), except with a different network technology where devices all trust each other not to do malicious things.
Given that security flaws can happen when new features are used in unforeseen ways, I am happy to see Apple take its time under the assumption that it is taking its time to implement things correctly.
Some apps have to be apps to use sensors and devices built into the phones. A lot of apps could probably get away with being mobile sites. Doubly so with some of the new html technologies being introduced by the W3C.
Because Android and iPhone are owned by companies, they can move fast. The web has to accommodate for many more devices. So web standards move slower. In the time apps have become huge, a lot has been added to web standards. But I'm guessing most people haven't noticed. My guess is people are used to using frameworks and have abstracted themselves away from the basics.
As a challenge to the reader, see what you can build in only JS/HTML/CSS with no server side. You'll be pleasantly surprised by what you can accomplish.
This sounds like a great new attack vector for the black hats of tommorrow.
There are just some things that a web browser should not do. Exposing things that previously required escape from sandbox attacks is one of them.
Why is it any different from an app doing it, though? There will be the same permission prompts etc.
From the article you have to "install" the web application for any of these features to be available.
> Apps also don't suffer from XSS.
From websites sure, but they do from other apps.
As far as the article is concerned, rendering a webpage as if it were an app takes away functionality (mainly, the ability to interact with the address bar). It does not discuss the security of web 2.0 features and it certainly does not claim that these features are only available when the webpage is pretending to be an app.
> From websites sure, but they do from other apps.
iOS uses capsiculum to isolate applications while Android uses SELinux. They aren't executing each others' code.
XSS isn't about executing other people's code, it is about performing commands that you shouldn't be performing. There are a ton of instances in the pass where cross application communications have lead to privilege escalation in the same way that XSS does.
It depends on the attack surface. However, something like WebBlueTooth has only one-click/tap authorization protecting it at best against software that is already downloaded and executing. Mis-taps/clicks are trivial. You do not have that with a new application that a website wants you to download. You also tend not to have installed software updated without your consent after you first obtained it (with the trend to use Javascript to add functionality to iOS apps being the glaring exception), but websites can be updated at any time, by both the web developer and by black hats who hack into it.
Also, a malicious party usually cannot inject code into an installed app. Injecting it into a webpage you visit is far easier. Ad/tracking networks have been used for that. There is the possibility of a MITM attack if all parts of the page are not protected by HTTPS. There is also the potential for cross site scripting.
The web is not a place where I would want access to everything an installed application can access to be possible by design.
If you are uncomfortable that any given site will be properly secured you can always deny them the permissions just as you would decline to install their app, except that the website can offer you a degraded experience, where the uninstalled app will offer you nothing.
If you are going through an app store, the app has been vetted. If that misses something and it is later found, it gets pulled. There is the possibility that you will never encounter the bad app by virtue of being one of the ones who would have installed it using it after it was pulled. On iOS, there is the possibility of signature revocation providing protection to disable it after it is downloaded. With a website, there is no such protection.
Plus, web servers are rarely patched and often exploited. Anyone who allows a website to use WebBluetooth effectively opens themselves to the poor security practices of the other end. Even without that risk, there is also the risk that an ad/tracking network is not used in a cross site scripting attack to gain access.
> If you are uncomfortable that any given site will be properly secured you can always deny them the permissions just as you would decline to install their app, except that the website can offer you a degraded experience, where the uninstalled app will offer you nothing.
If all users thought the way I did, WebBluetooth would never have been proposed. The reason being that WebBluetooth could be used to exploit other things even if the web browser's implementation has no exploitable bugs. If WebBluetooth becomes widely used, Black hats will have a field day with the users who do not know.
They need not even compromise a web server of a site that has a legitimate application for it. They might just ask users of some other site that they trust to enable it as few users ever say no to such prompts (or prompts in general).
Access through web browsers could expose issues in the user's kernel bluetooth stack, but that risk exists with any binding. There should be time to explore this possibility while the feature is still behind a flag.
What happens behind the scenes is not. The microphone and webcam are far easier to secure because they just provide data streams if authorized and the web browser can provide a visual cue when it is in use. Some webcams even have a light to indicate when they are I use. Although that might not be perfect, it is far better than things like browser plugins.
Bluetooth is another story. With WebBluetooth, you are effectively providing access to an Advanced Persistent Threat attack vector. That takes things to a whole different level for black hats. If it is widely adopted, someone somewhere will find a way to target it as compromising the firmware of paired Bluetooth devices should be easier than typical escape from sandbox attacks. How long it takes for us to hear about it is another story.
> Access through web browsers could expose issues in the user's kernel bluetooth stack, but that risk exists with any binding. There should be time to explore this possibility while the feature is still behind a flag
Whether WebBluetooth can attack the Bluetooth stack directly is irrelevant. What matters is the embedded device's Bluetooth stack. Allowing a web site to dictate the contents of an otherwise legitimate communication with an embedded device's Bluetooth stack allows it to compromised with no compromise of the machine required.
Running exploits against the embedded device should just requires gaining control of a webserver hosting a site that the browser permits to use webbluetooth or injecting code through a XSS attack. If the embedded device allows firmware updates over bluetooth, getting malicious code onto it is easy. If not, the embedded code that communicates with a paired device should have been written under the assumption that the other end would not try anything malicious and consequently, it should have vulnerabilities.
Regardless of how a blackhat gets into a paired bluetooth device, once they are inside, they have code execution on the opposite side of the surface typically attacked on modern computers.
What happens when I lose signal. The cloud is nice, but I need some offline in my life too.
* iOS seems to have some confidentiality, though are users really protected from commercial spying? Of course end-user control is very limited.
* Android provides some end-user control if you root your phone, but it's complicated to utilize. Confidentiality is awful; there are a never-ending number of holes and leak, AFAICT, many built into the OS. No fork (i.e., ROM) of Android seems to focus on confidentiality, though I'm curious whether Blackberry's Priv locks down the OS in addition to the hardware.
* Basebands are neither confidential nor provide end-user control, in any phones outside of FOSS projects, AFAIK.
* Mobile service providers also are an omnipresent risk.
---
I suspect a decent solution to the baseband and mobile service problem is the following, but I haven't tried it and I know it has some weaknesses:
* a hosted VPN service that provides a firewall (the firewall is needed to filter outbound connections from your phone)
* a cellular router that's pre-paid, tethered to the phone to isolate the baseband from the rest of your handheld computer
* VOIP service for voice and SMS/MMS
So am I, but when I read their site about it around the time it launched, there were so many loopholes and weasel words in the information about security features that I ran away.
FWIW, the most obvious warning sign was that they were very hot on telling you about potentially insecure things being done on your device, but I couldn't find a single definitive statement that their software actually let you do anything to prevent those things from happening, nor any reference to tools or controls that seemed like they might do so, on their entire site. It also appeared to be based on an older version of Android that didn't have some of the more recent advances in per-app per-function privilege controls, suggesting that they might actually be worse in this respect than recent devices from other providers would be just with the latest off-the-shelf Android release.
But hey. Maybe, just maybe, we'll end up back in a world were cross-platform development is viable. If Apple lets us.
That is annoying, I don't want it on my home screen but it seems to be the only way to turn it into a 'native app'.
I don't think Progressive Web Apps are ready for the mainstream, but I'm hopeful that in the next few years we can get there.
However, I have uninstalled the Facebook app from my phone, and now receive push notifications from the mobile website, which I have on my home screen. It's a fantastic experience.
Unfortunately it's a limitation of the Android platform; you can't add arbitrary launch activities at runtime. So the Chrome team is unable to fix this AFAIK.
However, you could imagine a future release of Android that sports a custom homescreen app that just includes Chrome progressive webapps in the main app drawer. Or someone might be able to write a third-party homescreen app already that does that. (Not sure if Chrome exports that data though TBH.)
Also, FWIW, the "add to homescreen" is really just icing on the cake - even without it, PWAs save data locally and are launchable offline. If you remove Pokedex.org from your homescreen, you'll notice you can still navigate to https://pokedex.org while in airplane mode, and Chrome still reports some 6MB of Pokémon data as being stored on your device. (It remains to be seen whether this is a bug or a feature... but we'll see how many PWAs abuse it.)
Of course, back then, I'm not sure there were any sites that were actually mobile friendly, and developers were more interested in hacking the device to make native apps than using a browser to make crippled apps.
For the time, the web app method was not the best solution. Thankfully they moved on.
If every app is a cross-platform web app, what's the point in having more than one platform?
I don't think we are. Apps provide users with better performance - compiled native is going to be faster for almost everything and should also use less battery - and provide Apple + Google with control over the ecosystem.
The latter makes it possible for (e.g.) Apple to claim that it won't unlock a phone for the FBI.
It doesn't matter whether or not the claim is true. It matters that the claim is possible at all.
>If Apple lets us.
Apple won't. Nor will Google. It's a political decision, not a technical one.
There will be a post-app world one day, but it will only happen when there's a new platform and a new kind of OS - probably something AI-based like Echo/Alexa that has no concept of separate applications.
I'd be interested in a composable OS where you could build processes from free components and then share them. This is how a lot of web development works already - see also left-pad and NPM - but if a friendlier, simpler version was available in UserLand, that might start to chip away at the walled gardens around app dev.
Of course neither Apple nor Google are likely to support something like this.
They won't when they're on top. See Microsoft, Sun, etc.
But when the cracks start to show, they will cave. Long term betting against internet technologies is almost as foolish as betting against Open Source.
And if you think about it, how much longer can the gold rush last? Especially for mobile devices. How far are we from saturation? Probably not that far. The markets that are left are much smaller and harder to enter than the existing ones.
Of course, Apple or Google could pull some tricks to create entirely new markets, but that's usually a long shot.
And when the stocks stop going up (or they go up slower than expected), that's when we'll start seeing concessions from them.
Look at Microsoft these days.
I know this area well since it's one thing I was really looking forward to when I got an Android phone and I was very disappointed.
edit: the other shiny Google Web App example, Google Docs, doesn't work either. In Safari it likes to drops keys, and the last time I used it in Chrome (last autumn), it would either crash the whole tab, or freeze it up long enough for it to tell me it gave up and that I should just copy the content and paste into a new document
It seems we're re-living the nightmare of Java "cross-platform compatibility" but with an even worse programming language.
> In fact, I think Progressive Web Apps (PWAs) actually have a huge leg-up on native apps because you can start using them immediately
> There’s just so much less friction for users to start using them
Every web app I've used has required a painful sign-up process, which is usually where I bail out of the process. Way more friction than an app store install.
That signup process can be made better. Nothing fixes the pains of having to download a large app over a potentially slow/spotty network, sacrifice an unknown amount of privacy, then having to twiddle a variable amount of options to get the thing to stop sending you notifications about every single action or event, then after a week of use, having to re-download the large app again because of updates.
You mean like the 12 MB it takes to load a Google Sheet? At least with a native app, once it's downloaded you know it's there and it won't go into an indeterminate state if you happen to try to use a feature that hasn't been loaded yet.
> sacrifice an unknown amount of privacy, then having to twiddle a variable amount of options to get the thing to stop sending you notifications about every single action or event
These are not issues when you have iOS's permissions model
Which is 13.9% market share currently.
Unless Apple wants to make budget devices (they don't), this world does not exist, and it won't any time soon.
> You mean like the 12 MB it takes to load a Google Sheet?
Although I realize we are speaking in hypotheticals, and generalizing the type of apps people use (I realize there are smaller ~2 meg apps), the average size of an iOS app is 20mb, and the average android app is 7mb. You pointed out an exceptional use case, not the most common.
I've an iPad 1 on which I can install web pages as web apps by bookmarking them. If the page has the right meta tags [2], the app/page will open as fullscreen. This works fine with many web APIs e.g. WebAudio. I do not know if Android or Ubuntu phone support Web Apps in the same way.
I like this way of distributing simple applications, but take care to check the JavaScript with Closure Compiler.
[1] https://developers.google.com/web/progressive-web-apps [2] https://developer.apple.com/library/mac/documentation/AppleA...
airhorner reacts to mouse clicks visually but plays no sound. (Debug console says: "EncodingError: The given encoding is not supported.")
voice memos needs cookies or local data but does not inform the user about this requirement. With cookies / local data enabled and after a reload, it does work.
The weather app also needs local storage enabled but fails silently when it is not available.
Support for password managers like LastPass is one of the areas where Android shines compared to iOS.
Also, you seem to imply that most apps downloaded from the app store don't require a sign-up process. I beg to differ. And I note that the sign-up process is even more painful outside of a browser (e.g. outside of the browser you can't use LastPass to generate a random password for you)
ex: http://imgur.com/YJXCWxz
Also as far as I know there's no first party app to directly view your keychain items in iOS, which makes it useless when the domain detection fails (it's the most painful when the same service has two clearly different domains for desktop web and mobile web, which is a pretty common case)
I use keychain but end up duplicating a lot of entries in a Lastpast like app just to cover these cases.
They fixed that in either iOS 8 or 9, there's now a "Other Passwords..." option that lets you browse/free-text search through all your saved passwords.
Perhaps some of the entries are not marked as web passwords, and/or it is limited to the passwords Safari has saved (Chrome or firefox passwords would get ignored for instance). I have hundreds of entries in my keychain and "Other Passwords..." won't display most of them.
As a behavior, it doesn't bother me much if Safari wouldn't get automatic access to other apps' keychain entries or generic passwords (from a security perspective it's a sensible limitation). Instead I would like a separate keychain app, mirroring the abilities of the OSX app.
How do you feel about using Facebook or Google accounts to sign into third party apps?
What you're saying is that you left the freedom of your device to jail yourself into simple interface...?
I do agree though, that those samsung/lg/etc phone have lots crapwares + carrier crapwares.
Actually, this is a pattern that many products follow, as they evolve from a newly tinkered thing pioneered by enthusiasts to a mature consumer device.
There is much more "freedom" in 80's and 90's audio equipment. (And markedly higher build quality. Bargain stuff I bought as a teenager is now lauded on ebay as the good old stuff, "built like a tank.") However, there are also a lot more cables to deal with.
The progression is like this:
Cars also followed this pattern, come to think of it.I remember my dad complaining all through my youth about how the more modern that cars get, the less serviceable you are. That in new cars you need special computers just to tell them that yes, you did fix the problem and the car can stop complaining now.
10 years later ... man, if I have to even think about opening the bonnet and poking at something, I assume the manufacturer has failed at their job. I don't want to maintain my car. I expect my car to be a tool. Even taking it into the shop to get its tires changed every winter (and the additional 30euro checkup and winter-prepr, then spring-prep) are too much of a hassle.
Maintainability is the feature of unreliable equipment.
Not necessarily. Modern airliners are highly reliable, so long as you follow the maintenance schedule.
Disposable equipment is a feature of markets driving costs down. It's a sign of commoditization and convenience+short-term reliability winning over long term reliability.
Not quite. The whole purpose of maintenance is to increase the longevity of a product by making small, cheap, tweaks to complex parts that can fail due to wear and tear.
Everything lasts longer if you maintain it. A good knife, a high performance vehicle, a good pair of shoes, a couch, etc ...
I don't know of any product that is "as good as new" after years of use. Watches, even spoons, aren't as shiny as they were when you bought them for the first time.
Maintenance is the work of the caring.
Agreed - which is why building mass market convinience stuff that require it is a bad idea - I have limited hours in a day - I do not want to spend any of them doing chores such as maintenence - I'd rather just buy a new working thing every x years and not care. Paying someone else to do the maintenence is nice in theory but finding someone reliable who won't ripp you off is too much hassle.
The fundamental problem with changing your oil is that it involves oil. I saved $30, at the cost of an hour of my labor. As soon as I had a job, that equation didn't make sense.
I now have a much newer car (that I probably don't need since I don't need to drive to work and live in a city) and no garage so I pay for oil changes. On the college car I knew how everything fit together, I took everything apart to fix it multiple times, I changed/ upgraded/ retrofitted things in their to make it more enjoyable. On my new car I can't really do those things without more complicated tech. It definitely changes how you view the object. Both are fun "tools" but one was my fun tool the other isn't
Expensive items are an exception - I want my car to last long, not to avoid maintaining it. But there is space for very few exceptions.
http://arstechnica.com/gadgets/2016/01/intel-skylake-bug-cau... https://en.wikipedia.org/wiki/Pentium_FDIV_bug
PS: We call them silicon chips, but there are several tiny blobs of different chemicals involved. The process is closer to 3D printing than you might think.
pärt/Submit noun 1. "a piece or segment of something such as an object, activity, or period of time, which combined with other pieces makes up the whole."
2. some but not all of something. "the painting tells only part of the story"
You might be thinking of Component, but even that's arguable. CPU's often contain nonfunctional parts so each transistor is actually a meaningful distinction.
Early CPU's where built to be maintained, modern CPU's are not. That in no way makes modern CPU's worse. The Hubble cost more to maintain than it would have been to replace with something better. From a utilitarian standpoint the ability to maintain it was useless, from a political standpoint NASA loved being able to pretend those missions where useful.
At a deeper level maintenance generally means some parts break down before others. So, an ax becomes less sharp over time. Meanwhile the head also loses strength which limits how long that head can reasonably be maintained.
QED: Maintenance is all about having different parts that ware out a different times.
I think there is enough of a luxury market for that to be a thing, and I am surprised we haven't seen it yet.
Whether that applies to mobile phones with their general lack of moving parts is an entirely different question.
While I agree with this, I understand where Swizec's comment is coming from. I have a few business acquaintances who have been automotive engineers for 30-40 years now. They have an excellent idea of how their cars work. And yet, they rue that earlier, they could open any broken car and get it to run. Now, there's not much they can do to fix their own cars. Pretty much all they can do when they see a blinking light is take the car to a mechanic. The older generation has learnt that they can't fix their cars. The newer generation, unsurprisingly, doesn't even want to make the effort. The older generation could fill up their oil, change their filters, etc. Now, most people just get their mysterious machine serviced every few months. "I don't want to maintain my car" seems like a natural consequence of how cars work now.
Why? Don't they have OBD-2 readers?
What if they have? It's not like they'd bother to (a) decipher them, (b) fix the issue themselves.
E.g. The weirdest part of it (after driving an old car for the longest time) was they explicitly tell you not to have gas-station attendants check your oil for you. If you're leaking/losing oil, the lights will at some point come on and prompt you to take the car in for service.
Why is that weird? It's a pressurized system with plenty of sensors, you are certainly better off following the data than a gas station attendant (which itself is an old fashioned concept in most places).
I want to see a two hour debate on that by top engineers from several industries because that seems to be one of the big questions of our time in regards to product development.
There is, quite simply, NO good argument in favor of non-maintainable equipment, unless your goal is to increase profits. This doesn't mean we should go back to the days of carburetors and points; modern cars are extremely reliable and actually highly maintainable if you have the right equipment, but there's no reason they can't make the computer-based service tools publicly available so that anyone can service them themselves. They keep that software and those interfaces secret to increase profits.
As a universal assertion, particularly in the realm of products intended for personal mobile use by the general population, this absolutely and utterly wrong. The fundamental core issue is that many forms of maintainability require dead matter, simple as that. Take removable vs non-removable batteries, perhaps the most classic example in portable electronics: having a removable battery requires user safe contacts that can handle repeated mechanical strain, the battery itself to have its own protective case, the device case to have a way to interface the battery and the resulting structural support and tradeoffs therein, the dimensions and shape of the battery are significantly constrained, etc. All of this boils down to significant additional stuff that isn't battery, or performing any other useful role for that matter, but rather is simply scaffolding/support infrastructure. In other words, dead matter. There is no free lunch. A removable battery fundamentally can never match the size/weight/performance matrix of a non-removable one, full stop. That's the tradeoff for being able to swap it. In this specific example there are additional potential tradeoffs too for some use-cases (it's significantly easier to have a higher degree of harsh environmental tolerance with a fully sealed system for instance).
Now, yes, there is absolutely room for reasonable disagreement about what side of the tradeoff is correct for any given application or use-case. There are times where the utility of maintainability or modularity is well worth a reduction in default performance. But there are also many cases where a higher percentage of active matter in a product is a legitimate feature to the majority of its intended users. The "No True Scotsman" fallacy you use to start your argument should have been a flag and caused you to rethink the rest of it.
If there's an actual engineering reason to reduce maintainability (e.g. it improves performance), that's a worthwhile consideration. What I'm talking about is when a product is made intentionally non-maintainable, or maintainable only by people with service tools which are non-obtainable, solely because it increases profits. There's no good reason for this.
Now, for your battery example, I don't think that even applies. From what I've read and heard, most "non-replaceable" batteries are actually completely replaceable, it's just not so easy to do and requires a bit of skill. "Maintainable by a service technician with some common hand tools and half a brain" does not equal "non maintainable". I've seen tons of videos on YouTube showing non-professionals how to take apart their phones and replace those "non-maintainable" batteries. It's not like the things are epoxied in there. And you're right, you can save a bit of space by going that route; it's an engineering trade-off.
My example of something that's deliberately designed to not be maintainable (by the end-user or someone not employed by or affiliated with the manufacturer) would be a car that requires regular service, but where it can't be done without connecting a laptop to the car and using an extremely expensive software program to really do nothing more than tell the car the oil has been changed. This makes it impossible for the customer to do the service himself, or have an independent mechanic do it unless that mechanic is willing to shell out the money needed for that tool.
And probably not a true Scotchman either.
I mean, obviously only a failed engineer would ever propose not maintainable products -- everybody should use old maintainable razors for example, and not (recyclable) disposable ones. /s
And Scotch tape was named after the Scots (and features a tartan design).
As for razors, that's a terrible example. Gillette is famous for the whole "razor and blades" marketing scheme, which obviously was invented by a business person seeking to maximize profit. Disposable razors are a bad idea all around (and they're not recyclable easily; recyclable things don't have metal and plastic merged together so they can't be separated): they perform terribly and are wasteful and cost more over time. The only thing they're good for is if you left your razor at home while traveling. I like old DE razors personally, but even a modern razor is "maintainable": you can replace the cartridge heads. You can't replace the individual blades because there's no feasible way of making a blade assembly that small, with that kind of precision, where an end-user can replace the blades individually, and besides the plastic part of the blade-holder isn't very much plastic anyway. This example is just silly; it's like claiming a car air filter is "unmaintainable" because you can't wash it out, or you can't separate the paper pleats from the plastic frame. That's just dumb. As long as the filter is fairly easily replaceable, it's OK for the filter (a consumable) as a whole to be a disposable product.
I am not arguing for things to be made so they can be easily disassembled to their smallest components.
It's best to think of "unmaintainable" things as monolithic components of a larger system. You wouldn't complain about not being able to fix a light bulb, would you? Then don't complain about not being able to fix a smartphone. Your phone is just the tip of a leaf on a very large tree... and the same will be true of our cars, soon enough. This isn't necessarily a bad thing.
As for what "true engineers" would do, engineers have to take the big picture into account and design accordingly. Everything real is a compromise of some kind, and maintainability is only one factor among many that can make a product succeed or fail in the marketplace. If you design something that fails in the marketplace, it probably doesn't matter how awesome it is... or how easy it is to fix.
OTOH, I always maintain it by taking it into the shop and having them do what they do.
The only issue I'm having now is the A/C would sometimes go out last summer, but I'll be getting that looked at as we get into the summer months.
I expect this vehicle to be running just as well at 240k miles. I've already got over 10 years in it and I don't expect another 10 years to be outlandish.
That's lasting power, but I don't maintain the vehicle myself, I pay others to do it for me.
It is in the interests of the user to do away with the costs and complexities of making something maintainable and the consequent obligation to do maintenance.
This only doesn't work well because once something reaches a reasonable 'end of life', there often is no identical or equal replacement. This generates in the user a wish that they could maintain their old device to prolong its use, to avoid having to choose and learn a new and different device which may not even have any improvements.
There is no reason an item can't be user friendly, reliable, and need no maintenance.
The majority of people don't even maintain their bodies, which are priceless and irreplacable - it does not make sense to say capitalism is failing because it's not meeting people's interest in doing maintenance, when people don't show any interest in doing maintenance (outside of a small subset who care about maintaining certain specific highly prized or expensive and necessary items).
Without intervention, the artefacts of civilization would literally crumble within decades. With proper maintenance, a building could last for centuries, a car for decades, a computer or phone I would hope for at least 5 years.
Our throwaway culture is threatening our existence via environmental degradation. We're in the middle of a mass extinction, and climate change could literally end life on Earth. We need to consider the long term sustainability of our economy, way of life, and civilization.
The computer I used before that was from 2006. Which is now in use by my sister.
Both of them have been unmaintained (except for automated updates of Kubuntu) since first installation.
The same I expect from phones. And from washing machines.
My family’s microwave has been bought and unmaintained since 30 years ago, and that’s what devices should provide:
A literal lifetime of working without maintenance.
It's the feature of equipment designed for long term
The fault code is not always the problem. It's just not that simple to fix a modern vechicle. I pull a generic pid of XXXX, but maybe, around 30% of the time it's just that error code.
Manufacturers have scan tools that read there products very well. Much better than my Snap-on 2500mt. I can't buy their tools, nor will they sell their priority information to most mechanics.
So, working on vechicles made after, I say, 2000 is really getting hard.
So hard, I believe most vechicles made in the 90's will become collectable? Why--they have less do-dads, and Emmission sensors.
It gets monumentally difficult if your trying to get a vechicle to pass CA Emmission tests.
I thought OBD2 would make working on vechicles a breeze. I have not found it to be the case.
I have found buying a new vechicle is a lifelong relationship with the dealership; at dealership repair prices. I think manufactures did this on purpose. "Get them to buy your vechicle, and keep them coming back?" A sales tatic that software companies have been relying on for years now? I still remember buying Lightroom 1 at $199.00, and thinking that's all I will spend. What a deal?
I actually foresee a bunch of bricked, by failing emmission tests, vechicles in the near future.
In Germany, we have exemptions for what we call Oldtimers and Youngtimers (tax breaks, permission to enter environmentally restricted areas etc.).
I had a 1974 TR6 with an H kennzeichen! It was an adventure owning that car in Germany.
That and I have a hard time with the new "smart" driving technology. I was in my friend's Subaru last week and it beeped anytime he did anything remotely out of line...
If that day comes you should find a way to secure it because almost all older cars are very easy to steal. Those computer bits make new cars much more difficult to snatch.
http://www.dmv.org/insurance/most-stolen-cars-and-other-vehi...
Would you pay 100x more for a reliable equipment?
I always chuckle to myself when I'm told by 40-year-olds how their 14-year- olds are "so amazing with computers!". But yeah - Jimmy can open up Facebook on the iPad like nobody's business, but Jimmy has no fracking clue what's actually happening or why, or how to even diagnose common issues. Then again, maybe that's ok if Jimmy doesn't give a crap about how computers work.
I grew up in Europe and never had a car until I was in my late 20's so I never tinkered with them. Now, if something goes wrong, I just take it to the dealer. So I'm like Jimmy with the iPad.
There's no problem for me or Jimmy. The world is fine.
But then there's Billy. Unlike me, Billy didn't grow up with DOS and early Linux, so Billy has never had to look at a hex dump or figure out what pointers are or registers or flags - Billy just hits "Go" in his Java IDE and prays everything works out. If it doesn't, his eyes glaze over and he heads over to Stackoverflow.
Billy is hampered by today's world. He doesn't have to tinker with his PC or iPad, but not only that, he's actively being prohibited from tinkering with them. They're not only appliances, they're sealed off, protected by dozens of copyright and patent laws appliances that you don't even technically own anymore without signing-off on 7 different legal agreements. It's insane.
Billy might never learn about how a computer actually works. And one day he'll have to diagnose/fix something that only the 30-somethings can and he won't know how, and not because he's dumb.
Those DOS hex dumps meant nothing to me until I had a couple of microcontrollers and CPU architecture classes under my belt.
Like you, I'm also nostalgic about those error dumps and tinkering. But I also don't remember a single time when my reaction was more than "Oh neat, I understand my CPU did an error. reboot"
I want to think about tech, but the right tech, the tech landscape, ecosystem, and tools that have to evolve to achieve my or my customers' mission.
Everything else, don't make me think. Don't waste my time. Toast my toast. Protect my data. Always work when I need, with no cognitive load.
That's funny, as I see the nexus line as somewhat non-modular, given the lack of a storage expansion (SD card) slot.
That's an incredibly hyperbolic way to spin their choice. No one's in prison here. A choice was made based on desired functionality and features. And they paid for that choice out of their own free will.
They've chosen 'the jail of a simple interface' the same way someone who gets tired of working on a classic car just to keep it running as a hobby decides they'd like to buy an A8 has imprisoned themselves to the dregs of luxury car use and bumper to bumper manufacturer maintenance.
So he switched to a device that worked well enough so he did not feel that compulsion. After all, he could equally choose to jail break his iOS device and tinker with it. But there's no reason (for him) to do so.
With each Android revision I've encountered, I feel more pissed off at it. Whoever's making these changes -- it feels like they are jerking me around for the sake of their own purposes -- whether ego, marketing/ads, or whatever.
And did I mention, my device -- still under contract -- is stuck on a vulnerable version of 5?
I'm about done with this shit. I've been looking at the Nexi, but... I'm just pissed, at this point. Maybe Apple's a "bully", but sometimes that seems to serve a good purpose.
Just one of the many small reasons why I ended up going back to iOS. To be fair, I could still happily use Android and the main reasons had nothing to with UI, but still, it contributed.
Until it gets infected with malware that requires a firmware reflash to close:
http://arstechnica.com/security/2016/03/rooting-bug-in-andro...
What happened was paid apps would pop up adverts. And the browser would redirect to adverts before navigating to page links.
Citation desperately needed.
Clearly not all are iOS, and clearly not all happened to have that one compromised version.
That was indeed a serious breach, but the rigor of your comparison is lacking.
Galaxy Nexus: released in November 2011, last release: 4.3 in July 2013. Update Window: 1 year and 8 months.
Nexus 4: released in November 2012, last release: 5.1.1 in May 2015. Update window: 2 years and 6 months.
Nexus 5: released in October 2013, last release: 6.x (?), probably April/May 2016. Update window: probably 2 years and 6 months.
(Granted, the Nexus 4 received security updates for a longer period.)
They have recently announced a better policy:
Nexus devices will continue to receive major updates for at least two years and security patches for the longer of three years from initial availability or 18 months from last sale of the device via the Google Store.
Source: http://officialandroid.blogspot.de/2015/08/an-update-to-nexu...
But 3-4 years is definitely false. Up to now ~2-2.5 years, in the future 3 years.
I had a perfect Nexus 10 device running KitKat. And then it keeps nagging to upgrade to Lollipop, so I did. Ever since that, it runs every application slow as hell. If you allow the battery to run out, prepare for pain. Once you fill up the battery and it restarts it will start "optimizing" all installed applications. I have about 80 applications and this takes an hour. Every time it reboots!
Also, whether the sound will work after reboot, is a lottery. If you leave it plugged into the power, it surely won't work.
It's been how long since Android L came out and they still haven't fixed these issues for their own flagship device. Nexus is a mess and we're not even beta testers. Just a big fu from Google.
Maybe something went poorly with the OS update. Try a factory reset and see if those issues are still happening?
https://productforums.google.com/forum/#!topic/nexus/0CDPXvY...
https://productforums.google.com/forum/#!category-topic/nexu...
http://androidforums.com/threads/nexus-10-volume-wont-work-p...
I wouldn't mind, but even with Nexus phones, my experience of issues is that you end up crawling Google, and the answers are the technical equivalent of doing the hokey cokey in the hope of curing a cold: "Uninstalling Snapchat made the problem disappear!"; "Install this app and use it to work around an issue", etc.). And then the last resort - the factory reset. I'm not doing anything particularly exotic with my phone, the thought of the hassle of a factory reset is just depressing.
I bought a Nexus 5X at launch, after my replacement Nexus 5's power button died. And it has been a laggier experience than the 5 (I admit the latest update seems to have improved things (though it's still not equivalent to the 5 IME). But looking for other people with the same problem you see the same responses, like a repeating background in a roadrunner cartoon - "Mine runs buttery smooth"; "Maybe yours is faulty, RMA?"; "Tried a factory reset?". Sorry, I don't enjoy this detective work/maintenance.
I doubt the iPhone experience is perfect, but it can hardly be worse, can it?
I've wiped my n10 many times. Wipe boot and let it reinstall. Takes a while to reinstall but hands off.
The n10 is problematic hardware wise. Mine will do random reboots and always has. Boots fast so not a huge issue but annoying.
Quick mention: To the average user it might seem like an OS ugprade when integrated apps, like the Play Store, have to be updated.
I ended up moving to an iPhone 5S and I love it. Right size (for me) to hold with 1 hand while holding the rail on the train or bus, and runs really well with no problems. I maintain my work computer and home machines, that's enough. I really didn't appreciate what Android offers and it really is a shame that even the Nexus isn't the answer. I'm not a hater, I use what works for me.
There is no real iPhone equivalent in the Android market. The real kicker for me was that my wife has been using an iPhone 4S to this day, since 2011. I went through 3 or 4 Android phones in that time. Not low end phones either, Motorola Droid, GS3, GS4, HTC Thunderbolt... absolutely absurd.
Today we buy apps once and both use them, enjoy the iPhone tracking services that are built in, and the fact she just got iOS 9.3 is flat out fantastic.
Apple has literally earned our business and will continue to get it.
The only think I wish was better is the load times on the kindle app. We're talking seconds, so not worth $600 to get better hardware for it.
As far as I'm concerned, the 4S is perfectly usable.
It's amazing too because the phone was originally Verizon carrier locked, then Apple/VZW sent out an update to unlock 4S phones through iTunes and now she's been using AT&T and before that, T-Mobile.
I sparsely use my 5S, and will probably replace it with a SE when the time comes. I'm more than happy buying apps from Apples store because of the ability to install on both our phones. My most expensive app was $20 for TouchDown (coming from Android I was using this for work email and liked it). She's able to use it as well. But given something with the right utility, I'd pay more than $20 if it's on iOS.
Apple made the right call in building higher quality devices, providing the best support they can, and then banking on the AppStore to pay off. Since there's only so many iPhones to optimize for, when we do buy apps they Just Work. I had a lot of trouble with certain apps on the phones I listed in my last post.
When she's missing on a Saturday morning I can see she just went to the store without hassling her. If I'm at a Python meetup or other user group, she can see if I'm still there without calling/texting. Just now I see she's 2 miles from being home from work. If she loses her phone, I can locate it or make it sound an alert, lock it, wipe it. iCloud is so nice as well for both backups and getting access to photos without even plugging it in. It's rendered iTunes useless for me, and I was never an iTunes fan.
Yes, a lot of these features are possible on Android but iOS got there first and they just work so well and built in from day 1. Zero additional apps needed. I'm also happy with iOS' interface. It's just ideal IMO. Then the build quality and support as mentioned before.
I use a NUC for my desktop, but she uses a laptop and I've never had a Mac or Macbook but we have absolutely no qualms in buying them when we need new machines. If I weren't 100% satisfied with the NUC, I'd strongly consider just buying a Mac Mini as well.
Anyway, sorry about that. I'll stop singing the praises of our experiences with an old iPhone 4S and 5S. :) But I completely understand how you're happy with a 4S. We're really that happy about our situation as well. And I hated smartphones before. I wanted to go back to no phone at all before moving to iOS.
My reception on my MVNO carrier sucks at the house, but that's OK. She just has my Facetime Audio number down as primary. Signal is much less of an issue, and call quality is much better. If I've got WiFi in the building, it doesn't matter if my cell signal is weak.
I could go on all day... but yeah. I guess it cuts both ways (Apple/Android) to an extent. But there's a lot to be said for being on the same platform as your spouse.
The best phones I had were the Droid 1 (for its day it was ok) and GS4. I don't have a ton of bad things to say about them, but the GS4 was too locked down and got returned for a 5S. Androids bigger appeal is easy hacking with CM and other mods. My GS3 just started randomly restarting, so it flaked out. My HTC Thunderbolt was definitely the worst piece of electronics and software that I've ever put my hands on. It was an absolute abomination. They all had strange slowdowns, lockups and restarts at one point or another. The Tbolt took the cake on that behavior though. I still have the GS3, it works but it gets used as an Alarm Clock Xtreme that sits next to our bed. It's running CM and reliable enough for that. But when I really use it, seems to flake out eventually.
The biggest things I appreciate from the Android space is the great variety in smartwatches, and GearVR is pretty neat. If Apple has their own GearVR someday I'll definitely be onboard. I think that's the future of VR for the masses and Apple will swoop in and perfect it.
My current phone is a $200 Moto G and I'm perfectly happy with it. Lollipop runs well, battery life is good, and with a cheap SD card I don't have to think about storage. It isn't as nice as the iPhone 6S, but the Moto G is great value.
This isn't a typical experience. There's a reason that iOS9 is only on 80% of "active devices": people hold off deliberately. There have been many iOS updates since iOS4 that have caused widespread criticism for their effects on older phones.
I think this is a HUGE problem, and that somebody is going to die because they're unable to call 911 while the phone is "optimizing"
The phone environment is not conducive to JIT'ing, unlike your typical desktop/laptop.
This is the main reason I stuck with iOS, even the the "pure" Android experience the Nexus line is supposed to offer is tainted.
We you buy a device that comes with third party apps that are not removable it feels like you just paid for an advertisement.
To actual users, it doesn't matter whose app it is. It just matters that they don't want them, and most of the Apple preinstalled apps are utter crap.
Meanwhile on Android, though the apps aren't removable because the system partition is read-only, the apps are disable-able so the user never sees them, which is far better than what iOS lets you do.
Finally settled for the Nexus 6P, and I'm loving it. No need more dealing with crapware!
Long story short: just because you can doesn't mean you must. Options are nice but so is not having to think about it. The Nexus is a middle ground for Android
Apple relatively recently removed the requirement to pay for a developer account to compile and run apps on your own device. You can pretty much sideload apps like you can on Android, just with the added requirement of re-signing them for your device specifically (which is IMHO a nice security feature). A lot of the app store rules are enforced by human review (e.g. only being allowed to use background execution for certain things), not the sandbox itself, so you have a comparable amount of flexibility (one thing I still really miss is the ability to do JIT and dynamic code generation).
Apple relatively recently removed the requirement to pay for a developer account to compile and run apps on your own device. You can pretty much sideload apps like you can on Android, just with the added requirement of re-signing them for your device specifically (which is IMHO a nice security feature). A lot of the app store rules are enforced by human review (e.g. only being allowed to use background execution for certain things), not the sandbox itself, so you have a comparable amount of flexibility (one thing I still really miss is the ability to do JIT and dynamic code generation).
Nexus devices have a variety of manufacturers. The current 9 is made by HTC, the 5X by LG, and the 6P by Huawei
>one company provides the software
Nexus devices all come with unlockable bootloaders that allow you to flash custom Android ROMs such as Cyanogenmod. Past that, other operating systems such as Firefox OS and Ubuntu Touch could be flashed on Nexus phones such as the Nexus 5.
>app store
F-Droid is an alternative FOSS app store available for Android. You can also use Amazon's App store which is what Amazon's Kindle Fire Android tablets do rather than Google's.
Obviously only the latest matters?
And those are manufacturers, not the company designing it, which what matters. Otherwise Apple uses a variety of manufacturers too, not just Foxconn.
You have realized that from Android M on you can’t rely on getting notifications on Android anymore unless they go through Google?
Any application running in background – unless it is from Google – can be killed at any moment to save battery.
In Android M, when the device hasn’t been used or moved for half an hour this "Doze" mode activates, usually during the night.
In Android N, it activates as soon as the screen is off.
I find it extremely annoying that android devs assume this, because apps fail to install/work when one doesn't have google play services installed.
I value reliability over everything else and in Androidland, that means Nexus devices with zero customization.
If you are addicted to TV but want to spend your time on more active pursuits, you get rid of your TV.
If you're addicted to futzing around with your Android device…
No, he's saying that he got himself out of being the prisoner of his device (time, maintainance, etc wise) to being the casual user of his device.
All you need is learning how to prioritize your time. A lot of adults can do that.
It's always a matter of trade offs. For some people, tinkering with their device is more important. And for the rest, they just want to get their work done and for their devices to get out of the way. I have come to terms with the freedom in the latter category now.
I tried in February to switch to the Nexus 6P. I literally had to restart it TWICE on day one. How is that even reasonable? for 650 dollars, that's a joke.
I'll get downvoted to hell, but I really don't care, iOS just works (tm), and I'll take that over custimizibility any day of the week.
And the fact that every iOS version ever has been jailbroken only tells you how hard security is... specially against an adversary with full physical access to the device.
http://venturebeat.com/2015/12/31/software-with-the-most-vul...
All that said, I don't trust Apple one bit ;-)
"Is this not... better?" - Loki
Hmm, I think it's only a jail if it feels like one. I did something similar for my photography, "jailing" myself to a fixed lens with no zoom. It was truly liberating to lock myself in. Yes, I realize the oxymoron there. But I could concentrate on making the best of my skills rather than falling into a gear swamp.
In general, even the devices I don't personally like with OEM skins and addons work just as well out of the box for typical uses like web, email, phone, calendar, nav, and your average smattering of entertainment and communication apps.
In that regard, there's not a lot of difference and both platforms succeed well. It's more about how well they "fail". When I use my iPad and it doesn't do something I want or behave in a way I prefer, my options are often similar tweaking and tinkering. Many times, I would need to jailbreak the thing in order to install an unsigned app not approved by Apple to get it to do what I want.
On my Android devices, it's usually a lot simpler. iOS has improved a bit in terms of customization (being able to "open with" various apps instead of the factory defaults, third party keyboard layouts, and stuff like that) but that was always the case on Android.
As these platforms have matured, they've both got their "success states" pretty solid so now it's down to how well they "fail" and how easy it is to get my device to do what I need without jaibreaking or otherwise taking advantage of security holes to gain access to certain settings or capabilities.
> Switched to iOS from Android (with reasons)
> Counterargument is: But you didn't try this specific Android device.
Sort of "moving the goalposts," is it not?
I appreciate and even agree with your view, but you might as well be talking about OS X versus Windows given the topic of the submitted post.
https://chrome.google.com/webstore/detail/hacker-news-collap...
So yeah, I totally get what you are saying :-)
I just install Xubuntu, configure it to my workflow and it works until the next update comes out, I've had one serious issue with it (they shipped 15.10 unable to build the fglrx kernel module with the version of GCC, can't blame Xubuntu directly but that was a pain oth I found out that the open driver is now as good/better for just the desktop stuff so I came out ahead).
Yes that works these days. 2 yrs and running, with minimal tinkering. Can't do that on Android (it would require you to never install an update).
That is predominantly because OS and hardware as separate products is essential to user empowerment over their own hardware. There is a tremendous conflict of interest for a company who makes its money selling new hardware to provide good software support to old hardware, so they just do not. And it brings Android as a whole down for it.
If these companies were also not so Linux hostile and stupid, they would upstream their device support into mainline Linux so we could see a healthy ecosystem of Android forks rather than just one attempt in CM that destroys the souls of volunteers who have to maintain all the insane out of tree binary blob kernels these OEMs ship phones with.
The article talks about how Android is a better platform to develop mobile offline web apps. You talk about how you like iOS from a user point of view. Your comment is totally unrelated to the article.
Yeah Google owns my life, but I wouldn't feel better if Apple owned it instead. Never felt the need to tweak hardware, or run Cyanogen and others. Once I wanted more memory for my music. But then deleted some of the music I didn't want and was fine.
Best part if I sit on it and break it, I'll just go find another $170 Moto G without blinking an eye.
I have a full time job and all but shelling out $700 for a phone I can drop, loose, break is not in my budget yet. Maybe one day...
Why? Apple makes money selling you hardware. Google makes money selling you to advertisers.
I'm not comfortable with any company figuratively "owning" my life, but if I have to choose, the one that isn't built on scummy ads will get my money every single time.
That's a little misleading. Google makes money showing you ads. It's not like I can call up Google and buy billyhoffman's data.
And with Apple they have a demonstrated history of protecting privacy at any cost. Google not so much.
I worry far more about things like getting into a car wreck, falling in the shower, and my crappy diet.
https://www.google.com/transparencyreport/userdatarequests/l...
http://images.apple.com/privacy/docs/government-information-...
There's not that much difference between what the two of them provide to governments as a response to legal requests.
Also note that Apple continues to operate in China while Google refused to cooperate with the government there and gave up huge business potential in that country.
Rants apart, this fact:
> Apple makes money selling you hardware. Google makes money selling you to advertisers.
has a direct consequence: cloud services made by Apple are generally inferior compared to those made by Google[2].
Now of course if you value privacy over everything you might prefer to save your data locally rather than in the cloud, but I have too many devices lost or broken to go that way.
[1] https://support.apple.com/kb/index?q=backup+could+not+be+com...
[2] http://www.theverge.com/2016/2/3/10900612/walt-mossberg-appl...
Stock android, waterproof, swift, solid (I've dropped it an unbelievable amount of times (my HTC's didn't survive even one drop)).
The UI is absolutely fine. Nice and clean and quick. And I concur, don't need to fiddle with anything.
Brilliant phone. I'll have it over an iphone or Sammy £500 phone in a second.
n.b. I'm 40 and have no need for snapagram or whatever. (Even if I needed it, pfft, nobody needs it).
I don't consider my action as switching as I'll probably keep switching to both my windows phone and xperia every couple of months.
The main reason I got myself an iPhone: there are still plenty of apps launching iOS only or first.
I also feel that both platforms have now matured for the past year and it doesn't really matter what I use.
I got to complain about iOS (lack) of a system-wide filesystem and locked-down file-sharing, though.
I did the same. Outsourcing mobile to Apple made my life easier too.
The more I thought about it, though, the more I realized I was solving for a problem that no longer existed. I've felt recently like I spend too much time on my phone. I don't want to play games and watch movies on my commute any longer. I don't want to read books on my phone. I want to read an actual book or, at worst, on a Kindle where all I can do is read. I want to work my brain more, basically and the phone has become antithetical to that.
So I purchased a Nexus 5X. Low storage, barely enough space for my music, etc. I saw it as going as far down the phone food chain as I was willing to go without going to a flip phone. I've been really happy with it. I talk to human beings. I look at the world. And my phone really only has enough space for a few smartphone things like maps and music. It's perfect for what I want now. Fairly simple and limited. In this case limited is good.
One flaw: tough to repair (2/10 on ifixit [0]) which will be fun when the battery starts to go.
Another issue: Android Marshmallow (admittedly not Nexus-specific) doesn't play well with AdBlockPlus, and if you want AdAway or another hosts mod, you still need root. Rooting will allegedly break Android Pay, too.
[0] https://www.ifixit.com/Device/Nexus_6P
You may also install the Firefox android app then add the Adblock extension
Also there are lots of other android Chromium browser apps in the playstore and many with ad blocking built in
My experience "hacking" my Nexus 5 to enable WiFi hotspots, without paying sprint for the service, required root, and the process took maybe five minutes.
So effectively, you prefer to use tools that give you less flexibility and that's why you prefer the iPhone.
Bought an iphone last year. Couldn't be happier.
My iPhone would ring and I could use speaker on a call but I could not hear music or sound in videos. I rebuilt my image, but the issue persisted for about 3 months!! It was my car audio dock and Apple's hidden "other volume" setting that was the culprit.
At one time, I tried to copy music to my phone, but all new songs were being corrupted. I used 3rd party tools successfully, but iTunes would corrupt the songs when I re-synced my phone. About a month later, Apple fixed the bug - but it was "impossible" to get new songs on my phone.
ITunes crashed during synchronisations and I realised at one point that I had about 25 gigabytes in lost space. I had to erase the phone and recover from a backup to fix the leak, which takes many hours to do. There is no file system fixer for IOS.
In most of these instances, I was snookered because I had no control over my device. Going several months without music was a major inconvenience that Apple failed to solve, despite many attempts. This reinforced that I am not truly in control of my device when such basic things are not possible.
TL;DR Apple "just works" is a myth. It's great when it works and disastrous when it doesn't.