Jump to content

IPS 4.0 backward compatibility


steadyoptions

Recommended Posts

how can IP make sure stuff works for apps they may not even know about? plenty of mods hosted elsewhere that they have probably never seen.

you're in a specialized distinct niche with those apps submitted to you for testing (or similar setup) to make sure.

no way for IP to do this. many owners modify files only for their forum and never tell anyone, no way to test against this.

it would require any person who edited any file submitting their changes to be tested. and that won't happen.

Link to comment
Share on other sites

  • Replies 101
  • Created
  • Last Reply
  • Management

I'm not sure how firmware relates to web applications. The core foundation of traditional programming hasn't changed in decades, so of course it's not difficult to maintain a level of backwards compatibility. :) When you're dealing with web technologies, which I'm assuming you don't, it's a much different situation. There's multiple languages involved (PHP, Javascript, HTML, CSS - not to mention the database layer) with very evolving technologies that in itself are often not backwards compatible - so not only is it not practical to maintain complete backwards compatibility with our software in terms of third party modifications, it's often literally impossible.

Link to comment
Share on other sites

how can IP make sure stuff works for apps they may not even know about? plenty of mods hosted elsewhere that they have probably never seen.

you're in a specialized distinct niche with those apps submitted to you for testing (or similar setup) to make sure.

no way for IP to do this. many owners modify files only for their forum and never tell anyone, no way to test against this.

it would require any person who edited any file submitting their changes to be tested. and that won't happen.

Nobody expects IPS to verify every application. But applications are using certain interfaces, and those interfaces should continue working. If someone wrote some "non-standard", this is his problem, but all "standard" applications based on standard interfaces should continue working.

Link to comment
Share on other sites

Yes, I would prefer a good and modern product over backward compatible, but ideally, I would prefer to have both. Hard? Maybe. But definitely possible, and please don't tell me otherwise because I have some experience in software development (only 23 years or so). IPS made an executive decision not to go for backward compatibility. It's a compromise that most users can probably live with, but still a compromise. In the industries that I was working at such a compromise would probably put a company out of business within 6 months, but maybe it's different in web development business.

It is impossible, while still moving forward.
Please, please do not argue this road, the last thing I would ever want to see is exactly what wordpress did.
I as a third-party developer would wholly prefer a clean 4.0 to work with over the backwards-compatible API insanity wordpress does..

That type of backwards compatibility is a maintenance nightmare and rots the codebase from within. Further, it obfuscates the real codebase when the developer goes to update their mod, and gives them a false sense that they need change nothing. I would vastly prefer to rewrite my code based upon the clean codebase than hunt down a billion proxies just to use the real API.

Additionally, MS is an invalid example. Windows 8 was not a full rewrite, in any form, it was a progression upon the existing codebase. IPS4 IS a full rewrite. It needs to power the suite for the next 5+ years. It needs to reduce duplicative code, not increase it.

This idea of baking in backwards compatibility is noble, and sounds great to the client. It is death to developers. Sure, one may not have to update code. But then one has to put up with using a codebase rife with support for deprecated routines. That specifically excludes the size of the download being far greater than it need be as a result of such proxies, and the fact that by design there often is no comparable API.

For example, ipsRegistry no longer exists. That is a good thing. We should be able to unit test our code sanely. Dependencies are less forcefully typed as auto-loading is used, further improving the testability of the code.

Link to comment
Share on other sites

  • Management

If there was a way to take advantages of new technologies on the web while maintaining backwards compatibility we certainly would. However, as we have said and as other experiencing programmers in this topic have said: it's just not the way web-based technology works. Reference: <font> tag.

Link to comment
Share on other sites

I just hope they have all documentation up to date by the time we get to try betas because I would "like" to get all of my apps updated by close to 4.0 release time. And as far as backward compatibility, I know people are going to complain when new features are only put into 4.0 third party apps, but it's not like IPS will go back and fix bugs in a previous version which are already fixed in the current one or add features to old versions and third party can't do it either or they would be wasting so much time. I was trying to get features all into 3.x versions before I get to 4.0, but you can't get everything in.

I do think IPS could have had some backward compatibility if they wanted though... My above comment is not really about backward compatibility, but supporting old versions (not just support, but features and bugs).

Link to comment
Share on other sites

Why is this thing about backwards compatibility even an issue? When IPS upgraded from IPB 2.x.x to the 3.x.x series, the code changed drastically. Whenever IPB changes from one major upgrade to the next (1.x.x to 2.x.x, 2.x.x to 3.x.x), there's going to be major changes in the code. While I don't understand a lot of it, we had already been warned that IPB 4.x.x is going to feature new code, which means that forum skins, hooks, applications are all going to need major overhauls to conform with the new software.

