Project of the Month, January 2009

TinyMCE


Project Leaders:

Johan “Spocke” Sˆrlin

Occupation / Experience: Chief Technical Officer, Software Engineer

Education: IT Studies

Location: SkellefteÂ, Sweden


Joakim Lindkvist

Occupation / Experience: Software Engineer, customer relations

Education: IT Studies

Location: SkellefteÂ, Sweden

Why did you place the project on SourceForge.net?

At the time we started, SourceForge was the only place for Open Source projects, we gained a lot of visitors and downloads from just simply being on SourceForge, and being active. On top of that, SourceForge has features such as bug tracking, hosted downloads and forums.

How has SourceForge.net helped you?

It was like a kickstart, since we where active developing the software, we have very high activity on SourceForge, gained a lot of visitors and the buzz spread through blogs and developer sites.

The number one benefit of using SourceForge.net is:

Right now, the download mirrors and the Subversion system is the best services for us!

Project name: TinyMCE

Date founded/started: 2004

Project page: http://SourceForge.net/projects/tinymce

Description of project:

The TinyMCE project is about creating a WYSIWYG JavaScript open source editor. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances and is very easy to implement. It is included as default in several open source CMS, such as WordPress and Joomla. Together with them, the downloads are up to several million since launch.

Why and how did you get started?

I am not exactly sure when we put the first files up on SourceForge, but the 1.0 release of TinyMCE was 2004-03-11, and I think it got up on SourceForge shortly after that. We started on TinyMCE because at that time there were really no good alternatives, so I guess you could say we started building it cause we needed it, same as with our other products. We use these tools as part of our toolbox when we do consulting work.

Who is the software’s intended audience?

Our main audience is other developers either already involved in content management projects/systems, or thinking about creating their own. In terms of companies, the range is broad, from small to the absolute largest there is.

What are a couple of notable examples of how people are using your software?

The most common use is that they have a content management system and want to improve the document editing part, so they add TinyMCE and get rich text editing and a lot of features.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

TinyMCE is 100% JavaScript based, so it doesn’t really have much in terms of requirements. There are other add ons and parts that need some backend integration, such as compression or the file and image manager.

What gave you an indication that your project was becoming successful?

When we started getting all kinds of support and feature requests, and clients that want to pay for adding features to TinyMCE, as well as the massive amount of traffic generated on SourceForge and our Web site.

What has been your biggest surprise?

This was our first open source project [so] all of it has been a surprise, and it really lifted our company to new heights. It is hard to believe something free can generate so much for a company.

What has been your biggest challenge?

Keeping everything in order — we have seen many open source projects get out of hand with bloaty software. We have always taken a step back, looked at the big picture, and evaluated new features against performance and other aspects of the software.

Why do you think your project has been so well received?

We have always had a high quality of code, few bugs, and a fairly decent release rate. Keeping one step ahead of the competition doesn’t hurt either.

What advice would you give to a project that’s just starting out?

Stick with it. It took quite some time before the word got out about our product, it doesn’t happen overnight. More importantly, develop the software and features you need, so even if it doesn’t take off in the open source world, you still have a good solid product to use for yourself.

Where do you see your project going?

Browsers are evolving quite a lot now. First of all, we see that we can improve performance and perhaps a few features here and there [but] nothing major planned at the moment. We did a rewrite of the code base not too long ago, so we are still perfecting that rewrite somewhat.

What’s on your project wish list?

The best award you get as a software programmer is seeing others using your software to its limits. There are still a lot of features in TinyMCE that people are missing and we have excellent API documentation. Although we have seen a few implementations that have been spectacular, more should look into the code and capabilities of TinyMCE.

What are you most proud of?

To be able to compete with the commercial variants. When people email us and say they switched from some other editor (commercial) to TinyMCE, it makes us proud. Free and better.

If you could change something about the project, what would it be?

It would really be awesome to find more good JavaScript developers to help us out, but we have very high standards when it comes to code quality so it is very hard to find people that can help.

How do you coordinate the project?

Spocke is the main developer of TinyMCE, he keeps track of bugs and feature requests through SourceForge mainly. We use massive amounts of unit testing to combat regression problems in different browsers.

How many hours a month do you and/or your team devote to the project?

It varies, but if you include anything related to TinyMCE such as the file and image manager plugins, it is probably 70% to 80% of our total time dedicated to TinyMCE.

What is your development environment like?

On our desktops, we run Windows Vista 64-bit and on our servers we run Debian Linux. Since development is JavaScript mainly, we use Editplus 3 for editing. Testing is done with javascript unit testing on different browsers and operating systems, we have a Mac Mini serving as a test bed for Safari, Opera, and Firefox on Mac.

Milestones:

Date Milestone
2008-01-30 The 3.0 Release of TinyMCE, major rewrite of the entire engine and interface
2007-05-15 Major rewrite of the MCImageManager and MCFileManager
2006-12-31 WordPress 2.0 shipped with TinyMCE editor
2005-05-24 First public Release of MCImageManager and MCFileManager
2004-12-xx Mambo included the TinyMCE editor
2004-03-11 First release of TinyMCE, 1.0

How can others contribute?

Good JavaScript developers does not grow on trees, we look at the patches submitted to SourceForge and evaluate them with the whole community in mind. Usually people submit patches that fix their specific problem, and they do not test on all platforms, so it takes quite a lot of time to go through these patches.


Check out our previous projects of the month.