SlideShare a Scribd company logo
1 of 41
ENHANCEMENT OF FACEBOOK FEATURES                            BY: PARIN  SHAH
FEATURES PHOTO - EDITING APPLICATION  TEMPORARY ONE TIME PASSWORD TO ACCESS FACEBOOK ACCOUNT FROM PUBLIC MACHINE APPLYING WATERMARK EFFECT TO THE PHOTOS. PHOTO VIEWING APPLICATION.
TOOLS	 MICROSOFT VISUAL STUDIO 2008 INTERNET INFORMATION SERVER (IIS) AJAX CONTROL TOOLKIT NEODYNAMIC IMAGEDRAW TOOLKIT .NET FRAMEWORK 3.5 FACEBOOK API
SELF DESIGNED MODULE DESIGN PAGES OF  ALL MODULE. FILE UPLOAD MODULE. TEMPORARY PASSWORD GENERATOR AND SENDING THE PASSWORD  TO USER. PHOTO VIEWER, PHOTO  SLIDESHOW. PHOTO EDITING FUNCTIONS LIKE SHARPEN,EMBOSS. PHOTO COLLAGE
OPEN SOURCE MODULE BUT MODIFIED W.R.T.  APPLICATION CALLOUT IMAGE PHOTO-EDITING FUNCTIONALITIES LIKE         1.) ADJUSTING SATURATION, HUE, BRIGHTNESS,               GAMMA, CONTRAST      2.)  ROTATING & FLIPPING IMAGE,      3.)  PERSPECTIVE AND REFLECTION OF IMAGE      4.)  CREATING BLACK & WHITE , SEPIA IMAGE CROPPING PHOTO.
ARCHITECTURAL STYLE I have chosen the FOUR-TIER ARCHITECTURAL style for my project.  My project involves using the Facebook through Computers, Mobile Devices, etc. So the application requires different version of interface for every user.  So my interface layer is decomposed into a Presentation Server Layer and a Presentation Client Layer.  Forms shared by all types of users in Presentation Client Layer are then processed in the Presentation Server Layer thus removing the redundancy across different clients like Computer User, Mobile Device users.  And then the data from all clients is stored and processed in a single storage system.  When the client requests any data the Application Logic provides the connection with the storage layer and then the query are processed and then the Presentation Server Layer presents the data to Presentation Client Layer. This Presentation Client Layer depending upon the client presents appropriate forms, user interface, etc.
ARCHITECTURAL STYLE      Presentation Client      Presentation Layer      Application Logic        Storage Layer
Subsystem for photo-editor and applying various effects  INTERFACE LAYER   :            (A) PRESENTATION CLIENT LAYER                 1.)  UPLOADPHOTOPAGE.                                                                                          2.) CHANGE SETTING FOR PHOTOS.  APPLICATION LOGIC LAYER :         1.) SELECT PHOTOS TO UPLOAD.         2.) APPLY VARIOUS PHOTO EDITING EFFECTS.        3.) ADD PHOTO PROCESS   STORAGE LAYER :                    1.) USER’S PHOTO ALBUM DATABASE.
Subsystem for photo-editor and applying various effects
COMPONENT DIAGRAM
COMPONENT DIAGRAM
DEPLOYMENT DIAGRAM
DEPLOYMENT DIAGRAM
Access control matrix Access control matrix for the photo album module, modifying the photos of the user, sending temporary password and for various user settings.
DESIGN PATTERNS PROXY DESIGN PATTERN FACADE PATTERN MODEL VIEW CONTROLLER PATTERN
 PROXY DESIGN PATTERN Provide a surrogate or placeholder for another     object to control access to it.  Facebook User Photo-Editor +EditingFunctions Real Image Class Proxy Image Class  Real Image +EditingFunctions +EditingFunctions +RealImage.EditingFunctions
