Proposal for development of Music Distribution Website proposal

11,669 views

Published on

This User Requirement Specification was commissioned by a major IT vendor. The client wanted a possible way of distributing music legally on compact disk media. Since then the industry has changed and unfortunately the project did not go ahead :(. This was my first attempt as a self employed software engineer.

Published in: Technology, Business
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,669
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Proposal for development of Music Distribution Website proposal

  1. 1. Mr ### ### Street Pietermaritzburg 3201 Captive Design Pietermaritzburg 3201 Senior Software Engineer: Chris Morton Phone: 0741012850 Email: chris@captivedesign.co.za Table of Contents Proposal for Development of Music Distribution Website ................................... 3 Executive Summary .............................................................................. 3 Introduction ......................................................................................... 3 Features and Core Functionality ............................................................. 4 Assumptions ..................................................................................... 4 Primary Purpose .............................................................................. 4 Scenario ......................................................................................... 4 A session in the life of www.musicfusion.co.za ............................. 4 Targeted Audience ........................................................................... 5 Core Features ................................................................................... 6 Proposed Module Overview ................................................................ 6 Diagram 1 .............................................................................. 6 Searching and Display ...................................................................... 8 Community Forums .......................................................................... 9 Customer Reviews/Ratings ................................................................ 9 Customisability ................................................................................ 9 User Profiling ................................................................................. 10 Top 10 .......................................................................................... 10 Shopping Cart and Payment Processing ............................................ 11 Jewel Case Insert Creation .............................................................. 11 Access Levels and User Roles........................................................... 12 Internal Users ....................................................................... 12 Public Users .......................................................................... 13 Administration Panels ..................................................................... 13 Value Added Features ...................................................................... 14 Musician Pages .............................................................................. 14 Ringtones ...................................................................................... 14 My Scratches, My Albums Sharing .................................................... 15 Band Voting .................................................................................. 15 Events Guide ................................................................................. 15 Audio Streaming ............................................................................ 16 News and Hot Topics ...................................................................... 16 Ticket Sales ................................................................................... 16 Optional Newsletters ...................................................................... 16 RSS Streams ................................................................................. 16 Competitions and Special Offers ....................................................... 16 Page 1 of 31 Copyright © 2007 Captive Design
  2. 2. Advertising .................................................................................... 17 Site Reports .................................................................................. 17 Layout and Design .............................................................................. 17 Proposal 1 ...................................................................................... 18 Features: ...................................................................................... 18 Pros: ............................................................................................ 18 Cons: ........................................................................................... 19 Proposal 2 ...................................................................................... 19 Features ....................................................................................... 19 Pros: ............................................................................................ 19 Cons: ........................................................................................... 20 Proposal 3 ...................................................................................... 20 Features ....................................................................................... 20 Pros: ............................................................................................ 21 Cons: ........................................................................................... 21 Development Strategy ........................................................................ 21 Prerequisites................................................................................... 21 Consultation ................................................................................... 21 Milestones ...................................................................................... 22 Milestone Summary ........................................................................ 22 Diagram 2 ............................................................................ 22 Explanation ................................................................................... 23 Database Design ............................................................................. 23 Application Design ........................................................................... 24 Testing .......................................................................................... 25 Deployment .................................................................................... 25 Support ......................................................................................... 26 Upgrades ....................................................................................... 26 Documentation ............................................................................... 26 Scope ............................................................................................... 26 Inclusions....................................................................................... 26 Limitations ..................................................................................... 27 Suggestions ....................................................................................... 27 Transferral of Data .......................................................................... 27 Hosting .......................................................................................... 27 Cost .................................................................................................. 28 Cost Break Down ........................................................................... 28 Diagram 3 ............................................................................ 28 Keys ................................................................................................. 29 Technological Summary ...................................................................... 30 Exclusive Permissions ......................................................................... 30 Document Summary ........................................................................... 30 Support Documentation....................................................................... 30 Page 2 of 31 Copyright © 2007 Captive Design
  3. 3. Proposal for Development of Music Distribution Website Author: Chris Morton Executive Summary This document is a proposal for the development of a website for your client. The document covers a scenario on which the rest of the document is based upon. From the scenario I have extracted the technical aspects, financial aspects and development aspects for the proposal. Three important diagrams summarise the documents content and will be useful for a preliminary glance about this proposal. It is important to understand that reading the content of the document will give you a better understanding of the entire proposal. I hope you find this document useful in creating your proposal to your client. Introduction Please note: Keys used in this document are listed here. The purpose of this document is to formally conceptualise the development of www.musicfusion.co.za1 in order to support the acceptance of the work offered by your client. The core functionality of this application supports the online registration of users who once registered can compile custom compilations of music CD‟S2 according to the music available on the site. The registered users can upload images and can create jewel case inserts for their compilations and proceed to pay for and order their compilation to be delivered to their selected destination. The site must support the customisation and updateability of certain content via an administrator access portal3. The site must also allow for feature rich interaction of registered users where users can review and rate music. Registered users must also be able to participate in forums. In this document I will attempt to address the following issues raised by your client: 1. 2. 3. 4. 5. 6. 7. 8. Site Layout Customisability Information presented to a user of the site. Searching Community Forums and Customer Reviews Suggestions for integrating existing data into the new application Suggestions to make the site appealing to the public Hosting Solutions Please note that at the time of writing the site http://mas.musiccreator.de/ was down or inaccessible from my machine. Page 3 of 31 Copyright © 2007 Captive Design
  4. 4. Features and Core Functionality Assumptions I have defined two assumptions that I am basing this proposal on as described under the pertinent headings. Please be advised that I have based these assumptions from my initial consultation with First Technologies representative and from the information given to me. Primary Purpose The primary purpose of www.musicfusion.co.za is addressed in the introduction in a condensed summary. A more detailed description is documented here: I have used my creative licence to document an excerpt that describes user interaction in order to describe the purpose: Scenario A session in the life of www.musicfusion.co.za An anonymous user browses to www.musicfusion.co.za whereby he4 is presented with an attractive, feature rich website that immediately prompts him to discover the massive mp3 collection that is now available for his perusal. The user browses the music collection and previews the music he likes. Hopefully he discovers many musicians he really enjoys and has already seen the possibility of legally acquiring a copy of his favourite music collection. As he has been browsing he has been „tagging‟ music that he likes and dislikes and after a preset (by the administrator) number of previews he is prompted to login or create an account to continue his browsing. Assuming this user is a new unregistered user he decides to sign-up and enjoy the benefits of belonging to www.musicfusion.co.za. He discovers that his „tagging‟ has been saved in his online profile in his „My Scratches‟ section. He continues his browsing activity and he is now given the option of longer previews and the ability to rate his music preferences. As a new registered user he is slightly uncertain of paying for music as he is unfamiliar with the site and wants to know more, which prompts him to browse to the FAQ section. This section briefly describes that the music is legal and shows a customisable (by administrator) price list and most importantly describes that the music in his „My Scratches‟ can be compiled into a CD which he can purchase from www.musicfusion.co.za. Hopefully he is satisfied and the FAQ suggests he looks in the forum to find out more about what ever he needs to know. He browses the forum and discovers he has reached the utopia of the music culture in South Africa. Thousands of other users just like him are participating in threads about genres, bands, songs, events, instruments – you name it and he finds it. He discovers he can start his own thread and promptly starts one on „Alternative Jazz‟. He is prompted by www.musicfusion.co.za to update his profile with a picture and some other information. He is allowed to put a watch on this thread and the other ones he has participated in, which he will be alerted via email or an RSS feed when something changes. Page 4 of 31 Copyright © 2007 Captive Design
  5. 5. The user logs off and returns a few days later from a different computer. He logs in continues to review, rate and tag his music. Eventually this sceptical user gets the urge to splash out and order some of his scratched music to be compiled into CD format and delivered to his residence. He clicks on his scratch he has entitled „Electronica from The Depths‟ and he is invited to use some templates for his jewel case insert or upload his own. He decides to upload his own. Unfortunately he interrupted and needs to come back later to finish his order. That evening at his residence he logs on again and goes to his „My Scratches‟ section. Alas he discovers his „Electronica from the Depths‟ is no longer there but notices that his „My Albums‟ section is showing (1) next to it. So he goes to „My Albums‟ and previews his album before proceeding to the checkout. He notices that he has one track on the album that is not really Electronica and removes it. The track moves back to his „My Scratches‟ section and he selects another to be added to his 64 minute compilation. The track he selects is 7 minutes long and the system advises that the album cannot include the track he has selected. He types in „ElecTRonica 2001 south Africa‟ in the search box and 10 results are displayed. Luckily he finds exactly the track he wants by Felix Laband and adds it to his „My Scratches‟ where he proceeds to add it to his „Electronica from the Depths‟ album. He proceeds to the „Get It‟ section where he confirms his identity using a secure access password and is redirected to a SSL protected Paypal hosting page and enters his credit card details. After a couple of seconds his payment is processed and he receives an email in his inbox confirming his purchase and the estimated time of arrival. He is redirected back to www.musicfusion.co.za and continues the important business of browsing the music. After the specified time he gets his album via mail and is extremely happy to receive the excellent quality pre-packaged article and secretly reckons he has got a bargain. That night he has a party and his friends comment „Dude! That is the best music of that sort I have listened to for a while – but it‟s not really my jive‟. He replies „Yeah I ordered it on the net….. Ah …. www.musicfusion.co.za has a huge selection of music you can listen to and if you like it you can order a CD if you want. Check it out man.‟ And the story continues… End of Excerpt Although unconventional, I find it easiest to describe functionality in this way, as it is much more interesting than dry technical explanations. Captive Design documents such explanations in an article entitled „User Requirement Specifications‟. Targeted Audience As suggested in the excerpt the target audience assumed for the application is essentially a moneyed young professional. In this document I have written the features to appeal to a wide range of audiences including but not limited to: students Page 5 of 31 Copyright © 2007 Captive Design
  6. 6. young adults professional musicians It assumed that the target audience has a minimal degree of technological savvy, own credit cards or have a paypal account, and are of course music fans. Core Features Proposed Module Overview A Summary of the proposed modules is presented below in table format: The codes in the righter most columns represent the module types; multiple values represent a combination of them: Keys: S – Standard Core Functionality F – Value Added feature V - Visible I – Invisible or contains an Invisible Component C – Module collection of a number of Custom Controls T – Contains third party components R – Revenue Generator Diagram 1 Module Description Searching Used to search for music according to any criteria Allows User to see more detailed information on his selection. Using this he can preview, rate, review, tag and nominate mp3‟s. he can also look at linking pertaining to the music. Allows anonymous users to browse community forums. Allows registered users to participate in forums Allows administrators to review posts and prevent certain users from participating. Administrators can also hide and disable threads. Allows Registered Users to rate music Allows Registered Users to write a review of music Allows users to edit and view their details. Includes the My Scratched and My Albums modules. Displays the top ten of a selected list. The default is most listened to music. Keeps track of the users interest of music. He can tag music which goes into his scratches so he can compile Display Community Forum Ratings Review User Profile Top 10 My Scratches Page 6 of 31 Copyright © 2007 Captive Design Module Type S,V S,V,C S,V,C S,V S,V S,V,C,I S,V S,V,C
  7. 7. My Albums Get It Jewel Case Creation Wizard Login Module Registration Module Access Control Module Administration/Customisation Modules Musician Pages Ringtone Wizard Sharing Module Events Calendar Voting/Survey Module Audio Streaming Module News and Hot Topics Module Ticket Sales Optional Newsletters RSS Feed module Competitions/Special Module Offers albums My Albums in the Shopping Cart of this site. Here the user can create his desired product and jewel case design, preview, edit and change the album. Get It is the Checkout of this site. This allows the user to enter his banking details under a SSL and confirm his order and proceed to purchase it. This allows a user to create a jewel case using either a template wizard or uploading a custom insert. Provides a security layer for registered users Allows new users to register Runs as background service that manages sessions and access control Allows authorised users to perform customisation tasks of various types through different interfaces according to the customization task Provides an interface whereby a user can upload information on his band and create a band profile page. Allows registered users to create custom Ringtones from the mp3s available and mms them to their phones Allows a to share is albums or scratches for the perusal of other users Allows users to configure their events online and add them to a national events calendar. Users can down load an outlook calendar event to add to there outlook Allows the site administrators to post voting an surveys about current issues. Allows users to vote for bands they would like to see. Performs an online radio service Allows the administrators to keep the site current with current cultural events etc Integrates with event calendar to allow the online sale of tickets Allows users to sign up for optional news letter that have been composed by an administrator Allows users to get feeds from the site from selected areas Allows users to enter competitions and partake in special offers to Page 7 of 31 Copyright © 2007 Captive Design S,V,C S,V,C,T,R S,V,C,T,R S,V S,V,C S,I S,V,C,T F,V,C,R F,V,C,T,R F,V,C,R F,V,C,R F,V F,V,I F,V,C F,V,C,T,R F,V,C F,V F,V.R
  8. 8. maintain a loyal user base. Allows administrator to configure advertising on the site Allows administrators to generate reports pertaining to activity on the site to gauge performance of various aspects of the site. Advertising Module Site Reports Module F,V,C,R F,V,C,R,T The core features of www.musicfusion.co.za are described below with some description of technical aspects involved: Searching and Display The search functionality for www.musicfusion.co.za is implemented using queries against data stored in a database about the mp3‟s available. The mp3 format contains a piece of information called a meta-tag which stores metadata about the actual mp3 file. Please follow these links for more information: http://en.wikipedia.org/wiki/MP3 http://www.id3lib.org/id3//id3v1.html Essentially this metadata can store information such as the song title, artist, genre, year, album and other data about the music. When using software such as Win Amp or Windows Media Player searches conducted on a users system use this information to return results. Assuming5 the metadata of the mp3 files on our client‟s server is good it is possible to write a small windows application to retrieve this data from the mp3‟s files and write it into SQL Server which can then be used to query against by www.musicfusion.co.za. Using SQL server and C# to execute query logic against a SQL database will be the fastest and easiest way of implementing an effective search mechanism. Alternatively searching directly against the meta-tags for a very large number of individual files by multiple users simultaneously may produce significant overhead and hence slow the application significantly. At this stage the implementation of the search functionality depends heavily on acquiring a copy of the mp3 files in order to analyse, develop, test and implement functionality for a search engine. Please follow these links for further information: http://www.id3.org/id3guide http://channel9.msdn.com/ShowPost.aspx?PageIndex=11&PostID=250823 http://www.searchtools.com/info/mp3-search.html Once an effective search engine is created it is very important to display the results in a way that the user can comprehend. Essentially to address this www.musicfusion.co.za will only show song titles, album names, artists and genre (and perhaps a thumbnail if it is available) in the initial result set. The user is required to click on the item which will display the Page 8 of 31 Copyright © 2007 Captive Design
  9. 9. entire information set (and perhaps related data such as „other music like this‟ or „other music from this artist‟). Once the user is viewing the selected information he can listen to a preview of the track (length according to login status), tag it, rate it or review it according to his preference. Community Forums To support community forums www.musicfusion.co.za will use a similar forum format to the one displayed here: http://forums.asp.net/ The forum represented here is very advanced software and some of the functionality of the http://forums.asp.net/ forum is unnecessary for www.musicfusion.co.za and I therefore advise that consultation be undertaken with the client to establish the exact needs for www.musicfusion.co.za. Essentially the forum will support thread creation by registered users, thread disabling or hiding (essentially the same effect as deleting) by administrators, post creation that supports avatars (i.e. users can use a pseudonym and a picture to represent themselves), post hiding by administrators and moderators. Please note that forums do carry risks with them as they are a public area for people to express what ever they like, which may cause incidents leading to legal intervention. In order to prevent this type of thing happening it is important to have a particular policy about how users conduct themselves and additionally there is a need for enforcement of certain policies by moderators. Customer Reviews/Ratings Registered Users will be able to rate music from 0-5 stars according to their preference. The average ratings of a particular mp3 will be displayed to all users to gauge the quality of the music however the individuals rating will be displayed for that particular user in order for him to compile albums his particular taste. www.musicfusion.co.za will use the AJAX control listed here: http://ajax.asp.net/ajaxtoolkit/Rating/Rating.aspx to implement rating. Users will also be able to write reviews on music or bands which I will refer to as „Blurbs‟. The „Blurbs‟ or reviews may also carry risks similar to the forums risks. Customisability Customisability of www.musicfusion.co.za will include the option to upload a number of different master pages which can include different graphics, CSS and page layouts. The limitation to this approach is that the master page(s) must follow a consistent naming convention, XHTML validation and code behind file to ensure that the application does not produce formatting errors or application Page 9 of 31 Copyright © 2007 Captive Design
  10. 10. errors. For this to be ensured a professional programmer should be employed to maintain compatibility of a new layout. It is important that customisability options exist to enable administrators to update certain content on the site (for example news, advertising, graphics etc) to keep the site attractive and to encourage repeat traffic of existing visitors. To allow this www.musicfusion.co.za will implement some of the third party controls specifically designed for this purpose, for example: http://www.freetextbox.com/ Another aspect of customisability is the option to customise email messages sent from an application such as this. This functionality will be supported by a section whereby an administrator can compose HTML messages using the interface provided where „generic‟ datatags that represent different values can be inserted at various locations within the message. Examples of a generic datatags could be „!@Username@‟, „!@FirstName@‟, „!@LastName@‟, „!@AlbumName@‟ and „!@Price@‟ where the values pertaining to the particular user account are substituted into the configurable HTML email message. An example of this functionality can be seen in messages received from Microsoft Subscription Services. User Profiling User profiling will encompass the collection of data pertaining to: Names Locations Contact Details Login Information Avatar Information The above mentioned data is typically collected by most sites that require some kind of registration. Further more, user profiles will contain information about music preferences, usage statistics, financial transactional information (i.e. how much has a particular user actually bought), rating information, „My Scratches‟, „My Albums‟ and other data should it be required. From the aspect of an administrator, he must be able to generate statistical reports based on the data in the system. Top 10 Top 10 need not be limited to actual „sales‟ of music. The potential of the top 10 concept can include the following: Sales Most Listened To Highest Rated (the traditional top 10 chart) Most Active Users Newest Page 10 of 31 Copyright © 2007 Captive Design
  11. 11. The top ten can be implemented using similar controls as demonstrated here: http://www.imate.com/ http://www.imate.com/t-devicedetails.aspx Shopping Cart and Payment Processing The shopping cart functionality consists of three sections: „My Scratches‟ „My Albums‟ „Get It‟ Once I again I have used my creative licence to suggest „cool names‟ that are not as intimidating or as boring as „Shopping Cart‟ and „Check Out‟. I am very familiar with online shopping and suggest that a „Wish List‟ be implemented as an accurate generalisation people are sceptical about shopping online and need the psychological reassurance of the option to back-out or change their mind. This functionality can be seen on http://www.amazon.com/. For clarification please note the following equivalencies: „My Scratches‟ roughly equates to amazon.com‟s „Wish List‟ „My Albums‟ equates to the „Shopping Cart‟ „Get It‟ equates to the „Checkout‟ The basic business process behind compiling and purchasing a CD from www.musicfusion.co.za is described in the excerpt entitled „A session in the life of www.musicfusion.co.za‟. The process of online purchasing follows this procedure: A registered user tags his music which is added to his „My Scratches‟ section. When the user decides to purchase some music he creates an empty album in his „My Albums‟ section. The user proceeds to add his scratches to the new album until the time limit of 70 minutes is reached. The album can be edited until the user is satisfied. The user is encouraged to create a jewel case insert from existing templates or upload his own. Once the user is satisfied with his album he can decide to „Get It‟ which directs him to a secure access site hosted by Paypal where he proceeds to transact. For further information please follow this link: https://www.paypal.com/IntegrationCenter/ic_pdnHome.html. On successful completion of the transaction he is send a message of confirmation of his order and a delivery estimate (ETA). Jewel Case Insert Creation The creation of jewel case inserts is implemented in two methods: The selection of a pre-existing template „wizard‟. The uploading of a user created jewel case insert. Page 11 of 31 Copyright © 2007 Captive Design
  12. 12. The wizard allows the user to select various colour schemes, fonts and images to be included in his jewel case insert. www.musicfusion.co.za produces an XML document that contains the information for the users album (including track data and jewel case insert data) and adds it to the „manufacturing queue‟ 6. The uploading of a user created jewel case insert should support two generic formats, namely the .ncd file format that is created by the popular Nero Cover Designer software, and .psd format files created by Photoshop 5.0 or above. In order for a registered user to up load his custom jewel case insert design a tutorial should be published on www.musicfusion.co.za that covers both methods of creation. Additionally .ncd and .psd files should be downloaded or sent to the registered user with strict instructions that he is to modify the documents according to the tutorial and upload them. This must be enforced to allow for consistency and therefore efficiency in the manufacturing process. Needless to say an additional charge should be requested for custom jewel case inserts. Access Levels and User Roles During the creation of this document several possibilities of access levels have been deliberated by me. I have referred to the „administrator‟ as the person who can perform certain functionality. I have also referred to moderators, registered users and anonymous users. The challenge with only having one type of internal user in this type of application (referred to as the „administrator‟) is that the work required to maintain the site would over-burden a single person. Alternatively if there where a number of administrators with exactly the same permissions it would be almost impossible to delegate tasks effectively and apply some kind of quality assurance. With reference to this scenario the need to provide a number of different roles for the application with specific tasks and access permissions becomes apparent. In order to clarify the access levels and users rights assignments I propose the following roles for the application. I typically refer to these as user types. Below is a summation of my proposed user types and the roles they perform in the www.musicfusion.co.za application: Internal Users 1. Administrator The administrator is responsible for the configuration settings of the application such as the length that an anonymous user can preview a track, uploading of different master pages and the configuration of other internal user accounts or disabling of registered users accounts. The administrator will also be able to generate statistical reports relating to site usage etc. The administrator also inherits the permissions of the content publisher, forum moderator, review moderator and music moderator. Page 12 of 31 Copyright © 2007 Captive Design
  13. 13. 2. Content Publisher The role of the content publisher includes the ability to update content on the site relating to news, advertising, general information, email messages, FAQ‟s and jewel case insert templates (wizards). The content publisher does not inherit the forum moderators, review moderators or music moderators‟ permissions. 3. Forum Moderator The forum moderator will be tasked to monitor the thread on the forum and can disable or hide the threads that may be controversial, irrelevant or exhausted. The forum moderator can also nominate registered users who are not following the conduct guidelines to be disabled from using the forums section. The administrator will disable a disruptive users account. 4. Review Moderator The review moderator is tasked to monitor reviews of music on the site. The prevention of legal interaction by copyright holders of the music available should be a high priority in www.musicfusion.co.za. The review moderator inherits the permissions of the music moderator. 5. Music Moderator The music moderator is responsible for censoring offensive material from sensitive audiences. When a registered user signs up he is given the option of „safe-searching‟ which will prevent offensive material from being displayed for the particular user. Additionally people below a certain age will automatically have „safe-searching‟ enabled on their accounts. In order to implement such a strategy music should be graded manually according to its offensive content. I cannot think of anyway of automating this process except that users who come across unrated offensive material can nominate it to be reviewed by the music moderator to allow it to rated. Public Users 6. Registered User A registered user has permissions to listen to longer previews of music, rate music, review music, and participate in forums and voting. A registered user can also add and remove items from his „My Scratches‟ section, create and order albums. 7. Anonymous User An anonymous user has access to search and preview music (for a shorter interval), tag music (tags will be stored on the client‟s cookies until he signs up), access the forums (read only) and browse all other sections of www.musicfusion.co.za except for the SSL section. Administration Panels As documented above customization is an integral part of www.musicfusion.co.za, it therefore stands to reason that „special‟ internal user access panels be available for this purpose. Unfortunately the name „Administration Panels‟ might be slightly misleading to the reader of this document. To clarify: Administration refers to a verb (administrate) as opposed to a noun (administrator), thus all internal users who have the ability to administrate content have access to certain administration panels according to their permissions. Page 13 of 31 Copyright © 2007 Captive Design
  14. 14. At this stage it is impossible to describe all the aspects of administration without a consultation with the client. Value Added Features As requested by the client suggestions to make www.musicfusion.co.za more appealing to the general public would be appreciated. The following suggestions may actually be beyond the scope of www.musicfusion.co.za but I have thought to myself as I have been writing this document about ideas that are just appealing or are both appealing and could be used to generate revenue. Musician Pages The music industry in South Africa is still developing and many musicians and bands out there do not have the resources to fund a great deal of marketing. I believe that giving South African bands the opportunity to create a page on www.musicfusion.co.za would be beneficial for all parties involved, especially concerning the important aspect of generating revenue for www.musicfusion.co.za. I propose that a band can upload information on the site about their band and be assigned a sub domain on www.musicfusion.co.za. An example sub domain could be: www.thebandname.musicfusion.co.za. This concept has been around since I can remember and is implemented on sites such as: http://geocities.yahoo.com/ http://www.myspace.com/ http://googlepages.com This has proven to be a popular revenue generator. During the upload process the band is mandatorily required to send a cd of their music to the www.musicfusion.co.za administration offices for review before the musician page is approved (by the content publisher). Secondly big international bands such as Metallica, U2 or Madonna could have pages on www.musicfusion.co.za that I will call band profiles. These profile pages would be created by a Content Publisher as and when needed. An example URL for such a page could be: http://www.musicfusion.co.za/profiles.aspx?t=band&b=HootieAndTheBlowfish When a user searches for music and selects an mp3 to preview, if a profile page exists for the band (either a musician page or a profile page) the user can browse that page if they want to. Ringtones From my personal experience, I find the sms services available in this country that distribute Ringtones of popular music are below standard and too expensive. I have resorted to creating my own Ringtones and uploading them on to my phone (I have a phone that accepts mp3‟s as Ringtones). Page 14 of 31 Copyright © 2007 Captive Design
  15. 15. I propose I service whereby a user can select music and create up to 20 second long Ringtones and have them mms‟ed to his phone via www.musicfusion.co.za for a fee. I believe this could be a good revenue generator if the technology is available. My Scratches, My Albums Sharing A lot of people out there rate themselves as DJ‟s or would like to impose their taste of music on other people. The idea of individual users „sharing‟ their scratches or albums may have commercial potential in terms of market research for CD manufacturers and record companies who are looking for new ideas in order to create compilations of music that will sell. If users have the ability to publish their scratches and albums in www.musicfusion.co.za data could be collected for corporations in order to collate and eventually find out what is „really‟ happening in a certain demographic of music buying public. This data could be used to generate another large revenue stream. Band Voting In general the South African public still feels „left-out‟ of the international music scene. Using a „survey/voting‟ system www.musicfusion.co.za could gauge which bands the South African public would most like to see. With strategic partnerships in place www.musicfusion.co.za could arrange for events companies to invite bands to South Africa and receive revenue based on ticket sales (see Ticket Sales). Events Guide One of the most annoying things for me is the marketing of musical events in South Africa and my failure to add them to my Outlook Calendar to remind me when something is happening. I think a good revenue generator for www.musicfusion.co.za could be the ability of registered users who have marked themselves as Venues to configure an Outlook Calendar Event on www.musicfusion.co.za and users browsing the site can download an Outlook Calendar Event and add it to their Outlook Calendars. To view a demonstration of what I am talking about please follow this link: http://www.snowcovered.com/Snowcovered2/user_uploads/BookableEventsDemo 3.html Please note that this is a calendar that has been designed specifically for DotNetNuke and that I would have to develop my own. I would also provide a quite a different implementation. Page 15 of 31 Copyright © 2007 Captive Design
  16. 16. In terms of revenue generation users who configure an event would be charged to use the functionality. Users who download an Outlook calendar event would do so for free. Audio Streaming Audio streaming to facilitate online radio could be implemented so that a registered user could listen to his scratches or an online DJ‟s selection of music. I am not sure that this would encourage use of the site nor generate revenue. I would also require very large bandwidth quotas. Although this is an appealing feature of the site I don‟t think it would benefit www.musicfusion.co.za‟s revenue stream. News and Hot Topics This would be absolutely essential to www.musicfusion.co.za in my opinion. The possibility of integrating this into the events calendar/ticket sales modules is achievable. Ticket Sales In line with publishing event online it would make sense to partner with an organisation that distributes tickets for events and possibly either buy bulk bookings (risky/higher profit) and resell the tickets or provide a link to the ticket sellers online booking system and receive commission (low risk/low profit). To implement this will involve consultation with the selected distributor. Optional Newsletters Although everyone hates spam, the ability for a user to receive optional news letters is important. It must be clearly explained to the user that these are optional news letters and they have the choice to unsubscribe at any time. RSS Streams An alternative to optional newsletters to keep users informed it the availability of RSS feeds that more technological savvy users can subscribe to. For a brief description of RSS feeds please follow this link: http://en.wikipedia.org/wiki/RSS Competitions and Special Offers Competitions and special offers are well used marketing tools to gauge the success or failure of a particular concept or product. In my opinion it is also fair to offer users who frequently purchase products from www.musicfusion.co.za special offers in order to keep their custom. Competitions could also be useful www.musicfusion.co.za for example: for encouraging sales within If www.musicfusion.co.za holds a competition on the most attractive jewel case insert design, users who have the inclination will rise to the challenge of Page 16 of 31 Copyright © 2007 Captive Design
  17. 17. designing the best cover design (which could be democratically decided by votes) and I am certain that in the process the users who design the covers will buy their „own‟ product. Additionally as a spin off some users who vote for the best cover will also buy the cover designers album. (I have another appealing idea here: musicbucks, if a particular user album is profitable he earns music bucks which could allow him to get special discounts on his next purchase – you could even go so far as to say to the public „get your favourite free legal music delivered to your door for life – enter our jewel case insert design competition for free!!!”) Advertising A web site without advertising is very scarce these days. I have added this in the Value Added Features section as it has not been specifically mentioned by the client. To support adverting functionality there are many different possibilities available and I cannot describe the suitable solution without first knowing what the clients need is. Needless to say this is a revenue stream. Site Reports Perhaps one of the most important aspects of modern e-commerce site design is the ability to monitor activity within the site without resorting to log reports from the IIS webserver. To this effect I can design certain functionality to support the monitoring of activity with in the site if required. Another aspect of site reporting is the ability to get statistical data from entities such as users, mp3‟s and voting. This is potentially very complex and needs consultation to minimise the requirements as much as possible. Layout and Design When reading this section please bear in mind that the proposals presented here are only three of the designs I thought as suitable for www.musicfusion.co.za in my personal capacity. If none of these are suitable I have a number of other possibilities that may appeal. Should one of these designs be suitable but have „missing‟ elements we are able to add those elements (features) accordingly. Should the colour scheme of these proposals not be suitable we are able to change it accordingly. Graphics demonstrated in these proposals are only the conceptualisation. In reality any graphics could be represented. purposes of The purpose of the layout and design section of this document is to allow the client to explore the possibilities of the application functionality matched with the interface design. Page 17 of 31 Copyright © 2007 Captive Design
  18. 18. The designs represented here are designed to be displayed correctly on 800 by 600 resolution display with 32 bit colour support. The screenshots are taken on a 1152 by 864 resolution display. Proposal 1 This design presents a modern interface with exiting options for www.musicfusion.co.za. The interface will support advanced navigation options thus a feature rich site. Features: As you can notice from the search engine section a user can search for music according to their genre preference. The three orange blocks on the right hand side could be used to display news and hot topics or as adverting space. The content section on the left hand side could display information pertaining to the top artists/trends on the site. The light grey panel above the content and news sections can be used to display important information to the users or host some flash media. Pros: Allows for a large amount of different information to be displayed on the screen real-estate. Looks professional and neat. Provides a rich graphical user interface pertaining to images and flash media. Page 18 of 31 Copyright © 2007 Captive Design
  19. 19. Cons: May be „too complex‟ in terms of navigation possibilities for an average user. The colour scheme and graphics may need revision. There is a danger of presenting the user with „information overload‟. Proposal 2 This interface is very simplistic and allows for an average user to navigate easily to what the essence of www.musicfusion.co.za is: the distribution of music. Features The primary focus of this interface is the search functionality. It presents a search box and an alphabetical indexing section. The secondary focus of this interface is a large content section that is sparsely populated with images and text, supporting the simplistic navigation model. The ternary focus of this site is a panel on the right that could be used to display news and hot topics/advertising/navigation menus etc. Pros: Page 19 of 31 Copyright © 2007 Captive Design
  20. 20. An attractive and simplistic interface. Promotes primary focus on the essence of www.musicfusion.co.za: the ability to search for music. Cons: The overly simplistic design limits the navigation model (thus the features) of the site. The screen real-estate is not used optimally. The users of this site may interpret such a simple design to mean that www.musicfusion.co.za does not have a lot of features. Some more adult users might not appreciate the adolescent appeal of this design. Proposal 3 This interface is also a simplistic design but allows for advanced navigational options (and therefore a feature rich site). In this interface there are two content sections, the first one displaying a flash element that could allow the user to scroll latest albums. The first content section could be used to show advertising, news and hot topics, navigation menus, album/track info or anything else with a graphical nature. The second content section can be used for text data representation. Features The primary focus of this interface is the navigation element of www.musicfusion.co.za which will allow for rich feature support with easy Page 20 of 31 Copyright © 2007 Captive Design
  21. 21. navigation for the average user. Also supported is a search box and a header section. Pros: Advanced navigation possibilities to support feature rich content. Two distinct content sections for different types of data. From a developer point of view this allows for the simplest development path for feature rich support. Cons: Some users may interpret the interface as boring or not funky enough. Search could be improved A right hand content section (in the second content section) could be implemented. Development Strategy In order develop www.musicfusion.co.za within an agreed time frame and to the specified standards a development strategy needs to be defined together with the client and other stakeholders. At this stage it is difficult for me to give a concrete development plan however below I have documented some typical steps in the development of a site such as this. Prerequisites In order to develop an accurate and fast search engine to retrieve mp3‟s we will require a mp3 library similar to the clients (in terms of number of individual files, metadata, file organisation (i.e. how are the files organised in the file system)) and hardware that meets similar performance of the file server where the files are to be hosted on (if the file server has raid and the development environment does not it will be impossible to determine how well or otherwise the software is performing). Additionally electronic documents containing the actual text content of the site need to be supplied in order to develop the software as quickly as possible without resorting to sample data (e.g. “Lorum ipsum dolor…”). Preferably media content such as images should be supplied in the highest resolution and biggest file sizes possible to allow us to edit them and produce the highest quality images of appropriate file size for the site. Unfortunately without these prerequisites the development time will be much longer and therefore incur a higher cost. Consultation It is of paramount importance that a consultation between the developer and the client take place before the next stage of this process can take place (the next stage being the User Requirement Specification Document/Project Plan/UML document stage). Page 21 of 31 Copyright © 2007 Captive Design
  22. 22. It is also very important that regular communication takes place between the developer(s) and the client as milestone are reached to ensure that the client gets what they want on completion of the project. Unfortunately without regular consultation with the client projects like this tend to have scope creep (the developers do to much or to little) which will have cost implications for the developer (in particular the risk of losing money due to either over development or misguided developers). Simply put, just like in any industry time is money, and spending a little time in effective communication can and always does prevent wasted resources. Milestones The singular most important purpose of a project plan is to identify milestones. A milestone consists of several tasks within a certain time frame that defines a recognisable stage within the project plan. Without any concrete information is it difficult to identify actual downloads however I have identified these milestones that will definitely part of the project: Milestone Summary Keys: I – included for the deposit price P - Cost of labour R300 per hour O – Cost of labour R250 per hour C – Consultation needed R – Research Required M – Research may be required A – Acquisition of third party components required Diagram 2 Milestone Description Keys URS/Project Plan/UML Documentation including initial consultation Database Development Database Integration Documents relating to the actual development process I,C,M Estimated Development Time 7 days Continues throughout the application development Integrate existing data into the database Create appealing interface and define navigation paths and content display Facilitates the sign-up and login of new users Defines the permissions that certain user types have and their access rights Allows for search and display of content on the I,C,R N/A P,C,R,A 5 days O,C,M,A 6 days P,C 1 Day P,C 3 Days P,C,R 10 days Generic Design Interface Registration Login Access Control and Search And Display Page 22 of 31 Copyright © 2007 Captive Design
  23. 23. User Profile My Scratches, My Albums, Get It integration and Development Integration and development of Administration Panels Integration and development of a Community Forum Jewel Case Creation Wizard ATP, User Manual, Observation Register site Allows users to view and edit their account Incorporates the functionality of purchasing process P,C,M 4 days P,C,R,A 14 days Involves the development of many different panels and integration into the structure of the application Development of a community forum system P,C,R,A 10 days P,C,R,A 20 days Development of Case Wizard Documentation P,C,R,A 6 days I,M 3 Days Jewel Explanation As software development is not a tangible product and often has a very abstract nature (for example class development that has no visible user interface) sometimes milestones are difficult to identify as project manager, because of this fact a project plan for software development project uses a different premise to determine milestones. Captive Design depends on regular cash flow to ensure that our bills are paid. Captive Design therefore works according to a tightly integrated arrangement that follows this process: Once a milestone is reached, a consultation with the client is arranged. At this stage we kindly ask the customer for a payment in order to fund the next stage of development. Ideally this results in the following: a customer who is delighted with our excellent work, a project that has been delivered on time and within budget, and a team of developers who have not had to struggle to pay their bills between the conception of the project (i.e. when deposit has been paid) and the end of the project. I always try to avoid any trouble. For me this is the best way of avoiding trouble, with the added bonus of make clients very happy. Database Design The database design for this project will follow the 3 rd normalised database design rules. The database will be designed to fulfil the requirements of a high performance OLTP application. The database will not be designed for replication. The following describes the life cycle of a database design: The Database design of any software project typically follows 5 stages: Identification of entities, fields within those entities, the relationships between the entities. This is translated into a „rough‟ design that some of the core functionality Page 23 of 31 Copyright © 2007 Captive Design
  24. 24. can be build upon. (My personal philosophy is that the database design is the foundation of building good software, just like a builder needs a strong foundation to build a strong house). The next stage is encountered in the development phase of the project where developers start to extend the database to meet the applications requirements more specifically. The third stage of developing a sound database design is often the need to add, change or remove certain relationships that might have been initialised by some kind of client request. Some times this kind of scope creep will cause minimal changes and could take an hour to do but more often produces late nights, unhappy developers and could lead to project failure (which means wasted resources all round). Although I always try to avoid this, I have discovered it is inevitable. This is why it is important to keep communication flowing, especially in phase 2, to keep stage 3 infrequent and short lived. The fourth stage of database development is the optimisation of things such as indexes, clustered indexes and full text indexes using tools such as SQL Profiler in order to create the fastest possible database for the application. Often this requires the population of certain tables with a great deal of test data to imitate the situation in a real life scenario. The fifth stage is to create a special deployment version of the database that will be used for the application‟s commercial implementation. This is essentially a database with exactly the same structure as the one used in development but only includes the data that needs to be in the database to on the deployment day. Application Design The application will be coded using C#. The application development will follow a guideline as set out in User Requirement Specification document. If there is time to publish a project plan and a UML the developers will also draw upon these documents to guide development. Typically in the development life cycle there are four stages: Planning and Documentation Development Testing Deployment This is a cross-section of a larger module called the application lifecycle. From my experience I have learned two valuable development concepts: KISS (keep it simple stupid) and the concept of continuous improvement. To develop software successfully a developer needs to have a clear idea of the end product before he writes even the first line of code. This justifies frequent consultation as the project materialises. The second thing about application development that will keep development easier and upgradeability a reality with out total application re-write is the good application of sound object oriented programming principals. Page 24 of 31 Copyright © 2007 Captive Design
  25. 25. The third thing about well designed web application that must be in the developers mind when he develops is the „two-clicks/two-seconds‟ principal. Where ever possible „two-clicks/two-seconds‟ is what the user wants when it comes interacting with the site. In other words a user must be able to perform simple interaction using one or „two-clicks‟ and some kind of response must happen within „two-seconds‟ even if is just a message that says „loading…‟. During the development of this site I will try to keep the guidelines mentioned here in mind while we develop code. At this stage it is not possible to give you a detailed application development description as without a consultation with the client their needs have not been gauged and a guideline cannot be established. Testing The testing of an application is paramount to the success of a product. Unfortunately with online applications should your application present a unhandled exception to the client they will not come back. In reality the bigger the site is the more likely this is to occur. The best way to prevent unhandled exceptions is to employ people who are actually developers that have not worked on your project and give them the instructions „break it‟. Additionally it is advisable to give your application to novice users with the same instruction. Assuming that these testers find bugs there needs to be some mechanism in place whereby the bugs can be documented and sorted out. To do this I implement a special class that is called the error handler which I use to records the error details either in a SQL database or as emails. This invisible background functionality presents the end user with the illusion that there wasn‟t any error and lets him continue browsing, yet back at the office we know what really happening. Even the biggest and best programming companies have problems with software bugs and they recommend a single design concept to minimise the possibility of bugs – it is – write less code! In other words the KISS principle resurfaces here again. Deployment From my experience deployment is often the easiest stage of the development life-cycle for this type of application. Having said this upon deployment there are always differences between the clients infrastructure and the development infrastructure. The developer needs to take note of certain differences before he begins to develop, or perhaps replicate the clients‟ environment in order to develop. (This applies more to windows development not really web development). Page 25 of 31 Copyright © 2007 Captive Design
  26. 26. The questions that need to be asked by the development team are, amongst others: will we have a dedicated web server, will the database be on a separate server, will the file server be in a separate server, will the application be run in a web farm and how will this effect our sessions, what protocols will be available (i.e. FTP and https). To deploy successfully a senior developer must get to know the administrators of the system he will deploy on. He needs to earn their trust and give them the peace of mind that he knows what he‟s doing and if he doesn‟t he will ask before doing anything. Support Support to the client will be provided if needed and may incur costs. Upgrades We will attempt to develop this application so that it can be upgraded if necessary. Obviously cost will be incurred for upgrades. Documentation Documentation is very important to the development of applications as it levels the playing field for the client and developer. In the form of documentation topics concerning development can be communicated without uncertainty. This is why documents such as the User Requirement Specification, Project Plan, UML, Observation Register and Acceptance Test Procedure documents exist. Having said this it is important to note that documents can take a significant amount of time to compile and must be worked into the cost of development. Scope In this document I have covered many different possibilities for the development of www.musicfusion.co.za. As this document is only a proposal consisting of a collection of ideas the scope can only be defined loosely. On consultation with the client a clear scope definition will established according to their needs and our development restrictions (cost of development and time allowed), which will be documented in a document entitled „User Requirement Specification‟s‟. The implied scope thus includes inclusions and limitations as described below: Inclusions Once the client has decided on the options presented in this document and we are confident that we can develop these features within the specified budget and timeframe, the chosen features become the inclusions within the scope of the project. This means that what we are certain we can deliver what the client needs within our restrictions. Page 26 of 31 Copyright © 2007 Captive Design
  27. 27. Limitations Should the customer change their minds or request additional features during the development phase (once we have completed the project up to certain point) these requests fall out of scope of the inclusions of the URS. The implementation of such requests falls within the development teams‟ discretion as to whether to implement them or not and should implementation take place these requests will incur additional cost and development time. The reason for this approach is to manage the cost and development time within restrictions and to prevent possible architectural changes which could cause unexpected exceptions in the code. Suggestions Transferral of Data With reference to the quoted text: “Suggestions for integrating the site into our existing data base (methods of delivering the order from website to content creation)” I have assumed the following: The database may consist of mp3 indexes in a SQL Server Or the database could represent a file structure Content creation referrers to a manufacturing facility In order to transfer SQL tables between databases this is a fairly 7 easy task as particular methods are well established. If the database represents a file structure an application can be written to scan the file structure and import the data into SQL server. In terms of transferring the orders to the manufacturing facility a separate application may have to be written to subscribe to the XML web service that www.musicfusion.co.za will provide. In order to accurately describe integration options it is necessary to analyse the existing infrastructure. Hosting In terms of hosting I recommend that the Webserver, SQL Server and File Server be hosted on different physical servers. Although this may seem like an expensive option the benefits outweigh the cost. The benefits are as follows: Better Performance: As each machine has different hardware there is less chance of over burdening the individual systems. Better Security: Page 27 of 31 Copyright © 2007 Captive Design
  28. 28. As the data stored on the file server and SQL server could have particular value to hackers and other miscreants, using separate machines will provide an extra layer of security both in terms of attempted unauthorised hacking and in terms of unauthorised physical access. Ease of maintenance and upgrades: As the site grows the demand on the servers will increase which will eventually prompt the need for upgrade or maintenance tasks to be performed. Since the separate machines will need upgrades at different intervals and to different specifications an infrastructure like the one I have suggested would facilitate the most cost effective solution in the long term. Ease of backup: As the application hosted on the webserver will most likely not have much change in the file system over time backups will only need to be performed infrequently. Conversely the SQL Server and Fileserver will need to be backed up frequently. Having distinct physical infrastructure for each machine will allow separate backups and backup sets to be easily defined. Cost Cost Break Down With no concrete plans it is difficult to estimate an actual cost breakdown however the table below describes the cost break down (at industry standard rates) according to Diagram 2. Diagram 3 Chargeable Entity Deposit Labour (based on 8 hours a day) Cost Notes R13333.33 Essential to fund the development until the first milestone Based on standard rates in this industry. Please refer to Diagram 2. Days 63 Days 6 Days Total Rate per hour P O Total Rands R151200 R12000 R163200 Page 28 of 31 Copyright © 2007 Captive Design
  29. 29. Components: Component FreeTextBox Distribution Licence Developer Express Xtra Reports Total Outsourcing: Consultation Fees Entity Graphic Design Advanced Flash Total Waived Dollar Price USD 199.99 Rand Price R 1,428.69 USD 299.99 Pre-developed modules save time and development costs R 2,144.26 R3572.96 Rand Price R700 Can this be done in house Yes R2000 Yes This can be done in house at the rate of 250 an hour. It is cheaper to outsource it to specialists. R2700 Excludes Expenses Travel As you can see from the cost breakdown of the above diagram, at industry standard fees the site is very over budget. I am willing to make an arrangement of some sort to compensate my labour. I will be still be able to develop this site for the amount offered to me on the offer of in house contractual employment or another type of arrangement. The cost of development will only include features agreed upon that a within the scope as determined by the stakeholders involved in this project. The total cost of the solution will be R40000.008 This includes the following: Development of the database and application functionality for the proposed website only Documentation of User Requirement Specification, Acceptance Test Procedure and Administration Training manuals. Deployment if required In order to commence work a 33% deposit is required of R40000. Keys Back to top 1. For the purpose of this document I will refer to the above mentioned music distribution site as www.musicfusion.co.za. 2. 70 minutes of music in CDA format not mp3 compilation disks 3. The administrator portal is modelled upon similar functionality of the DotNetNuke web applications. 4. For the purposes of simplicity all users and roles players in this document are presumed to be male. 5. Assuming that the clients mp3 collection consists of 100000+ unique files, organized into directories with usable metadata. Page 29 of 31 Copyright © 2007 Captive Design
  30. 30. 6. The manufacturing queue is not addressed in this document however it should be noted that a consultation is needed to gauge what the client needs in order to integrate this into a pre-existing manufacturing infrastructure. 7. Assuming that the tables with the data have been designed in a way that supports data integrity (i.e. normalised). 8. Negotiable bearing in mind the actual cost of development. Technological Summary Technology: AJAX enabled ASP.net 2.0 Server Side Scripting Language: Client Side Scripting Language: Backend Database: C# Webserver: IIS 6.0 Server Platforms: Windows Server 2003 Web Edition/Enterprise Edition IDE: Visual Studio 2005 Professional Edition Media: Flash 8.0, Photoshop 7.0 JavaScript SQL Server 2000 Exclusive Permissions The exclusive permissions granted by Chris Morton to First Technology pertaining to the use of this document are: 1. The use of the entire document or part thereof in the compilation of a proposal for First Technology‟s client on provision that a reference is made to the Author of this document where applicable. 2. Permission to change and append the document contents provided an original back-up copy is kept (unchanged). 3. Permission to distribute this document either electronically or in printed form internally or to the client. 4. All other rights are reserved. Document Summary File Name: Proposal for Development of Music Distribution Website.doc Author: Chris Morton First Created: 2007/02/22 08:33 PM Last Modified: 2013/10/12 05:37 AM Word Count: 9833 Support Documentation Quotation: Page 30 of 31 Copyright © 2007 Captive Design
  31. 31. CDQ284.xls Pro-forma Invoice: CDPI284.xls Page 31 of 31 Copyright © 2007 Captive Design

×