Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Social Network Template
Index -> Programming, PHP -> PHP Submissions
View previous topic Printable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
DanShadow




PostPosted: Sun Jul 10, 2011 7:30 pm   Post subject: Social Network Template

First of all, I am somewhat saddened with the lack of PHP posts... great, versatile web-programming language every programmer should know.

Secondly, I was wondering if anybody was bored and has some free time if they would like to check out my latest project.

I am developing a social network (which at the moment has basic SN functionality), and would like some feedback.

So yeah, if you have a few mins to throw away, and feel like reviewing/hack-attempt/marvelling i'd appreciate it Wink

http://dsppc.atwebpages.com/

The code is primarily PHP, with bits of Javascript where needed, and a little CSS for styling/display.
Data storage is a MySQL database.

Thanks!
Sponsor
Sponsor
Sponsor
sponsor
Insectoid




PostPosted: Sun Jul 10, 2011 8:52 pm   Post subject: RE:Social Network Template

The first thing I noticed is the use of Facebook terminology. As far as I know, Facebook was the first social network to use 'friends' instead of contacts. Calling the feed a 'wall' is also taken straight from Facebook. It's a feed by definition; call it a feed.

The second thing is the lack of innovation. Why should I use Project Circle instead of Facebook, myspace, or Google+? What makes it stand out? Do you have ideas that just haven't been implemented yet?

I'm also able to post on the feeds of people who are not in my contact list. This should not be allowed.

Now, I dunno if you plan to change the name, but 'Project Circle' is pretty awful. Anything with 'Project' in it sounds unfinished (though of course Project Circle is indeed unfinished).

Also, it's really, really ugly atm. It looks like a website from the 90's. It's 2011; aesthetic design isn't optional.