PROXY DESIGN PATTERN The classes  participating  in this pattern are:  Proxy Image ,[object Object]
Proxy may refer to a Photo-Editor if the Real Image and Photo Editor interfaces are the same.
It provides an interface identical to real image so that a proxy can be substituted for it.
Moreover it controls access to the real image.Photo-Editor ,[object Object],Real Image ,[object Object],[object Object]
It reduce dependencies of outside code on the inner workings of a library and allows more flexibility in developing the system.
It wraps a collection of various APIs like Facebook API, Image Draw API with a single well-designed API for our application.,[object Object]
MODEL VIEW CONTROLLER PATTERN *The model manages the behavior and data of the application domain, responds      to requests for information about its state (usually from the view), and responds    to instructions to change state (usually from the controller).  *Also  the model notifies observers (usually views) when the information changes     so that they can react. *The view renders       the model into a     form suitable for     interaction.  *Multiple views can      exist for a single      model for different       purposes.  *A viewport typically     has a one to one            correspondence       with a display     surface and knows     how to render to it.   MODEL * The controller receives user input and initiates a response by making calls on model objects. A controller accepts input from the user and instructs the model and viewport to perform actions based on that input. VIEW CONTROLLER
MODEL VIEW CONTROLLER PATTERN In the model view controller pattern we have the business logic separated from the view and controller module.  In this application we have the image editing functions separate from the view photos and photo preview function.  We have the various functions like crop_image(), sharpen_image(), etc in the photo_editor functionality whereas the photos and user photo album class contains various other details of the photo and its viewing details.
MODEL VIEW CONTROLLER PATTERN
MODEL TRANSFORMATION
Interface specification  ,[object Object],    rotate, crop, sharpen, etc.  ,[object Object],    method view_preview_window().  ,[object Object],    methods like crop_image(), sharpen_image(), rotate_image(),     auto_size_image(), etc are called depending upon the      HTTP request of the user.
Mapping contracts to exception context Photo_Editor:crop_image(x,y) pre: user.photo.album.photo.viewOnCanvastrue 	contextPhoto_Editor:crop_image(x,y) post: user.photo.album.photo.savemodifiedimage(boolean)   context Photo_Editor:rotate_image(angle) pre: user.photo.album.photo.viewOnCanvastrue 	contextPhoto_Editor:rotate_image(angle) post: user.photo.album.photo.savemodifiedimage(boolean)    context Photo_Editor:sharpen_image(value) pre: user.photo.album.photo.viewOnCanvastrue 	contextPhoto_Editor:sharpen_image(value) post: user.photo.album.photo.savemodifiedimage(boolean)   context Photo_Editor:view_preview_window() pre: user.photo.album.photo.pathselected(path) 	contextPhoto_Editor:view_preview_window() post: user.photo.album.photo.view(picture)
Mapping contracts to exception contextPhoto_Editorinv:  photos_editor->forAll( Img:Image | Img.load(true) and Img.save(true))    context UserPhotoAlbuminv: photoAlbum->forAll(PA : Photo_Album | Pa.create(true) and pa.notPresent(true))   context Photos inv: photosforAll(p:Photo | p.addPhoto(true) and p.dwnloadDisable(true))    
Interface specification  By use of this class the user’s request for temporary password would be fulfilled.  ConfirmIdentity()- Authenticates the user and its request. generateRandomPwd() - System generates a random password and 			            initiates mobile messaging module    After the identity has been confirmed  configureUserMsg()- The message is configure through by the generated 		      password and user details
Mapping contracts to exception contextMobileMessaging : generateRandomPwd():String pre: isIdentity->true 	contextMobileMessaging : generateRandomPwd() post: MobileMessaging.isCorrectPwdGenerated(pwd).   contextMobileMessaging : SendPassword() pre: receivedMsg(msg) 	contextMobileMessaging : SendPassword() post: Password.Send.Identity(User)   contextMobileMessaging : ConfirmIdentity() pre: user.details->includes(list) 	contextMobileMessaging : ConfirmIdentity() post: userIdentity(list)    contextMobileMessaging : RetrieveUserDetailpre: User.Enter.Answers.->include(list) 	contextMobileMessagin : RetrieveUserDetailpost: User.Message.Match.Compare(list,entered value)true contextMobileMessaginginv FacebookUsers.access->forAll( FacebookUsers.registered(self))  
MAPPING OBJECT MODELS T0 A PERSISTENT STORAGE SCHEMA A Schema is a description of the data, that is, a meta model for data. A Primary key of a table is a set of attributes whose values uniquely identify the data records in a table. Sets of attributes that could be used as a primary key are called Candidate keys. A Foreign key is an attribute that references the primary key of another table.
MAPPING CLASS AND ATTRIBUTES
optimizing THE OBJECT MODEL - Delaying Expensive Computations ,[object Object],  the same interface as Image object. When the image needs to be drawn,     ImageProxy loads the data from the disk and creates a RealIMage object,    thus saving the substantial computation time. ,[object Object],  the loaded image .
RATIONALE MANAGEMENT can be by use of		can be by use of   			fails to perform	meets this criteria and improves performance 					by about 5-10 % of the user request.	 Use of  Processing Page?: Issue .aspx .cs page: Proposal .ashx page : Proposal Performance$ : Criterion
RATIONALE MANAGEMENT        fails 		meets	 Photo Display?: Issue Simple Controls : Proposal AJAX Controls: Proposal Slow?: Issue Response Time$ : Criterion
screenshots

