Download presentation
Presentation is loading. Please wait.
1
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007
2
Agenda Introduction Feature Details Implementation Extension Approach Code Base Alteration Approach SAAM Analysis Conclusion Introduction Feature Details Implementation Extension Approach Code Base Alteration Approach SAAM Analysis Conclusion
3
Introduction Many users browse the web on multiple machines Bookmarks/customizations don’t carry over to other machines Proposed feature to address this issue Many users browse the web on multiple machines Bookmarks/customizations don’t carry over to other machines Proposed feature to address this issue
4
Proposed Enhancement Remote Profiling The “same” Firefox everywhere Profile Components Bookmarks, browser history, cookies, plug-ins, extensions, saved form data, saved passwords, address book entries Remote Profiling The “same” Firefox everywhere Profile Components Bookmarks, browser history, cookies, plug-ins, extensions, saved form data, saved passwords, address book entries
5
Proposed Enhancement Online Profile Repository Secure service that holds the profile Requires user authentication Provides profile versioning Much like a source code repository Online Profile Repository Secure service that holds the profile Requires user authentication Provides profile versioning Much like a source code repository
6
Proposed Enhancement Use Cases Create online profile Change password Export profile to disk Import profile from disk Export profile to server Import profile from server (latest version) Import profile from server (any version) Use Cases Create online profile Change password Export profile to disk Import profile from disk Export profile to server Import profile from server (latest version) Import profile from server (any version)
7
Extension Approach Re-use Firefox’s built-in extension mechanism and build an extension to realize our enhancement Users download our extension and gain the ability to export their profile, which can later be accessed from another computer: remotely using HTTP; locally by downloading a file. Users can select which profile element they wish to export and load. Re-use Firefox’s built-in extension mechanism and build an extension to realize our enhancement Users download our extension and gain the ability to export their profile, which can later be accessed from another computer: remotely using HTTP; locally by downloading a file. Users can select which profile element they wish to export and load.
8
Extension Approach: Profile Elements The following profile elements are supported: bookmarks; browser history; cookies; plug-ins; extensions; saved form data; saved passwords; address book entries. The following profile elements are supported: bookmarks; browser history; cookies; plug-ins; extensions; saved form data; saved passwords; address book entries.
9
Extension Approach: Architectural Changes No change to the architecture of Firefox Built-in extension mechanism is re- used allowing for ease of maintenance, development and deployment. No change to the architecture of Firefox Built-in extension mechanism is re- used allowing for ease of maintenance, development and deployment.
10
Extension Approach: Implications and Risks Reliability, by way of atomic updates to local and remote profiles Security, in the case of passwords and saved form data Maintainability, in the case of change in Firefox’s extension mechanism Usability, in the case of restarting Firefox when loading a saved profile Reliability, by way of atomic updates to local and remote profiles Security, in the case of passwords and saved form data Maintainability, in the case of change in Firefox’s extension mechanism Usability, in the case of restarting Firefox when loading a saved profile
11
Modify Code Base Approach Modify existing code within Firefox Changes would modify two layers Data Persistence UI Explicit connection between Networking and Data Persistence layers Modify existing code within Firefox Changes would modify two layers Data Persistence UI Explicit connection between Networking and Data Persistence layers
12
Modify Code Base Approach Issues Common data format Common data access Common communication methods Issues Common data format Common data access Common communication methods
13
Modify Code Base Approach Tasks Abstract factory for saving and retrieving all profile information Implementations for accessing file system and remote profiles Configuration UI in XUL Tasks Abstract factory for saving and retrieving all profile information Implementations for accessing file system and remote profiles Configuration UI in XUL
14
Comparison Codebase modifications Firefox extensions Tradeoffs and risks Final decision Codebase modifications Firefox extensions Tradeoffs and risks Final decision
15
Codebase Modifications Multiple components changed Unknown consequences of changes Greater control over functionality Enhanced security High maintenance costs Limited distribution Multiple components changed Unknown consequences of changes Greater control over functionality Enhanced security High maintenance costs Limited distribution
16
Firefox Extension Low development costs Easier maintenance Automatic update functionality Unknown if user data is accessible via the extension interface Low development costs Easier maintenance Automatic update functionality Unknown if user data is accessible via the extension interface
17
Conclusion Extension Implementation best option Deployment Development costs Maintenance costs Better updates Fewer risks/unknowns Extension Implementation best option Deployment Development costs Maintenance costs Better updates Fewer risks/unknowns
18
Thank you Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.