Ozzu's 10th Anniversary and the Next Decade

  • Bigwebmaster
  • Site Admin
  • Site Admin
  • User avatar
  • Posts: 9089
  • Loc: Seattle, WA & Phoenix, AZ

Post 3+ Months Ago

Today at 2:38 pm PST Ozzu became 10 years old. It has been an amazing ride so far, and am looking forward to another 10 years. We have been lucky over the years to have all sorts of amazing people contribute and participate at Ozzu. Without them Ozzu would not be where it is today.

Attachments:
ozzu-10-year-anniversary.png

Ozzu celebrates it's 10 year anniversary!



What do we have to look forward to in the coming 10 years?

Ozzu is currently in the process of being completely re-designed from the ground up and will no longer be using phpBB. A few of the major drawbacks with phpBB is that spammers often target websites that run that board, because once they crack the registration they can target thousands of websites in an automated manner. Another major drawback, at least for me with phpBB, is that their release cycle occurs frequently enough that it is hard to maintain all of the additional modifications that we make. With the current Ozzu there are over 80 additional features/modifications added to the software, and it makes it quite a chore to upgrade and stay up to date with phpBB. With our new system since it will be all proprietary, we will no longer be dependent on phpBB or the problems they cause as far as maintaining Ozzu and releasing new features. This will open Ozzu up to being able to have lots of new core features including:

Badges


Badges for hitting certain milestones, or passing certain tests which can include a variety of things. Badges could be awarded for trying new things on Ozzu that you have not done before. Badges could also be awarded for passing tests such as a complete understanding of how Ozzu works, skill tests for a variety of different fields including an understanding of HTML, CSS, JavaScript, PHP, C/C++, Python, Ruby, etc.

Points


Points will be rewarded to members when other members like their topics or replies, or if you receive a reward from answering a topic with a bounty. These points that you receive can be used for placing new bounties on threads to encourage members to answer it. An increase in points will also grant members more privileges and eventually being a full moderator.

Tagging System


Tagging system to completely re-organize Ozzu. Ozzu Members will be able to "follow" certain tags that they are interested to see the posts important to them. This will make it easier for members to post as they won't have to figure out where their topic would best be located. One problem in the past is that certain topics actually do belong in more than one forum category, so it didn't make sense from an organizational standpoint. This should resolve that and simplify the posting process.

New Authentication System


Authentication system which allows you to easily register or login via Facebook, Twitter, Google, or any website that uses OpenID. We will most likely be dropping all captchas as this only discourages members to join our community. The burden should be on Ozzu to find a way to stop spammers, not new members. This should make registering and logging in extremely easy. Here is a sneak peak at what the new dialog currently looks like:

Attachments:
ozzu-login-preview.png

Ozzu's new login dialog



Social Media


Much better integration with social media to help keep our members engaged and participating in our community. Will optionally allow members to also have any topics they post be sent via their social media channels to encourage more replies. Popular topics on Ozzu will also be posted on Ozzu's social media feeds.

Different Types of Topics


Different topic types including: Question/Answer, Discussion, and Article/Tutorial/Blog.

The Question/Answer topic type will allow a member to post a question and the answers will be organized by the ones with the most up votes or an answer marked for solving the question. Remarks can be made on the question or answers via members, and members with enough privileges will be able to edit topics or answers to make them more clear, or to fix typos, grammar, etc.

A Discussion Type topic will be very similar to how Ozzu currently is, with any replies done in a sequential fashion based on when they were posted. The main difference here is that responses can now be threaded so that you won't have to "quote" who you are responding to. Simply reply directly on a post and it will appear threaded right below that. Should make it much easier to follow discussions.

The Article/Tutorial/Blog type will allow a member to create an extensive piece of work that will work very simliar to how blogs are currently done. Below these types of topics comments can be made in a threaded manner like the discussion topic type. To be able to post this type of topic a test will need to be passed, however members who contribute here will be rewarded much more points and some new badges.

Make Money on Ozzu with our Marketplace


Ozzu will have an integrated marketplace where members can offer their own web designs, stock photography, icons/vectors/graphics, code/plugins, stock music/audio. Ozzu would be responsible for accepting the payments, and paying the owner of the product minus our commission. This could encourage members to participate more at Ozzu and get paid for it. The owner will be responsible for providing the product via their means which could include e-mail, or their website. Members that want to offer products on Ozzu will also need to pass a test. Badges will be rewarded to members who make a certain amount of sales milestones and other members who purchase from these members will be able to leave feedback and ratings. A comment system will also be setup so that the owner can interact with the community on their product pages to help answer questions or solve problems. Before any product gets posted, Ozzu or members with enough permissions will have to review the product to make sure its up to our standards and that the content is original and not copied from elsewhere.

