Hacker News new | ask | show | jobs
by jakejake 4473 days ago
The author might consider using Microsoft products because they are obsessive about providing backwards compatibility. That's one of the positive things about Microsoft products. The downside is that they have to deal with a lot of old baggage as a result.

Apple, on the other hand is almost the opposite. They're obsessive about upgrading everyone and leaving the past behind. That's great because they're free to make bold and innovative changes. The downside of course is that you and your files sometimes get left behind.

Both are valid strategies in my opinion and appeal to different customers. If you feel like backwards compatibility is a really important feature then whether you want to admit it or not, you probably would be happy as a Microsoft customer.

6 comments

The most important point here is that if you are aware of the problem and provide an incredibly lame dialog to deal with it, then you should have just provided the solution. Clearly Apple has all the necessary tools in their possession to fix this problem: they own the source to both Keynote '09 and the latest Keynote. Why not either 1) make a small conversion utility and provide a direct link to it in the dialog (still lazy but at least actionable), or 2) include said utility as part of the latest Keynote so you don't have to show a dialog? We're not talking "backwards compatibility philosophy" here, we're talking user experience 101 (something Apple used to hold in the highest regard). This is particularly important given the context of the software: certain file formats are expected to stick around way longer than others. In particular, with presentation software there are loads of class slides sitting on the internet that probably will never be updated, which means you are often putting the onus on someone who didn't make the file to go and convert it. Compare this to, say, Final Cut where the only real client of the serialized file is probably the original creator, and it is thus more reasonable to expect a higher degree of personal responsibility in keeping it up to date.
#2 isn't viable because it breaks the primary design goal and the entire purpose of Keynote '13--that every presentation opens the same way across desktop, web, and mobile. The Keynote '09 source code does not and never has compiled for ARM, and so you would be faced with exactly the same dialog you have now, except instead of on your Mac it's on your iPad and instead of asking you to find an old version of keynote it asks you to find a Mac.

The great thing about #1 is that if Apple really did leave money on the table here, any third-party developer can collect it. Just put a Mac with two versions of keynote behind a REST endpoint and charge a buck or two per conversion. If you can turn a profit at that, not only do you get the smug satisfaction of clearly winning an internet argument, but also there's a cash prize.

If, however, that sounds like a waste of a perfectly good weekend, an economic bet that is unlikely to pay off, it would be an equal waste of a weekend for an Apple engineer. Apple is not a charity; they are a business that takes calculated risks, and they didn't like this one. Did they miscalculate? If you think so, there is no reason not to fill the gap yourself.

You must be joking. The amount of time that it takes a consumer to build a product is not the same amount of time a paid developer uses to build a software product, and take it through a QA process.

It's ridiculous that you cannot open the previous version of a Pages file in the current version of Pages! What an absolute joke.

When I upgraded my iWorks to '13, it put the old versions in a folder. I can still access Pages '09, Keynote '09, etc.

Did OP delete those old versions? I don't see what the problem is here.

> I do have an installation CD, but I don’t have a CD drive any more.

He got a new machine.

The lack of CD drive has several not very difficult solutions: Get a USB CD drive, use your old computer or a friend's computer make a dmg out of the CD, etc.
Somehow Apple has been able to port their entire operating system from PPC to Intel to ARM. I think they could manage porting a bit of iWork code.
exactly... they friggin switched CPUs
Two times!

1994 -- switch from Motorola to PowerPC.

2006 -- switch from PowerPC to Intel

It's not about 'can they'. It's about 'should they'.

Can I build a flappy bird clone? Sure. Should I? Hell no. I have more profitable projects to work on given a fixed amount of time and resources.

If you think this is money left on the table, then build the 'small utility' to convert the format yourself. If you make money, huzzah, you were right. If you don't, then you were wrong, and this is a niche use case that isn't worth the investment.

> Just put a Mac with two versions of keynote behind a REST endpoint and charge a buck or two per conversion

That would violate the Keynote license agreement. So, we're back to needing Apple to help out here.

edit: from Section 2A, Permitted License Uses and Restrictions... i) to download, install, use and run for personal, non-commercial use, one (1) copy of the Apple Software directly on each Apple-branded computer running OS X (“Mac Computer”) that you own or control; and (ii) if you are a commercial enterprise or educational institution, to download, install, use and run one (1) copy of the Apple Software for use either: (a) by a single individual on each of the Mac Computer(s) that you own or control, or (b) by multiple individuals on a single shared Mac Computer that you own or control. For example, a single employee may use the Apple Software on both the employee’s desktop Mac Computer and laptop Mac Computer, or multiple students may serially use the Apple Software on a single Mac Computer located at a resource center or library.

