Department of Computer Science The University of Hong Kong Final Year Project (2015/16) Matching System for Creative Projects and Freelance Workers: PaylancerHK Interim Report 24 th January, 2016 Group members Chan Chun On (Carl) 3035073783 Ng Yik Fan (Ivan) 3035070999
Summary As the creative industry in Hong Kong is facing a problem of a lack of freelance job matching platforms, we are going to develop a freelance job matching platform for them. Illustration will be chosen as a start-up target. The platform will hold the money from clients in order to ensure that freelancers can be financially rewarded. Moreover, both a web platform and an Android application will be developed. This platform aims to provide a convenient way of finding creative freelance job and encourage people to participate in creative industry as freelancers. Study reports of two existing freelance job matching platforms have been completed. Bidding approach is suggested in the study report. System architecture, database design and web UI design have been completed. A web platform is delivered with the functionality of hiring freelancers. Acknowledgements We would like to express our sincere appreciation to Dr. Vincent Lau who provided the opportunity and support to us to do on this project. 2
Table of Contents 1. Introduction and Background... 5 2. Objective and Motivation... 6 3. Deliverables/Current Status... 6 4. Study of Existing Platforms... 7 4.1 AnyIdea.hk... 7 4.2 Freelancer.com... 8 4.3 Findings... 9 5. Key Features of the Platform... 10 5.1 Artistic Portfolio... 10 5.2 Acting as an intermediary... 11 5.3 Bidding Approach... 11 6. Design and Procedures... 12 6.1 High-level Use-case... 12 6.1.1 Main Success Scenario... 12 6.1.2 Extensions... 12 6.2 Technical Approach... 13 6.3 Database Design Diagram... 15 6.4 Web UI Design... 16 7. Risk, Challenges and Mitigation... 18 7.1 Business Risks... 18 7.1.1 Number of users are insignificant... 18 7.1.2 Service charges of online payments... 18 7.2 Technical Challenges... 19 7.2.1 Inconsistency between two platforms... 19 7.2.2 Limitation on web storage space... 20 8. Schedule... 21 9. Conclusion... 22 10. References... 22 3
List of Figures Figure 1: A recruitment advertisement from the Government Labour Department s website. Applicants are informed to contact the company by email.... 5 Figure 2: The user interface of AnyIdea.hk, showing all competitions (jobs) in the platform. Each competition usually has around 20 applicants.... 7 Figure 3: The user interface of freelancer.com shows some applicants who are bidding for a job.... 8 Figure 4: The user interface prototype of the artistic portfolio.... 10 Figure 5: Flow diagram of the Main Success Scenario.... 12 Figure 6: The LAMP stack model.... 13 Figure 7: Database Design Diagram.... 15 Figure 8: User interface for viewing jobs.... 16 Figure 9: Sample of a job description.... 16 Figure 10: User interface showing the applied freelancers of a job.... 17 Figure 11: Preview of artwork by moving the cursor to a thumbnail.... 17 Figure 12: User interface showing the notifications, highlighting unread notifications.... 17 Figure 13: All the core functions are implemented on the server-side. They can be called only through the API regardless of the UI used.... 19 Figure 14: The flow diagram of web UI and mobile UI. Although their layouts are different, their logic flows are the same.... 20 List of Tables Table 1: Languages used and their aims.... 14 Table 2: Schedule of the project... 21 4
1. Introduction and Background Paylancer.hk is a freelance job matching platform for creative projects. The name is inspired from the word freelancer. However, we would like to emphasize that creative works are not free, clients have to pay for it since creative works requires sufficient amount of efforts therefore freelancers should be reasonably rewarded. The creative industry in Hong Kong is facing a problem of not enough efficient freelance job matching platform. There is a large demand of creative works in Hong Kong, for example, the illustration sector, which covers poster and banner design, illustration for books and novels, logo design, webpage design and even drawings for mobile applications. Especially in the field of drawing, since the duration of a work is short in average, it is perfectly suitable as a freelance job. Therefore, we have chosen illustration as our platform s start-up target. Although there exists significant amount of job-finding-websites such as the Government Labour Department s website and HKGoodJobs.com, those websites are not considered as job matching platforms. It is because the systems only allow the clients publish their recruitment advertisement without interaction with job applicants (see Figure 1). Figure 1: A recruitment advertisement from the Government Labour Department s website. Applicants are informed to contact the company by email. 5
The efficiency is low when applying freelance jobs in traditional platforms. Freelancers need to contact the clients outside the platform by email or telephone. Freelancers even don t know whether the job was closed or not. Time is wasted for applying closed jobs. Moreover, there is a risk that some bad clients may refuse to pay for the freelancers works since they are not satisfied. The rights of freelancer are not well protected. Therefore, we aim to develop a new job matching platform which can solve these problems. 2. Objective and Motivation This project aims to implement an efficient freelance job matching system, which connects a list of jobs and a list of freelance workers by performing matching. The system focuses on creative industries in Hong Kong. We should ensure the freelancers will be reasonably paid after they have finished their works. By providing a convenient way to hire freelancers, we want to encourage more creations and communications in the creative industry of Hong Kong. Two different platforms, including a web-based user interface (UI), and a mobile application, will be available to users for accessing the platform. Only Android mobile application will be developed due to the limitation of time and manpower in our project group. 3. Deliverables/Current Status We are currently in the elaboration phase. We have finished the project plan and project website 1. We have completed the study of two existing freelance job matching platforms (AnyIdea.hk and Freelancer.com). The study report is included in the next section. A web platform is delivered with the functionality of hiring freelancers. Three key features of the system are explained in Section 5. The use-case, technical approach, database design and web UI design of the platform is presented in Section 6. 1 Link of project website: http://i.cs.hku.hk/~fyp15013/ 6
4. Study of Existing Platforms 4.1 AnyIdea.hk We have studied one of the largest freelancer matching system for creative industry in Hong Kong, called AnyIdea ( 香港創意交易平台 )[1]. It specializes in simple design such as company logo, name card and posters. The platform acts as an intermediary which hold money from the client and delivers the money to the freelancer after the work is completed. This approach can ensure that the client will pay for the work. The platform charge 20% of the payment as administrative fee in the middle. A major characteristic of the platform is that it adopts a competition approach which multiple freelancers can apply for the job at the same time but only the winners can get paid. One major advantage is that the quality of work is guaranteed as the clients can choose from around 20 completed creative works (see Figure 2). However this may not be suitable for jobs involving commercial secret since every requirements have to be clearly listed on the job description. Furthermore, most of the applicants are not financially rewarded since they are not the winner, even if they have put a lot of effort in their work. There is zero or very few applicants apply for time-consuming jobs such as web page design. Figure 2: The user interface of AnyIdea.hk, showing all competitions (jobs) in the platform. Each competition usually has around 20 applicants. 7
4.2 Freelancer.com Freelancer.com is one of the largest and most successful freelancer job matching systems in the world. It specializes in freelance programmer jobs and has more than 16,967,116 registered users and more than 8,723,324 projects were finished in the platform[2]. It has been awarded the 2015 Best Employment Website and 2015 Best Professional Services Website 2 [3]. Similar to AnyIdea.hk, the platform of Freelancer.com also acts as an intermediary who holds money from the client and delivers the money to the freelancer after work finished. However, only 10% of the payment is charged as administrative fee. Freelancer.com adopts a bidding approach. The clients offer a range of budget and the bidding prices of applicants are shown to the public (see Figure 3). Client chooses the best freelancer from the list, by considering the bidding price and freelancers skills. The platform also develops desktop and mobile applications for users to manage the freelance jobs. Real-time chat room function is also included. This function can facilitate the communication between clients and freelancers. Figure 3: The user interface of freelancer.com shows some applicants who are bidding for a job. 2 19th Annual Webby Awards and People s Voice 8
4.3 Findings It shows a significant possibility that clients and freelancers only communicate through the Internet as attributed to freelance jobs nature. Job matching platform acts as an intermediary is a commonly accepted way to ensure that freelancer can get paid. The bidding approach is more suitable for our platform than the competition approach. Clients budget can be saved as freelancers can ensure they will get paid, less budget is needed than attracting freelancers to join the competition. Moreover, we found that freelancers are not willing to join a competition if the job requires much effort. 9
5. Key Features of the Platform 5.1 Artistic Portfolio Normally, the salary of a freelance illustration job is not high therefore it might not be worthy to write a cover letter for every job. To enhance the process of selecting the most suitable freelancer for a job, the platform will introduce a function called Artistic Portfolio. Artistic Portfolio will present the previous works of the freelancer in a clear manner and could function as a CV. Freelancers can upload pictures and add some description on those pictures as shown in Figure 4. Clients can view the previous artworks of the freelancers. The portfolio also displays the reviews from previous clients. Since the reviews are open to the public, freelancers may work harder in order to earn a better reputation. Overall, the Artistic Portfolio provides detailed information which can help clients to hire the most suitable freelancers. Figure 4: The user interface prototype of the artistic portfolio. 10
5.2 Acting as an intermediary To ensure that freelancers will be financially rewarded after they have finished their work, clients are required to paid full amount of money when the contract is established. The platform will deliver the money after freelancers have finished their tasks. It is a common approach in many shopping and bidding platforms such as Taobao.com. It is also being applied in some freelance platforms such as Freelancer.com and AndIdea.hk. Both clients and freelancers can apply for a judgement when they have any business conflict, for example, a client requests a freelancer to submit an extra illustration without any extra payment. The staff of the platform will make a judgement basing on the agreement established between the client and freelancer before. In this case, the freelancer deserves to get the full payment after he has finished his work. The rights of both clients and freelancers can be protected by this feature. 5.3 Bidding Approach Prices can be offered by the freelancers in the platform. Instead of a fixed budget, clients are suggested to offer a range of budget. Freelancers then offer their own prices within that range and the prices are open to public. This makes the price become flexible. Clients then can make the decision base on the price and the ability of freelancers. Moreover, quotation process will be more efficient and bargaining problem can be reduced. In order to have a more economical price, most clients would ask quotations from multiple artists. Some clients may offer underestimated prices in order to bargain for lower prices, which is considered as offensive by many artists. This situation can be avoided if a client joins this new freelance platform. Prices will be offered by freelancers automatically after clients post new jobs. In order to increase the chance of getting the job, some freelancers would set the price to be economical. The bargaining aim of clients can be achieved without involving the bargaining process. 11
6. Design and Procedures 6.1 High-level Use-case 6.1.1 Main Success Scenario 1. Client posts a job for free. 2. Freelancers apply for the job. 3. Client chooses a freelancer. 4. Client and freelancer establish an agreement. 5. Client pays full money to the platform which is an intermediary. 6. Freelancer starts working. 7. Client and freelancer maintain communication during the working period. 8. Client satisfies the product from freelancer. 9. The platform transfers money to the freelancer. Figure 5: Flow diagram of the Main Success Scenario. 6.1.2 Extensions 8a. Client wants to add additional requirements and willing to pay for extra fee to the freelancer. 1. Client asks for the agreement from the freelancer 2. Client creates a new job available only for that freelancer 3. Back to step 5 9a. Conflict: client is not satisfied with the product delivered by the freelancer 1. Freelancer or client applies for a judgment. 2. The staff judge the conflict based on their agreement established. 3. The staff decide the ratio of payment returned to client and freelancer. 12
6.2 Technical Approach LAMP stack model is chosen for the server and Android platform is selected for the mobile application. LAMP is a collection of four free and open-source systems designed for web development, including operating system Linux, web server application Apache, database management system MySQL, and server-side scripting language PHP. Our platform will be build on top of the stack. PaylancerHK (User application) PHP (Server-side scripting language) Apache (Web server application) MySQL (Database management system) Linux (Operating system) Figure 6: The LAMP stack model. In addition, HTML, CSS and JavaScript will be used to implement the web UI of the platform. Java will be used to implement the client-side logic on Android Application, with the layout specified by XML. Languages Type of language Aims PHP Server-side scripting language Implements server-side logic Core functions Handles request from client-side Generates dynamic contents of web pages (including HTML, CSS, JavaScript) to client HTML Markup language Describes web page structures Web page contents 13
CSS Stylesheet language Presents styles of web pages Enhances user experience JavaScript Java Client-side scripting language for HTML pages Client-side programming language for Android Implements client-side logic on web pages Implements client-side logic on the Android application XML Markup language Layout description for the Android application Table 1: Languages used and their aims. These are all open-source software and tools. One major advantage of using open-source software is that they are free, thus reduces cost. It can be highly customizable as compared to closed-source software. In addition, huge amount of resources are available for open-source software, which would be a great benefit for self-learners. 14
6.3 Database Design Diagram Figure 7 shows the design of the database tables. A line joining two tables indicates that there is a foreign key in one table referencing to the primary key of another table. Figure 7: Database Design Diagram. 15
6.4 Web UI Design Figure 8: User interface for viewing jobs. Figure 9: Sample of a job description. 16
Figure 10: User interface showing the applied freelancers of a job. Figure 11: Preview of artwork by moving the cursor to a thumbnail. Figure 12: User interface showing the notifications, highlighting unread notifications. 17
7. Risk, Challenges and Mitigation 7.1 Business Risks 7.1.1 Number of users are insignificant Some users may not trust the platform that act as intermediary, thus refuse to use the platform. This could cause the number of users, and also number of jobs and matches available, drop or stay at a minimal level. Subsequently the efficiency of job matching is highly decreased. Therefore the illustration sector is focused on first. The reason is that it has a significant number of jobs. In each job nonetheless a relatively small payment is involved. On the other hand, the platform will be promoted and advertised online by various means, for instance, social media will be utilized. 7.1.2 Service charges of online payments Many online payment services collect service charges from the payment. For example, PayPal requires 3.9% of the payment amount with additional $2.35 HKD for local online payment in Hong Kong. In this case, payment methods may be limited because our platform aims to keep the amount of money paid to the freelancer as much as possible. Accordingly we allow customers to either make an online bank payment, or pay additional service charge corresponding to the payment method. 18
7.2 Technical Challenges 7.2.1 Inconsistency between two platforms We also faces the inconsistency in terms of interface and functions between web UI and mobile UI. It is because the developing languages and tools for two UIs are different. It causes two major consequences. First, the cost of development and maintenance increases because two sets of developers are required for developing and maintaining two UIs. Second, User may feel confused when the interface and functions does not match across the two platforms. Therefore measures should be taken in order to maintain consistency. First, an API will be set up to ensure all core functions are implemented in the API on the server-side, as illustrated in Figure 13. Both web UI and mobile UI can only call the same set of functions, in order to avoid functional inconsistency. Figure 13: All the core functions are implemented on the server-side. They can be called only through the API regardless of the UI used. 19
Second, an UI flow independent to the platform is designed. Both platforms should follow the same logical flow under the UI level. Although the layouts for web and mobile UI are different in order to fit their respective screen size and orientation, their logic flows are the same, as shown in Figure 14. Therefore interface inconsistency can be avoided as much as possible. Figure 14: The flow diagram of web UI and mobile UI. Although their layouts are different, their logic flows are the same. 7.2.2 Limitation on web storage space Online storage space is limited. If too many files, especially images and videos, are uploaded to the server, it is possible that the storage space is used up. Consequently new data cannot be added to the web server. Therefore a maximum amount of storage space will be allocated to each account to limit the size of multimedia files. In addition, multimedia files will be compressed before storing on the server permanently. 20
8. Schedule Date 4th October, 2015 October to November November to December 24th January, 2016 January to April 17th April Tasks Deliverables of Phase 1: Inception Project plan Project website System Design Research on freelance works and creative jobs Gather user requirement System architecture design Development of demo system Database design Implementation of core functions Web UI design Deliverables of Phase 2: Elaboration Interim presentation Interim report Extension and elaboration of the system Additional functions and features Optimization, testing and debugging Implementation of Android version Deliverables of Phase 3: Construction Final report Final presentation Table 2: Schedule of the project. 21
9. Conclusion We have introduced an approach that ensures freelancers can be financially rewarded, and is widely taken by different online platforms. This report describes some key features of the platform, including the bidding approach which allows client to offer a range of budget and freelancers to offer their price within that range, resulting in a more efficient job matching. One major risk is that user may refuse to use the platform because there is difficulty in building up trust. Therefore we set illustration as our start-up target. A crucial avenue for future work is to extend the system to other sectors of creative industry. The current platform only focuses on illustration sector as a starting point. We will extend to other sectors of creative industry if we make a success in this sector. We sincerely wish the new platform could encourage people to participate more in creative industry of Hong Kong. 10. References [1] AnyIdea.hk [Internet]. Hong Kong: AnyIdea; [updated 2015 Oct 19; cited 2015 Oct 19 21]. Available from: http://www.anyidea.hk/ [2] Freelancer.com [Internet]. Australia:Freelancer; [updated 2015 Oct 19; cited 2015 Oct 19 23]. Available from: https://www.freelancer.com/about [3] The Webby Awards [Internet]. USA: The International Academy of Digital Arts and Sciences; [cited 2015 Oct 19 23]. Available from: http://www.webbyawards.com/winners/2015/websites/generalwebsite/employment/freelancer com/ 22