E-mail Communications


A new system to make it completely clear what you want us to communicate with you via e-mail. Here is a preview of what this currently looks like:

Attachments:
ozzu-communication-preferences-preview.png

Ozzu's new communication dialog



New Look for Ozzu


Finally our website design on Ozzu will be completely new with many integrated AJAX features to give Ozzu a fresh look. Our new look will be simplified in a manner that makes more sense from a usability standpoint. Things should be easier to find, and clutter will be removed. The login and registration button will be extremely easy to find unlike our current website.

With the new system and the way Ozzu is being developed it should be much easier to continue to add new features or tweak existing ones. I am really looking forward to seeing the new Ozzu, there is still much work to be done however. I mainly wanted to provide a glimpse into my plans for Ozzu in the coming years.

Happy Birthday Ozzu!
  • Anonymous
  • Bot
  • No Avatar
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post 3+ Months Ago

  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • User avatar
  • Posts: 23456
  • Loc: Woodbridge VA

Post 3+ Months Ago

OK I am officially impressed!
  • LAbrego
  • brego from LA
  • Web Master
  • User avatar
  • Posts: 2854

Post 3+ Months Ago

:eek2:
  • LAbrego
  • brego from LA
  • Web Master
  • User avatar
  • Posts: 2854

Post 3+ Months Ago

I would really love to steal that login page from you. can I? can I? I loved the style *lol
  • SB
  • Moderator
  • Genius
  • User avatar
  • Posts: 8742
  • Loc: Aberdeen, Scotland

Post 3+ Months Ago

Looking forward to the future. Even though i've not been here for the full 10 years, it really has been a great place to visit. I am sure what you have planned for the future will make the next 10 years great as well.

Happy Birthday Ozzu!
  • joebert
  • Fart Bubbles
  • Genius
  • User avatar
  • Posts: 13502
  • Loc: Florida

Post 3+ Months Ago

Sounds great! I especially like the sounds of the marketplace.
  • demonmaestro
  • Gold Member
  • Gold Member
  • User avatar
  • Posts: 674
  • Loc: Conroe, Texas

Post 3+ Months Ago

cant wait to see!!! although are we going to have to re register?
  • DomainMagnate
  • Beginner
  • Beginner
  • DomainMagnate
  • Posts: 35

Post 3+ Months Ago

Congrats! 10 years is quite an achievement. Not many webmaster forums can rival that kind of consistency.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • User avatar
  • Posts: 9089
  • Loc: Seattle, WA & Phoenix, AZ

Post 3+ Months Ago

demonmaestro wrote:
although are we going to have to re register?


No, you won't have to re-register. I will make sure all of the data from the current Ozzu is imported into the new system correctly so that user's don't lose anything and will still be able to have their same account.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • User avatar
  • Posts: 9089
  • Loc: Seattle, WA & Phoenix, AZ

Post 3+ Months Ago

LAbrego wrote:
I would really love to steal that login page from you. can I? can I? I loved the style *lol


Glad you like it, that is only a glimpse :)

Can't steal that, but you are more than welcome to borrow ideas from it and use it in your own format that doesn't look identical :)
  • Dorky
  • Novice
  • Novice
  • Dorky
  • Posts: 15

Post 3+ Months Ago

I haven't been on here for quite some time. I got the mail and this sounds awesome. I look forward to the changes and hope there will be subsequent emails informing of the launch dates and/or progress of releases. Thanks for the notice.
  • bleepnik
  • Professor
  • Professor
  • User avatar
  • Posts: 971
  • Loc: South Jersey, US

Post 3+ Months Ago

Congratulations and happy birthday, Ozzu. The plans for the future sound great.
  • Solarian
  • Newbie
  • Newbie
  • Solarian
  • Posts: 5
  • Loc: Rouyn-Noranda, Quebec, Canada

Post 3+ Months Ago

Happy birthday!!!!!

Now you're almost a teen. :)
  • LindBlad
  • Beginner
  • Beginner
  • User avatar
  • Posts: 61

Post 3+ Months Ago

Image

10 years!!! Thats like 50 years in internet time :D
  • grinch2171
  • Moderator
  • Genius
  • User avatar
  • Posts: 6807
  • Loc: Martinsburg, WV

Post 3+ Months Ago

Bigwebmaster wrote:
demonmaestro wrote:
although are we going to have to re register?


