chrsep / Kingfish

Portal for Binusmaya v0.3 and up
http://goo.gl/oqjjUE
GNU General Public License v3.0
26 stars 10 forks source link

RFC: Bringing Portal to other universities #48

Open chrsep opened 5 years ago

chrsep commented 5 years ago

What if Portal works across universities!!!!🀣

Then maybe add some communication features (ex: chat room for each class that work across universities), so that for example: All student who studies calculus in UMN, Untar and Binus who uses Portal will automatically have access to the same chat room so maybe everyone can share, discuss, and talk. Maybe add some collaboration features too down the road? Shared notes? polls? wikis? shared assignments?

With a bigger user base, Portal can even focus on gathering data about how students study (such as using data on how Portal is being used, what content user creates, etc...) and be used to try to gain insight on how to improve education in general .

The idea is to make education more open, by providing a single place to keep track of student campus life and collaborate, that works for any student of any university.

I'm just throwing some ideas around πŸ˜‚, maybe it's a bit out there, but i just thought the idea is fascinating and would love to see what others think

Joonath commented 5 years ago

That would be great! But I think securities will always be in constant danger, as it would take data from user's university (for features Portal already have right now) and potentially getting snooped by person in the middle or by the end, even though you choose not to share those upon connecting to students from other universities.

Do you (or anyone) have suggestion to the problem?

senacand commented 5 years ago

It would be good, but then we'll also need contributors from other universities to help contribute on connecting Portal with their service, and of course Portal itself may need a lot of refactoring to generalise the presenter and data models to work with multiple sources. Add to the problem of not knowing on how other universities react to third-party app.

And having collaboration features mean that we'll need a backend server as the middle, and added with tracking may cause universities to be even more cautious on how their students' data is used.

I think the part of supporting multiple universities services is a good idea, but the collaboration part may be a bit more problematic unless the collaboration auth and Bimay/university service auth is separated (need a separate account for collaboration).

cviali commented 5 years ago

Maybe we create something like Trafi where we provide some kind of platform for other universities to add their own campus system, I don't know much about how they do their stuff though.

chrsep commented 5 years ago

@Joonath If the university's data is saved locally on the phone with encryption and all network call goes to https endpoints, I think it will be pretty save. How would snooping works in this scenario?

@senacand Yes, Portal definitely needs a huge refactor to support this. Just a general refactor is really needed too :rofl:, there is quite a significant amount of tiny bugs, a lot of things can be made better and simpler too, especially using the new MDC library and android jetpack. Or since the change is really huge, a full rewrite into react native/flutter might be better (with added bonus of #38, supporting iOS and android from a single codebase).

I think the collaboration features do need a separate account, this way, if the user move into a different university or move to pursue other major, he/she wouldn't be recognized as a different person and their collaboration data would still be intact.

What excites me about the collaboration features is it's potential to give insight into the minds of students across Indonesia. The same way facebook use their user's post and interactions to figure out the user's thought, desires, and personality to tailor the perfect ads, we can use the content generated on the collaboration features to understand how and what the students thinks on things related to education, to figure out a cool thing to build than can improve education in general. (hypothetically)

I am actually very curios about how the universities are going to react. Really hard to predict their reaction, but i think as long as everything is being worked out as transparently as possible, everything will turn out fine in the end.

Quite a lot of UX / UI design work would also needs to be done (having a designer contributor would be awesome). Finding contributors from other university is also quite some work, probably would need a web landing page to attract attention too. A hell lot needs to be done for this to be successful :laughing:. It's basically setting up an "open-core" type of startup in the end.

@cviali Implementing a platform like that requires significant amount of work though, would be really impressive if done correctly, but definitely hard to do.

I was thinking maybe at first we can provide a seperate repo where each universities (or any one really...) can make a pull request containing implementation for integrating with their existing system? Portal then will use this new repo as an external module.

senacand commented 5 years ago

Well, I guess the best way to start is to find university student from other universities so we can start learning how other university system works, especially whether they use REST API the way Bimay does.

Does anyone have any idea how other university system works?

DarthJonathan commented 5 years ago

The system would be basically the same, I know for sure UPH uses our KRS system for their grading system, that is another inject / non documented apis

senacand commented 5 years ago

@DarthJonathan Well, our KRS system is not easy to steal data from since it requires a bunch of scraping. Binusmaya 5 however uses a quite standard REST API (except the login part), which means all the data are easily consumable by any front-end client app (hence why making a Portal clone is not as difficult as it seems).

The hardest problem would be if other universities student portal does not use a normal REST API the way Bimay does, meaning not only implementing it going to be difficult (through scraping), but it's also slow (there used to be a Bimay 3 client back then, and it's really difficult to use without a really fast and stable network).