> if you are a commercial enterprise or educational institution, to download, install, use and run one (1) copy of the Apple Software for use … by multiple individuals on a single shared Mac Computer that you own or control. For example, … multiple students may serially use the Apple Software on a single Mac Computer located at a resource center or library.

Doesn't that cover the suggested use?

> #2 isn't viable because it breaks the primary design goal and the entire purpose of Keynote '13--that every presentation opens the same way across desktop, web, and mobile.

Except, right now, it doesn't. If that was their primary design goal, than it has not been achieved, because their web version still lacks features that are front and center on the desktop. So, you can't use that as an excuse.

It's not charity to support your old versions. It's customer retention.
This is just the way Apple has always been. Keep up or fall behind. They're not focused on providing backwards compatibility.

They leave the door open to losing customers to companies like Microsoft with these kinds of decisions. But that's the choice they made.

How is that a viable model for the users?

I can keep up with my system and applications just fine, but are you saying that I have to re-visit my archive of past documents with each new keynote version, and re-open & re-save them all?

What's nice is that you often don't realize you need a document from several years ago until you've already upgraded through two or three computers, none of which have the (non-app-store) older versions of the software. You thought backing up your data was enough when upgrading computers and installed apps as needed to avoid bloat and clutter.

It doesn't even degrade gracefully. Pages tosses out a lot of formatting and embedded media from earlier documents, which has pushed us to eliminate iWork from our 'productivity' apps.

If I were Apple, right now I'd be more concerned with losing customers to Android devices.