IPB has never been backwards compatible and it's wrong to think it ever would. Would it be nice? Sure. But, don't expect it to. Just deal with it and move on.

Link to comment
Share on other sites

We actually have some 4.0 docs already written :smile:

https://www.invisionpower.com/support/guides/_/advanced-and-developers/4-0-developer-documentation/plugins-r283

https://www.invisionpower.com/support/guides/_/advanced-and-developers/4-0-developer-documentation/plugins-an-example-r284

Although, one thing to keep in mind. Your documentation may be good (and I think it is), but if it's organized poorly then it's pretty much useless. Not saying that it is, just making sure you're aware.

Link to comment
Share on other sites

Are plugins basically apps, but not standalone ones? I thought at first it was simply just a new name for apps, but looks like it's more for integrating with existing apps (judging by only looking at those pages).

One of the main things I better start paying attention to is mobile skins/themes, because I haven't ever even bothered with templates for mobile and I'm sure a lot of people use forums on mobile devices. I've never even gone to one on a mobile device myself, so not sure how bad it ends up without a mobile skin to it.

Link to comment
Share on other sites

Are plugins basically apps, but not standalone ones? I thought at first it was simply just a new name for apps, but looks like it's more for integrating with existing apps (judging by only looking at those pages).

One of the main things I better start paying attention to is mobile skins/themes, because I haven't ever even bothered with templates for mobile and I'm sure a lot of people use forums on mobile devices. I've never even gone to one on a mobile device myself, so not sure how bad it ends up without a mobile skin to it.

The way IPS is touting their css framework you shouldn't have to worry about it so long as you stick to the framework.
Link to comment
Share on other sites

Nobody expects IPS to verify every application. But applications are using certain interfaces, and those interfaces should continue working. If someone wrote some "non-standard", this is his problem, but all "standard" applications based on standard interfaces should continue working.

I think this is your key misunderstanding, which is logical, but still incorrect. Whilst it would certainly be possible to maintain near 100% backwards compatibility if IP.Board included a specific app-facing API, wrapped around the core logic that actually makes things happen, that is not the case.

In IP.Board (and all competing products,) any part of the software can be used as an API. Third party developers have the ability to extend and modify *any* class within the system, as well as hooking into specific points within templates and pre-defined data hooks. In theory, certain data hooks could be maintained as part of a rewrite, and there could be an intermediary layer allowing "old style" plugins to continue working where they only use those data hooks. However, by their very nature, plugins that hook into core classes within the platform couldn't possibly work if that class no longer exists. The same applies to hooking into templates, if that template (or the part of it you were relying on) is no longer there, how can it be hooked into?

It is very different developing a piece of forum software than it is developing firmware (or even, for example, a ReST API.) In the latter case you pre-define everything you want to expose, you know what you need to maintain and how to maintain it. It's just not possible to do that when you allow developers limitless access to the core of your application.

Link to comment
Share on other sites

  • Management

The reason for a rewrite has been well made, but I feel obliged to address this specifically:

I apologize for having high expectations. I provide the highest level of service to my customers and I expect the same from others, but obviously I was wrong in this case.


We at IPS pride ourselves on our communication and support with our customers. We are pleased that you have high expectations and we do our absolute best to meet them.

However, what you are asking has nothing to do with us offering a poor service. It's just the technical limitations of web software as others have pointed out.

If we were to retain backwards compatibility for every release, then we'd still be supporting v1.0 which required PHP 4 and MySQL 3.

You won't find a sane web host that still provides PHP 4 and MySQL 3. The most common releases are within a few releases of PHP 5.3 and MySQL 5.5. I understand that you're not familiar with what this means, but in a nutshell code that was written for PHP 4 isn't fully compatible with PHP 5 and indeed it would be incredibly sloppy of us to still write with PHP 4 in mind. We wouldn't be able to use well tested coding practises such as OOP, etc.

The way modifications work with IP.Board is that they slot into the code we write. We build a scaffolding and provide the modification authors with a crew of workers and a large toolbox. When we rewrite the software (which only happens every 5 to 6 years) we have to put up brand new scaffolding and supply a new crew with new tools. Modification authors have no choice but to refactor their work to make it fit.

We're the same. We make use of many third party tools and libraries such as Prototype, SWFUpload, CKEditor and so on. All of these have either undergone rewrites or have been since discontinued. CKEditor has been rewritten, Prototype and SWFUpload are essentially dead projects now so newer browsers in the future will likely not work with them. Using different tools from different third parties means rewriting large sections of code, which means that custom skins and modifications that also use them need rewriting.

