collabedit updates Recent changes and updates for Yes, I'm Still Here'mStillHere <div class="postbody"> <p class="paragraph"> Hey, so it's been a while since I've posted any updates to collabedit, sorry about that. I have been busy working a full time job and working on another site called <a href="/bouncer?url="> Coding Hire </a> . If you conduct technical phone interviews please check it out. </p> <p class="paragraph"> I'm taking a 4 month sabatical from my full-time job to focus on building <a href="/bouncer?url="> Coding Hire </a> . My goal is to be able to support myself full time. </p> </div> The Site is Fast Again <div class="postbody"> <p class="paragraph"> As you may have noticed, the site had become extremely slow as of late. </p> <p class="paragraph"> I was able to track down the issue and have fixed it, so it should be fast again. Thanks for your patience. </p> </div> Interview Ratings, Dashboard <div class="postbody"> <p class="paragraph"> Users of the <a href="/articles/TechnicalPhoneInterviewHelp"> interview plan </a> have a new feature. When you finish a session, there is now a place for you to rate the candidate. </p> <p class="paragraph"> Also, the dashboard was re-written so you can review all your interviews in one place. You can now see interview ratings, questions that were asked and answers given by the candidate all from your dashboard. </p> <p class="paragraph"> As a side note, I've changed how "favorites" work. Now everything you create is a favorite by default. You "archive" the documents you're done with. You can also permanently delete documents from your archive. </p> </div> Named Documents, Custom Urls <div class="postbody"> <p class="paragraph"> Two new features have been released: "Named Documents" and "Custom Urls". </p> <p class="paragraph"> To name a document, just click the box at the top and type in the new name. </p> <p class="paragraph"> To create a custom url, visit the url you would like to create (ie If it doesn't exist, you will be given the option to create it. Custom urls are only available on paid plans. </p> </div> Performance Charts <div class="postbody"> <p class="paragraph"> Collabedit used to be pretty slow. I decided to make it faster. The first thing I did was write a script that would login, add 1 character to a document, delete 1 character from the document and record how long each operation took to return. I set this script to run one time every minute of the day. </p> <p class="paragraph"> Here's what that looked like. </p> <img src="/static/img/performance_chart_before.png" /> <p class="paragraph"> As you can see, it's pretty scattered. I moved to Amazon EC2, and spent some time tuning parts of the real-time algorithm. </p> <p class="paragraph"> Here's what collabedit's performance looks like now. </p> <img src="/static/img/performance_chart_after.png" /> </div> Speed Upgrade <div class="postbody"> <p class="paragraph"> Since launched in March of 2008, it has been running on a shared hosting platform. While this has been cheap and convenient, the speed really suffered at times. </p> <p class="paragraph"> I just finished moving everything over to Amazon EC2. Everything is running much faster now. Enjoy! </p> </div> Better Real-Time Engine <div class="postbody"> <p class="paragraph"> I just released some major changes to algorithm that enables real-time collaboration. Collabedit now uses <a href=""> Operational Transformation </a> instead of diff/match/patch. </p> <p class="paragraph"> This change should make co-authoring much smoother than it was before. Prior to this change, edits were sometimes lost when multiple people typed at the same time. This should no-longer be a problem. </p> <p class="paragraph"> I also added a time slider to the history page. </p> </div> Scheduled Downtime <div class="postbody"> <p class="paragraph"> This Saturday, October 9th, is going to be offline for a while starting at 5am PST to perform an upgrade. </p> <p class="paragraph"> I am deploying a some major changes to real-time algorithm that collabedit uses. </p> </div> Purge History <div class="postbody"> <p class="paragraph"> Several people have <a href=""> requested </a> the ability to purge document revision history. There's a new "Purge History" button on the history page. </p> </div> Accounts, Favorites <div class="postbody"> <p class="paragraph"> You can now have the option of creating an account. Accounts help you keep track of your documents in a few different ways. </p> <p class="paragraph"> Take a look at this screenshot. </p> <img src="/static/img/accounts_intro.png" /> <div class="label1" style="margin-top: 20px"> 1. Favorites </div> <p class="paragraph"> You can click the stars on the left to toggle your favorite documents. Favorites will appear at the top of your dashboard. </p> <div class="label1" style="margin-top: 20px"> 2. Other Recent Documents </div> <p class="paragraph"> This section will show the last 10 documents that you've visited (excluding your favorites). Your most recent documents will appear on the top. Once you exceed 10 documents, they will fall off the bottom of the list. </p> <p class="paragraph"> The Preview column is auto created from the first line of text in the document. </p> </div> Document History <div class="postbody"> <p class="paragraph"> You'll notice a new History button on the top menu bar. This will allow you to see all previous versions of your documents, and restore an older version if you want. </p> <p class="paragraph"> Prior to this feature, if you accidentally wiped out your document text it was gone for good. This is no longer a problem. </p> <p class="paragraph"> Older documents won't have any history yet, because it hasn't been tracked until now. </p> </div> Chat <div class="postbody"> <p class="paragraph"> Collabedit now has sidebar chat! There are still has a few minor quirks with it. I ran into some trouble with EditArea (the javascript text editor I'm using) because it requires browser focus in order to update the text. I've got my eye on <a href=""> Codemirror </a> and some other alternatives though. </p> <p class="paragraph"> I've switched to using <a href=""> Tornado </a> as the underlying web server. Tornado will enable me to use comet (aka "long polling", "server-push", "http-streaming", "bosh") technology. I haven't taken full advantage of that yet, but I will. Tornado also has a built in templating system, authentication, database helpers and a few other nice features. </p> </div>