3 Best Video Editing Software Used By Professional Video Editors

Digital technology has advanced significantly over the years and this has made it easy for people to access quality video editing software. It is now possible to turn any video into a masterpiece using one of the software options available. The best video editing software offer import/capture, exporting, and editing options. These are basic features that software should have to allow effective editing. But the best software offers more than these basic functions. Here are some of the three main options you should consider.

Final Cut Pro

One of the best features in this video editors software is the inclusion of libraries. The libraries make it easy for you to group all your projects and activities in a single place. It also allows you to have multiple libraries, which you can open and close when necessary. The software has a backup option to store your files on a hard drive or cloud storage.

It comes with Project Snapshots, a feature that allows you to capture your edits. This additional editing functionality makes it easy to revise images. It also provides third-party plugin support and flexible media management.

One of the drawbacks is that you need to manage collaborative workflows carefully. In addition, it features a simple design that can make it easy for you to overlook advanced features.

Adobe Premiere Pro

This editing software has all the features you expect to find including a variety of tools, media bins, and timelines but what sets it apart from the other options is the fact that it is designed to meet every editor’s specific needs. It can be customized to suit the needs of a particular project.

It is an ideal choice for experienced video editors because it caters to their nuanced needs. A good example is the fact that this software allow you to make alterations and add effects to footage that is in a media bin. It also comes with a JKL editing tool that makes it possible to trim and scrub footage simultaneously.

Its disadvantage is that its motion-tracking masking tends to be slow. Another drawback is that you can only update text in the After Effects option.


This editing software stands out from Final Cut Pro and Adobe Premiere Pro because it is designed for film and standard broadcast formats. This means that it is only possible to edit in broadcast resolutions. Some multimedia professionals may find this limiting.

It comes with Avid Media Access (AMA) that makes it possible to reference clips when they are in their original format. But this feature is not always reliable.

Applying Process in Software Development: Practical Definition (Part 1)

When talking about process in software development, the first word that comes into your mind is SDLC (Software Development Life Cycle). If you ask any software engineer about this acronym he would quickly describe it to you and most probably list all of its phases because simply it is a mandatory course in any university and all you have to do is just memorize the phases in order to pass it.

I choose to start my series of articles through talking about process because I believe that it is the key factor of success for any software company and most importantly because I believe that most software developers don’t even know how SDLC is practically applied.

In this article we’re not going to give logical definitions for each phase and the several implementation models, however we’re going to describe in details the practical process of each phase starting from signing a deal with a new client until launching the system live, the same would happen when maintaining an existing system for an old client.

SDLC in practice
After several meetings between the sales department and the stakeholders, the client finally gets excited about the project and starts imagining how simple his life will be after buying it, so here it comes the new deal and the typical development cycle begins.

1. Requirements gathering & analysis
After signing the deal, a project manager (PM) is assigned to the new project in order to interact directly with the client and discuss with them the expected behavior of the system. The client list all their requirements, the expected functionalities, input/output of the system and the type of users who will be using the system, the PM in turns gathers their requirements and discusses them with the responsible team leader who will be leading the design and development phases.

The team leader and the PM start analyzing every requested feature from technical and business perspective until they end up approving the feasible ones and providing the best practices and business alternative solutions to the unfeasible ones. The filtering of the features normally happen due to several factors: lacking resources, time estimations, technical feasibility and financial stuff.

At the end of this phase, the client and the PM should have both decided what are the required features in the new system in addition to the implementation methodology (Agile, waterfall…) though most software companies go for Agile nowadays. Finally they write all the requirements in a document called FSD (functional specification document).

2. Design
At this stage, it is clear what development platform will be used for implementing the system, this is decided in the first phase based on the client’s budget and resources (OS, memory, storage… etc). During this stage, the team leader builds a team of developers and starts splitting the requirements into smaller modules and tasks so that he assigns them to his team.

When the developer receives a task, he should do the following:

