How about next time OS stops working, moderators post something on the Facebook page so we don't think we're the only ones that are shut down... the not panic page that goes up says to go to the Facebook page for updates, but when you go there, there isn't anything like "the site will be down for a little while to be updated, please be patient". so then people like me spend the next hour trying to figure out if it's my own computer's problem. -.- just saying
I don't have facebook >.< I did the same thing too. I thought my computer was acting up. I feel like an email/text would be appropriate too. As a saying OpenStudy is down.
How about "don't let it crash so often" ?
funny :) it's bound to mess up every so often, because it's a free service/site that's accessible to everyone of course things can be improved to prevent more crashes like not allowing certain symbols in usernames but asking to simply "don't let crash often" is a bit much to ask for a free service. truthfully, I'm more than willing to pay $25 in amazon gift cards every month if they'd let me XD lol
Well, there's many good programmers who are willing to help, but half the time, there's nobody to listen. It is what is is; but it can be better.
@jigglypuff314 Moderators do not have access to the OS Facebook page. So moderators can't do this. @primeralph As for the good programmers, there are some issues there too. Several found out what languages were involved and retracted offers to help. There is also the security of the database and privacy concerns related to that. Once someone has access to the code base, they have access to the database, all passwords of users, all personal messages, all deleted messages, and so on. This is one of the reasons the proposed hack-a-thon never got off the ground. They never came up with a safe way to do it. Since several of the issues have to do with the size and complexity of the database, it is not an easy thing to simulate.
Efficiency always comes at a price.
@e.mccormick For me, I only need 1. Database schema, 2. Example data.
@tyteen4a03 know MongoDB and Scala? I also think they went functional.
Good idea...
@e.mccormick If I were to rewrite OpenStudy, I would use Redis+MariaDB and Tornado/Twisted. Python (and PHP) is my strong suit. Now if you want me to rewrite OpenStudy, I cannot promise any significant progress from me (I have my own projects, after all) but to compensate this I will open-source the backend. That way, everybody can contribute and make OS better.
@tyteen4a03 And that is the problem. See, it would break the informatics parts they already have if you did all that. That is why they are not going to change their code base to satisfy a developer.
@e.mccormick By the point I (or somebody else) deliver a full system with complete functionality that OpenStudy provides currently, it wouldn't matter much anymore. It would become a problem of database schema updates (which is trivial compared to the system rewrite). A developer can announce their own plan, but they only get a say over the system until they deliver something that is working and efficient.
The informatics has nothing to do with schema updates. It has to do with tracking and evaluation user activity. Have you seen the reports they can generate for a person or the discussions on the complexities of the smart score? Also, did you look into any of the information posted by the original developers on the things like the custom code highlighting system?
@e.mccormick The point of a reimplementation is to reimplement all features, information tracking included. Also, if they really want to 100% reuse their UI code (which I understand but there are quirks in the UI as well), I can keep the API the same so it wouldn't break anything.
Further explanation: For an AJAX-powered system to work, The front-end JavaScript needs to query the backend one way or another. Usually developers open up an entry point (in OpenStudy's case, http://openstudy.com/ajax_request) so that clients can query the server without directly giving client access to the database (which is an impractical and very, /very/ dangerous way of doing so). When you implement the pair, you need to set a protocol (think "common language" such as English or Spanish) so that both parties understand each other. In reimplementations, you must make sure the backend follows the same protocol so that the front end doesn't break. It would be best if you have control over the front-end code as well, but since I don't I am just reverse engineering from what is sent from OpenStudy.com to my browser.
It is not the UI code that I am talking about.
@e.mccormick Not sure what you are talking about then - Closed-source code will remain unimplemented.
They have a ton of analytics the server does that users don't necessarily see. Some of it directly seen, like the SS, but not all. If you watch the presentations Preetha does you get to see a bit of it. This stuff is years of code base made by a team that used specific tools. Because OS paid a lot to get that built, they are not going to just chuck it. It is part of how they monetize, so it is important to retain.
@e.mccormick Backend analysis tools, ah. Can be reimplemented once the base is done. As I said many times: Any developer that is able to deliver the base will be capable of delivering other tools.
The concept you keep ignoring has a common phrase attached to it. Rome was not built in a day.
@e.mccormick We are rebuilding Rome here. You won't be able to directly hook your analytic code to the new base somebody writes even if it uses the Lift/MongoDB stack, because the API is going to be more or less differently-designed (unless OpenStudy.com open-sources its code)
Exactly. And since that is tied to their monitization, which pays for keeping the site open, it has to be there first. So any development needs to ether account for that or be a modification of what exists and already uses that.
@e.mccormick And this is why this question is meaningless at this stage - Limiting yourself to only one stack directly limits the possibility of the outcome of the rewrite. unless OpenStudy open sources their source code, you cannot really account for support over legacy code since you don't know the code and its logic. As end users, we know nothing. You cannot build with no plan in your mind. Right now, the bigger problem is "deliver a usable end-product foundation". I am not (and never was) suggesting staged deployment - Once somebody provides a foundation, OpenStudy can decide to give this person access to backend code so that they can rewrite the code, then finally upgrade and deploy. I think this discussion is starting to become a debate between two philosophies: Agile development VS plan-based development (without concern over legacy code, only legacy data). I am personally for the latter. However, this debate won't end until somebody delivers an end-product. Maybe it'll be me, maybe it'll be someone else. We'll see.
For large rewrites, agile is not really that great either.
@e.mccormick Large rewrites at the same time is basically the opposite of Agile :) By the way, I'd like some answers from @Preetha : 1. Who is developing OpenStudy now? 2. Who is in charge of server administration of OpenStudy now? 3. (to developers) what is the reason you think the actual performance is lower than expected? NDAs are respected and general reasons are okay.
All I am saying is that to do any sort of successful rewrite would require use of the existing code base or a replacement of the informatics part in a different language as the primary foundation. My point has been from the very start is that simply choosing a new set of languages is not necessarily going to make things easy. As for who is developing, they have coders on staff. The team head is on the about page: http://openstudy.com/about-us
As for the code parts, Shadowfiend answered some what you are asking about long ago. It had to do with monolithic vs. scalable code choices that were made in some places and did not scale well. If you search for his comments on site code with Google you may find it. Farmdawgnation is another one to search for.
@e.mccormick I am not suggesting dumping existing code and logic - I was under the impression that you want to /directly/ reuse legacy code. Cleanroom implementation works across any stack. A rewrite itself is hard enough - being skillful at the stack you're currently using helps a lot. I am not saying that Lift+Mongo is bad, but if another stack (Tornado/Twisted + MariaDB + Redis) shows advantages it may be better to switch. It sounds like there are fundamental architectural problems that needs to be solved. It would be very nice if the coders of OpenStudy appear and chip in - maybe it's just me being inactive but I hardly see anybody speaking in here. (Also, some interesting data regarding MongoDB vs Redis: http://stackoverflow.com/questions/5252577/how-much-faster-is-redis-than-mongodb)
Join our real-time social learning platform and learn together with your friends!