More Related Content

What's hot

android layouts
android layoutsandroid layouts
android layoutsDeepa Rani
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and EditorsTonny Madsen
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationTonny Madsen
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )Ahmed Emad
 

What's hot (10)

android layouts
android layoutsandroid layouts
android layouts
 
Oracle application-development-framework-best-practices
Oracle application-development-framework-best-practicesOracle application-development-framework-best-practices
Oracle application-development-framework-best-practices
 
Java lab lecture 2
Java  lab  lecture 2Java  lab  lecture 2
Java lab lecture 2
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget Toolkit
 
Android views and layouts-chapter4
Android views and layouts-chapter4Android views and layouts-chapter4
Android views and layouts-chapter4
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and Editors
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP Application
 
Synopsis
SynopsisSynopsis
Synopsis
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
 
01 08 - graphical user interface - layouts
01  08 - graphical user interface - layouts01  08 - graphical user interface - layouts
01 08 - graphical user interface - layouts
 

Similar to Enhancement Of Facebook Features

MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...Akira Hatsune
 
Understanding angular js
Understanding angular jsUnderstanding angular js
Understanding angular jsAayush Shrestha
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
iOS Architectures
iOS ArchitecturesiOS Architectures
iOS ArchitecturesHung Hoang
 
Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2Alessandro Molina
 
Case study on Movie Quiz App For IPhone and IPad – Facebook Enabled
Case study on Movie Quiz App For IPhone and IPad –  Facebook Enabled Case study on Movie Quiz App For IPhone and IPad –  Facebook Enabled
Case study on Movie Quiz App For IPhone and IPad – Facebook Enabled Grey Matter India Technologies PVT LTD
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1Shahzad
 
Super applied in a sitecore migration project
Super applied in a sitecore migration projectSuper applied in a sitecore migration project
Super applied in a sitecore migration projectdodoshelu
 
LearningMVCWithLINQToSQL
LearningMVCWithLINQToSQLLearningMVCWithLINQToSQL
LearningMVCWithLINQToSQLAkhil Mittal
 
Exploring CameraX from JetPack
Exploring CameraX from JetPackExploring CameraX from JetPack
Exploring CameraX from JetPackHassan Abid
 
Android architecture
Android architecture Android architecture
Android architecture Trong-An Bui
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET Journal
 
Trimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETTrimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETMihir G.
 
How Android Architecture Components can Help You Improve Your App’s Design?
How Android Architecture Components can Help You Improve Your App’s Design?How Android Architecture Components can Help You Improve Your App’s Design?
How Android Architecture Components can Help You Improve Your App’s Design?Paul Cook
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Oro Inc.
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecturebitburner93
 

Similar to Enhancement Of Facebook Features (20)

MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...
 
Understanding angular js
Understanding angular jsUnderstanding angular js
Understanding angular js
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
Yii php framework_honey
Yii php framework_honeyYii php framework_honey
Yii php framework_honey
 
iOS Architectures
iOS ArchitecturesiOS Architectures
iOS Architectures
 
Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2
 
Spring Framework-II
Spring Framework-IISpring Framework-II
Spring Framework-II
 
Case study on Movie Quiz App For IPhone and IPad – Facebook Enabled
Case study on Movie Quiz App For IPhone and IPad –  Facebook Enabled Case study on Movie Quiz App For IPhone and IPad –  Facebook Enabled
Case study on Movie Quiz App For IPhone and IPad – Facebook Enabled
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
 
Super applied in a sitecore migration project
Super applied in a sitecore migration projectSuper applied in a sitecore migration project
Super applied in a sitecore migration project
 
LearningMVCWithLINQToSQL
LearningMVCWithLINQToSQLLearningMVCWithLINQToSQL
LearningMVCWithLINQToSQL
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
Exploring CameraX from JetPack
Exploring CameraX from JetPackExploring CameraX from JetPack
Exploring CameraX from JetPack
 