Files a new record in the company’s tracking system in order to keep track of the status of the task and for future reference.
Starts analyzing every single point in the task so that he returns back to his leader when facing any unclear scenario.
When everything becomes clear for him, he starts thinking of the solution design which defines all the components that needs to be developed,the communication between components, the required third party libraries, the database communications as well as the front-end representations and behavior of each component.
The solution design should be perfect enough to match the best design principles, keeping in mind that every single component is going to be maintained later on in the future.

Based on the size of the task, the design is either written in a well-formatted design document or in an email and sent to the leader for review, companies mostly prefer that the architectural designs be written in a well-formatted design document because it will be a reference anytime a big enhancement arrives at the system.

The leader in turns should be aware of the business and should be able to predict if developer’s solution would affect their product in the future based on his understanding of the business, and also he should be professional enough to suggest better technical or architectural solution if the developer doesn’t propose the perfect one.

If the requirements are too much and there are a lot of tasks, then obviously the team leader would not be able to handle assigning tasks to all developers and reviewing their solutions at the same time, so normally the team leader assigns multiple sub leaders to handle the solution reviews and task assignment and he only manages them from the top and handles the communication with the PM and the client.

At the end of this phase, all solution designs of the project are reviewed and approved and most importantly documented for later usages.

This is the most important phase in the development cycle, since a good architecture would make the system live longer and be ready for future maintenance.

3. Implementation
Now that the developer has the approved solution design in his hands, so all he has to do is to start coding using the convenient development tools and the best coding conventions.

After finishing the implementation, the developer should write unit tests which cover his code and validates the business scenario of his task, in addition to that he is also asked to run manual tests on the basic scenarios before sending the code for review to his leader.

The leader reviews the code and makes sure that it matches the company’s coding conventions and best practices. He would add his comments (if any) and ask the developer to submit the code to the version control system (the system which stores the history and the versions of the source code).

4. Testing
Every implemented task should be submitted to the QA team who ensures that the business scenario behind the task is perfectly covered.

The assigned QA engineer should execute the test cases and scenarios related to the task and ensures that all scenarios pass successfully, The QA engineer would do 3 different tests:

Functional test: make sure that there are no functional bugs in the task being delivered.
Integration test: make sure that the new scenario integrates well with other modules and the whole workflow works perfectly.
Regression test: make sure that the task doesn’t corrupt or affect old functional scenarios.
The testing could be done either manually or dynamically through testing automation tools.

5. Deployment
After finalizing all the tasks, the system is now tested well, packaged and ready to be deployed at the client’s servers. The release is first deployed on the test server and tested well by the support engineers to make sure that all business needs are reflected.

After that, UAT (user acceptance testing) sessions are done between support engineers, PM and the client’s users in order to get the end user acceptance before publishing, in this phase several training could be done to the end users in order to make them familiar with the system.

After publishing the system, normally bugs would still appear and change requests would also rise, hence the above development cycle starts again until the client believes that the system is stable enough and exactly matches their needs (Although client requests would never end ).

Finally, process is very important in software engineering and most big companies tend to apply it strictly in their development due to its importance in organizing the work and building a successful product. Please refer to “Applying process in software development: live impacts (Part 2)” if you are interested to know more about the advantages of process and the negative impacts of neglecting it, in the second part I elaborate the basic problems which companies face when they choose to not apply process.

Building the Professional Library Infrastructure in Sierra Leone


Developing countries are characterised in one way by shrinking economies. Sierra Leone is one such country that despite government and donor support, education has been a major challenge. The situation has been worsened, due to the fact that libraries have been neglected. According to the African Development Bank (ADB) Sierra Leone Country Office (2011), the total funds provided for education by the ADB/ADF finances up to 2010, was about US$ 22 million. The project supported the construction of Ninety Eight (98) primary schools, Fifty Four (54) Junior Secondary Schools (JSS), Eight (8) Vocational Skills Training Centres and Twelve (12) duplex housing blocks for teachers. The project also provided training for Four Thousand and Fifty (4,050) teachers. Teacher manuals were also made available. However, nothing was ever made available for library development. This neglect of libraries, means that libraries in Sierra Leone with limited resources, have to work together in order to meet the information needs of their users. One library may not be able to effectively and suitably meet the information needs of all its users. Library cooperation is therefore, urgently needed.

