The insane amount of backward compatibility in Google Maps
tnhh.net
tnhh.net
I was more impressed by the author getting this to work than the entire article about Google maps backwards compatibility.
That dedication ._.
In 00's this was the way to connect palm devices to internet wirelessly, there even were ready made "bluetooth accesspoints" that did exactly that.
After another half a day I decided that there was no chance I could understand bluez system in the Raspberry Pi to make it provide DUN via the USB Bluetooth dongle. So I thought to configure my HC0x Bluetooth dongle to provide DUN via serial tty. So I went the alternative route of hacking the HC06 Bluetooth module to HC05 (or the other way around) because I only had the wrong kind laying around. I needed to wire 30 wires from the desktop parallel port to the dongle to reprogram it. And had to install Windows XP 32 bit on the desktop because the firmware programmer only likes that. It took days to get the Palm to connect to the Internet.
It was a crazy journey & deserves a long blog post by itself :)
In my experience whether the dongle is connected through USB or as native UART is mostly immaterial from the bluez PoV. Another thing is that when we started playing with this disconnecting USB BT dongle reliably caused deadlock in kernel (on linux 2.4.25 or something like that, about half a year before first realy usable 2.5.x kernels)
"What? server XYZ still works!? Mel was supposed to turn it off in 2010!"
The J2ME midlet has been very useful in the past years and I really don't want to lose it. (Ah, the pain and sorrow of relying on somebody else's service.)
If the client used tilemaps versus vector data, I would expect the tilemap data to be out of date, but the directions would still be valid.
But this is Google. They deprecate things with last week's milk. I feel like they have a pretty good idea of what's still running, and shut it down if it doesn't make them at least half a billion a year. I still miss many products, and I wasn't even a Reader user (so no, it's still other stuff I'm disgruntled about).
These days you can't even do a Youtube search without an account, and an account needs a phone number of course, so you have to resort to HTML scraping to do simple stuff like just using the top hit (so you can fire off a tab with some song in the background, without waiting for it to load and click a result with the mouse). There used to be an API for simple things like that.
Look at Google Finance, for example - uses Adobe Flash, which is 2 years away from EOL. Presumably it's not making any money and doesn't have a maintenance budget; if it did, they'd have moved away from Flash when the iPhone came out. But when Flash hits EOL, maintenance is mandatory.
Turning it off is what I'd do in that situation.
Hyperbole or...?
https://youtube.com/results?q=never%20gonna%20give%20you%20u...
seems to work fine without an account.
> so you have to resort to HTML scraping to do simple stuff like just using the top hit [...] There used to be an API for simple things like that.
[1] - So goes the standard joke: Some people think Google is an advertising company. Techies recognize Google as an advertising company. But in reality Google is a company which turns protobuffers into more differenter protobuffers.
https://github.com/google/protobuf/issues/272#issuecomment-2...
There was a whole MapReduce (which Jeff Dean used for years in public talks to explain the concept), part of a larger pipeline, that converted the road and POI network into bitmap tiles. It didn't run by accident or maintain itself, so this is probably not a coincidence. :-)
Actually, with the push toward edits going live quickly and the styling/multilingual support in the Maps API, it's likely that a good chunk of tile traffic is rendered on the fly now, but the HTTP requests to the servers would look the same and there would still be enough demand for the stock tiles.
That's interesting though,why does South Korea use bitmaps?
Obviously, this is a huge problem for Google, who wants to keep the world's map data in multiple data centers across the world. So... imagine what kind of horrible kludges some unfortunate developers had to write just to comply with that law.
I notice that many text-only websites don't even work with old phones/computers now. It's because some older browsers don't do HTTP/1.1. More importantly, they don't do modern encryption standards, and web servers don't like that at all. Or maybe you have expired (root) certificates on the client, and the OS/your app doesn't provide a way to override/upgrade the certificates. I have seen more legacy apps break because of encryption than any other cause. You patch/upgrade the server software or you renew your certificate, and suddenly the legacy support is gone.
It's very tricky. I don't know, but I bet part of what made Gmaps clients so compatible is because the legacy clients didn't do HTTPS, and Google's servers don't require HTTPS.
Yes, and come July 1st, many websites will only allow TLS 1.1 and TLS 1.2 to be PCI compliant, which will knock out a bunch of old clients.
> I bet part of what made Gmaps clients so compatible is because the legacy clients didn't do HTTPS, and Google's servers don't require HTTPS.
That's my hunch too.
The web browser is of course obsolete. Newer ones run slower, take more RAM than the 512 MiB that the system has, expect a GPU, and have lots of dependencies.
In other words, I wouldn't be surprised if Facebook knows now.
It's super impressive.
http://www.financial-hacker.com/bye-yahoo-and-thank-you-for-...
I still have an old iPod touch, the iPad 1, and dayly use my iPad 3 (iPad with Retina). I also own the new iPhone X. But especialy on the iPad I have no use case on updating it besides it is running this old iOS, for which no update is available anymore. Because there is no update all the apps for it are also not anymore updated, because Apple requires in Xcode a minimum iOS version for compiling. So I am more and more cut off from many services just because a newer iPad does not provide more except to stay up to date with the services I use.
Comming from an industrial background where systems are running for 20 years, 30 years, and more that is really frustrating, when even 5 year old technology doesn't run for other use cases.
On another note, when Apple first implemented two factor authentication, they didn't make it well known, but you could enter your password+authentication code for older iOS versions. Later, they actually added that to the password prompt.
The only caveat is that you can only download previous versions if you have downloaded any version of the same app previously. If you haven't, you have to download the newest version from another device first or you have to download it via iTunes and then you can download it from the App Store on the older device.
Only with the 3G could they start claiming it was a smartphone.
Sadly didn't stop boneheads like a NYT writer to try to relabel it as a "superphone" because smartphone was apparently by then too pedestrian for something Apple made...
The very defining feature of a smart phone are the apps, though.
EDIT: Due to downvotes, here’s Apple’s own page advertising how iOS 2 (introduced with the iPhone 3G) adds apps to the iPhone: https://web.archive.org/web/20080912112138/http://www.apple....
LG had more than a dozen phones with touch screen (resistive) at that time that had "apps" but no third party apps (except for JavaME apps).
The game changer (as the linked site from Apple states as well) was an App Store allowing direct access to third party apps. And that's what created another modern tech revolution.
No. The point of a smartphone is to expand the scope of what can reasonably be done so they it can be considered more like a computer than a dedicated device with a narrow, defined set of capabilities. Jobs was right that the quality of the iPhone's browser was sufficient to raise it to that level.
Of course having 3rd party apps raises it to another level. It would have been a death sentence if the iPhone proceeded for too long without them while competitors developed a robust app ecosystem but that was never the plan.
Back then pretty much every high end phone had that... The IPhone wasn't anything special at that time. The IPhone really took off then they allowed 3rd party apps.
http://www.nicolasnova.net/pasta-and-vinegar/2015/6/28/some-...
10 years ago? As far as cell phones go? Most definitely the "Dark Ages"... Considering we are moving into a time frame when watches are starting to have cell connectivity:
https://www.lifewire.com/smartwatches-with-cellular-connecti...
Where are we going to be 5 years from now? 10? 20? Compare the Treo and BlackBerry to the current iPhone X, Note 8, etc...
And i see screens with more colors and pixels, but other than that not much new. It is still calendars and messages that rules.
But from EDGE to LTE, from weak single core processors to 64-bit 4/6/8 core beasts, from no GPU to what would be considered desktop grade back in the day, from shitty 3gp 144p videos to hardware accelerated 4K H.264/5/VP8/9…
Yeah, people still do messages, but messages now include high quality multimedia edited on device.
Also, web surfing rules. Opera Mini on J2ME and others sucked, it was nothing like the modern mobile web.
As for editing videos or such on a mobile device, bah humbug. The interface is not there in any more than the most rudimentary way. If anything it has regressed unless one happen to have a Galaxy Note, as fingers simply do not offer the precision.
What about doing all of the above at the same time?
"I only see" is because you are limiting what you see in a way that goes against what the vast majority of people see.
That's like saying the new MacBook is no different than a 286 because you had Excel Worksheets on both.
Or saying there is no difference between a Model-T and a 2018 Honda Civic - they both use gas, have 4 wheels and a windshield.
Lots of high-end feature-phones had all these features in 2007–2008. (GPS was not common before then, but some had it earlier.)
> Facetime in realtime to anyone in the world?
Video calling was a heavily promoted feature of the first 3G phones, a long time ago.
> What about doing all of the above at the same time?
Good feature-phones had multitasking in 2006. I would often listen to music while running multiple third-party apps (!) at the same time.
Of course, these phones cost a tiny fraction of the price of the first iPhone, so hardware limitations like having only a few megabytes of RAM were a bit constraining. The functionality was basically there though.
Even comparing the original iPhone vs the current batches of iPhone - we are talking GENERATIONS of improvements. Massively better camera's, GPU, CPU, Batter, Screens - both pixel counts and size, network infrastructure, software infrastructure (MySpace vs Facebook).
Orders of magnitude improvements across ALL of those metrics.
Simply talking multi-tasking on the original Android and iPhones vs today? Comparing those vs the Palm and Blackberries they replaced?
I've lived through 20 years of Cell Phone... 10 years ago may not have been the "Dark Ages"... but it was the time immediately afterwords (Palm/BB/WinPhone were definitely the Dark Ages).
We are comparing Horses & Buggies, Model Ts and 2018 Honda Civics... the Model T was better than horses and buggies... but not that much better.
The much maligned N-Gage had a true multitasking OS with internet and apps in 2003, except Americans never got along with Nokia or Symbian OS.
A lot of people who have old phones have them because they can't afford anything newer. The pressure to constantly update to newer hardware is a hardship for poor people. It de facto is one of the ways they get excluded from modern life.
I am also real freaking tired of Google apps being a suite on my cheap phone that constantly updates and threatens that you may break other apps if you disable this one. It makes it very challenging to add any apps to my phone. And my wants and needs are not huge. But Google is eating a large share of the storage space and eats into my time for clearing the cache, etc, to keep the phone functional.
I agree with the Google Apps thing, though; my employer gave me a new but cheap phone with just 4GB of internal storage, and I'm always having to cleanup so I can install anything new. And an SD card barely helps, lots of stuff simply can't be moved.
I love the internet. It makes my life vastly more workable. But it makes me crazy that there is so little effort to keep the bar for entry low in terms of money and technical savvy.
Why does my cheap phone need so many apps that I don't use, that cannot be disabled and that promptly update again after I delete all the data off of them, forcing me to delete the same data repeatedly? Is this really necessary? Come on.
Thank you.
(Yes, it would have to be Windows NT to run I think)
Read Raymond Chen's fantastic blog for how much MS have worked to keep backwards compatibility going.
And then we come to backward compatibility and mainframes:
"The IBM Z family maintains full backward compatibility. In effect, current systems are the direct, lineal descendants of System/360, announced in 1964, and the System/370 from the 1970s. Many applications written for these systems can still run unmodified on the newest IBM Z system over five decades later.[3]"
https://en.wikipedia.org/wiki/IBM_Z
It would be interesting to see someone try to see what the oldest unmodified app they could run on a Z series was.
Palm OS crashed a lot too. No memory protection either. Their IDE was based on Eclipse though. That was a different era for sure.
I guess what it comes down to is: they have a confined, well defined feature set (maps + navigation), which only requires a simple API to maintain. The functioning of the different versions that talk to that API is independent of that API.
That's not a fair characterization - it is impressive regardless of the industry. I was impressed just the other day reading about Mercedes classic has stock of spares for old cars (not all parts). I would like to think the number of generations of Mercedes cars is comparable with the number of generations of Maps APIs that have been rolled out. Maintaining support for old products takes effort, and is unlikely to be profitable (directly), one is justified in not doing that without fixation on the "new".
"The phone runs Palm OS 5. It doesn’t understand Unicode. Of course, it has no idea what an “emoji” is. When you send it a text message that has one character outside of the printable ASCII range, it freaks out and corrupts the whole message. It doesn’t have Wifi of any kind. It doesn’t even connect to the Sprint’s 2G EV-DO/1xRTT network (because the data provision server is long dead). In short, it has no easy way to connect to the Internet at all. In order to get the thing to connect to the Internet, I had to fucking emulate a Dial-up Modem over Bluetooth using a Raspberry Pi."
Google's support is probably just a bunch of old APIs and test suites -- comparatively easier to keep working.
As a personal experiment (starting a bit over a week ago), I switched all of my browsers' default search engines to DDG and it's so far been surprisingly pleasant. To me, it actually feels faster than searching with Google. Results seem easier to read through too.
Be sure to read about the !bangs feature and take full advantage of it - it's probably the feature that won me over most easily but the rest of it is good too: https://duckduckgo.com/bang
When you have one character outside of the ascii [1] range, the whole message needs to be encoded in UCS-2 [2], so it's not surprising that the whole message is illegible, since the phone doesn't understand unicode.
[1] it's more likely to be the gsm-7 range, although ascii sms is possible
[2] or UTF-16, which is outside the SMS spec, but works enough, and enables emoji, so....
> How about iOS? Google Maps for iOS 1.0, released late 2012, still works just fine. [And] That was [just] the first version of Google Maps ever released as a standalone app after Apple ditched Google’s map solution on iOS
I imagine with every new major version they switched to a different Web API Endpoint and left the old ones intact. So app-wise nothing really had to be changed or maintained over the years.
You say "should be trivial", but in practice that doesn't seem to be the case for most applications.
For example, Google Calendar changed their API some years back which caused the calendar display on Samsung refrigerators to fail.
Why did that seemingly trivial task of calendar synchronization fail?
It's not more common because we as an industry have a terrible habit of designing systems to be non self-maintaining.
There are new things like vector tiles with multiple layers of vector data, so we will definitely see more breakage with clients using that.
And the routing is response JSON also had a stable layout. It's not hard to continue to support these api because the type of data they send doesn't change. Google also versions, and accounts and charges for the api usage.
I wish there was more standardization for calendar data but many calendars, including Google, like to mess with the the underlying data and functionality, and there is not ground truth like xyz to really ground them =)
But they still discontinued the old API and broke all the first-gen smart TVs.
Guess it was because it couldn't support Ads?
If anything, graphql apis would be easier to maintain in the long run, since clients asks for what they want. New clients could ask for the new data, without breaking the responses for old clients.