Offline Moodle: Moodle.exe client

Offline Moodle: Moodle.exe client

by Morten Brydensholt -
Number of replies: 21

Would it be possible to develope a client (a Moodle.exe file) that users could download and execute locally? Very much the same way FirstClass has a client.

Running a lot of the content locally and grabbing only data remotely could radically increase speed and performance.

Best regards

Morten

Average of ratings: -
In reply to Morten Brydensholt

Re: Offline Moodle: Moodle.exe client

by Joan Codina Filba -
The use of an EXE program has some drawbacks:
  1.  Maintenance: when you upgrade your server you must also indicate all your users that they must upgrade
  2. Platform Independence (unless in java)
  3. Needs to be installed in every computer you want to access Moodle
Ajax, performing more clever javascript pages, I think it brinks a most useful way to perform the same, more user_friendly, as you relay only in a browser, that everybody has, and with universal access from any place.
The use of Ajax can dismiss the drawbacks of uploading a page to change a single item, and make use of the client's cpu, making all the operation much faster.

In reply to Joan Codina Filba

Re: Offline Moodle: Moodle.exe client

by Michael Penney -
My ideal would be a Firefox based Moodle client, which could solve a big downside of using advanced interface features: trying to support them on multiple browsers.
In reply to Michael Penney

Re: Offline Moodle: Moodle.exe client

by Art Lader -

> My ideal would be a Firefox based Moodle client...

Woah! I never thought of that, Michael. Good idea.

-- Art

In reply to Art Lader

buna ziua

by corciova florin -
Va rog sa ma ajutati sa umblu si eu cu un server de moodle am incercat dar nu am reusit sa imi fac propria pagina si nu are cine sa ma ajute

Va multumesc si daca se poate imi dati un raspuns

I need help who cand help me to make a moodle link I dont now

In reply to Michael Penney

Re: Offline Moodle: Moodle.exe client

by Joan Codina Filba -
Mine also, but free software means freedom to choose, even to chose IE
If moodle does not force a linux/apache in the server side (and is a single computer for school), can not force all moodle users to use firefox in the client side.
Free means to open the doors and "windows" (sorry) of the software house to everybody, trying to not exclude anyone.
Firefox is free, and you can choose to install it, or not. Other browsers get together with the operating system and are "uninstallabe". But we can not private people to use it, even if we thing they are wrong. But think that most of them simply don't know that they can choose.


Yes, i know, a bit philosofical.... sorry for that.

Joan

(Edited by Helen Foster to fix broken formatting - original submission Saturday, 13 May 2006, 12:50 AM)

In reply to Joan Codina Filba

Re: Offline Moodle: Moodle.exe client

by Michael Penney -
Hi Joan, actually what I meant was an LMS application, that uses Firefox (really Mozilla code) as a base. There are a number of applications that are doing this now.

In this case the student wouldn't use a browser at all, instead they would download an LMS client, and use that as a networked application for their online or blended learning experience.

This would let folks harness the power of the local machine for rendering interfaces and other processor intensive activities, allow developers to deliver to a single, open source, cross platform, consistent environment while alleviating all the problems students and faculty are constantly having with spyware, browser inconsistencies, page refresh times, distraction of the web, providing a 'lockdown' environment for assessment, etc.

There are actually a number of folks utilizing mozilla as an application framework and XUL as a development environment, good article about this is here:
http://www.oreillynet.com/pub/a/mozilla/2002/12/17/app_dev.html


So I'm not at all talking about trying to get folks to use a particular browser, but rather delivering a VLE as an application, much the way folks might prefer a physical classroom, lab, or building designed for the purpose of education.
In reply to Morten Brydensholt

Re: Offline Moodle: Moodle.exe client

by Jon Bolton -
Picture of Particularly helpful Moodlers Picture of Testers
Would/could this be something like the Blackboard Backpack? www.blackboard.com/extend/backpack. Please note that I don't use Blackboard - I'm a long time advocate of Moodle, but a colleague drew this to my attention. It would be VERY useful!
In reply to Jon Bolton

Re: Offline Moodle: Moodle.exe client

by M Y -
I have read up on Backpack for Blackboard. I think something like Backpack would be great for Moodle.
In reply to Morten Brydensholt

Re: Offline Moodle: Moodle.exe client