I realise that from a desktop software POV its incredibly disappointing but things move much slower for desktops. The underlying technologies don't change as often due to costs in manufacturing hardware.

However, all that aside, please keep in mind that major rewrites are infrequent and that although IPS 4 is in heavy development, we're not dropping support for IP.Board 3.4 anytime soon so make your purchases and enjoy them. Theres no rush to upgrade and we won't force you to upgrade immediately. The average custom off-the-shelf skin for IP.Board 3.4 is around the $20 mark. If you purchased that today and used it for a year I would call that a good investment.

I hope this post goes some way to explain why not only is a rewrite needed but it's also a good thing.

Link to comment
Share on other sites

No backwards compatibility blows because it means having to rely on differing mod authors. They don't always keep mods updated, they come 'n go, etc. You may get end up or stuck with someone that doesn't give support or ignores selective people in support topics. The person that has the member awards mod here doesn't even answer questions to people thinking of buying.

Link to comment
Share on other sites

No backwards compatibility blows because it means having to rely on differing mod authors. They don't always keep mods updated, they come 'n go, etc. You may get end up or stuck with someone that doesn't give support or ignores selective people in support topics. The person that has the member awards mod here doesn't even answer questions to people thinking of buying.

No competent admin should put themselves in a position where they rely on a third party. Code your own hooks and skins and you're set for life. That's what I do.
Link to comment
Share on other sites

No competent admin should put themselves in a position where they rely on a third party. Code your own hooks and skins and you're set for life. That's what I do.

As an admin, you don't have to know how to do these things, many don't. As a minimum, though, you should have someone that you trust to be able to upgrade any mods you would need moving forward.

Link to comment
Share on other sites

No backwards compatibility blows because it means having to rely on differing mod authors. They don't always keep mods updated, they come 'n go, etc. You may get end up or stuck with someone that doesn't give support or ignores selective people in support topics. The person that has the member awards mod here doesn't even answer questions to people thinking of buying.

If that's the case, you're stuck with or without backward compatibility. Let's say IPS WOULD make everything backward compatible, but then you find a bug. The author hasn't updated the mod, they come n' go, etc. Now what?

You make a valid point, but it has nothing to do with backward compatibility. Just saying.

Link to comment
Share on other sites

In addition: the complains in this thread sound as IPS would offer just an “operating systems” for running third-party apps and their main concern should be to keep those apps running. If you have an IPS-powered community than the software you get from them is both your “operating system” AND all your major apps. Everything else is optional. If you are really that concerned about backwards compatibility and skin and hook updates, don't install those third-party tools in the first place. None of them is essential for running your board, articles, databases, chat, downloads, shop, gallery, blogs. It's up to you which third-party developer you trust and how much of your site you will depend on those additional software.

Link to comment
Share on other sites

As an admin, you don't have to know how to do these things, many don't. As a minimum, though, you should have someone that you trust to be able to upgrade any mods you would need moving forward.

No you don't. But if you're going to rely on 3rd party mods then you should either accept the risks or make them yourself.

Link to comment
Share on other sites

Admins have to rely on third party software because their type of site will always need some type of addon which would make no sense for ip.boarrd to have built in by default. Back when I was only trying to build a forum instead of making anything, it was indeed frustrating because some mod authors would abandon their work and so then it couldn't work on new board versions. I STILL wish that Mike guy would have updated casino to work with ip.voard 3.x. I forget if I asked if I could even update it only for my site, but for real I want a casino app again! I may even put a request topic for one because anything involving integrating flash games would be new to me. Only problem was people find ways to cheat, but he did still do mighty good making it empty your wal;let if you tried many of the ways.

Link to comment
Share on other sites

Pardon my usual bluntness and honesty, but I felt this needed to be said since nobody else has responded to this issue:

The one thing some people keep forgetting, and I realize how this lapse in memory could be overlooked, everything that is found in the IPS Marketplace are 'third party aps' and they (IPS Support Staff) do NOT offer support for anything in the IPS Marketplace. If you have an issue with a particular hook, plugin, app or whatever, you need to hash that out with the third party developer of that addon. Not only that, but IPS also does not offer support if you modify your installation of the IPS Community Suite.

This is a policy that every software develeoper has, not just IPS. Read your licensing agreement for the IPS Community Suite.

IPS is not under any obligations to support backwards compatibility with previous versions. If you choose not to upgrade, then, I hate to be blunt about it, is your problem, NOT IPS'. If you have a third party addon that you have purchased, whether that be a hook, application or forum skin, and IPS changes the code to their software in a future update, it's not IPS' job to work out the problem with the addon that you purchased.

