chopstickles blog


A little history…

Posted in Social-Network by chopstickles on the April 25th, 2008

This project intially started from general interest as well as to improve my skills in PHP, MySQL, Application Design as well as using Unix, and Apache from developing websites but during it’s development has created many difficult and confusing situations. As i’ve figured out how to fix those problems they’ve unleashed more resulting in numerous rewrites of the source code. I was always sure to separate logic from presentation in every area possible except the occasional condition or loop in the source code.

Here is a little timeline on the rewrites of the site and problems which made it necessary.

Late 2006 - Version 0 (first alpha)

The site was entirely coded in procedural code and it very quickly became hard to manage and keep track of where all the needed functions were for different aspects of the code. Back then I also used a template parser and only in the last version did I opt out of using such a tool and instead just turned back to using php as it’s own template parser. Another issue with that was the useability of code being that nothing was reused at all causing extensive bloating of the overall code.

This was soon scrapped for version 1 (alpha), stated below.

Early 2007 - Version 1 (first alpha)

Two or so months later the start I decided to attempt a basic Object Orientated Approach which worked well but was coded in PHP 4 rather than PHP 5. For at least three months this version was further developed and after a month the site was back to it’s former glory. Of course though as it was one of first serious attempts at building a site in an object orientated style. I wasn’t to sure on using pointers/references so objects were continuously iniated as they were needed rather than reusing the already iniated objects. This took it’s toll on the site and it started loading slow on some areas which is quite pathetic thinking that there were only 4 active testing accounts on the site and no more than 20 posted comments.

The way I did it was by enclosing all the different sections in of the site into their own classes and initated them as needed. This was extremely buggy at times as was extremely resource intensive. Infact the site was probably more so coded in procedural code rather than object orientated code.

For a month or so after stopping the development in that way I just read numerous articles on object orientated programming styles such as the Factory pattern, Singleton pattern and of course my favourite the Model View Controller pattern (MVC). It was not until version 3 that something like MVC was actually used, instead version 2 used a slightly different pattern which I can’t precisely put a name to because alot of it was done how I thought was good.

I guess not. :)

Mid 2007 - Version 2 (first alpha)

As mentioned above I started using my own little pattern. Just like all the other ways I coded the site it did work well and but I only stuck with it for a short period of time. When it was being worked on no way near as many problems were encountered as in the previous coding styles. This version as well as the last still using a template parser and although only lightweight it still significantly increased the resources that the site used on every request.

This version mainly turned out to be for testing for how I can do the future version and it ended up helping alot in various aspects of object orientated programming. Not only did it improve how I viewed the code but also how I reused various aspects of the code and only created one instance of each object not numerous like the previous version. No more than 6 weeks after I started working on this version was it halted and the next version started.

Late 2007 - Version 3 (first alpha)

The final version that i’ve created and hopefully the last for the framework. This version works like the mvc in some ways in that there is a single entry point and a controller, model and a shared view (as well as tempaltes). The templates are parsed in php rather than in the template parser I used before and that in turn halved the amoutn of memory used to process one page.

The basic way the site works is that the users request is made, the entry point determines what was requested and selects the specified controller and model. Within the controller the specific action is located and processed as well as retrieving the required data from the database and other sources. It is further altered in the controller then passed onto the view object then outputted to the user. Doing it this way has also allowed some sections of the site to very quickly be build as alot of the needed functions and libraries has been created to cater for this and could easily just be reused. Not gonna say to much more because that’d ruin the secret to how it completely works. :)

There are still various places where alot of improvement can be made and that is done as I find or get the chance to fix the issues slowing down the site.

As you can see there have been various speed humps in my development of the site and in the future i’m sure many more will arise but I guess you could say that is all part of the learning curve.

Some random screenshots :)

Posted in Social-Network by chopstickles on the April 25th, 2008

Just some random screenshots from some areas of the site. Click on the images for the full size view. Warning, large files!

Profile Area

login area

Profile Comments Area

login area

Login Area

login area

User Control Panel Area (edit favourites)

login area

More to come. :)

Current News Pt. 1

Posted in Social-Network by chopstickles on the April 24th, 2008

Recently not much work has been done because of University work taking it’s toll. Once i’ve caught up with all the work and hopefully get ahead and can get back to working on this for decent amounts of time.

At current there are many new updates to note yet so they’ll instead be coming within the next few days. Some noteable things include further improvements to the new design and further integration of it on the site. There are also a few little test pages going for sections such as the networks and user browser although no such links are provided to those areas yet.