Library Scene in Sierra Leone

The country has all the different types of libraries; they range from public, academic, special to school libraries. In addition to these are information and resource or documentation centres that provide library and information services. Furthermore, there are museums, such as the National and the Peace Museums, and the National Archive which also provide information services.

However, the Sierra Leone Library Board (SLLB) which was established by an Act of Parliament in 1959 serves as the domain of the provision of library and information services in the country. It functions as both the National and a Public library. To date it has a Central library and headquarters located in Freetown, Regional branches in Provincial headquarter towns, and branches in all District towns, totaling twenty one (21) libraries [One (1) central and headquarter library, three (3) regional libraries, sixteen (16) branch libraries, and two (2) sub-branches].

Libraries in Sierra Leone are therefore, institutions for the storage and dissemination of information; are for users; they provide users with guides and other finding lists; they provide adequate access to the documents or records users may wish to consult; they have subject arrangement; and they are cost-effective.

Library Cooperation

The term cooperation describes the joint action of two or more parties for mutual benefit. Library cooperation means exchanging cataloguing records, building complementary collections, exchanging library materials by inter-library loan and document delivery service, joint purchasing of library materials or automated system, providing services to each others’ users. Library cooperation is also described as an agreement, combination, or group of libraries formed to undertake an enterprise beyond the resources of any one member.

There are different types of cooperative activities and some of the most popular activities are reciprocal borrowing, union catalogues or lists, photocopying services, cooperative reference service, delivery services, cooperative acquisition arrangements, subject specialisation in collection development, centralised cataloguing and card production, as well as central storage of materials.

Burgett, Harr and Phillips (2004) asserted that there is evidence that cooperation among libraries to share resources goes back to a long way, at least to the first half of the 13th century, when monasteries developed what we would today recognise as union catalogs of manuscripts to aid in their scholarly activities. Musana (1991) indicated that information resource sharing has been in existence as long as libraries and other types of information services. The existence of a library is itself a form of cooperation. Many libraries came into existence because a group of individuals with a common desire and aspiration wanted to put a collection of materials together for use by the group members. Historically, the driving force behind the evolution of resource sharing concept was the desire to satisfy the felt needs of the user population. Earlier, each library was an entity, serving or trying to serve the needs of its own users and purchasing materials to meet their primary needs.

Beenham and Harrison (1990) however noted that a combination of circumstances made it increasingly difficult for an individual library to be self-sufficient. These circumstances include:

a tremendous increase in knowledge and a corresponding growth in publishing;

the spread of education from primary to university level which lead to greater and more diverse demands on the public library services by a much more literate public;

the advance of technology with its effect on industry and commerce and the necessity for employers and employees to develop new skills and techniques; and

increased opportunities for travel and international economic cooperation, which demand up-to-date information about foreign countries.

Existing Library Cooperation in Sierra Leone

There has been increased pressure for libraries in Sierra Leone to cooperate, including plans to create networks thereby making way for resources to be available to users. As such what has obtained is as follows:

Lending of materials – libraries lend materials to each other officially and unofficially to help their users;

Donations – large libraries donate to smaller libraries materials mostly books for their users;

Photocopying – these are available in most libraries. The lending library will copy the needed material and send a copy to the requesting library without having to send the original;

Exchange of cataloguing data – cataloguing data is given to other libraries. The Sierra Leone Library Board (SLLB) provides its data to school libraries that cannot do this technical work properly.

There have been some benefits with these kinds of cooperation existing in the country:

Availability and access to information – there has been significant reach to information by users, since other libraries’ resources can be tapped from;

