An update on settings in a8c.feedland.org.
Here’s the problem, the user experience…
You would save your settings, but then if you went back to the Settings dialog, they would appear to have not changed.
What was going wrong
When we asked for the JSON file that stores the user’s settings, it was being cached because we used an HTTP GET request. So the server was returning a copy of the file before the user made the change. In effect we lost the user’s work.
Net-net for FeedLand on VIP, right now
Please turn off all caching for now, so we can start testing the app in its new environment. Up till now the software has been basically untestable.
Later, after the app is burned in on the VIP system, we can look for places where caching can work, and turn it on and document those places so developers and testers know that the program behaves differently there.
The misunderstanding
It never occurred to me that it was possible there was a cache between the client and the server apps. In my world we don’t cache at all, but I understand that managing the kind of flow A8C has to manage is different.
Just the same FeedLand as a piece of software is more like Twitter or or Google’s spreadsheet in how it works, than it is like WordPress.
Anyway..
For the future work…
How are we going to avoid this kind of misunderstanding in the future?
First, we have to check with each other when we implement new systems to be sure the platform (VIP) can work that way. And when the platform people change the way it works, we need to be in the loop (myself and increasingly Francisco as he becomes familiar with the internals of FeedLand) to be sure it doesn’t break FeedLand.
On previous development teams I’ve been part of we’ve called this an RFC or Request For Comment process. You write up a short technical document saying basically this is what I propose to do, do you see any problems?
We’re trying to make two pieces of software work together, VIP and FeedLand. A8C people are new to FeedLand and I am new to VIP. I assumed it would work a certain way, but it worked differently. If we had worked more carefully we would have saved time.
The only way to avoid burning a lot of time is to carefully describe our understanding, to the others, and see if it works. We have be very careful about this until we all understand both sides of this interface.
My next little project
I’m going to start a new hopefully quick project to get back the instant updates we have in the feedland.org system in the A8C system. But before we try to deploy it, I’m going to write an RFC to be sure that we can do the things I expect to be able to do on VIP, like using WebSockets, and communicating between this new small app, and the other instances of FeedLand running on VIP. There has to be a centralized component, the goal is to make it do as little as possible, and have the multiple instances act as the user interfaces for the people using FeedLand and apps that build on FeedLand.
This is not the RFC, btw. That will come later in the process.
Anway, let’s grow from this, we’re going to do this work better and faster as we go along. It really feels that way now.
Dave
One response to “Update on settings in FeedLand on VIP”
[…] updated the code that tests for the memory problem on the A8C server. Now that we know what the problem is, the code can test for the specific […]