Stay tuned as updates should be listed by the end of the week.

Current Lines of Code: 20,000+ (approx)
Current Version: 3.0.7a (Alpha)

[Update] - 0.0.6a (fixes and improvements)

Posted in Social-Network by chopstickles on the February 4th, 2008

Minor update so here is a list of changes since the most recent update.

Kudos to tremolo for all your recent help! Razz

  • Bug Fixes
    - Fixed randomizing when viewing all friends
    - Fixed PHP Magic Quotes problems
    - Fixed broken links in the Account area
    - Fixed broken links in the Profile Area
    - Fixed add comment text on Profile
    - Fixed Video Box not appearing
    - Fixed name display, full name or nickname
    - Fixed adding comment restrictions (approval system pending)
    - Fixed Edit About/Quick Info/Permissions/Avatar
    - Fixed Font size glitches in IE
    - Fixed Public/Private profiles
    - Fixed (basic things) Applications section, needs a alot more fixes
    - Fixed form glitches and problems submitting
    - Fixed last guest visitor being shown
    - Fixed Public/Private profiles
    - Fixed Video Comments assuming profile owner, rather than visitor
    - Fixed Video Box not appearing on profile
    - Fixed typos in the Profile Area
  • Optimizations
    - Optimization to Account Area
    - Optimization to User Control Panel
  • Improvements (speed & access etc)
    - Improved permissions system and cleared some bugs associated
    - Improved some CSS
    - Improved Template Mode (complete Profile, Account and UCP)
  • New Features and Additions
    - Added total time online
    - Added online status for profiles
    - Added basic Email address search
    - Added last profile visitor
    - Added friend status near name (”Strangers/Friends etc”)
    - Added Edit Applications
    - Added success messages to top of page rather than new page
    - Added Permissions display box (debugging values)
    - Added Favourite Books section
  • Pending (next milestone)
    - New Search (names and ages)
    - Variable Profile Types
    - Profile Scraping Tool
    - Application System Completion (Blog and Gallery as initials)

Nothing much else to mention in this post other than:

Current Lines of Code: 17,377 (approx)
Current Version: 3.0.6a (Alpha)

Current Status - 14th January

Posted in Miscellaneous, Social-Network by chopstickles on the January 14th, 2008

After a month of taking it easy and doing minimal work on the site i’ve decided that it’s time to start working on it more again. But at the same time there are other projects which have to be started too such as some which will help to earn some money online.

There are a few reasons why I want to start earning more money online such as for extra money for myself and for the initial investment for Project-SN’s launch in the near future. I’d like to be able to earn enough to have the site be launched on a VPS or Dedicated Server rather than on a shared one (like it currently is). This is mainly to reduce the bad reputation which can quickly come upon the site if it starts running slow or goes down in it’s early stages of public life.

Another reason is also to help pay for the hosting costs as I know that Project-SN most likely won’t make money for a while and i’d like to keep sponsorship on it to a minimum, hence other means to pay for the sites expenses.

Back to the site though, currently improvements are been made to the security as well as the enabling of notifications. They seem to be a little buggy at the moment but I am working on it and it should be working properly very shortly. I’ll also be updating the Alpha version which is available to the public after I complete these updates.

Stay tuned…

Almost Alpha

Posted in Social-Network by chopstickles on the December 23rd, 2007

It’s again been a while since my last update and it may still be another week before an in depth update is posted. At the moment within the next week or two i’ll be allowing people to test a partially public alpha version of Project-SN. This version of course is may have several bugs in it as well as in correct functioning in Internet Explorer (any version).

The new Account section of the site which was mentioned a few posts back has fully been implemented as with the updates to the User Control Panel section. Numerous bugs are still being fixed at the moment such as galleries and image uploads. They are of course protected from malicious scripts being uploaded and executed on the site.

Some notable fixes include:

  • Fixed public and private profile access (top friends still being fixed)
  • Fixed online status and added total time online of the user
  • Improvements to the Applications section (only 1 publicly available application at the moment)
  • Fixed edit success and failure messages
  • Added Mutual Friends to friends profiles

Many more site sections have also been modified to use PHP as the template parser rather than a template engine which just adds extra unnecessary overhead to the application.