No, you won't have to re-register. I will make sure all of the data from the current Ozzu is imported into the new system correctly so that user's don't lose anything and will still be able to have their same account.


What about those of us who would rather login with our Facebook or OpenID account, will we be able to associate those logins with our current one?
  • typhon
  • Guru
  • Guru
  • User avatar
  • Posts: 1294
  • Loc: Memphis, Tn

Post 3+ Months Ago

happy birthday! I missed the official birthday, but i have been a member since 2004 so only 8 yrs for me. I love this place and everything it has helped me learn. Thank you so much
  • jflynn
  • Mastermind
  • Mastermind
  • User avatar
  • Posts: 2305
  • Loc: Baker City, Oregon

Post 3+ Months Ago

I haven't been on in a while but congrats on the milestone.

I'll try to more a part of the site again.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • User avatar
  • Posts: 9089
  • Loc: Seattle, WA & Phoenix, AZ

Post 3+ Months Ago

grinch2171 wrote:
What about those of us who would rather login with our Facebook or OpenID account, will we be able to associate those logins with our current one?


Yes absolutely. You will be able to associate as many as we support. Badges and points may be given in addition to members who associate some of their social media accounts with Ozzu.
  • MOC
  • Proficient
  • Proficient
  • User avatar
  • Posts: 490
  • Loc: Ocean City , Maryland

Post 3+ Months Ago

yea !!
  • Solarian
  • Newbie
  • Newbie
  • Solarian
  • Posts: 5
  • Loc: Rouyn-Noranda, Quebec, Canada

Post 3+ Months Ago

Well I wanted to be polite and not make him feel too old. :D
  • miner
  • Beginner
  • Beginner
  • miner
  • Posts: 64
  • Loc: India

Post 3+ Months Ago

Wow! its been several years i logged into OZZU, got your PM about Ozzu's 10th Anniversary and i am here back!
  • Bogey
  • Genius
  • Genius
  • Bogey
  • Posts: 8388
  • Loc: USA

Post 3+ Months Ago

I'm a little late on the original birthday, but the plans for the future sounds great! Good luck with that BWM...

Congratulations on this accomplishment! It's pretty big when a website survives for a decade. Good luck on the next decade and good job with the past decade.
  • Daemonguy
  • Moderator
  • Web Master
  • User avatar
  • Posts: 2700
  • Loc: Somewhere outside the box in Sarasota, FL.

Post 3+ Months Ago

So THAT's there all of Santa's elves went.
  • StephenTremor
  • Born
  • Born
  • User avatar
  • Posts: 1
  • Loc: Ontario, Canada

Post 3+ Months Ago

Congratulations on the milestone!
  • demonmaestro
  • Gold Member
  • Gold Member
  • User avatar
  • Posts: 674
  • Loc: Conroe, Texas

Post 3+ Months Ago

so when can we see a "Beta"?
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • User avatar
  • Posts: 9089
  • Loc: Seattle, WA & Phoenix, AZ

Post 3+ Months Ago

Will keep you posted when the time comes. Likely the ones who will first have access are moderators and Gold Members. Then eventually Silver members, and Bronze Members. The new system will also be much more elaborate with a bug/issue tracker and an area to make more feature requests to try and get it to a state where its ready to be released.
  • UPSGuy
  • Lurker ಠ_ಠ
  • Web Master
  • User avatar
  • Posts: 2733
  • Loc: Nashville, TN

Post 3+ Months Ago

Better late than never, amirite? Happy belated b.day to Ozzu, congrats Brian, and always happy to see things still moving along whenever I see the old bookmark and click through from time to time. :) We really need to have a "where are they now?" thread since all the old heads have appeared...just a thought. ;)
  • Snerdey
  • Beginner
  • Beginner
  • User avatar
  • Posts: 41
  • Loc: Brooklyn, NY

Post 3+ Months Ago

Happy Belated 10 Brian!!! Indeed impressive to see you're site evolve over these years. Just another old head appearing to say hello :)
  • demonmaestro
  • Gold Member
  • Gold Member
  • User avatar
  • Posts: 674
  • Loc: Conroe, Texas

Post 3+ Months Ago

Any update on this?
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • User avatar
  • Posts: 9089
  • Loc: Seattle, WA & Phoenix, AZ

Post 3+ Months Ago

Things were on hold due to the migrations, but otherwise still coding away. There have been many core items I have been working on that I haven't really been talking about, especially because many of the parts users won't ever see. But just to give you an idea of what I am working on and where I am at, I will give you some areas to look over. For example a few that I have recently completely or still working on:

Asset Optimizations


