Closed chrisjstevo closed 1 year ago
This is amazing @chrisjstevo! Thanks for getting this going! Paging @neilslinger for visibility here!
@jgavronsky @maoo can you update the checklist to 1. reflect the TSC approval step and 2. I think the contribution looks good enough to be fast tracked for TSC approval (given it's OSS and has already identified contributors).
As a general suggestion, I think that now that we have the TSC, TSC approval should be much front loaded and code validations can happen in parallel or after.
Thanks!
@ColinEberhardt This contribution is ready for TSC review. I've put it in the backlog. If there's room, it might make sense to add to the agenda for Wednesday.
HI @mindthegab - it is on our agenda for tomorrow https://github.com/finos/technical-steering-committee/discussions/37, although this will just be a high-level introduction. If the FINOS team have specific priorities / deadlines regarding Vuu / ISDA / Desktop Agent Bridge, it would be good to understand this.
@ColinEberhardt @mindthegab we're very keen to get something incubating from a UBS perspective. This is our first major contribution and there is quite a lot of workflow we need to do internally when the repo and scaffolding have been created to get productive.
@ColinEberhardt if you'd like me to join the meeting tomorrow to discuss it am happy to.
@ColinEberhardt No specific deadline, but I did try to reflect priorities / readiness for TSC review as agreed by:
Feel free to liaise directly with @chrisjstevo and assign back to me a comment / outcome once the TSC has had a chance to review.
Hi @chrisjstevo - we didn't really have time to slot you in for the meeting yesterday, lots of other house-keeping!
However, the TSC are very keen to hear more about this project. Are you happy for us to arrange a demo to the group? If it helps, please contact me via email to arrange.
The following is a summary of the TSC’s assessment of the Vuu contribution, evaluating this project with respect to our contribution principles.
General background information:
The TSC advises that the FINOS Team and Governing Board accept this contribution.
The purpose of FINOS is to drive collaboration and innovation within Financial Services through open source software. The problem which this project tackles (rendering and navigating very large datasets) is quite common within FS organisations, furthermore, there is little competitive advantage to be had by building a proprietary solution in isolation. This is an area that is ideal for multi-party collaboration.
This is a software project, not a standard.
This is entirely open source, without any commercial components.
The display and navigation of large volumes of data is a ‘classic’ problem within financial services. Most of the TSC members have built or use similar technology. The alignment with FINOS is clear and obvious, a number of TSC members expressed a direct interest in this project.
There are some clear parallels between Vuu and Perspective, both provide the ability to view and analyse streaming datasets. However, the two projects do have a different focus. Perspective is more aligned with the needs of analysts, allowing the creation of dashboards that compete with the likes of Tableau. Whereas Vuu is targeted more at the needs of developers, and would likely be incorporated into much larger platforms (e.g. trading platforms, risk systems). There may be some opportunities to exchange ideas and approach, however, it is unlikely that the two would (or should) merge.
This project has been under development for a number of years and UBS is keen to start using this technology within their own applications.We are comfortable with this informal commitment.
Project onboarding completed, please find announcement at https://groups.google.com/a/finos.org/g/announce/c/i7rzIhlj0e0/m/EygO4fgVBAAJ. Congratulations to @chrisjstevo and team!
Business Problem
User interfaces for financial applications often have differing requirements to generic UI Frameworks. In general these can be summarised as:
Proposed Solution
Vuu is a framework for building front end applications for trading and risk use-cases. It is split into two components, the first is a Scala based server component which acts as the server side cache of data, this provides a table model for representing and joining live tables of data from various sources, it also provides a framework for sorting, filtering and treeing on the server based on client requests. It also provides viewports onto the trees or tables for multiple users. The server also provides an ability to tick data quickly through the system for rapid updates to individual rows.
The second component is a React based UI grid and layout framework that manages the communications with the server, that renders the visible viewports for the user (whether they be tree or flat table based) and that gives the impression to the user that all of the data that a user is viewing is seamlessly available on the client.
The glue that connects these pieces is a web-worker/websocket layer that handles realtime updates from the server based on updates on the underlying datasource or based on user actions on the front end, such as scrolling or sorting.
Tentative Roadmap
The initial phase would be working towards a v1.0 release of the framework, where we can support all of the necessary use cases for building trading front ends. Its felt we are between 80% and 90% of the way there with the existing code base.
A phase 2 release would incorporate additional functionality such as real time charting, additional user widgets for specialised forms of visual filtering and the ability to support big data streaming uses cases (10bn+ rows)
Current State
The project began in 2014, it was worked on as a PoC for several years before gaining more momentum towards a functional beta release in 2020/2021. The project has now beed adopted by UBS as part of the strategic front office UI toolkit.
Existing Materials
The software is already opened source on Github under an Apache 2.0 licence.
Code: https://github.com/venuu-io/vuu/ Book: https://venuu-io.github.io/vuu/
Development Team
Maintainers
Chris Stevenson, UBS, chris-za.stevenson@ubs.com, Founding Developer, Admin, chrisjstevo Steve Heron, UBS, steve.heron@ubs.com, Founding Developer, Admin, Dimitar Dimitrov, UBS, dimitar.a.dimitrov@ubs.com, Developer Michael Stonestreet, UBS, michael.stonestreet@ubs.com, Developer Michael Banham, UBS, michael.banham@ubs.com, Developer, Admin Allan Jakobsen, UBS, allan.jakobsen@ubs.com, Product Owner Marina Bambang, UBS, marina.bambang@ubs.com, Product Owner
Confirmed contributors
(as above)
Target Contributors
Infrastructure needs
Describe the FINOS infrastructure you will need for this project, in addition to a GitHub repository. The FINOS team will connect with you before setting up any of this infrastructure
What's next?
Upon submission of this project proposal, the FINOS team will get in touch with you to discuss next steps.
Contribution process (v. 1.1, last updated on December 20, 2021)
Below is the list of tasks that FINOS Team and the contribution author go through in order to complete the FINOS contribution process. Please do not edit these contents at contribution time!
Kick-off meeting
FINOS Contrib POC
Proposal (Lead Maintainer)
[x] Lead maintainer to send out announcement to community@finos.org using this template:
Identify project meta (Lead: FINOS Contrib POC, Support: FINOS Marketing)
vuu
Applications > UI Frameworks
Maintainers, contributors and CLAs (Lead: FINOS Contrib POC, Support: FINOS infra)
ararus
andheswell
)Will Rothwell
to allow UBS employees listed above from EasyCLA dashboardProject Communication Channel(s)
Code validation (only if code is contributed) (Lead: FINOS Infra)
Approval (Lead: FINOS Infra)
Code transfer (Lead: FINOS Infra)
Admin
to all repositories to transferCONTRIBUTING.md
LICENSE
(look for{}
placeholders)<project-name>-maintainers
GitHub team and invite usersfinos-admins
(Maintain
role) andfinos-staff
(Triage
role) team permissionsInfra setup (Lead: FINOS Infra)
NPM_TOKEN
as GitHub secretAnnouncement (Lead: FINOS Contrib POC)