by Richie Foreman -
I don't think a "External Client" is really the way to go.  Like someone mentioned, there are maintaining updates and such.  I think web browser delivered content is getting more advanced as AJAX and other technologies become more advanced and widespread.  If you haven't used google calendar, it has the just about the same functionality as Apple's iCal software (and actually the UI looks almost the same). I can use google calendar on my Linux box, and my Windows box without installing a single program (other than a web browser, but that's a given).  Writely is another example of web-delivered software (if you haven't used it, it's a collaborative word processor (kinda like a wiki, but more like a word processor)).

That's my two cents, heh heh.

--Richie Foreman
In reply to Morten Brydensholt

Re: Offline Moodle: Moodle.exe client

by Samuli Karevaara -
Firefox 3 is rumored to support offline applications, but this does not mean that anything on the web could be used offline with FF3, it would still take a huge effort and might end up being a humongous mess.

Many solutions that have a separate client.exe still require an internet connection for most/all operations, as the data is on the server.
In reply to Samuli Karevaara

Re: Offline Moodle: Moodle.exe client

by Marcus Green -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
The practical answer to the original question is no.
In reply to Morten Brydensholt

Re: Offline Moodle: Moodle.exe client

by David Hicks -
> Would it be possible to develope a client (a Moodle.exe file) that users could
> download and execute locally? Very much the same way FirstClass has a client.

> Running a lot of the content locally and grabbing only data remotely could
> radically increase speed and performance.

What about this new Moodle network/hub code? If you wanted the advantages of local performance without having to develop a whole new GUI, couldn't you simply install a Moodle server on your local machine and tell it it's "parent" server is the one you want to get content from? This has the advantage of already being cross-platform and so on - about all you'd need to do is maybe repackage the installer to include details of parent server.

--
David Hicks
In reply to David Hicks

Re: Offline Moodle: Moodle.exe client

by M Y -
Backpack for Blackboard lets the user syncronise the client with the BlackBoard server.
If you take Uni's as an example. Students may have laptops that they use on campus but also take home. If they dont have internet access at home, how can they get access the course material?
Would a client application for Moodle be better as a localy cached version of the learning material for when they cannot access the 'live' content, rather than just another way of browsing the live content?
In reply to M Y

Re: Offline Moodle: Moodle.exe client

by David Hicks -
> If you take Uni's as an example. Students may have laptops that they use on
> campus but also take home. If they dont have internet access at home, how
> can they get access the course material?

Yes, exactly. Sorry, I haven't had an opportunity to check out exactly what the new Moodle Hub code does, but if it doesn't already support offline working, that would seem to be the sensible place to implement it - write cross-platform code that integrates with the rest of Moodle. It would mean that an offline user would have to have a copy of Moodle installed, i.e. a web server, PHP, database and chunk of PHP code, but I think a handy all-in-one Windows / Mac / etc installer would be less work to implement than writing a whole new executable that grabs content in some way. Also, by definition any Moodle content is going to be web-based - best served from a webserver.

Bear in mind that "less work" doesn't mean "little work" - exactly how you get tests or anything that writes to the markbook (or any other part of the database...) to work looks to me like a hard problem.

Sorry, anyone who's been working on the Moodle community hub code, if I've got the wrong idea - anyone know if the community hub code includes stuff for offline working?

--
David Hicks
In reply to David Hicks

Re: Offline Moodle: Moodle.exe client

by Chardelle Busch -
Picture of Core developers
A "modport" for the SCORM mod or maybe the lesson mod Michael, would be really cool. The modport could be downloaded and installed, then the activities downloaded to it and synched with Moodle when online.
In reply to David Hicks

Re: Offline Moodle: Moodle.exe client

by M Y -
>exactly how you get tests or anything that writes to the markbook (or any other >part of the database...) to work looks to me like a hard problem.

Could the users results be cached localy then next time the client application is syncronised with the Moodle server, the test results are uploaded to the markbook?

Just a thought, would a client application for Moodle violate any BlackBoard patents?


From the website of Blackboard's own Sync software:
71% of surveyed student users launch Backpack once a day or more.

89% of surveyed student users found it more convenient to manage Blackboard courses.

Surveyed student users spent 2 hours less outside of class on homework, on average.

 

91% of surveyed student users said Backpack met or exceeded their expectations.


In reply to M Y

Re: Offline Moodle: Moodle.exe client

by David Hicks -
[David Hicks wrote]
> exactly how you get tests or anything that writes to the markbook (or any
> other >part of the database...) to work looks to me like a hard problem.

[Martin Yelland wrote]
> Could the users results be cached localy then next time the client application
> is syncronised with the Moodle server, the test results are uploaded to the
> markbook?