On the development side I have numerous CSS files, CSS images, JS files, etc. When I push via GIT to the server, a post hook removes all the old cached CSS and JS files and then combines all of the CSS files into a single file, all of the JS files into a single file, and then uses the YUI compressor to minimize and compress these files as much as possible. Much time was also put into the bin packing algorithm which takes all of the static CSS images and places them into a sprite, and then updates all of the CSS files with the appropriate positions on the fly. So with this I never need to do any manual sprite work, its all done automatically. On the development side I just code how it makes sense to me from an organizational standpoint, and when it arrives on the beta or live deployment everything is loaded via the optimized form. This will make it much easier and less error prone to update CSS assets in the future as each time I make a change, the CSS and sprites all update accordingly. Having sprites and optimized CSS and JS files lead to quicker load times for Ozzu which makes a better user experience, but the best part is I never have to deal with any of that directly with all of the work I put into developing this system.

GIT Deployment


Kind of mentioned this in the last one a bit, but much work has been put into the deployment scripts which do everything from checking to make sure the database is working, updating the schema if it changed on the development side, clearing the assets cache and recompiling everything, setting a maintenance flag during the update and automatically removing it once the update is over. If a maintenance flag exists on the site, all users will instead be shown a HTTP/1.1 503 Service Temporarily Unavailable page while GIT works to update the website or while a developer like myself fixes issues. This keeps all unauthorized users out of the site during updates so that they don't see any errors. On the current version of Ozzu that I am posting on right now, no versioning was used, and many of the files were uploaded via regular FTP. That can get quite messy, and confusing not remembering what files were changed on the local side, versus the remote side. Extremely error prone and makes for a slow process. With the new Ozzu everything is transferred from the development machine to the server via GIT, everything is versioned, and the workflow is so much smoother compared to the past. Having the system like this also allows for multiple developers to work together down the road without overwriting each others changes. One of the main reasons for putting so much work into this is again to make development as easy and error free as possible. For instance if I change the database, add new tables, new relations, etc, all of that is tracked in schema files and when GIT pushes the changes to the remote server all of the changes are applied to the database as well, making for a quick and smooth transition. While it is doing the deployment work a screen like this is shown to the user:

Attachments:
ozzu-maintenance-screenshot.jpg

What the user would see during the time GIT updates the live server for instance.



Forms


Creating forms can be a slow process especially since Ozzu will support both regular forms, as well as AJAX forms. For example if a user does not have JavaScript enabled, when they try to login they will get a regular form. However, if JavaScript is enabled they would get the AJAX version of the form. Forms also require all sorts of validation to make sure nothing malicious gets put through, or incorrectly into the database. The part I did here was to make form creation easy and less error prone. For example, when I create the login form for instance this is what the code looks like which automatically sets up both the regular and AJAX forms:

PHP Code: [ Select ]
      // Let's create the login form!
      $form = $this->form->create('login', 'dialog/login');
   
      // Now let's create the fields
      $form ->set_action()
      ->set_tabs(7)
      ->add_fieldset('credentials', '', array('class' => 'lock graphic pad'))
      ->add_text_field('username_or_email', 'Username or E-mail Address', '', 'required|min_length[' . $this->settings->config('min_username_length', 'users') . ']|max_length[' . $this->settings->config('max_username_length', 'users') . ']|xss_clean|callback_user_exist_library[auth]')
      ->add_password_field('password', 'Password', anchor('', 'Forgot your password?'), 'required|xss_clean', '', ($this->settings->config('browser_store_pass', 'users') ? array() : array('class' => 'nostore')) )
      ->close_fieldset()
      ->add_fieldset('remember', FALSE, array('class' => 'checkbox'))
      ->add_checkbox('remember', 'Keep me logged in', '', '1')
      ->close_fieldset()
      ->add_wrapper('submit_block')
      ->add_submit('login', 'Login', array('class' => 'icon key positive'))
      ->add_button('close', 'Close Window', 'button', array('class' => 'negative close'), TRUE)
      ->close_wrapper();
   
      // Time to do the form's dirty work of outputting, validation, etc
      if($form->exec($this, $data, 'login_library[auth]', array($this->input->post('username_or_email', TRUE), $this->input->post('password', TRUE), $this->input->post('remember', TRUE)) )) {
         
         echo "Successfully logged in!";
         
      }
  1.       // Let's create the login form!
  2.       $form = $this->form->create('login', 'dialog/login');
  3.    
  4.       // Now let's create the fields
  5.       $form ->set_action()
  6.       ->set_tabs(7)
  7.       ->add_fieldset('credentials', '', array('class' => 'lock graphic pad'))
  8.       ->add_text_field('username_or_email', 'Username or E-mail Address', '', 'required|min_length[' . $this->settings->config('min_username_length', 'users') . ']|max_length[' . $this->settings->config('max_username_length', 'users') . ']|xss_clean|callback_user_exist_library[auth]')
  9.       ->add_password_field('password', 'Password', anchor('', 'Forgot your password?'), 'required|xss_clean', '', ($this->settings->config('browser_store_pass', 'users') ? array() : array('class' => 'nostore')) )
  10.       ->close_fieldset()
  11.       ->add_fieldset('remember', FALSE, array('class' => 'checkbox'))
  12.       ->add_checkbox('remember', 'Keep me logged in', '', '1')
  13.       ->close_fieldset()
  14.       ->add_wrapper('submit_block')
  15.       ->add_submit('login', 'Login', array('class' => 'icon key positive'))
  16.       ->add_button('close', 'Close Window', 'button', array('class' => 'negative close'), TRUE)
  17.       ->close_wrapper();
  18.    
  19.       // Time to do the form's dirty work of outputting, validation, etc
  20.       if($form->exec($this, $data, 'login_library[auth]', array($this->input->post('username_or_email', TRUE), $this->input->post('password', TRUE), $this->input->post('remember', TRUE)) )) {
  21.          
  22.          echo "Successfully logged in!";
  23.          
  24.       }