And finally, is this project just for learning and/or fun, or do you intend to release it as an actual competitor to existing social networks? That niche is pretty saturated (three major networks is saturation- I even expect Google+ to struggle and I'm not betting on its success).

Just my two cents.
Zren




PostPosted: Sun Jul 10, 2011 9:57 pm   Post subject: RE:Social Network Template

Sessions are single threaded. You can't request to view more than one person at a time. At least when the server is lagging as you don't keep any $_GET data. Might be bollocks. Nope, not bollocks. Refreshing an old page = current profile.

I can post on Null accounts v=anything: http://dsppc.atwebpages.com/profile.php?v=0

Get time and GMT sorted out. I did not just leave a note in the future.

No delete button.
Tony




PostPosted: Mon Jul 11, 2011 12:25 am   Post subject: Re: RE:Social Network Template

The most important question here is -- why?. There are some legitimate reasons to try for this kind of a project, and very many bad reasons. It'd hard to give feedback without knowing the direction.

Insectoid @ Sun Jul 10, 2011 8:52 pm wrote:

The second thing is the lack of innovation. Why should I use Project Circle instead of Facebook, myspace, or Google+? What makes it stand out? Do you have ideas that just haven't been implemented yet?

No. Features don't matter. We (early adapters) are not switching from Facebook to Google+ because of any particular feature-set. It's about the brand (yay Google, or nay Facebook), it's about the mentality (Google promisses to better address user privacy), but for most people it will ultimately be about the critical mass of their peers. Right now I have more contacts on Google+ than I do on Facebook, but all of them are in CS/SE.

Anything remotely social is mostly about the existing userbase and the community that they create. Technology can facilitate some parts of that, but ultimately you guys are hanging out here on compsci.ca because of the users, community, and the content that we provide for ourselves, not because of our awesome feature of suggesting new Turing Help posts to use a template for asking questions Laughing
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
Insectoid




PostPosted: Mon Jul 11, 2011 2:11 am   Post subject: RE:Social Network Template

I disagree with you there Tony- Google+'s initial success does indeed depend on the brand name (which will really only attract techies), however long-term success I think will be cornered on features. Enhanced privacy control (including circles), integration into other google services (I responded to a google+ notification from gmail) and any innovation google introduces.

Facebook's success stemmed, I think, from its initial target audience- students at harvard followed by a slow expansion into more schools, then a national release, and it just grew from there. I think the verbalization of 'facebook' might have helped.

People aren't going to 'just switch' to google+ without a reason. Why switch when everyone on google+ is already on facebook? I posted on facebook, inviting friends to send me their emails for invites. Out of 116 friends, 3 responded, all of which are techies. There isn't really any interest outside of that (though google hasn't really started marketing yet).

Yes, google+ needs to achieve that critical mass for it to go anywhere, yet I wonder if it's possible for it to reach that, given the current audience. We'll see when it exits beta Razz

Look at World of Warcraft- it really isn't that great of a game (I used to play it religiously but realized that it wasn't all that fun), and yet none of the better MMOs have been able to put much of a dent in the playerbase. They've been developing their characters for years, just as people have been building their Facebook profiles for years. Why throw it all away for something that does essentially the same thing?

This entire post has been pretty off-topic (don't wanna turn this into a google+ thread...) but I think it highlights the key struggle that any new social network (or any community-based service that tries to compete with an existing one) will face.

About my involvement here- initially it was all about the Turing support. I asked questions, and got good answers. Then I gave answers to others. No other website offers Turing tutorials and help. The friendly atmosphere is what kept me here, but the features are what brought me here.
DanShadow




PostPosted: Mon Jul 11, 2011 8:12 am   Post subject: Re: Social Network Template

@Insectoid

Yes this template does use Facebook terminology, but on release specific terminology like this can be modified from a back-end admin section. I agree it would be better to define them using basic template names such as "contact" & "feed".
Project Circle is the project name, not the name of the application (which I stress at the moment - is all it is).
I have numerous features planned, but am balancing 2 jobs and that project atm so development is slow.
The ability to access anybody's feed without having them on your contacts is currently intentional, and planned to be removed once I implement a "Search" feature, but I want to develop one/two more features before I do.
I haven't really put any "effort" into design, it is just to make the application look slightly better.
Although I had previous plans on developing a social network as a potential competitor when I developed the 1st version last year (I had figured out [potentially risky] ways to improve on the current social network connection/privacy paradigm) I decided when I ended that project that the possibility of it being remotely successful was too minimal for me to invest my time into it.
This version (2) is designed as a template for potential future sale to a client interested in releasing a social network into a niche network with no programming experience. (Kind of like a turn-key social network with a full set of Administrative abilities provided in a web login).

@Zren

By design it is set so you can only view your own Profile/Info/Photos, or that of 1 other.
When viewing another program that user's (encrypted) user identifier is stored as a session variable, so you should still be able to access their pages as long as you don't click "Home".
Thank you for informing me of the profile error, I'll have to sort out my viewing logic.
Yeah the server time isn't set to Eastern Standard, do you have any suggestions on how to change the server time? The best solution I was able to find was to manually modify the datetime using a PHP function at the start of every page.
The delete button is on a list of planned updates.

@Tony

Tony wrote:

but for most people it will ultimately be about the critical mass of their peers.

I definitely agree with that fact! A social network is important because it gives the illusion of being social with the people you know, and people want to be kept up-to-date on the social happenings of the people around them. If there is a social network with nobody you know, why would you want to come back?


______

Insectoid wrote:

They've been developing their characters for years, just as people have been building their Facebook profiles for years. Why throw it all away for something that does essentially the same thing?

They did in the case of MySpace Razz
I think what's important is the major differences offered by each social network.
Myspace was music/videos
Facebook was features/apps
Google+ (which I havent checked out much) has circles/explicit connections
In the end it all seems to be niche markets that have expanded well beyond their niches.

Insectoid wrote:

This entire post has been pretty off-topic

I find all this information to be equally valuable.

Just to overview, this Project "Circle" is being developed as a Social Network Template, in which the little details can/will be modified. It is designed to have the functionality of a basic social network, but will be expanded to include a number of features that are on current social networks (like photo tagging, AJAX chatting, connections based on locations, etc.)
The reason I started development was originally because I wanted to release a competitor that took a couple niche social networks, combined them and offered specific features that haven't been added to other social networks (likey for a reason, which may have been risk of lack of user adoption).
Now (I have been actively seeking computer programming jobs) I have seen several people requesting the development of Social Networks, and willing to pay thousands of dollars for one that has basic functionality & features. So I have been compiling a list of requested features from these types of buyers over the course of development, and hope to have an end product which I could potentially sell.

The reason I asked for a "review" (essentially) was to see in the eyes of fellow programmers how my development is coming so far (as objective view is more valuable then personal).
The last time I posted a project like this I also learned a great deal about web security, and was hoping to find out if I had any holes (which for now it seems I dont).

Thanks for your input guys, I appreciate it!
If anybody has anything else to say on the topic i'd love to hear it.
DanShadow




PostPosted: Mon Jul 11, 2011 12:23 pm   Post subject: RE:Social Network Template

Thanks for pointing out the exploit where you can manually enter..
profile.php?v=USER-ID

Turns out I set it to redirect if it couldnt find the users id, but forgot to unset the session variable containing that user id >.>
z_cross_fire




PostPosted: Tue Jul 12, 2011 5:33 am   Post subject: RE:Social Network Template

I tried simple injection techniques and it didn't work! >.>
Sponsor
Sponsor
Sponsor
sponsor
unoho




PostPosted: Tue Jul 12, 2011 9:34 am   Post subject: RE:Social Network Template

i dunno if this is mentioned before but there seems to be like no email validation. i typed out random letters for email and still worked. this way ppl will spam the shit out of ur site. maybe u shud do some sort of authentication or send an email to the person's email with a link and whn they click on it, the account activates.
DemonWasp




PostPosted: Tue Jul 12, 2011 9:36 am   Post subject: RE:Social Network Template

It looks like you're doing SQL injection prevention by deleting dirty SQL words. This is bad, not because it doesn't work but because now I can't post an "update", nor can I "delete" some files. I guess I also can't "drop" classes, nor can I "truncate" my print job.

Your system should be able to accept and store arbitrary input, in any language (English, SQL, Japanese, ...) and store it without problems. Look into parameterized queries, and UTF-8 for everything.
Tony




PostPosted: Tue Jul 12, 2011 9:53 am   Post subject: Re: RE:Social Network Template

DemonWasp @ Tue Jul 12, 2011 9:36 am wrote:
This is bad, not because it doesn't work but because now I can't post an "update", nor can I "delete" some files.

Also, it doesn't work.

deldeleteete
Latest from compsci.ca/blog: Tony's programming blog. DWITE - a programming contest.
2goto1




PostPosted: Tue Jul 12, 2011 10:17 am   Post subject: RE:Social Network Template

If you store all dates / times in one consistent timezone, say UTC, it will make date / time handling much easier. You can default user accounts to ET, or even better, use an IP addy to location service to estimate new user's locations and set their user profile timezone appropriately based on that.

Avoid word filtering, it just doesn't work. There are too many scenarios and exceptions where it will break. As you've also indicated, you'd like to make a social network off the shelf package (say ASP or OTS package). If you really wanted to support word filtering, make it an option per social network that customers can either enable or disable.
Display posts from previous:   
   Index -> Programming, PHP -> PHP Submissions
View previous topic Tell A FriendPrintable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 12 Posts ]
Jump to:   


Style:  
Search: