This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Implementation is one of the most important phases of application development and it is the stage where the designs which have been completed earlier are actually developed using a programming language and the system is given a shape. Here the developer actually starts to write the code of the system in the programming language mentioned beforehand. The system is coded keeping the designs in mind. It is one of the most important parts of the system development life cycle.
After connecting and registering with the proxy servers, the next step would be to create a client library for connecting and managing the various sockets and APIs of the different social networking websites. This is supposed to be one of the most difficult phases of the project because the API environment of many social networking websites are extremely dynamic and hence they need to be taken into consideration and the developer has to constantly go through the documentation of the project to understand the latest changes which have been introduced by them.
Now the developer also needs to register the Social Express application with the web sites so that they allow it to access the personal data of the user who will be accessing the account.
Now the developer needs to make the application connecting it to a single social-networking website in accordance with the prototyping model chosen earlier. After the successful built of the first project, the other projects integrating multiple social-networking and chat applications could be done.
Now the developer needs to develop the forms and decide the events which the users will be using for the various functionalities.
After completing above stated module, developer can start the making of normal forms and controls on the pages.
The developer can now begin to program the various events of the forms on which the required functions will be performed over the proxy servers or via the client library.
The developer now can begin to develop the customization part of the system.
After completing all of this, the developer will look towards creating DLLs and creating the setup of the application and entering the hard coded application tokens for the project. These will be used to connect the application to the social networking websites.
6.3 Implementation Problems
Making the designs of any project might be deemed as a very tough task as each and every step needs to be properly planned out beforehand. Therefore developers are always suggested to be prepared with some contingency plan to tackle the problems that might come under way during the development process. However, no amount of planning can prepare us for the problems that we might have to face during the implementation phase. Such problems can only be found out and rectified by the help of proper testing of the application. During the development of Social Express also the developer faced some severe technical problems which were seemingly becoming extremely tough to get over. Some of them have been mentioned below:
Extremely Rigid Security: Some social networking websites provide APIs and sockets for the developers, but their security is extremely rigid which hinders the process of project development for the developer. To take an example, Facebook provides the APIs for communication with it but because of its extremely tight security features, a slight mistake conducted on the part of the developer cause Facebook to block the application coming from the particular ip address for a particular amount of time delaying the entire project development process.
Lack of Multiple Features: This also happens to be one of the restricting features of many social networking websites. It causes the developer to cut down on the number of features or facilities that he had thought of providing earlier.
Performing Complicated Features on a Client: Because the social networking websites are all web applications; therefore, this desktop application to perform all the functions of the website became a bit too far-fetched a thought to implement. Therefore the system will stick to performing basic functionalities of the application.
6.4 Implementation Modules
6.4.1 Connect to Facebook
Start Date: 5th December 2010 End Date: 9th December 2010
Trying to connect to Facebook was the first piece of code written by the developer. After examining the documentation of Facebook and the various APIs provided by it, the developer decided to start the project with a simple act of trying to connect to Facebook.
Because any activity which would be performed on Facebook would require the user to first connect to the Facebook, therefore the connection establishment was the core of all the features to be performed using Facebook.
188.8.131.52 Problems occurred during Connect to Facebook module implementation
The authentication token generated by the application was extremely important to carry out the procedures of the application, but the developer while going through the documentation forgot to create the authentication token for the application. Hence the system gave the following error:
This happened because the session key is generated only when the authentication token has been created. Thus after creating the authentication token for the application, this problem was resolved.
184.108.40.206 Pseudo code for the Connect to Facebook Module
Step 1: Enter the API key and the secret key of the application which has been registered by you.
Step 2: Create an authentication token by calling the methods of Facebook and passing the entered API and secret key as parameters to that procedure call.
Step 3: Create a Session key for the session and receive the new secret key sent out by the application.
Step 4: Open up a web browser for the user to log into his personal Facebook account. Pass the authentication token as a parameter for Facebook to uniquely identify the user and register the application.
6.4.2 Fetch User Data from Facebook After Connection
Start Date: 10th December 2010 End Date: 15th December 2010
After a connection has been established to Facebook via the application and the user has logged into his account, the next step was to fetch data from the profile of the user. Though this might seem to be an easy task especially after successfully connecting to Facebook, it is one of the most difficult tasks that lie ahead in the path of the developer. It is solely because the nomenclatures used by the Facebook Team are quite different from the standard nomenclatures used by developers, this is primarily done keeping in mind security and privacy concerns.
220.127.116.11 Problems found during the fetching of data from Facebook
One of the most important things that had to be kept in mind was the studying of the Facebook Developers documentation to understand the unique variable names of different properties of a profile as well as to understand the way in which the variables are written. Also the developer of any application regarding Facebook needs to understand the markup of the application as well as understand the implications of those markups on the application and the type of application being developed. While fetching the data the problem that the developer faced was the use of appropriate variables while fetching the data from Facebook. The developer unintentionally sent the request to fetch data with variable names different from those used by Facebook and hence it led to the application throwing exceptions.
As visible in the screenshot, no data was fetched from the Facebook application even if all the credentials and details entered by the user were correct. After a lot of research and meticulously spent hours, the developer realized that the variable name written was not in proper format and hence had to be corrected. After the correction the application worked just fine.
18.104.22.168 Pseudo code for the Display of user profile of Facebook
Step 1: Connect to Facebook (As mentioned in the topic 22.214.171.124.3)
Step 2: Call the Facebook Service to return the data from "Facebook.users"
Step 3: Receive the data sent by the service in the XML format.
Step 4: Extract the relevant pieces of information marked by the relevant profile attribute and then display it to the user.
6.4.3 Retrieve the data from Twitter
Start Date: 20th December 2010 End Date: 29th December 2010
One of the most primary concerns while dealing with the Twitter APIs was the extremely strict authentication procedure used by Twitter which was OAuth. In the case of Facebook, the developer atleast had the option to prevent the user from entering the login credentials each and every time he or she wants to access his or her account. But in case of Twitter, the user had no such option through which it could allow the browser to remember the entries made by the user as his credentials. This extremely rigid part will make it a bit cumbersome for the user to enter his or her login credentials every single time he or she uses Twitter via Social Express.
126.96.36.199 Problems faced during Retrieval of data from Twitter
Before the retrieval of data begins a class for Twitter operations has to be formed just like the one for Facebook and it has to be ensured that the class is built in accordance with the architecture and nomenclature of the Twitter API model. But because there are a few differences between the Twitter and Facebook API, the developer found himself to be in an unknown domain and was facing some sort of problems during the process.
This Twitter error was displayed while the program attempted to retrieve the list of all the followers of the logged in user. This error occurred primarily because of the incorrect number of parameters that had been passed into the Twitter.Followers method. After going through the documentation and reading out the parameters that were expected by it, the application was working absolutely fine.
188.8.131.52 Pseudo code for the Retrieval of Data from Twitter
Step 1: Connect to the Twitter API using the OAuth authentication module.
Step 2: Pass all the token details about the application to Twitter.
Step 3: Retrieve the session key generated by Twitter for that particular user.
Step 4: Fetch the Tweet list for the user.
Step 5: Display the list to the user in a Textbox for easy understanding and readability.
6.4.4 Google Talk Chat Messenger
Start Date: 5th January 2011 End Date: 10th January 2011
Google Talk is one of the most widely used Instant Messengers used in today's times. Therefore, the developer thought it to be appropriate to incorporate it into Social Express to give the users a full on Social interaction via the application and eradicate the use of a browser to a greater extent.
184.108.40.206 Problems found during the implementation of the Google Talk module
One of the first and foremost problems faced was that Google does not provide direct services to the application developers when it comes to sharing its Google Talk resources. Instead it shares its information and services on some of the popular IM servers like Jabber Â® and XMPP. Then the developers are supposed to use the APIs and methods given by these servers to gain indirect access to the user's Google Talk account. Thus the problem which generally crops in is the selection of the best server as well as to understand the documentation of each of these servers. Also the information regarding the correct chat server address of Google talk is extremely crucial because the correct address would allow jabber to connect to that particular server.
As is visible, lack of proper knowledge regarding the correct server name for Google Talk led the application to throw an error which was handled in a try catch and displayed in a message box. This error was rectified by finding out the appropriate name of the chat server of Google and then using it as the server name for the Jabber API.
6.5 Pseudo Codes for Important Modules
6.5.1 Pseudo Code for Connect to Facebook Module
Step 1: Enter developer's api key and secret key number
Step 2: Pass this information to the Facebook service for verification and to retrieve and authentication token.
Step 3: Open up a browser window to ask the user for his login details
Step 4: If the login is successful, retrieve the session key for that particular user which will be used for communication and also the new secret key which will be used by the desktop application for communication throughout the entire session.
Step 5: If Successful, end else repeat the steps.
6.5.2 Pseudo Code for Uploading Pictures onto the Twitter account.
Step 1: Open the login screen for the user to log into the Twit Pic account via his Twitter credentials.
Step 2: On successful verification of the login, open an openfiledialog for the user to browse and search for the pic to upload.
Step 3: Pass the file path, caption text, username and password of the user onto Twit Pic and display the success message on the completion of the upload.
6.5.3 Pseudo Code for sending and Instant Message using the Chat Application
Step 1: Select the friend to send the message from the friend list
Step 2: On selection of the friend, get the unique user info about that particular user like his ID and instantiate an object of the Chat window class.
Step 3: Pass on the credentials of the user like his name to display on the screen
Step 4: Monitor the keypress event of the chat textbox and search for the press of the Enter key.
Step 5: On the detection of the Enter key being pressed, append the entire content of the chat textbox, add it to the textbox displayed above along with the name of the user, upload the string to the chat server along with the id of the recipient on the receiving side.
Step 6: Clear the chat textbox.