Comments (9)
Do you know when the last time the bundles feature was used? I'm wondering if custom repo messages (homepage messages, footer messages, etc.) might cover the use cases the resource bundle system was designed for. Since resource bundles seem pretty error-prone, and the code to support them adds some kinda significant complexity, I think we should consider getting rid of the bundle feature if we don't need it.
from personfinder.
from personfinder.
Wow, it's Ping! It's great to hear from you! Thanks for your input, it's definitely useful to have background on what resource bundles were developed for.
I think we have two sets of things to consider:
- What the system gets used for. I suspect it's gotten less use over time as PF has matured and there are fewer surprises during a response.
- Whether resources bundles are still how we want to address the use cases we have, especially since we're moving to React for the non-lite UI. Although I imagine we could technically treat the compiled JS as a resource like anything else, I don't think it'd be pretty (as we'll certainly want to compile the JS in advance either way for performance reasons).
from personfinder.
from personfinder.
Oh Ka-Ping! Long time no see.
To elaborate what Nick said: We are switching to use React to construct UI, which means that majority of our UI will be written in JS (precisely, JSX) and gets precompiled. So we will no longer be able to use (current) resource bundles to tweak UI. We may be able to develop a new resource bundle system which works with React, but it sounds nontrivial.
Looking into history of our resource bundle in production, it was probably in 2015 when we used resource bundle in the last time. We updated the resource bundle several times after that, but it was probably just to keep it consistent with the production resources.
That said, it is true that it was historically useful, and it is also true that its usage has been significantly reduced over time.
And it was also the cause of several production bugs in the past when it got out of sync with the production code.
Considering all above, I'm personally OK to remove it. But we should probably hear Pete's opinion too from operation perspective.
from personfinder.
from personfinder.
Yeah, it's about aesthetics. We've gotten some feedback internally that it doesn't "feel modern."
from personfinder.
It seems like a shame to invest a lot of effort in a rewrite with potential costs to functionality or stability, if the reasons are indeed purely aesthetic. Shouldn't decisions about development priorities and about keeping or removing functionality be primarily driven by good arguments for what will help people contact their loved ones?
from personfinder.
To get more precise, I'm going to separate this into two questions: a) why are we implementing a redesign and b) why are we doing it with React instead of sticking with Django templates.
Why we're implementing a redesign: I guess this is really the question I had in mind when I replied two comments up. I'm not sure there's anything that makes this redesign significantly different from any other product that gets a UI redesign after a period of time (this isn't the first time PF has seen a "UI upgrade", after all). If aesthetics didn't count for anything, there are a lot of ways we could reduce technical complexity, but they count for something so here we are.
As for why we're doing it with React: we considered implementing the redesign with something simpler (most likely using the underlying Material components for web directly within the existing Django templates), and I won't deny that that option might be a better fit for our current feature set. However, we're exploring some new response-related features* that would involve substantially more frontend logic (such that we'd want to be working with something like React if/when we implement them), and we're not going to have the time to rewrite the frontend twice anytime soon. Given the time/opportunity to rewrite the frontend once, ultimately it seemed like a good idea to use our rewrite on a move to React so we'd be in a better position later on.
* They're not fully baked yet, but if you're interested in discussing those potential features further, LMK and I can set up a VC (with you, me, and Pete) to talk more about it.
from personfinder.
Related Issues (20)
- Dead link from "full_name" fields in "Review notes" page
- Our Python 2.7.12 tests can't run
- "About Person Finder" link is 500 HOT 6
- Python 2.07
- tar xvfz does not work to extract PIL 1.1.7 in GettingStarted HOT 2
- Repositories do not appear in the left-side navigation menu on localhost:8080
- Archive file for python 2.7.12 is gone in storage.googleapis.com/travis-ci-language-archives/ HOT 1
- flake8 is missing and thus no unit tests run HOT 1
- Skip and optimize "Updating translations" in tools/server_tests HOT 3
- Packages are missing in GettingStarted and server tests fail HOT 4
- Images in "Howto" page are 404 HOT 3
- appcfg is deprecated: Correct command in GettingStarted Step 6 HOT 17
- Incorrect arguments are passed in docker/gae-run-app.sh HOT 1
- Require reCAPTCHA to create person records
- Show a link to Google Maps for the user-provided location in notes in the new React UI
- Import/generate translations for the new React UI
- Redirect from the old UI URL to the new React UI URL if needed
- Replace the feedback link with an email address HOT 1
- Turkey 2023/02/06 HOT 2
- Person Finder has no visibility on search engine results
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from personfinder.