Yes,
CB rarely talks.
Legacy apps still run, but they
can be updated only up to a size of about 1 MB, as CB replied to a support request. This looks quite significant to me. I will get to that later.
Many differences between legacy and new app system will affect developers and models. The API changed, some features are new, some are dropped, everything is renamed, there is a new IDE, the new system had many bugs, apparently the most serious bugs are fixed, but of all the changes, I think
the core change is the life cycle of data created by apps.
A legacy app is one chunk of JavaScript code. It starts, it creates static data structures, and it creates and registers event handlers which will be called upon user actions like tipping ot typing. The event handlers access that static data, and that can be quite useful. For example, top tipper lists or goal apps obviously rely on static data, updated upon every tip. The static data can hold any JavaScript structures, which makes is quite easy to use, and it stays alive as long as the app keeps running, typically during the broadcast session plus one hour. Next day the app cannot remember anything.
The new app system also calls event handers, but they cannot access static data. All JavaScript structures are lost after a few milliseconds, at the end of the event. Instead, apps can access a simple database called
KV which stores
Values identified by
Keys. Apps can store such values and retrieve them later, and they are stored forever, not just while the app keeps running. That is more powerful, but also causes more work for developers. Static JavaScript structures are easy to use, and now developers must emulate such structures using the rather restricted interface to KV.
For CB, dropping static data probably has one big advantage: Apart from KV, apps no longer occupy resources like memory except while an app actually handles an event. I think that makes it easier for CB to cut down costs and optimize the app system.
And that’s why I think the new update restriction is significant. For me it looks like CB wants developers to use the new app system because it cuts costs and simplifies the life of the CB developers, not of app developers. I think they are looking forward to the day at which they bury the last legacy app and get rid of all their problems with the legacy app system.
The new app system contains some promising changes. KV is a game changer. CB fixed the most serious bugs I reported. Still, several minor bugs need ot be fixed, and it looks like there are some serious bugs which I did not report. Well, they are only humans, more precisely: Freshly hired junior programmers. They do what they can, they improve a lot, and they will make the new app system succeed.
For now I still recommend using the legacy apps, except for models who feel happy when getting a few surprises for free.