Volkan Özçelik
About Me
Hi, I’m Volkan Özçelik: Jack of all Trades, Samurai of JavaScript
.
Since 2003, I’ve been doing front-end development on client-heavy AJAX web applications.
My objective is to collaborate with geniuses who can rule the world by disrupting the status quo. That might be a reason why I’ve worked in four startups in the last eight years!
I love being a part of a rapidly-changing, dynamic and risky environments; where everyone takes on new responsibilities every day; and by that token everyone is a decision-maker. In such an environment, I know that every single contribution I make will have a big impact on the end result – and that’s the most fun of it.
Sure, I can process a form on the server, reload the page and spit out a table in the glimpse of an eye, but where’s the fun in that?!
The stuff I love to architect is a responsive and intuitive front-end, driven by amazingly well-organized JavaScript code.
I’ve experimented with several frameworks, written a handful myself, and fiddled with database queries, ASP.net, C#, PHP, and some Ruby, but I keep coming back to the front-end
.
I dream of the death of Internet Explorer, and shudder at the horror of thousands of people still using the crazy thing, but I tenaciously work around it’s quirks and gently align it with it’s more modern peers.
You can see more of me at my LinkedIn Profile.
My Timeline at a Glance
Currently I’m a Mobile Front-End Engineer at Jive. And Jive rocks!
Before that I was a JavaScript Hacker at SocialWire.
Before that, I was the VP of Technology at GROU.PS, a well-known do-it-yourself social networking platform that allows people to come together and form interactive communities around a shared interest or affiliation.
Before that, I was a JavaScript Engineer at LiveGO (gone to deadpool, R.I.P.), a social mash-up.
Before that, I was the CTO of Turkey’s largest business network at its time (cember.net — R.I.P),
which was acquired by Xing AG for around 4.2M Euros.
I also have a less active non-technical blog that I update from time to time.
Other Places to Find Me
Some other places to find me:
- See my linkedin profile to find more about me;
- See my cards on geeklist to see me bragging about what I have done so far;
- I also share worth-following bits an pieces on twitter.
About o2.js
Front-end development and performance optimization has always been my passion. With o2.js, I aim to reflect this passion.
I have three main goals for o2.js:
- o2.js will be fast,
- o2.js will be flexible,
- o2.js will be reliable.
In the land of heavy JavaScript libraries, o2.js will be like fresh oxygen
.
Fork o2.js on github
o2.js is in still in its growth phase with a pretty stable code base.
If you want to support and collaborate, you can fork o2.js at github.
Yet Another JavaScript Framework?! Seriously?
Well, o2.js is not and end-result. It is a “by-product”. Let me explain:
Up till now, I’ve used various JavaScript techniques, analyzed and used almost all of the popular JavaScript frameworks, and have built a dozen of JavaScript libraries, from the ground up, myself.
In that regard, my aim is not to develop yet another JavaScript framework. My goal is to blog about peculiarities, intricacies, best-practices, patterns, use-cases, implementations of re-usable, cross-platform, optimized JavaScript code at o2js.com.
While I dive deep into the realm of JavaScript, I try to seek out library-independent solutions, sharing my experiences along the way.
While blogging here, I realized that the code snippets that I use to supplement my posts were evolving into a solid and re-usable JavaScript framework.
Hope you like the outcome
.
Supported Platforms & User Agents
o2.js is being designed to run pretty smoothly in almost any device/user agent. o2.js utilizes modern features whenever possible, while gracefully degrading to slower alternatives for the less capable browsers. For instance, o2.js DomHelper selectors will try to use DOM Level 2 native querySelector method if available, and will fall back to a good-old for loop otherwise.
o2.js is constantly being developed keeping backwards compatibility in mind. Before each major release, o2.js will be unit-tested in at least the following browsers/platforms:
- IE6/Windows IE7/Windows IE8/Windows IE9/Windows
- Firefox/Linux (the Most Recent Stable Version)
- Opera/Linux (the Most Recent Stable Version)
- Google Chrome/Linux (the Most Recent Stable Version)
- Firefox/Windows (the Most Recent Stable Version)
- Opera/Windows (the Most Recent Stable Version)
- Google Chrome/Windows (the Most Recent Stable Version)
- Safari/Windows (the Most Recent Stable Version)

[...] [...]
Hello Volkan,
I have google through the net to find a hint or advice how to work on this problem I`m having right now and I found this article written by you:
http://o2js.com/2011/05/01/how-to-document-a-javascript-framework/
I think it best describe my current problem which looks like this:
We are using a Standard Product in the company which is a mix of AJAX/JavaScript/C#/SQL Programming.
The product does not have a documentation of the JavaScript Code, but some of the sources are available. Also some structure of the framework is available, but we reach in the project a complexity level where we need to call or use some functions.
PROBLEM: There is no documentation.
Can I based on the current source (.js files)create a documentation, which could help me understand an use the already developed functions?
Thanks for any advice.
Carlos
Hi Carlos,
You cannot directly create documentation from source code.
You need to have javadoc-like comments.
Take o2.js documentation, for instance;
it is created from an extensively commented source code.
Nonetheless I strongly suggest you to create a documentation for your project:
HTH.