This little bit of code does everything from generating the form, to specifying how the data needs to be validated. Makes it easy to generate forms throughout the site for any sort of data I need, in a consistent manner, and automatically does the dirty work of generating the HTML, and both regular and AJAX versions of the form. When the form executes, ie, $form->exec, if it returns FALSE it means something didn't pass the validation as specified above from the form generation.

Advanced Profiler


This one I borrowed ideas from what you can find here:

http://www.particletree.com/features/php-quick-profiler/

But my version is quite a bit different, and has different features. Here is a screenshot of what mine looks like:

Attachments:
ozzu-profiler.jpg

The Ozzu Profiler / Debugger. This screenshot shows how it breaks down a query and what parts are slow about the query. Good for figuring out where problems reside.



For users who have permissions, mainly developers, there is a little bug in the right hand corner of the browser that when clicked on brings up this screen. This screen shows items from how long queries took, how long the page took to load, show what parts took how long on the page generation, shows error logs, vars and config, what files were loaded to generate the page, memory used, and a console that can pass variables or data from code on the backend.

Users


Currently my focus is on users, from authentication (regular, FB, Twitter, OpenID, etc), to many other aspects including permissions, logging, activities, badges, quizzes, reputation, and so forth. Things can get complicated quite quickly so a great deal of time will still need to be put into this. I am thinking within the next few weeks the authentication aspect should be finalized, which is one of the requirements before I can open up an beta version for some users to see.

Threads/Posts/Questions


Have started minimal work here, but have designed the schema for the most part. This is much more involved than the current Ozzu as this one keeps track of all revisions of a post. For example, lets say I was to modify this post tomorrow. While it would change, there would be a way to access the revision history of this post, all of which shows diffs between each of the changes so that you can see visually what was changed.

Tags


Started minimal amount of work here as well, mainly designed the schema. The tags also keeps track of revisions and allows many people (if they have obtained the correct permissions) to help modify these tags. For example one user might create a tag, while another user might update the description on the tag that explains what the tag refers to. If someone makes a bad change, or a change users don't agree on, it can always be reverted to an earlier state by accessing the revisions.

Final Thoughts/Words



This is basically where I am at. While it didn't take me too long to write up this post, there are tons of details that go into each part so its very time consuming to create. I am sure I forgot or left out many of the details. However, all of the time put into this should make for an awesome system down the road making future development easier and easier, and having a system which encourages users who are trusted to help out.

Here is a quick snapshot zoomed out of Ozzu's schema, I am sure this will continue to grow over time as more feature are added:

Attachments:
20130625-ozzu-schema.jpg

A quick glance of the size of Ozzu's schema.

  • Anonymous
  • Bot
  • No Avatar
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post 3+ Months Ago

Post Information

  • Total Posts in this topic: 45 posts
  • Users browsing this forum: No registered users and 5 guests
  • You cannot post new topics in this forum
  • You cannot reply to topics in this forum
  • You cannot edit your posts in this forum
  • You cannot delete your posts in this forum
  • You cannot post attachments in this forum
 
 

© 1998-2014. Ozzu® is a registered trademark of Unmelted, LLC.