IPS only supports the applications it releases (IP.Board, IP.Gallery, IP.Nexus, IP.Gallery, IP.Content, IP.Downloads) and forgive me if I forgot something in the IPS Community Suite. I don't normally defend IPS in this manner but obviously nobody reads the warning messages in the Marketplace when you download something to install on your site. If you need something upgraded, then talk to the developer of that addon.

'Peace'

Link to comment
Share on other sites

Pardon my usual bluntness and honesty, but I felt this needed to be said since nobody else has responded to this issue:

The one thing some people keep forgetting, and I realize how this lapse in memory could be overlooked, everything that is found in the IPS Marketplace are 'third party aps' and they (IPS Support Staff) do NOT offer support for anything in the IPS Marketplace. If you have an issue with a particular hook, plugin, app or whatever, you need to hash that out with the third party developer of that addon. Not only that, but IPS also does not offer support if you modify your installation of the IPS Community Suite.

This is a policy that every software develeoper has, not just IPS. Read your licensing agreement for the IPS Community Suite.

IPS is not under any obligations to support backwards compatibility with previous versions. If you choose not to upgrade, then, I hate to be blunt about it, is your problem, NOT IPS'. If you have a third party addon that you have purchased, whether that be a hook, application or forum skin, and IPS changes the code to their software in a future update, it's not IPS' job to work out the problem with the addon that you purchased.

IPS only supports the applications it releases (IP.Board, IP.Gallery, IP.Nexus, IP.Gallery, IP.Content, IP.Downloads) and forgive me if I forgot something in the IPS Community Suite. I don't normally defend IPS in this manner but obviously nobody reads the warning messages in the Marketplace when you download something to install on your site. If you need something upgraded, then talk to the developer of that addon.

'Peace'

You are COMPLETELY missing the point here.

Nobody asked IPS to support third part apps - the same is true for Windows, nobody asks them to support programs running on their OS. But if they released a new OS and all programs needed to be rewritten from scratch, it would be a huge problem.

IPS say that they cannot support apps from 5 years ago - again, nobody asked them to. My issue is very simple: If I purchase TODAY a skin (or another app) that works with 3.xx, few months from now I will HAVE to purchase this skin again. I'm an end user - I don't care how web apps work, what I do care is that what I buy today should work for at least couple years.

This is a simple fact, and most poster seem simply to ignore it. Like someone mentioned, complaining won't change anything. It is sad, but I guess this is a fact.

Link to comment
Share on other sites

Like someone mentioned, complaining won't change anything. It is sad, but I guess this is a fact.

Complaining works, if you make a convincing case. So far, you haven't.

Whether or not a skin update/rewrite will cost money, is up to the developer of that skin. If you know this upfront and you cannot live with it, don't buy this skin. It's that simple. Why do you make such a fuzz about it and why do you question the whole IPS software because of that?

And since you used comparisons of desktop software: it wouldn't be different in those cases as well. If I buy a plugin for an app (like Photoshop) today, and tomorrow I update my app, which then uses 64 bit instead of 32, all my 32 bit plugins will stop working tomorrow(!) and will have to be rewritten. Adobe as a maker of that app has no control over whether that plugin update would cost money or is even offered at all. That's how it is and there is nothing to do about it. In your logic no app should ever move to 64 bit to maintain “backwards compatibility” with every third-party plugin ever written.

This is not how it works. You either stay will all your old software (OS/apps/plugins) and don't do major release upgrades or you go with the time and keep all parts of it up to date. That's your decision. But you cannot expect that every OS updates supports all apps and all app updates support all plugins. It's unrealistic and impossible. It would not allow software to get better. In the same way, IPS updates cannot be compatible to every hook and skin written for a certain version of the IPS software. The reasons have been given many times in this thread. You might not care about those reasons, but not caring about them doesn't make them untrue.

Link to comment
Share on other sites

My issue is very simple: If I purchase TODAY a skin (or another app) that works with 3.xx, few months from now I will HAVE to purchase this skin again. I'm an end user - I don't care how web apps work, what I do care is that what I buy today should work for at least couple years.

No one is forcing you to purchase a script or a style today. You already know there is a new version coming out soon so you can wait that version.

However if you belşeve what you purchased is a necessity for your board , again no one is forcing you to upgrade to IPB 4 immediately.

We just had 3-4 modification developed for us in last month because they were necessity on our board. We will have them redeveloped for IPB 4 if IPB 4 will not have those kind of improvements. It is simple as that dude.

You seem to act a bit grumpy and try to blame everyone expect yourself because you can't make correct decisions for your board.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...