Today's post simply discusses a bit how the datajs project is run, and why we think it makes sense.
The landscape for web developers is changing pretty fast. Browsers improve and introduce new capabilities, cloud systems bring new posibilities for products and business, user expectations change every other month (everyone wants everything to be faster, more reliable, more polished, and accessible from more devices).
We believe that to succeed in this environment, we need to be able to adjust quickly and keep an eye on delivering working software that makes our customers happy.
As such, here are some principles that guide how we run datajs.
- Transparency. datajs is an open source project so developers are able to look under the hood and see how things get done. They can figure out whether and how the code fits their needs. We'll discuss feedback and issues in public, provide sensible updates to the codebase frequently, and generally develop the project "in the open".
- Simplicity. I'm a firm believer in the idea that "if debugging is 50% harder than coding, and you code to the maximum of your ability, you don't have the ability to debug what you just wrote". We strive to keep our code obvious. There is a long list of benefits to keeping things simple: less errors, easier to predict how things behave, easier to reuse and adapt code, etc.
- Humility. datajs is not going to be the one and only library you'll ever need. Many other libraries are great at what they do, and web developers should be free to pick what works best for them and not have to sort through a mess of overlapping or conflicting functionality. This principle applies to other aspects of how we run the project and links back to transparency in some ways, but more on that some other day.
- Speed. We should be able to add and change things fast in the project, and iterate to explore and discover - that's one dimension. The library should also be fast - it's those user expectations again!
- Value. At the end of the day, datajs has got to deliver some useful functionality to developers and end users. Thankfully, we're not short on ideas, and the changing landscape won't leave us without opportunities to innovate anytime soon. But tying this back to the 'humility' thing, we don't think we have all the answers, and we're looking forward to working with the datajs community to figure out where we can get the biggest bang for the buck.
As always, if you have any questions or want to discuss anything, feel free to comment on this blog or start a conversation on the http://datajs.codeplex.com/discussions page.