Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7644479
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T09:41:55+00:00 2026-05-31T09:41:55+00:00

A friend of mine and I have been using Google Docs for a while

  • 0

A friend of mine and I have been using Google Docs for a while but it seems to be in the process of not supporting her browser anymore so as a fun project I thought I would try to imitate its functionality myself.

So far I’ve built a working facsimile in Codeigniter (PHP) that works fine on my machine locally; however, I’m trying to figure out if it is the most effective approach/safest to unleash on other people. (Bear in mind that this is not meant to be a public service; just for use by mostly 2 people, maybe 3-4 at most.)

Each page of the app has a chat room and a view for whatever the current document is; these are refreshed independently. The chat room basically pulls from a .txt file which is updated every time the user submits a message; the chat refereshes via a JQuery AJAX call twice per second. (So far I’m not bothering with trying to note when a user left the chat, though I assume that would take a separate poll.)

The document view also updates via AJAX, but calling a controller function to ping a document MySQL database instead; this call happens once per second as well as any time a user updates the document.

Clearly this is going to have to be on a hosting plan that can accomodate traffic from the regular Javascript calls, but that aside, is this an acceptable way to approach the problem? Will it cause undue strain on the client side (or on the server)? Is there a better way? I’m very very self-taught, and while I’m able to make something that works, I would love to have some confirmation that I’m not taking the wrong approach.

Thanks! Hopefully this question makes sense; glad to elaborate if necessary.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T09:41:56+00:00Added an answer on May 31, 2026 at 9:41 am

    I think polling would cause scaling problems, though that might not be an issue for such a small environment.

    I’m not an expert at this either, but I suspect that the model you’d want to use if possible is to leave a socket open with your server so that events (i.e. other people’s edits, or even just the signal to refresh content from the database) could be pushed from the server rather than require polling. There’s a technique called Comet for this. Of course, you’d need to build support for BOTH, in case something like a forced proxy or restrictive firewall gets in the way of the open socket and you need to revert to polling.

    On the server side, optimize optimize optimize. If you’re polling, make sure you test a timestamp for the last update that’s kept in a separate, smaller, properly indexed table from your data.

    For the chat, why not leverage some of the existing tools out there? There are excellent IRC clients like IRIS. Using an IRC server might also provide a better way for multiple users to coordinate their actions. For example, there could be a channel named for a document identifier that gets joined by a JS handler that notifies others of cursor position, pending edits (and the resultant need to refresh the document from the database), etc. I’m not suggesting that this is the best way, but it’s at least an interesting idea.

    I’d love to see the code you come up with! A usable multi-user Google Docs clone would be VERY popular.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Hiya - been pointed at you guys by a friend of mine. I have
For a recent project a friend of mine and I have been working on,
A friend of mine wants to make her favicon visible when people user Google
Ok so Google is not my friend tonight... I have a screen saver, CC.Votd
I have been using Firebug for a while now and for the past month
A friend of mine had a friend make a website for her, but this
A friend of mine asked: if I have two dice and I throw both
i have heard from a friend of mine that the best algorithm for swapping
I have had a talk with a friend of mine about the relative vulnerability
A friend of mine said that they experienced oddities with using the decimal column

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.