the present invention is best understood by reference to the detailed figures and description set forth herein . herein , unless otherwise stated , the words “ photos ” and “ files ” are used interchangeably to mean a digital file representation of photographs . embodiments of the invention are discussed below with reference to the figures . however , those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments . for example , it should be appreciated that those skilled in the art will , in light of the teachings of the present invention , recognized a multiplicity of alternate and suitable approaches , depending upon the needs of the particular application , to implement the functionality of any given detail described herein , beyond the particular implementation choices in the following embodiments described and shown . that is , there are numerous modifications and variations of the invention that are too numerous to be listed but that all fit within the scope of the invention . also , singular words should be read as plural and vice versa and masculine as feminine and vice versa , where appropriate , and alternatives embodiments do not necessarily imply that the two are mutually exclusive . the present invention will now be described in detail with reference to embodiments thereof as illustrated in the accompanying drawings . there are situations in which one would like to create a photo album to which other people can upload photos , instead of sharing photos with one - way sharing . these situations typically involve people who share common experiences or common interests . therefore , embodiments of the present invention provide a photo - hosting site able to host , for a single user , different photo albums , which are shared with and accessible by different groups of designated contacts . these contacts are able to add photos to the albums that these contacts share . to add versatility , the ability to add photos can be controlled in the preferred embodiment . there may be situations in which certain contacts who share an album are allowed to add photos while others sharing the same album are not allowed to add photos . for example , without limitation , if a person recently attended a class reunion function and wishes to start and share a photo album for the function , he may want to share the album with all of the members of the class . the creator of the album may also want all who attended the function to be able to add photos to the album , while those who did not attend the function to be able to view the album only . the preferred embodiment of the present invention provides a photo - sharing site that enables users to assign different levels of sharing to contacts with whom photo albums are shared , and these users can assign levels of sharing with any number of contacts sharing the albums . the method of photo sharing used by the preferred embodiment is album based . albums are created that can contain any number of photos . photos can be added or deleted at any time by the user creating the album . the user creating the album can share the album with any number of contacts , and for each contact , the user creating the album can assign levels of sharing . three exemplary levels of sharing according to an embodiment of the present invention are viewer , contributor , and manager . the viewer level gives the user the ability to view the album only . the contributor level gives the user the ability to view the album and to add photos to the album . the manager level enables the user to be a manager of the album . besides having the ability to view and add photos to the album , a manager can invite other contacts to share the album . a manager can also assign one of the three levels of sharing to each of the contacts the manager invites to share , including , but not limited to , authorizing other contacts to be a manager . in the present embodiment , the highest level of control is maintained by the creator of the album , who can delete the entire album , change the level of sharing of sharing contacts or remove them from the sharing list at any time . some embodiments may also enable the user creating the album to create groups of contacts according to the level of sharing of the group . various alternate embodiments of the present invention may include more levels of sharing , fewer levels of sharing , or different levels of sharing , such as , but not limited to , an album manager who may view and manage the album but may not add contacts or assign levels of sharing to the contacts . other possible levels of sharing that may be allowed include the ability to take specific actions , e . g . add comments and / or tags , download photos at full resolution and editing photos , may be designated as levels of sharing . furthermore , the names used for these exemplary levels of sharing , viewer , contributor , and manager , may be different in alternate embodiments . for example , without limitation , in some embodiments , a level of sharing equivalent to the manager level may be referred to as an editor level . the preferred embodiment of the present invention provides a higher level of flexibility of sharing in that contacts may be enabled to view photos , add photos , and even manage the album . furthermore , the creator of the album is able to decide which contacts are assigned to each level of sharing . thus , referring to a class reunion function as a non - limiting example , if the class president desires to create a photo album of the function and share it with members of the class , he first logs onto a photo - sharing site and creates a photo album . the class president may then add photos to the album . the class president then creates a contact list , comprising members of the class for which he has contact information , such as , but not limited to , email addresses , or if the class president has a contacts list , select from the list those who are members of his class . the class president may not have the contact information on all members of the class . he therefore , may designate several contacts on the class member contact list as managers of the album to help with contacting members of the class for which he does not have contact information . for the remaining contacts on his list , those who did not attend the function may be designated as viewers so that they may view the photos . those who attended the function may be designated as contributors so that they may be able to add photos of their own if they wish . fig1 a through 1e illustrate the flow of an exemplary photo - sharing site , in accordance with an embodiment of the present invention . fig1 a shows an exemplary home page 101 . fig1 b shows an exemplary album viewer page 125 . fig1 c shows an exemplary photo viewer page 135 . fig1 d shows an exemplary album manager page 151 , and fig1 e illustrates an exemplary create new album page 181 . the pages of the photo - sharing site shown in fig1 a through 1b are exemplary representations , and those skilled in the art , in light of the present teachings , will recognize that the layout of these pages may very greatly in various embodiments . a user of an internet site constructed optimally to host an album sharing function in accordance with the present embodiment of the present invention is directed to home page 111 once the user logs onto the site . from home page 101 , the user is able to perform functions including , but not limited to , the following . the user may click on the albums he has created and view , add or delete photos . the user may click on albums shared by his contacts and view , add photos or manage the albums . in albums shared with him by his contacts , the user may be limited in what he can do depending on the level of sharing authorized by the contacts that created the albums . from home page 101 , the user may also create a new album and start adding photos and managing the album , by clicking on the create new album link 123 and be directed to create new album page 181 . home page 101 lists album thumbnails 103 that the user can access categorized into three boxes , a private album box 105 , a shared album box 107 , and an invitation box 109 . private album box 105 comprises representations of all albums created by the user but not finished or shared . the user may also wish to keep albums that he does not want to share in private album box 105 . shared album box 107 comprises representations of all of the albums that the user has created and shared with others . invitation box 109 comprises representations of all of the albums that other users have created and shared with the user . in the present embodiment album thumbnails 103 in each box may be divided into groups according to parameters indicated by the user . in alternate embodiments the home page may list all of the user &# 39 ; s albums in one list instead of separating the albums into different boxes . in these embodiments information about the album , such as , but not limited to , the creation date , the creator , and the level of sharing assigned to the user , may be listed with the thumbnail . in the present embodiment , a contact box 111 at the right side of home page 101 comprises a contacts list 113 and a groups list 115 . from contacts list 113 or groups list 115 , the user selects contacts or groups of contacts with which to share an album or albums . also present are several buttons . the buttons shown by way of example in fig1 a are an add contact button 117 , a remove contact button 119 , and a manage groups button 121 . add contact button 117 enables the user to add contacts to contact list 113 . remove contact button 119 enables the user to remove contacts from contact list 113 . manage groups button 121 enables the user to create or modify groups . those skilled in the art , in light of the present teachings , will recognize that additional or alternate buttons may be included to perform various different functions such as , but not limited to , rename contacts or groups , add groups , remove groups . also , in alternate embodiments , these buttons may have various different names . for example , without limitation , remove contact button 119 may be named delete contact , erase contact , etc in alternate embodiments . clicking on an album thumbnail 103 or a view icon , which may be included in some embodiments , on home page 101 directs the user to album viewer page 125 , shown by way of example in fig1 b . on album viewer page 125 , all photos in the album selected by the user are represented . an album as displayed on album viewer page 125 is shown by way of example in fig2 . in the present embodiment , on album viewer page 125 is a dialog box with a manage album button 127 from which the user can be directed to album manager page 151 , an add photos button 129 and a delete album button 131 . all of the buttons are present if the album is being accessed by the creating user . however , if the album is being access by a contact who is only authorized as a viewer , this dialog box is not present . if the album if being accessed by a contact who is authorized as a contributor , the dialog box is present ; however , only add photos button 129 is present so that the contact may add photos . some embodiments may enable contacts contributing photos to delete photos that they add . in the present embodiment , if the album is accessed by a contact who is authorized as a manager , manage album button 127 and add picture button 129 are both be present ; however , delete album button 131 is absent . in alternate embodiments all buttons may be present to all viewers ; however , if an unauthorized viewer attempts to use one of these buttons , he will not be allowed to perform that action and a message such as , but not limited to , “ error ” or “ unauthorized user ” may be displayed on the screen . on album viewer page 125 , clicking on a photo thumbnail 133 or a view icon in the representation of a photo , which may be included in some embodiments , directs the user to photo viewer page 135 , shown by way of example in fig1 c . in the present embodiment a photo corresponding to the photo thumbnail selected by the user on album viewer page is displayed on the photo viewer page 135 . the way the photo is displayed can be specified by the user , for example , without limitation , in a separate window , in a slideshow , or as a full screen . common actions , such as , but not limited to , adding a tag 137 or leaving comments in a comment box 139 may also be performed by the user depending on whether these functions are designated as specific levels of sharing and whether the user is authorized . a leave a comment button 141 is included in the present embodiment . tags and comment already present can be perused by any user . a previous button 143 and a next button 145 enable the user to browse through the photos in the album . the present embodiment also displays photo information 147 , and an album cover thumbnail 149 on photo viewer page 135 . in alternate embodiments various additional action buttons , such as , but not limited to , a change album name button or a change cover photo button , may also be included . other actions that may be performed on the album viewer page include adding album information such as name of creator , number of photos , date of creation , description of album , names of contributors , etc . in the present embodiment , album manager page 151 , shown by way of example in fig1 d , can be reached by clicking manage album button 127 on album viewer page 125 or a manage icon , which may be included in the representation of an album on home page 101 in some embodiments . album information 153 on the album to be managed appears at the top of album manager page 151 next to an album thumbnail 155 to the right of which are several buttons , a back to album button 157 that returns the user to album viewer page 125 , an add photos button 159 , and a delete album button 161 . delete album button 161 is only present if this page is accessed by the creating user . in some embodiments delete album button 161 may be present for all viewers ; however , in these embodiments , only authorized users may use delete album button 161 . in alternate embodiments , users who are not authorized as managers may not be able to access album manager page 151 . in the present embodiment , a contacts list 163 appears on the left side of album manager page 151 . contact list 163 lists contacts that are able to access the album . album manager page 151 also comprises boxes to indicate what level of sharing for which each contact is authorized . the present embodiment comprises a viewer box 165 , a contributors box 167 , and a managers box 169 . this controls which contacts are able to view , contribute to and manage the album . to initiate sharing in the present embodiment , a contact is selected from contact list 163 . the present embodiment comprises a directional arrow 171 pointing to the right and a directional arrow 173 pointing to the left for each of the sharing level boxes . the sharing level is assigned by clicking on the directional arrows 171 pointing to the right corresponding to the level of sharing being assigned to add the user to that list . selecting contacts on one of the lists on the right and clicking the directional arrow 173 pointing to the left removes the contact from those lists . in alternate embodiments add buttons and remove buttons may be used instead of arrow buttons or the arrow buttons may be pointing in various different directions , such as , but not limited to up and down , depending on the layout of album manager page 151 . the preset embodiment also has an enable managers box 175 . when the enable manager box is selected , the selection of managers from the contact list to be added to the managers box 169 is enabled ( this is an optional feature ). some embodiments enable the user creating the album to withdraw permission to share from any contact . in the present embodiment , along the top of home page 101 is a group of links , one of which is a create new album link 123 . create new album link 123 leads to a create new album page 181 , shown by way of example in fig1 e , from which new albums can be created . fig1 e illustrates an exemplary create new album page in accordance with an embodiment of the present invention . a new album is given a title and by clicking on the creat album button , the user is direct to a page where photos can be selected and uploaded to the hosting site . once an album is created , the album appears in private albums box 105 on home page 101 . the album appears in shared albums box 107 once the album is shared with one or more contacts or groups . fig2 illustrates a detailed view of an exemplary album on home page 101 as viewed on a photo - sharing site , in accordance with an embodiment of the present invention . an icon , which is a thumbnail 201 of a cover photo for the album , is central to the representation . below thumbnail 201 is album information 203 , including , but not limited to , the title of the album and the number of photos in the album . in some embodiments , in the upper left corner , there may be a status icon 205 indicating if the album has been recently updated , for example , without limitation , recently created or recently having photos added . along the right edge are several action icons . these action icons provide quick access to common actions for albums . in the present embodiment , there is a viewing icon 207 , a photo - adding icon 209 , a managing icon 211 and a sharing or an email icon 213 . the action icons are present in the representation of all albums created by the user . for albums shared by other users , the availability of action icons depends on the sharing level for which the user is authorized . if the user is authorized as a viewer as assigned by the album creator , only viewing icon 207 is present in the representation of the album . if the user is authorized as a contributor , viewing icon 207 and photo - adding icon 209 are present . if the user is authorized as a manager , viewer icon 207 , photo - adding icon 209 , managing icon 211 , and email icons 213 are present . in alternate embodiments action icons may sill be present but disabled for unauthorized users . also , those skilled in the art , in light of the present teachings , will recognize that alternate embodiments may have various different action icons such as , but not limited to , a next album icon , a previous album icon , or a close album icon . other possible icons that may be displayed with the album include icons for delete albums , and rename albums . fig3 illustrates an exemplary photo on photo viewer page 135 as viewed on a photo - sharing site , in accordance with an embodiment of the present invention . central to the representation is a thumbnail 301 of the photo . a status icon 303 may be displayed in the upper left corner to indicate if the photo has been recently added or modified . in the present embodiment , action icons are located on the right of thumbnail 301 and comprise a viewing icon 305 to view the photo , a make cover icon 307 allowing the photo to be designated as the cover of the album , and a remove icon 309 to delete the photo from the album . the preferred embodiment only displays to users the buttons and icons appropriate to the level of sharing for which the user is authorized . therefore , make cover icon 307 and remove icon 309 are present only when the album is being accessed by the user creating the album . in alternate embodiments all of the buttons may be present for all viewers ; however , some of the action buttons may be disabled for unauthorized viewers . furthermore , various alternate embodiments may have various different icons such as , but not limited to , a send icon , a name or rename icon , a next photo icon , and a previous photo icon . other possible icons that may be displayed with the photo include icons for emailing the photo , edit , and download .) the above illustration of a class reunion function is a non - limiting example of a shared experience for which this method of photo sharing is appropriate . other examples include , without limitation , birthday parties , weddings , family reunions , christmas parties , office parties , picnics , outings , etc . shared interest is another area where a method of photo sharing according to embodiments of the present invention is appropriate . shared interests include , without limitation , hobbies , such as , but not limited to , stamp collection , antique collection , model building , etc , activities , such as , but not limited to , bird watching , photography , or woodworking . thus , for example , without limitation , a member of a bird watching club can start an album of local birds and share it with other members with an invitation to add photos to the album . this user may also share the album with nonmember friends who may only be allowed to view the album . the user may also give permission to other members to manage the album if he so desires . in alternate embodiments , the same method of the ability to assign different levels of sharing may be applied to albums of videos or written documents . for example , without limitation , a user with interest in writing poems can create and share an album of poems on a topic to which he and his poetry - writing friends can contribute . other friends can be invited to view the poetry album ; however , the user may wish to restrict the friends who are not poetry writers from adding files to the album by assigning these contacts to a lower sharing level . another non - limiting example is that of a user with an interest in cooking . this user can create an album of original recipes for cooking certain food items , and the user can share this with his cooking friends with invitations to contribute recipes , while his non - cooking friends may only be allowed to view the recipes . a sharing method according to an embodiment of the present invention can also be applied to videos . using the activity of bird watching as a non - limiting example , an album of videos of local birds can be created and shared in a method according to an embodiment of the present invention . fig4 illustrates a typical computer system that , when appropriately configured or designed , can serve as a computer system in which the invention may be embodied . the computer system 400 includes any number of processors 402 ( also referred to as central processing units , or cpus ) that are coupled to storage devices including primary storage 406 ( typically a random access memory , or ram ), primary storage 404 ( typically a read only memory , or rom ). cpu 402 may be of various types including microcontrollers ( e . g ., with embedded ram / rom ) and microprocessors such as programmable devices ( e . g ., risc or sisc based , or cplds and fpgas ) and unprogrammable devices such as gate array asics or general purpose microprocessors . as is well known in the art , primary storage 404 acts to transfer data and instructions uni - directionally to the cpu and primary storage 406 is used typically to transfer data and instructions in a bi - directional manner . both of these primary storage devices may include any suitable computer - readable media such as those described above . a mass storage device 408 may also be coupled bi - directionally to cpu 402 and provides additional data storage capacity and may include any of the computer - readable media described above . mass storage device 408 may be used to store programs , data and the like and is typically a secondary storage medium such as a hard disk . it will be appreciated that the information retained within the mass storage device 408 , may , in appropriate cases , be incorporated in standard fashion as part of primary storage 406 as virtual memory . a specific mass storage device such as a cd - rom 414 may also pass data uni - directionally to the cpu . cpu 402 may also be coupled to an interface 410 that connects to one or more input / output devices such as such as video monitors , track balls , mice , keyboards , microphones , touch - sensitive displays , transducer card readers , magnetic or paper tape readers , tablets , styluses , voice or handwriting recognizers , or other well - known input devices such as , of course , other computers . finally , cpu 402 optionally may be coupled to an external device such as a database or a computer or telecommunications or internet network using an external connection as shown generally at 412 , which may be implemented as a hardwired or wireless communications link using suitable conventional technologies . with such a connection , it is contemplated that the cpu might receive information from the network , or might output information to the network in the course of performing the method steps described in the teachings of the present invention . those skilled in the art will readily recognize , in accordance with the teachings of the present invention , that any of the foregoing steps and / or system modules may be suitably replaced , reordered , removed and additional steps and / or system modules may be inserted depending upon the needs of the particular application , and that the systems of the foregoing embodiments may be implemented using any of a wide variety of suitable processes and system modules , and is not limited to any particular computer hardware , software , middleware , firmware , microcode and the like . it will be further apparent to those skilled in the art that at least a portion of the novel method steps and / or system components of the present invention may be practiced and / or located in location ( s ) possibly outside the jurisdiction of the united states of america ( usa ), whereby it will be accordingly readily recognized that at least a subset of the novel method steps and / or system components in the foregoing embodiments must be practiced within the jurisdiction of the usa for the benefit of an entity therein or to achieve an object of the present invention . thus , some alternate embodiments of the present invention may be configured to comprise a smaller subset of the foregoing novel means for and / or steps described that the applications designer will selectively decide , depending upon the practical considerations of the particular implementation , to carry out and / or locate within the jurisdiction of the usa . for any claims construction of the following claims that are construed under 35 usc § 112 ( 6 ) it is intended that the corresponding means for and / or steps for carrying out the claimed function also include those embodiments , and equivalents , as contemplated above that implement at least some novel aspects and objects of the present invention in the jurisdiction of the usa . for example , while it is conceivable that almost all the above methods or steps can be practiced outside of the jurisdiction of the usa , if the user is located within the usa , when he / she logs on to the hosting site , thumbnails or links of albums containing photos which has been process by this new method are downloaded to their computer / pda / cellphone . hence , in most practical applications , this step has to be practiced within the usa , while the others may be performed and / or located outside of the jurisdiction of the usa while the remaining method steps and / or system components of the forgoing embodiments are typically required to be located / performed in the us for practical considerations . the following are some examples of how this method can be used in other applications . the same method of the ability to assign different levels of sharing can be configured to be applied to albums of videos or script . for example , a user with interest in writing poems can create and share an album of poems on a topic to which he and his poetry writing friends can contribute , other friends are invited to view . a user with interest in cooking can create an album of original recipes of cooking certain special food items , he can share this with his chef friends with invitations to contribute recipes , his non - chef friends are allowed only to view the recipes . similarly , the same sharing method can be configured to be applied to videos . using the bird watching activity again as an example , an album of videos of local birds can be created and shared in the same way . having fully described at least one embodiment of the present invention , other equivalent or alternative means for implementing a method of sharing photos over the internet according to the present invention will be apparent to those skilled in the art . for example , without limitation , alternate embodiments may include various different action buttons or sharing levels . in some embodiments the photo - sharing site may not be album based . for example , without limitation , some embodiments may be subject or activity based , where the user can create a subject group that may contain one or more albums or individual photos . in these embodiments , cqntacts along with their sharing levels are assigned to the subject groups rather than albums . these embodiments enable a user to share multiple albums easily with a group of people who most likely share an interest in the same subject or activity . the invention has been described above by way of illustration , and the specific embodiments disclosed are not intended to limit the invention to the particular forms disclosed . the invention is thus to cover all modifications , equivalents , and alternatives falling within the spirit and scope of the following claims . claim elements and steps herein have been numbered and / or lettered solely as an aid in readability and understanding . as such , the numbering and lettering in itself is not intended to and should not be taken to indicate the ordering of elements and / or steps in the claims .