I think this is the right place for this question. Why o Why is Sketchup not backwards compatible. I know not one piece of software that isn’t. Some computers in our school have S15 (network/server) others S16 stand alone or BYOD’s . sometimes computers crash and they have to sit somewhere els and than the 2016 does not open on the 2015 installed software. and so on.
In the sense of “never change your file format” I know of no software that is backward compatible. In most applications, like in SketchUp, you will have to do a “Save As…” to get a file that can be opened with an older version. And I know of several applications that are not backward compatible at all - Revit, for instance.
Are you understanding what backwards compatible is.
Older versions can be opened in new versions.
New versions generally cannot be opened in old versions.
As such Sketchup is backwards compatible to version 3.
No. The current Word format is the .docx, and it cannot be opened with older versions of Word. The same goes with Excel and PowerPoint (.xlsx, .pptx). Also, a PDF created with Acrobat 9 or newer will not by default open with older versions than version 8.
The current Microsoft Office applications have features that cannot be saved with the older formats, and when you do, you will be duly warned.
Because XML files are plain text. (DOCX, PPTX, XLSX, etc., are XML files with custom file extensions meant to denote application association.)
Any application that claims to be XML compliant, is supposed to (when reading XML,) ignore any unknown attributes, or any unknown tag elements. Older versions of an application would encounter unknowns (attributes and tags) when it loads files from newer versions. But XML is schema based. A schema is a specification of what tags and attributes are in the XML file. Schemas (XSL files) can and most often are versioned. They themselves are plain text. A compliant XML specifies it’s schema(s) at the top of the file. These schemas are usually out on a web server. MS Office schemas are likely publically accessible on a microsoft server. So even an older application version can “know” what the tags and attributes ARE in the newer version XML file, can load them into memory, but will not know what to do with them. This is because the older application does not have the native code to process the data attached to newer tags and attributes.
Programmers are not clairvoyant. We cannot see into the future, and know what the file data is going to contain for future feature support.
SketchUp’s SKP file format is binary. It is not plain text. It is proprietary database format of the model. Over the years, as new model features have been added, the file format needed to change so that this new data was saved into the file, and could be reloaded by SketchUp.
An example, is the recent Classification features. Classification assignments to definition objects need to be saved in the SKP file. Older SketchUp versions would choke and likely crash SketchUp if they encountered this data.
Lastly, a menu or toolbar button command can be scripted to “save as” a certain SKP version, which can streamline the saving of your organization, into a common file version.
Dan is absolutely correct. In fact, if you look at the link @HWC cited earlier, you will see that if you open a docx file using an older version of MSWord, certain features will be lost if they were used in that file.
However, that does raise the point that the SketchUp file format could have been designed to be open-ended, e.g. the way the TIFF tag system makes TIFF extendable or how web browsers ignore tags they don’t recognize. But the developers didn’t think of that back when. Changing it now would be a very major code rework, with huge potential for new bugs. Everyone is entitled to their own priorities, but there are tons of other issues I would rather see Trimble devote effort to before this!
Edit: I must also add that this format was reluctantly created by Microsoft after the EU threatened to boycott MSOffice products entirely due to their proprietary file format. Before that, it was also problematic opening Word documents in older versions.
Let’s not forgot the significant point that the Sketchup file format works. Way back when, Adobe had a product with similar goals, Atmosphere. The program extrapolated from minute diferences in values - and the save file format, rounded numbers. I made a spiral staircase in Atmosphere and it looked fine. Saved and reopened, the corner of a step had jumped 10 meters away. I’ve never had any sort of issue with saving and reopening in Sketchup. Blessings on whoever designed the file format.
Regarding the file formats of certain programs with wider audiences, note that changes in file format are often not designed to implement new features, but rather to make the saved files unreadable to competing products. If 90% of the world uses a certain program, a challenger must be able to read and write the file formats. For a company with thousands of engineers, changing a file format means assigning a few of them. For a startup competitor, a significant part of its technical resources must be diverted to figuring out the secret, undocumented format, and duplicating it for reading and writing, and there’s a delay during which people who have bought the challenger product, can’t read the files their suppliers or customers are sending them.
Also, word processors are a far more mature product than 3D design. There’s a whole lot that can be added to 3D design, whereas incremental features to word processors are largely irritations to turn off after installing a new version. The flexibility to change file format without concern for being openable by old versions, is far more valuable when the program is still undergoing major transformations rather than minor extensions.
One may open any Sketchup file, regardless of version under which it was created, by any Sketchup of an equal-or-higher version. However, since newer versions of SU have more features, the file format saved is not the same as the older file formats. You can, regardless, save a newer file in an older format; eg: you may save something from SU make 2016 in a SU 8 format.
I think this sort of backward compatibility is pretty standard in the software world.
This question was answered 5 years ago, … but it was pointed out in the discussion …
Well, fast forward five years and with the SketchUp 2021 release the SKP file format underwent an overhaul to make it backward compatible going forward. Any SketchUp version at or newer than 2021 will be able to open model files saved in newer versions.
SketchUp 2021 brings to light a significant under-the-hood improvement: a re-build of the .SKP file format. You are likely to notice a significant reduction in file sizes when saving models to the new format, and we’re excited about additional workflow improvements this new file format will unlock going forward.
… and in the API section …
New File Format API Accommodations
SketchUp has done significant work to update the .skp file format (see the Under the hood: a re-built SKP section above). This has caused us to reconsider how we open files in the APIs. Previously if a .skp file was a newer version than the API being used, the file would simply not open. With the new file format, files are supposed to be more forward and backward compatible. So opening a file that is newer needs to be acceptable. Therefore we have changed the file and definition loading methods in the Ruby API and the C API.
SketchUp still has the ability to backsave into versions older than 2021.