Yes. Now all you have to do is write the code smile The tricky part would be dealing with database tables that could be written to by more than one person - the classic lost update problem. User A syncs with the server, goes away and works offline. User B comes along, works online, does something that writes changes to the database. User A turns up again, syncs their changes back to the main database, wipes over user B's data.

This problem is completly solveable - the classic solution to this classic problem is to provide some kind of locking mechanism (as with source code control systems, WebDAV file systems, "monitor" code sections, etc, etc) that ensures that only one user/process can write to a particular chunk of memory at a time. The issue with Moodle is the way its database is designed - i.e. pretty much at random, with different developers adding bits on here and there as needed. This, of course, is one of Moodle's great advantages - you can add to and extend it without too much fuss. It does present problems when it comes to maintaining a coherant design, though.

The best way to go about putting a consistant interface on top of a database that is going to be constantly changing is to implement some kind of API. This seems to be exactly what the Moodle Hub project is dealing with - producing an web-based (I assume) API that allows Moodle servers to synchronise with each other. A good chunk of the functionality to allow offline working has probably already been implemented, and if not then this would seem like the logical place to work to add that functionality. Code written would be extending current cross-platform Moodle PHP code, not starting from scratch - Moodle already installs on Windows, Mac, Linux, etc. Okay, technically, to run a "local" copy of Moodle that synchs offline with a given server you're going to need to install a web server, database, etc, and configure Moodle - rather beyond a home user who just wants to do their homework. A "home user" installer file would come in handy - click on an executable, let the computer get on and configure stuff for you. That strikes me as something worth working on, whereas I think a compiled executable to re-implement existing functionality would be more effort than is really practical.

All the above is strictly my opinion only - I could completly have the wrong idea about the Moodle Hub functionality. Someone do please say if I've got the wrong end of the stick.

--
David Hicks
Average of ratings: Useful (1)
In reply to Morten Brydensholt

Re: Offline Moodle: Moodle.exe client

by Colin Chambers -
Hi guys,

I'm from the Open University UK and you'll be interested to know that we're developing a Moodle Client install as I speak and aim to demonstrate our progress at the upcoming Moodle Moot.

We've got a posting at http://moodle.org/mod/forum/discuss.php?d=71136 where you can find out what we've been doing. We're also using a Moodle Course at http://hawk.aos.ecu.edu/moodle/course/view.php?id=22 to coordinate the project. Please check it out if you want to get involved.

I see there's been some excellent discussion on the topic. You guys seem to have a good grasp of what is required to get the synchronisation going. Since this is a big undertaking you'll be glad to know we've taken advantage of a lot of the work that has already been undertaken. Among other Moodle features we're making heavy use of the backup and restore feature and Moodle Networking so that we don't have to reinvent the wheel and so that we can focus on the most important areas such as getting the synchronising working and dealing with security and privacy issues etc. We're also looking into an executable installer package to make the install process easier for Mobile users.

I wish I'd seen this post sooner. I hope to see you all over at our Mobile Moodle Course as your input would be greatly valued.
In reply to Colin Chambers

Re: Offline Moodle: Moodle.exe client

by Ravi Alamuri -
Hello,

I am not sure how relevant this is but we have a Moodle Administrator Client that we developed in house using .NET.

The administration tool allows me to synchronize Moodle courses with the4 students enrolled on our Student Management Systems (SITS). It further allows me to clone student sets (copy students from one course on to another), clone Moodle courses (Import all activites from a course but change the course ID and name and import a different set of students etc). It also allows me to quickly search for a student or a course. I understand these functions are already a part of Moodle, the ones in our program are a bit more flexible since they allow wildcards and they allow me to search through any fields without having to click more than once.

We have built additional plug-ins to help with additional tasks such as importing from a CSV file or an XML file (IMS Enterprise). Again while these functions existing within Moodle they are so much more faster when run through our program. We have additional plug-ins to generate customized reports.

We are currently in the process of building the next version of this client. We are attempting to write a set of scripts which provide capabilities on the server side using SOAP/WSDL. The client simply calls the web services to perform the same services as the raw desktop client we have at the moment. It also plugs in to SITS and our LDAP / Print server providing a unified command center for our services. I believe a similar service can be used to make a desktop client for end users. It shouldn't be too complicated. If there is enough interest, I might be able to persuade my manager to allow me to release the admin tool's functions in the form of a component that everyone can just add reference to in their projects and start working.

My two pence.

Regards

Ravi

Regards

Ravi