Lower cost – funds are saved due mainly to the fact that some expensive materials are not purchased as long as they are accessed in another library;

Experience sharing – the exchanging of staff and information provides a platform for learning from each other, especially with cataloguing data; and

Collection development – each library tends to build its collection to the maximum point, narrowing the focus, and at the end building a strong collection.

Notwithstanding, the real benefits that such cooperation should bring about have not been fully realised. Thus, there are certain steps that libraries should take to make this workable.

Building the Infrastructure of Cooperation

The following are essential steps to be taken into account for an efficient cooperation between libraries in Sierra Leone if significant achievements are to be made.

Ensure common understanding and trust. There must be an established better working relationship among and between libraries where common understanding and trust are built up. A continued interaction and exposure of one another’s resources must be maintained. This can be done by sharing of expertise and experience, signing of Memoranda of Understanding, dialogue to allay fears, and to respect what each party can offer. Exchange of staff if necessary must be done.

Learn from advanced libraries. Furthermore, lessons can be learnt from how other national and international cooperation is being conducted. Cooperation is not a day event but something that must be encouraged and built upon. There must be room for trial and error as well as correction of past mistakes.

Management must provide the leadership. Each library management must take upon itself to lead the process successfully. There must be the political will and the willingness to share resources, as well as prioritising the move towards cooperation. Management must be willing to make positive compromises to reach the desired goal.

Networking and collaboration. The move towards cooperation should not be a one man show. Cooperation can consist of voluntary agreement among libraries, or it can be imposed on libraries by Library Laws or by responsible ministries that fund libraries. It is essential that the participant libraries be willing to work together towards common goals.

Provision of funds. One of the benefits of cooperation is to save cost. However, every library must provide funds for the processes involved. This is particularly so for processing and technical services functions. These must be taken care by individual libraries. As such funding should be provided.

State intervention. In the context of the developing countries state intervention would be called for to enable coordination of a nation’s total library and information resources and ensure adequate funding. This is particularly important given that on the whole libraries in Sierra Leone do not have large enough capital base of their own to invest in such equipment as computer hardware and software, and telecommunications. However, state control must not be allowed to exceed co-ordination as this may to some extent have an effect on the zeal, initiative and the goodwill of participating libraries, institutions and the individual professionals.

The Challenges in Building the Infrastructure of Cooperation

In spite of the benefits accrued in cooperation, there are real and perceived challenges, which, unless properly dealt with, could minimise the chances of even the best conceived scheme taking off. In Sierra Leone, these are:

Overcoming the culture of hoarding – the culture of greed and selfishness that has eaten up the very fabric of society. This has affected even library practice. Libraries are to amass information for the general good of the society.

Limited collections – where participating libraries have not built up their collection to a minimum standard to allow for exchange, they are to grow their collections to some measurable status to ensure fair participation.

ICTs infrastructure – the marked lack of sufficient Information and Communication Technologies (ICTs) is a worrisome issue for cooperation in this 21st century.
Purchasing and installation of ICTs is very crucial, as well as the education and training of staffs for use.

Staffing – some of the participating libraries have untrained and unqualified staff as a major obstacle. Also, most staff are concerned about their status, efficiency, job security, salaries, and autonomy or independence, and this has affected the synergy. If the fears of staff are to be dispelled through proper sensitisation and education, capacity building also must be undertaken.

Management – management must take decisive steps towards cooperation.

In conclusion, information to libraries is as money to banks; it is an indispensable input in the development process of the nation. However, to be effective it has to be optimally available and accessible from every corner if possible. Library cooperation if properly planned and executed offers a solution to a lot of problems faced by libraries, librarians and other information professionals in developing countries as Sierra Leone. Valls (1983) has provided the last words, “cooperation between information centres and the co-ordination of efforts needed to efficiently share resources implies the existence of an infrastructure linking the centres to one another.” This library infrastructure must be built up as it would assist in fostering self-help, exchange information, change society, improve productivity and work life, and share resources.