Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Google Software IT

The Insane Amount of Backward Compatibility in Google Maps (tnhh.net) 73

Huan Truong, a software developer, writes in a blog post: There is always an unlikely app that consistently works on all of my devices, regardless of their OS and how old they are: Google Maps. Google Maps still works today on Android 1.0, the earliest version available (Maps actually still works with some of the beta versions before that). I believe Maps was only a prototype app in Android 1.0. If I recall correctly, Google didn't have any official real device to run Android 1.0. That was back all the way in 2007. But then, you say, Android is Google's OS for Pete's sake. How about iOS? Google Maps for iOS, version 1.0, released late 2012, still works just fine. That was the first version of Google Maps ever released as a standalone app after Apple ditched Google's map solution on iOS. But wait... there is more. There is native iOS Maps on iOS 6, which was released in early 2012, and it still works. But that's only 6 years ago. Let's go hardcore. How about Google Maps on Java phones (the dumb bricks that run Java "midlets" or whatever the ancient Greeks call it)? It works too. [...] The Palm OS didn't even have screenshot functionality. But lo and behold, Google Maps worked.

The Insane Amount of Backward Compatibility in Google Maps

Comments Filter:
  • Stable API (Score:4, Insightful)

    by dos1 ( 2950945 ) on Monday February 12, 2018 @10:26AM (#56108089)

    Maybe they just got a reasonable and stable API from the beginning, so they don't really need to have "insane" backward compatibility?

    • by Anonymous Coward

      Seems unlikely, given that the early maps applications displayed tiles with raster images, while modern ones display client side rendered vector tiles.

      It looks to me like the API contract has completely and entirely changed, they're just working really hard to keep the old API working.

      • by dos1 ( 2950945 )

        Raster images are still used even by some of their Web frontends, and it seems completely reasonable to support both tiles and vectors for maps service API. You don't need to remove or "work hard to keep it working" old one when you add a new feature to your service, when the old one is still a core feature of your platform.

    • Re:Stable API (Score:5, Insightful)

      by jellomizer ( 103300 ) on Monday February 12, 2018 @10:49AM (#56108215)

      The google Maps when was released was impressive, as it used the newer features in the browser, where other vendors were a bit wary to implement. During this time, including Javascript as only for form validations, and was coded to be expected not to be used. However these new features in the browser have became commonplace. But other then using the new standard browser features, Google didn't do too much that was crazy, Like having a plug in, using a MS or Firefox only feature. They followed the HTML 4 Standards. By actually following the standards it allowed for easier forward compatibility, as features are removed and deprecated much slower from a standard then they are in some crazy hack.

      I myself have some fairly advanced HTML pages still running on modern hardware without worrying about upgrades, Because I followed the standards and didn't include any browser/os/hardware particular features. So they still work decades later.

      This is why I have been a proponent of the Web Application method. The software has a much longer life span then with a say Windows forms.

      • by shess ( 31691 )

        The google Maps when was released was impressive, as it used the newer features in the browser, where other vendors were a bit wary to implement. During this time, including Javascript as only for form validations, and was coded to be expected not to be used. However these new features in the browser have became commonplace. But other then using the new standard browser features, Google didn't do too much that was crazy, Like having a plug in, using a MS or Firefox only feature. They followed the HTML 4 Standards. By actually following the standards it allowed for easier forward compatibility, as features are removed and deprecated much slower from a standard then they are in some crazy hack.

        The value in having a reasonable and stable API from the beginning would be that the tech used to build the client would be irrelevant. If you design your API around the specific capabilities of a specific browser, then in two or three years it's going to be painful to continue supporting that browser while also supporting whatever new API you created to conform to the specifics of newer browsers.

        [That said, I think the OP on this thread overplays it. I doubt the first choice was having a reasonable API,

      • by Anonymous Coward

        Windows forms have had a stable and consistent API for going on 30 years now, with braindead-easy implementation in .Net for more than 15 years.

        WNDCLASS [microsoft.com] is a struct to define the settings of a window while you're creating it. This was in common use back in the Win16 days, along with the CreateWindow() function.

        WNDCLASSEX [microsoft.com] is the same thing, but EXtended with a few extra settings, like the small icon in the window title bar. This became a thing with the dawn of the Win32 era, along with the CreateWindowEx() f

        • by Anonymous Coward

          Lol, that's literally the only part.

    • by AmiMoJo ( 196126 )

      Google Maps is available as an API for commercial use. A lot of business specific apps use it. So for that reason the API is very stable, and they don't deprecate old stuff. They add lots of new functionality, but the old stuff keeps working as a fall-back.

      The map tiles are a good example. The current version of the app and web site use vectors, allowing for arbitrary zoom levels and rotation. But the old bitmap tiles are still there and constantly updated, because a vast amount of stuff uses them. If they

      • by dos1 ( 2950945 )

        There's nothing "old" in tiles, they aren't just a fallback - they are still essential to the service they provide, so there's no reason to remove support for them. Maps offer two equally supported ways to get the map data: raster and vector. In some use cases you want raster, in others vector. That's it, not much to attribute to backwards compatibility, yet alone its "insane amount".

        (sure, they do provide HTML-only frontend for instance and that's very good and could make some argument there, but that's no

  • lynx (Score:1, Interesting)

    by Andre Dias ( 3819801 )
    lynx still browses the WEB, that doesn't mean the web has backwards compatibility
    • by Anonymous Coward

      It does which is called HTML

  • by evenmoreconfused ( 451154 ) on Monday February 12, 2018 @10:32AM (#56108125)

    Surely the only thing that's really important is what IE6 does with it. Why would anyone use anything else?

  • by cyberchondriac ( 456626 ) on Monday February 12, 2018 @10:40AM (#56108153) Journal

    This sounds like a free ad for Google more than anything else. Slow news day?

    • The only thing that's insane is the poster. Don't get me wrong, it's nice that you can scroll a map, size it, and use different overlays. It's hardwork. But insanely cool? Nope. Just good work over a long ride.

  • Absolutely amazing. Really shows you what continuing to support an older API can do. I wonder if there's some really old customer that started using Maps API v1 or something that still uses it, and that's why Google keeps it going?

    Also, I think the T-Mobile G1 (called the HTC Dream outside the US) ran Android 1.0. I remember getting one, and using it, and about a month or so later getting the first Android 1.1 update.

    • My G1 ran Android 1.0 (in October 2008) all the way to 1.6 stock, and further, 2.1, on Cyanogen Mod.

      Since Cyanogen had offended Google by then, I had to get the Google Apps from a zip file, a lot of stuff wasn't in CM 5 due to memory constraints, and it was slow. But it worked. And it still does to this day, though the battery I have is pretty sad.

      Not that Google was the least embarrassed to release Android 1.0 without working Bluetooth, mind you. But that was a fun phone, rooted and all. Perhaps my HTC M7

  • by Anonymous Coward

    The only thing insane is how low our expectations have become that we don't expect software to degrade gracefully, especially since Google maps is a glorified web page.

    Early on I had hoped that Free and Open Source Software would mean less software being abandoned or radically overhauled and that users would have greater comfort and consistency. How very wrong I was.

    • ^^ This.
      "Hey, something STILL works three years after it was created" = double-plus good.
      >> I had hoped that Free and Open Source Software would mean less software being abandoned or radically overhauled
      And now you know one of the reasons why we still have Microsoft. And Oracle. And IBM.

      It's really only when you get comfortable with regular radical overhauls that you get truly comfortable with free open source projects supporting your operations.
  • by DogDude ( 805747 ) on Monday February 12, 2018 @10:46AM (#56108199)
    It's sad that a company keeping software roughly the same for 5 years is considered "news". Microsoft and other real software companies often support their products for a decade or more, believe it or not.
    • It's sad that a company keeping software roughly the same for 5 years is considered "news". Microsoft and other real software companies often support their products for a decade or more, believe it or not.

      Well, I think the more newsworthy part is that Google has a piece of software which continues to function for users of relatively ancient devices and operating systems. Since the company is notorious for depreciating products at a whim, it's surprising that anything but their search engine has that amount of backwards compatibility available to it.

      Moreover, MS is in a bit of a different position with respect to supporting software for a decade - it's typically locally installed. I've got Windows 98 install

    • The real news is that a Google product lasted for more than 5 years without being cancelled or changed into something completely different that all of the users hated.
  • by Anonymous Coward

    Microsoft supports running 30 year old third-party applications on Windows 10? Idiotic cruft from a stupid evil monopoly.

    Google supports running a web app that it writes itself on a 9 year old platform that it still controls? OMG THANK YOU FOR GENIUS ENGINEERING GOOGLE! LET US WORSHIP YOU!

    Incidentally, for all this "amazing" compatibility, how about getting Google Earth to run on Firefox? Or how about getting Google Earth to run on Chromium without hacking Chromium up? Oh wait, that doesn't count appar

  • Not insane (Score:5, Insightful)

    by RJFerret ( 1279530 ) on Monday February 12, 2018 @10:51AM (#56108229) Homepage

    That is neither "insane" nor "hardcore", stuff continuing to work should be the norm (and is in many cases); insane is the opposite, that software is changed to not function anymore. It's ridiculous that simple things we used to be able to do are no longer capabilities.

    Worse is systems/devices that used to have decades or hundreds of years of functionality are now being compromised by more software integration without a durable mindset.

  • by Anonymous Coward

    Have you seen the Google Maps API? It works like webpages. You send the server a request with parameters to define details and it sends back a JPG, XML, JSON, or whatever. But it's actually much simpler than webpages because the possible parameters are limited. In other words, it's not backward compatibility. It's just a simple set of web server requests.

    I happen to be writing this on XP -- 17 years old. When I want to edit a Google map image I use Paint Shop Pro 5, which is about 20 years old. I guess we h

  • buy a google self driving car vs an apple one as the apple one will go EOL and stop getting software updates after only 2-3 years with an $5000+labor and shop fees cpu upgrade needed to keep it on the road.

    • buy a google self driving car vs an apple one as the apple one will go EOL and stop getting software updates after only 2-3 years with an $5000+labor and shop fees cpu upgrade needed to keep it on the road.

      Mac OS High Sierra is supported on Macs from 2009 [apple.com]. Your argument is invalid.

      • And the last version of Final Cut Studio was released that same year. It does not work at all on High Sierra.

  • I still use an iPhone 4 with iOS 4 and it works just fine. I don't have the fancy streetview but at least I get directions and position.
  • Layers (Score:4, Insightful)

    by Howitzer86 ( 964585 ) on Monday February 12, 2018 @11:37AM (#56108525)

    If you run Google Earth Pro (the application, not the web app), you can see how the new stuff is layered on top of the old stuff in a way that might not be as apparent in the Google Maps app.

    By default, Google Earth looks a lot like Google Maps - especially the browser version.
    If you turn off 3D Buildings in Google Earth Pro, it drops back to projecting 2D satellite photos on topography. This is how it looks in the Google Maps Android app.
    If you turn off terrain, that topography disappears and the ground is perfectly flat. Now you're working with data that's available to the old Android apps.
    You can't turn off the satellite textures in Google Earth, but if you could, that would just leave the roads and street names. This is what was available to the first Android and Java apps.

    New versions of Google Maps will load new layers, but so long that Google maintains the old layers and the format it is stored in, there's no legitimate reason why old versions of Google Maps couldn't load it and simply ignore the new stuff.

    Though I have no experience, I'd guess it's this way because the database is being updated constantly, and not just for every official release. I can imagine they don't want to have to keep things updated while also updating the format, so instead, they just created one good extensible database and add to that in layers as new features become available.

    Someday, years from now, we'll be marveling at the fact that Google Earth Pro still works, and still accesses all the new GIS data, years after Google abandoned it in favor of the web app. Sure, it won't support holographic teleportation targeting, but it'll still do what it was designed to do 10 years prior.

  • For a company the size of Google, an an application that is basically drawing tiles in a grid, is this really all that impressive?
  • The trouble today (Score:5, Insightful)

    by darkain ( 749283 ) on Monday February 12, 2018 @01:01PM (#56109171) Homepage

    This just goes to show the trouble with today's mindset of software, that any sort of decent backwards compat support is seen as revolutionary. And here I am, running Windows 10, still printing on a printer built in 1998 (that has official Win10 drivers), and using software written for Windows 95 that still works flawlessly. As much as the Slashdot crew loves to bitch about Microsoft, the WIn32 API has been stable as hell since its inception, MS has put in a great deal of effort to ensure software retains functionality. (yes, this excludes the DDK, which changes every Windows version)

  • Google Maps still works in Opera 12 (~5 years old) as I use it now and again.

    I still miss the Javascript-less version of mapping that Yahoo! used to have during the dial-up days. Every edge-of-the-map "square" was an HTML link pointing to the next portion of the map. It was so fast despite the bandwidth and slower CPUs of the time.
  • with my eyes! Seriously, the maps lack decent contrast. What I could see a few years ago is nearly impossible to see now. I would like to blame them, but I know it's really my aging eyes that are at fault.

    Their maps have never really had decent contrast. You sure as hell can't print them. Plus, I wonder how many car accidents have been caused by people squinting at their phones trying to see a street name.
  • when they were offering you the opportunity to use their GPS maps service and incorporate it into your app. this is why it is still compatible. this project was always meant to be that way.

"Yeah, but you're taking the universe out of context."

Working...