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

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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.