Android architecture
Android architecture Android architecture
Android architecture
 
Struts Ppt 1
Struts Ppt 1Struts Ppt 1
Struts Ppt 1
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
 
Trimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NETTrimantra - Project Portfolio_NET
Trimantra - Project Portfolio_NET
 
How Android Architecture Components can Help You Improve Your App’s Design?
How Android Architecture Components can Help You Improve Your App’s Design?How Android Architecture Components can Help You Improve Your App’s Design?
How Android Architecture Components can Help You Improve Your App’s Design?
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
 

Recently uploaded

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Enhancement Of Facebook Features

  • 1. ENHANCEMENT OF FACEBOOK FEATURES BY: PARIN SHAH
  • 2. FEATURES PHOTO - EDITING APPLICATION TEMPORARY ONE TIME PASSWORD TO ACCESS FACEBOOK ACCOUNT FROM PUBLIC MACHINE APPLYING WATERMARK EFFECT TO THE PHOTOS. PHOTO VIEWING APPLICATION.
  • 3. TOOLS MICROSOFT VISUAL STUDIO 2008 INTERNET INFORMATION SERVER (IIS) AJAX CONTROL TOOLKIT NEODYNAMIC IMAGEDRAW TOOLKIT .NET FRAMEWORK 3.5 FACEBOOK API
  • 4. SELF DESIGNED MODULE DESIGN PAGES OF ALL MODULE. FILE UPLOAD MODULE. TEMPORARY PASSWORD GENERATOR AND SENDING THE PASSWORD TO USER. PHOTO VIEWER, PHOTO SLIDESHOW. PHOTO EDITING FUNCTIONS LIKE SHARPEN,EMBOSS. PHOTO COLLAGE
  • 5. OPEN SOURCE MODULE BUT MODIFIED W.R.T. APPLICATION CALLOUT IMAGE PHOTO-EDITING FUNCTIONALITIES LIKE 1.) ADJUSTING SATURATION, HUE, BRIGHTNESS, GAMMA, CONTRAST 2.) ROTATING & FLIPPING IMAGE, 3.) PERSPECTIVE AND REFLECTION OF IMAGE 4.) CREATING BLACK & WHITE , SEPIA IMAGE CROPPING PHOTO.
  • 6. ARCHITECTURAL STYLE I have chosen the FOUR-TIER ARCHITECTURAL style for my project. My project involves using the Facebook through Computers, Mobile Devices, etc. So the application requires different version of interface for every user. So my interface layer is decomposed into a Presentation Server Layer and a Presentation Client Layer. Forms shared by all types of users in Presentation Client Layer are then processed in the Presentation Server Layer thus removing the redundancy across different clients like Computer User, Mobile Device users. And then the data from all clients is stored and processed in a single storage system. When the client requests any data the Application Logic provides the connection with the storage layer and then the query are processed and then the Presentation Server Layer presents the data to Presentation Client Layer. This Presentation Client Layer depending upon the client presents appropriate forms, user interface, etc.
  • 7. ARCHITECTURAL STYLE Presentation Client Presentation Layer Application Logic Storage Layer
  • 8. Subsystem for photo-editor and applying various effects INTERFACE LAYER : (A) PRESENTATION CLIENT LAYER 1.) UPLOADPHOTOPAGE. 2.) CHANGE SETTING FOR PHOTOS. APPLICATION LOGIC LAYER : 1.) SELECT PHOTOS TO UPLOAD. 2.) APPLY VARIOUS PHOTO EDITING EFFECTS. 3.) ADD PHOTO PROCESS STORAGE LAYER : 1.) USER’S PHOTO ALBUM DATABASE.
  • 9. Subsystem for photo-editor and applying various effects
  • 14. Access control matrix Access control matrix for the photo album module, modifying the photos of the user, sending temporary password and for various user settings.
  • 15. DESIGN PATTERNS PROXY DESIGN PATTERN FACADE PATTERN MODEL VIEW CONTROLLER PATTERN
  • 16. PROXY DESIGN PATTERN Provide a surrogate or placeholder for another object to control access to it. Facebook User Photo-Editor +EditingFunctions Real Image Class Proxy Image Class Real Image +EditingFunctions +EditingFunctions +RealImage.EditingFunctions
  • 17.
  • 18. Proxy may refer to a Photo-Editor if the Real Image and Photo Editor interfaces are the same.
  • 19. It provides an interface identical to real image so that a proxy can be substituted for it.
  • 20.
  • 21. It reduce dependencies of outside code on the inner workings of a library and allows more flexibility in developing the system.
  • 22.
  • 23. MODEL VIEW CONTROLLER PATTERN *The model manages the behavior and data of the application domain, responds to requests for information about its state (usually from the view), and responds to instructions to change state (usually from the controller). *Also the model notifies observers (usually views) when the information changes so that they can react. *The view renders the model into a form suitable for interaction. *Multiple views can exist for a single model for different purposes. *A viewport typically has a one to one correspondence with a display surface and knows how to render to it. MODEL * The controller receives user input and initiates a response by making calls on model objects. A controller accepts input from the user and instructs the model and viewport to perform actions based on that input. VIEW CONTROLLER
  • 24. MODEL VIEW CONTROLLER PATTERN In the model view controller pattern we have the business logic separated from the view and controller module. In this application we have the image editing functions separate from the view photos and photo preview function. We have the various functions like crop_image(), sharpen_image(), etc in the photo_editor functionality whereas the photos and user photo album class contains various other details of the photo and its viewing details.
  • 27.
  • 28. Mapping contracts to exception context Photo_Editor:crop_image(x,y) pre: user.photo.album.photo.viewOnCanvastrue contextPhoto_Editor:crop_image(x,y) post: user.photo.album.photo.savemodifiedimage(boolean)   context Photo_Editor:rotate_image(angle) pre: user.photo.album.photo.viewOnCanvastrue contextPhoto_Editor:rotate_image(angle) post: user.photo.album.photo.savemodifiedimage(boolean)   context Photo_Editor:sharpen_image(value) pre: user.photo.album.photo.viewOnCanvastrue contextPhoto_Editor:sharpen_image(value) post: user.photo.album.photo.savemodifiedimage(boolean) context Photo_Editor:view_preview_window() pre: user.photo.album.photo.pathselected(path) contextPhoto_Editor:view_preview_window() post: user.photo.album.photo.view(picture)
  • 29. Mapping contracts to exception contextPhoto_Editorinv: photos_editor->forAll( Img:Image | Img.load(true) and Img.save(true))   context UserPhotoAlbuminv: photoAlbum->forAll(PA : Photo_Album | Pa.create(true) and pa.notPresent(true))   context Photos inv: photosforAll(p:Photo | p.addPhoto(true) and p.dwnloadDisable(true))    
  • 30. Interface specification By use of this class the user’s request for temporary password would be fulfilled. ConfirmIdentity()- Authenticates the user and its request. generateRandomPwd() - System generates a random password and initiates mobile messaging module   After the identity has been confirmed configureUserMsg()- The message is configure through by the generated password and user details
  • 31. Mapping contracts to exception contextMobileMessaging : generateRandomPwd():String pre: isIdentity->true contextMobileMessaging : generateRandomPwd() post: MobileMessaging.isCorrectPwdGenerated(pwd).   contextMobileMessaging : SendPassword() pre: receivedMsg(msg) contextMobileMessaging : SendPassword() post: Password.Send.Identity(User)   contextMobileMessaging : ConfirmIdentity() pre: user.details->includes(list) contextMobileMessaging : ConfirmIdentity() post: userIdentity(list)   contextMobileMessaging : RetrieveUserDetailpre: User.Enter.Answers.->include(list) contextMobileMessagin : RetrieveUserDetailpost: User.Message.Match.Compare(list,entered value)true contextMobileMessaginginv FacebookUsers.access->forAll( FacebookUsers.registered(self))  
  • 32. MAPPING OBJECT MODELS T0 A PERSISTENT STORAGE SCHEMA A Schema is a description of the data, that is, a meta model for data. A Primary key of a table is a set of attributes whose values uniquely identify the data records in a table. Sets of attributes that could be used as a primary key are called Candidate keys. A Foreign key is an attribute that references the primary key of another table.
  • 33. MAPPING CLASS AND ATTRIBUTES
  • 34.
  • 35. RATIONALE MANAGEMENT can be by use of can be by use of fails to perform meets this criteria and improves performance by about 5-10 % of the user request. Use of Processing Page?: Issue .aspx .cs page: Proposal .ashx page : Proposal Performance$ : Criterion
  • 36. RATIONALE MANAGEMENT fails meets Photo Display?: Issue Simple Controls : Proposal AJAX Controls: Proposal Slow?: Issue Response Time$ : Criterion
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.