The Livejournal code is fantastic in many ways, but one of its biggest weaknesses is in dealing with user images. Just about every social networking site out there handles user images in a much smarter way. I'd like to close the gap by coding better user image support into CVS. Here is what Im thinking about (much of which comes from social network sites across the web):
1) Users can upload any image file less than 40k no matter what dimensions it is.
2) When the user uploads the photo, lj code resizes it and stores 2 photos, a big and a small version. The small version (75 pixels in width or less) will be used in most areas of the site. The large photo (300 pixels in width or less) will be displayed on the user's profile page.
3) The algorithm used to create the two photos will be as follows:
-> If Photo_size is > 40k
then reject with error
-> else if photo width > 300
then resize photo at 72dpi to 300 pixels wide and the corresponding height
save photo as ..._lg
rezie original photo at 72dpi to 75 pixels wide and the corresponding height
save photo as ..._sm
The above functionality adds alot of benefits to the users, as well as to livejournal code. Principally, users would now have photos on their main profile page that actually are big enough to show a full picture of them self in detail. Secondly, there would tremendous new flexibility in showing graphical friend lists (i.e. a browse list of friends with photos) as well as the ability to show atleast a few friend photos on the user's main profile page. Because there is a stored 75pixel wide small image, bandwidth usage would not be significantly different even with these new added functionalities.
Anyway, id like to get everyone's feedback on this, and find out what any reasons this might not work, would be a bad idea, or even better if someone has already implemented something like this.