Some important things that need fixing:

  • Delete Video Comments (no edit mode will be available yet)
  • Gallery Uploads/Editing etc so it can become a public application
  • Accept/Decline/Modify friend requests and friends respectively
  • Member Search (needs some work still)
  • Final updates to the User Control Panel (minor fixes)

A new feature which will help entice MySpace members to migrate or create accounts on Project-SN is also being researched at the moment too. This should allow for easier profile creation and save the user having to copy or retype all their profile information onto Project-SN. As this tool is early in development it may be a month of 2 before it appears on the site in a publicly accessible area.

Current Lines of Code: 17,250 (approx)
Current Version: 3.0.5a (Alpha)

Project-SN and Advertising?

Posted in Social-Network by chopstickles on the December 23rd, 2007

Just an answer for anyone who would be curious about such a thing.

Will Project-SN spam ads everywhere and have pop ups and pop unders on every page of the site?

Most likely not.

The answer being that is because we will eventually have ads on some pages to help support the sites running costs. Please note that we will not at any time have pop ups and or pop unders. Advertisements like that are sure to deter the users from using our site over all the other social networks all over the internet. We want to keep the site as appealing and user friendly as we can to all users on the site, to keep them all returning.

Another sort of advertisement that Project-SN will never do is have the user redirected to an ad page prior to being redirected to their destination. If you are unsure what is being referred to here then think of where MySpace used to redirect users to another page prior to be redirected to the Profile Control Panel after logging in to the site.

So how will Project-SN support itself then? 

We aim to support ourselves through simple text ads on various pages on our site. We are aware that some users block these sort of ads so we have worked on alternate methods to show ads to visitors of our site. On other sections such as your Account and the User Control Panel there won’t be any ads for products or services rather only ads for artist and band promotions.

We will however also provide a premium user service to help cover the costs with this allowing the user to have access to extra tools on the site as well as being able to view high quality images and extra hidden bonuses. The price of being a premium user is still being looked into as we are unable to determine it due to the small bonus feature list attached to it.

More to come on this subject as we work it all out.

Bebo Applications

Posted in Miscellaneous by chopstickles on the December 13th, 2007

It appears that Bebo.com has just added it’s own Applications platform for third parties to develop applications for their site (alike to Facebook). There were also several applications which have been accompanied with it’s launch aswell. Apparently the same standards as Facebook were used for their developer platform allowing developers to add their applications onto either site.

After a little bit of testing and adding an application to my profile I have to say it works very well and is as easy to use as on Facebook. A good feature implemented with it all is the applications limit, only 8 per profile which should help alot with page loading times, unlike Facebook where there seems to be no limit and pages can take a while to load on broadband.

For something more in depth about it be sure to visit Mashable’s post about it.

Bebo Applications: http://bebo.com/c/apps/browse_apps

Social Network - Development Pt. 11

Posted in Social-Network by chopstickles on the November 28th, 2007

Not many updates to post at current but there were a few fixes done as well as further removal of the Template Parser. The Account section of the site is almost full functional with all pages working and just a few glitches to fix. Due to that section being added various parts of the User Control Panel (UCP) will need to be removed. The parts removed will still work and update the same information until their removal.

I’ve also added the Edit Comment (profile) functionality (suprised I missed it) and it works like a charm.

Various sections of the site have had a facelift which is only completely working in FireFox as I haven’t really tested it in Internet Explorer or other browsers. You’ll be able to tell if the page your viewing has had the facelift by the large bright blue “Project-SN” heading which appears.

Anyone who is interested in testing under circumstances is allowed to. Just email or ask me (somehow) and i’ll provide you with details on how you can help test it and find bugs associated within the site.

Lastly, some screenshots to have a look at (click on them for a better quality image). Details on version and total code lines are at the bottom of the post.

Project SN - Homepage

Project-SN Homepage

Project SN - Login Page

Project-SN Login

Current Lines of Code: 14,048
Current Version: 3.0.4a (Alpha)

Project-SN Bug Tracker

Posted in Miscellaneous, Social-Network by chopstickles on the November 28th, 2007

The Project-SN Bug Tracker is now up and running and should help alot with finding and fixing issues which appear in the alpha versions of the site. It is open to anyone who would like to post about the bugs and issues they come across. At the moment I have disabled registration so if you would like an account post here or use the contact form on the blog (with your username and email address) and i’ll create an account for you.

The Bug Tracker can be found here:

http://www.chopstickles.com/bugs

That is all for this post! An update will be in the next post.

« Previous PageNext Page »