Case in point: we have an iPad here that is still on the iOS 5 generation it came with. It has been widely reported that iOS 6 was slower (as well as breaking things like Google Maps), iOS 7 was slower still (as well as making various visual styling changes we don't like) and both iOS 6 and iOS 7 have suffered at least one severe security flaw that iOS 5 did not have. In short, there appears to be no rational reason we would "upgrade" this device as we are repeatedly prompted to do.

Recently, Apple appears to have changed the rules for app developers so new things going into the app store have to aim primarily at iOS 7. At some point we upgraded an app we'd bought a while ago to get some much-plugged new feature that someone thought was interesting. Aside from the fact that the new feature itself turned out to be paywalled anyway, so the upgrade invitation for the app was basically just spam abusing the app store mechanism, the "upgraded" app also had a horribly glitchy UI where previously it had been smooth as silk drawing exactly the same screens.

Can we "downgrade" that app back to something that works, which we already had before, via the app store or otherwise? No, it doesn't seem so.

If we "upgraded" iOS itself, as suggested to fix the app (though we've seen no reports that doing so does in fact fix this app), could we then "downgrade" again if we didn't like it? Also no, as far as we can tell.

As it happens, we need to have Apple devices around for testing our web stuff, so we're stuck with spending some of our company money on new gear now and then for as long as our customers are doing the same, and we're stuck with using more recent versions of iOS on some devices for the same reason. But at this point, nothing would ever convince me to spend my own money on an iSomething. I was always suspicious of the lock-in and kindergarten UI, and seeing it in action, the results are at least as bad as I expected.

What is possibly more interesting is that it seems average users are getting fed up as well. Not so long ago, mobile visits to a site I run that isn't particularly geek-related were utterly dominated by iOS devices. Today, while iOS still represents a clear majority, it is a much closer balance between iOS and Android, and the trend is strongly in the latter's direction. I can't help wondering whether this is people who've now been not-upgraded to more recent versions one time too many, or who've been forced to dump expensive and otherwise working hardware for artificial software reasons, starting to vote with their wallets.

It is a good point and I agree with you it can be annoying to be forced to upgrade perfectly good software. But it does cut both ways. Legacy support is generally good for customers, but a burden for developers.

As far as development and having to spend money on hardware, though, I'd say Android is far worse than Apple in that regard. Android still has nearly half of devices running 2.x and the screen sizes are all over the map. We write and support native apps for both Apple and Android and we have far more Android devices laying around for testing than we do Apple devices.

I'm no fan of the move-fast-and-break-stuff philosophy of software development either, for what it's worth. I think system software, and other "platform" products like browsers, benefit from long term stability a lot more than they benefit from mixing up bug fixes, security patches, minor adjustments, API breaking changes, and any other stuff they feel like putting in this time, all without any grown-up version control or offering any sort of reliable foundation on which other things can be built.

I think it is deeply regrettable that certain parts of the industry have moved in that direction, and Android is a fine example (as is almost anything else Google makes). That said, it's still preferable to Apple, who move fast, break stuff, and then won't even let you fix it by moving back again.

> Can we "downgrade" that app back to something that works, which we already had before, via the app store or otherwise?

Yes, if you plan ahead. Keep the .ipa files, those can be loaded onto the phone via iTunes.

If you've upgraded iOS, you can also downgrade that. It's a pain, you need to get the .ipsw file and store some sort of activation code.

Is this more or less of a pain than on the desktop? Well, if you want to downgrade an app on the desktop, you'll need to keep the old installer around. Same thing with an OS, you'll need to wipe and reinstall everything from the old OS installer.

It's more unexpected on iOS, because generally you never need to deal with installers, but I don't think it's more painful. It's just more painful by contrast, since upgrading is so nice on iOS.

It should be noted that downgrading iOS is not supported by Apple and you need third party tools to save a signature code to emulate Apple's signing servers
Files are data. Data should be eternal. You should be able to convert a presentation you make today 30 years from now to a newer format. Making software not-backwards compatible is fine and normal but if files expire in a few years Apple is saying that the things you do on their computers are disposable.
The world isn't so black and white. Document serialization is a rocky landscape that is rife with compromise. You have to balance document open time, document save time, file size, backwards compatibility, forwards compatibility, recovery modes, interoperability, size in memory, parsing time, time to save to disk, proprietary embedded file formats, metadata support, and more. And those are just the development considerations. You also have to think about upgrade cycle, time-to-market, third party integrations, and what will help you win marketshare and sell copies.

Software is hard. I think it's pragmatic for software vendors to have a strong, transparent philosophy about the trade-offs so that consumers can make the right choice. As the grandparent points out, Microsoft values backwards compatibility. If you value that too, buy Microsoft.

> Software is hard. I think it's pragmatic for software vendors to have a strong, transparent philosophy about the trade-offs so that consumers can make the right choice.

I'm not talking about software, I'm talking about information. Information shouldn't have an expiration date. Here's a webpage from 1994: http://www.lysator.liu.se/pinball/expo/ Surely you wouldn't prefer a world where the blog you wrote 4 years ago can't be viewed on a new computer?

Yeah but "information" generally requires software to view it. The only reason that web page still works in modern browsers is because they've gone to all the effort to account for quirks in ancient HTML. Apple clearly didn't think it was worth the effort in this case.

Also worth pointing out it's much easier to display old formats than it is to make them editable.

I don't think ancient HTML was complicated enough to have quirks.
Really? Looking at the source of that page:

IMG tags with unquoted SRC attributes, and unquoted ALIGN attribute

BASE tag with default attribute - tag is: <base="http://www.lysator.liu.se/pinball/expo/"> but should be <base href="http://www.lysator.liu.se/pinball/expo/">

UL tags with no LI tags

That was one of the main reasons IE6 survived for so long.

So yes, under some circumstances, old formats are deprecated - even on the web. The world is better for it, but it still sucks for those who need that old stuff and are unable to move it forward.

> Here's a webpage from 1994

It's a good thing that webpage didn't use the <blink> element.

>Surely you wouldn't prefer a world where the blog you wrote 4 years ago can't be viewed on a new computer?

A counter argument to that, is I'm not sure if I want to live in a world where parsing an HTML document takes over 1,000,000 lines of unparallelizable C. You are sweeping a huge requirement that makes the rendering of that page possible in 2014. Ultimately it takes software to render that information, and the software that does render that, may have an expiration date.

Surely you wouldn't prefer...

How about if we're talking a blog I wrote 20 years ago, vs. some really nice improvement in modern software?

Backwards compatibility is great, and ideally no data would ever be lost to bitrot, but backwards compatibility always has a cost. I'm not unilaterally willing to pay that cost.

Assume you work on Keynote, so you have access to all the code and documentation for the 09 format. On average computers are now faster and have more RAM. You don't need to write the format, only read it. Your users will tolerate 15 minute format conversion times and the loss some things like formatting and videos.

Is it really so difficult to just not break a feature that was present in the last version of the software?

Yeah, assuming your software is reasonably modular and you haven't completely rewritten everything from scratch in the new version, retaining support for old file formats shouldn't be a very big deal.

At worst (like in the case of iWork 13 which probably is completely new code), you get one programmer to spend a few days writing a converter which reuses most of the old code.

More importantly, provided you don't do it too often, users will tolerate some loss of formarting fidelity from version to version.
Yeah, Microsoft is all that not too super cool and buggy but it's right in persevering the path. Not being able to open and work with old documents is frustrating. In a way it's like forgeting grandparents and parents. Not a good thing to do. Apple PR should hear our voices and make a move. They'll lose too much if they don't.
"Data should be eternal."

This is not a useful statement. If you convert the "should" to a "shall", and try to design a system around that requirement alone, it would prove very hard. Even designing a clock around that requirement is very hard (http://longnow.org/clock/).

If you back off from the "shall", then you are in the standard world of engineering tradeoffs, which is where you started.

What features do you want to give up for "eternal"?

Designing a clock around that is very hard because the clock is a physical machine that needs to physically last. Software is easier, because it's, well, soft.

I'm the developer who build their related Long Bets project (http://longbets.org/) and I think "data should be eternal" is a perfectly reasonable standard. That was certainly my goal in designing Long Bets.

If you start with that as a principle, I don't think it imposes particularly large engineering burdens, especially if you accept some potential degradation as a consequence.

For example here, instead of a "fuck you" dialog box, they could have imported the core of a presentation: text and images positioned on a sequence of frames.

An analogy is HTML. It's basically zero engineering effort to just suck the text out of a page. It is only modestly more effort to pull out some of the semantic markup, like headings, lists, and emphasis. And that's the part that really hurts to lose, not which precise shade of blue you used in your footer text.

Perhaps the ideas should be eternal, but the byzantine markup system? This is a major reason why the older I get, the more I prefer plain text wherever I can get it and open standards when I can't. Fancy rendering is just a variation on the drug dealer's bargain "the first hit is always free".
It is eternal, as long as you have the system and the software that it was created with.

This can be said for all sorts of things, from the Commodore 64 to Keynote. If you want to be able to access the data on an NES cartridge you are going to need special hardware and software. Yes the ROMS are available now online, but that's only because someone with the hardware and software made it available to others.

This is the nature of proprietary formats.

> This is the nature of proprietary formats.

Indeed. When you choose to save your work in a not-public format, you are decidîng not to care about its lifespan: complaining later is just useless, unfortunately.

My approach: Export every presentation as PDF. I'm guessing LibreOffice will be around for a bit (files from 2003 and later working ok) and the PDFs provide a second line of access, but, I accept, they are not convenient for editing.
Use ODF.
I do. LibreOffice saves in that format by default.
Assuming arguendo that data = information, a printout will suffice. Your conversion will be manual, but you should not expect a complicated, performant, object serialization format to last through several generations of computer architecture.
Not sure I agree entirely here - Microsoft is definitely a far better bet than Apple for this kind of stuff, but it's still not a perfect bet. As Microsoft has shown with their Win8/phone platform, they are trying to transition away from their old platforms (although the market currently won't let them). It's almost a guarantee that eventually old Office versions will fail to run and after that running into data incompatibilities with old files becomes par. With the call-home DRM in post Microsoft platforms, there is also no guarantee you'll even be able to run an old Microsoft version either.

A better option is to stick to open standards. If your presentation is done in something like HTML, there is a 100% chance you will be able to view it in even 50 years as it is standardized and there are many implementations available for viewing it.

Of course, if your presentation depends on some javascript calculations or a remotely hosted jquery, those probably won't be working in 50 years time either..

Saying Microsoft isn't perfect at backwards compatibility is nit picking to say the least! They are far far ahead of any competition in terms of backwards compatibility. It's practically measured in decades whereas Apple can't manage 5 years.
'far ahead - in terms of backwards compatibility'

something poetic about that...

Silverlight didn't last decades.
I don't think that's the same thing. If Microsoft came out with a newer version of silverlight, you'd expect it to keep reading the old files.

The fact they canceled silverlight and won't make a new version, doesn't have much to do with backwards compatibility.

Did anyone expect it to? Perhaps if it had seen the same interest from developers that other products have, it would have been supported longer...
I don't see why innovation of your software means you have to lose compatibility to old data.

It seems to me you can do pretty much anything whilst having a small set of conversion scripts to get the old data into your preferred new format.

Its not "big data", not streaming data, not rocket science.

Except compatibility mode is often not compatible. I've run into it a bunch of times where .doc, etc. files just don't render right on new copies of Office. I have had to install old versions of Office to work on certain documents. These documents often have VBA in them. They can't get everything to work properly 100% of the time.
> Both are valid strategies in my opinion and appeal to different customers

Absolutely. One is for customers who don't want to lose any file or data. The other is for those who don't mind losing old stuff, no matter how important it may be. Now that's bold and innovative.