Mobile/Projects/Third-party service integration MVP

From MozillaWiki
Jump to navigation Jump to search

Weekly stand-up meeting

Tracking

Open P1 bugs

These bugs are blockers for Firefox Hub v1 (basic feed add-on support - Fx30)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Open P2 bugs

These bugs are blockers for Firefox Hub v2 (feature complete for developers - Fx31)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Open P3 bugs

These bugs are blockers for Firefox Hub v3 (ready to feature add-ons - Fx32)

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);



All bugs

Full Query
ID Priority Summary Status Assigned to
862805 -- Allow add-ons to register custom lists on about:home RESOLVED margaret.leibovic@gmail.com
909618 P1 Remember about:home tab selection VERIFIED oogunsakin@mozilla.com
940565 -- Update home.HomePager.Page enum usage to handle multiple pages of the same type RESOLVED lucasr.at.mozilla@gmail.com
940575 P1 Implement per-profile SharedPreferences, eliminating uses of PreferenceManager RESOLVED lucasr.at.mozilla@gmail.com
941318 -- Create content provider to store "My List" data RESOLVED margaret.leibovic@gmail.com
942231 -- Allow for reordering and removing home page tabs RESOLVED lucasr.at.mozilla@gmail.com
942281 P2 Provide a way for a service add-on to authenticate a user RESOLVED margaret.leibovic@gmail.com
942283 -- Provide a way to add RSS feeds to lists on about:home RESOLVED michael.l.comella@gmail.com
942288 -- Allow panel add-on to push data to content provider from JS RESOLVED margaret.leibovic@gmail.com
942293 -- [meta] Support for additional layout and view types RESOLVED nobody@mozilla.org
942295 P1 Folder view for dynamic panels RESOLVED bugs@joshdover.com
942875 -- Create "Home page lists" settings page VERIFIED liucheia+bugzilla@gmail.com
942877 P3 Promo panel to advertise customization in about:home RESOLVED margaret.leibovic@gmail.com
942878 P1 Add a new panel from Settings VERIFIED liucheia+bugzilla@gmail.com
942879 P3 Adding panel from promo banner RESOLVED margaret.leibovic@gmail.com
942884 -- UI for adding a "RSS" list RESOLVED nobody@mozilla.org
942885 -- UI for adding a "Firefox" list RESOLVED nobody@mozilla.org
942886 -- Interaction between Adding Lists and Quick Share RESOLVED nobody@mozilla.org
942889 -- Lists - Gallery layout RESOLVED oogunsakin@mozilla.com
949039 -- Improve queryFakeItems to return more data, including different types of list items RESOLVED margaret.leibovic@gmail.com
949172 -- Implement proper HomeConfigBackend to load and save HomePager configuration RESOLVED lucasr.at.mozilla@gmail.com
949174 -- Implement invalidation routine for HomePager configuration RESOLVED lucasr.at.mozilla@gmail.com
949178 P1 Remove reading list button from reader mode toolbar VERIFIED margaret.leibovic@gmail.com
949181 -- Get rid of the hardcoded Page enum in HomePager RESOLVED margaret.leibovic@gmail.com
949429 -- Intermittent PROCESS-CRASH | java-exception | java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) RESOLVED lucasr.at.mozilla@gmail.com
952310 -- Create database schema for HomeProvider RESOLVED margaret.leibovic@gmail.com
952311 -- Update home config when new panels are added/removed RESOLVED lucasr.at.mozilla@gmail.com
953306 -- Bugzilla API list add-on RESOLVED nobody@mozilla.org
958171 -- HomePager doesn't handle live config changes properly RESOLVED lucasr.at.mozilla@gmail.com
958175 -- Ensure panels are registered with a unique id RESOLVED margaret.leibovic@gmail.com
958179 -- Rename Home.lists API to Home.panels RESOLVED margaret.leibovic@gmail.com
958185 -- Rename "page" things to "panel" things in the home code RESOLVED lucasr.at.mozilla@gmail.com
958189 -- Rename ListManager to PanelManager RESOLVED margaret.leibovic@gmail.com
958192 -- Use gecko messages to request current set of available panels from JS RESOLVED margaret.leibovic@gmail.com
958655 -- Rename Page* to Panel in new Home Lists code RESOLVED nobody@mozilla.org
959772 -- Create a generic PanelType and corresponding *Panel class for third-party panels RESOLVED margaret.leibovic@gmail.com
959777 -- Dynamically build views for third-party panel content from PanelConfig RESOLVED lucasr.at.mozilla@gmail.com
959862 -- Expand Home.panels API to specify contents of panels RESOLVED margaret.leibovic@gmail.com
959917 P2 Make Home Panel settings reorderable VERIFIED liucheia+bugzilla@gmail.com
960359 P1 Home banner will never show up if user disables "Top Sites" panel VERIFIED bugs@joshdover.com
961092 -- Update HomeListsProvider to use the SQLiteBridge RESOLVED margaret.leibovic@gmail.com
961093 -- Improve SQLiteBridge performance RESOLVED nobody@mozilla.org
962651 -- Finalize strings for Home Panels Settings RESOLVED liucheia+bugzilla@gmail.com
963036 -- Use JSON boolean to store the panel's default and disabled flags in HomeConfig RESOLVED lucasr.at.mozilla@gmail.com
963046 -- Implement image loading infrastructure for panel views RESOLVED lucasr.at.mozilla@gmail.com
963051 -- "Home page lists" settings page causes Nightly to stop RESOLVED liucheia+bugzilla@gmail.com
963352 -- Add more testcases to TestHomeProvider RESOLVED nobody@mozilla.org
963404 -- Refactor HomeContextMenuInfo creation RESOLVED oogunsakin@mozilla.com
963721 -- Handle clicks on views in dynamic panels RESOLVED bugs@joshdover.com
963817 P1 Wrap HomeStorage data insertion loop in a transaction RESOLVED lucasr.at.mozilla@gmail.com
964375 -- Add auto-install option to Home.panels.add API RESOLVED lucasr.at.mozilla@gmail.com
964447 -- Create specific update window for HomeProvider storage RESOLVED margaret.leibovic@gmail.com
964464 -- Update testHomeListsProvider to test new schema RESOLVED nobody@mozilla.org
964485 -- Calling `HomeStorage.deleteAll()` on a non-existing table throws error RESOLVED nobody@mozilla.org
964508 -- Rename TwoLineRow members to match the latest dataset terminology RESOLVED lucasr.at.mozilla@gmail.com
964901 -- Curate debug output for HomePanel add-on developers RESOLVED nobody@mozilla.org
964926 -- Update HomeProvider authority manifest declaration RESOLVED margaret.leibovic@gmail.com
965023 -- Use Object.freeze on exports of Home.jsm RESOLVED linpyong@gmail.com
965026 -- Audit HomePanel JS APIs to prevent undesired changes and abuse RESOLVED bugs@joshdover.com
965033 -- Hook up DynamicPanel to HomeProvider RESOLVED margaret.leibovic@gmail.com
965361 -- Show firefox watermark when you hide all panels in about:home RESOLVED oogunsakin@mozilla.com
965435 -- Add navigation tests for hidden home panels RESOLVED nobody@mozilla.org
965448 -- Investigate HomeProvider DB maintenance RESOLVED nobody@mozilla.org
965452 P2 Limit HomeProvider addon data storage RESOLVED margaret.leibovic@gmail.com
965454 -- Stress test home panel JS API RESOLVED nobody@mozilla.org
965457 P2 Investigate HomeProvider addon data expiration RESOLVED nobody@mozilla.org
965459 -- Investigate batch inserting from HomeProvider addon syncs RESOLVED nobody@mozilla.org
965460 -- Develop HomeProvider DB migration strategy RESOLVED margaret.leibovic@gmail.com
965520 -- Develop Home Panel addon API testing plan RESOLVED nobody@mozilla.org
965606 P1 Give users the choice to only sync home panel data when on wifi RESOLVED liucheia+bugzilla@gmail.com
965622 P1 Handle the case where there are no items for a given dataset id RESOLVED margaret.leibovic@gmail.com
966022 -- Implement the notion of itemType on existing panel views (list, grid) RESOLVED lucasr.at.mozilla@gmail.com
967286 P1 Default to Layout.FRAME if layout type isn't specified in Home.panels.add RESOLVED lucasr.at.mozilla@gmail.com
967742 -- Consolidate API to edit HomeConfig state RESOLVED lucasr.at.mozilla@gmail.com
968170 -- Trigger HomeConfig refreshes conditionally RESOLVED lucasr.at.mozilla@gmail.com
968172 P1 Avoid refreshing HomeConfig on every onLocaleReady() call RESOLVED lucasr.at.mozilla@gmail.com
968179 -- Fennec crashes when using PanelGridView RESOLVED lucasr.at.mozilla@gmail.com
968188 -- Pass a 'reason' to the Home.panels.add() and Home.panels.remove() APIs RESOLVED lucasr.at.mozilla@gmail.com
968308 P1 UI telemetry for home panels RESOLVED oogunsakin@mozilla.com
968475 -- Port existing about:home panels to dynamic panel types where applicable RESOLVED nobody@mozilla.org
968530 -- Basic robocop test for Home.panels API RESOLVED crasmuss@uoguelph.ca
968573 -- Refine interaction of clicks on dynamic panel items RESOLVED lucasr.at.mozilla@gmail.com
968878 -- Misc tweaks in PanelGridView layout RESOLVED lucasr.at.mozilla@gmail.com
968897 -- Implement Picasso downloader that uses the same HTTP stack than Favicons RESOLVED nobody@mozilla.org
969004 -- Make RSS panels pretty RESOLVED nobody@mozilla.org
969043 P2 Log warning if HomeProvider consumer tries saving data outside of sync window RESOLVED nobody@mozilla.org
969055 P1 Validate items beings saved with HomeProvider API RESOLVED lucasr.at.mozilla@gmail.com
969060 P1 Disabling dynamic panel set as default will put default panel in ambiguous state RESOLVED lucasr.at.mozilla@gmail.com
969316 -- Use description column instead of url in PanelListRow RESOLVED lucasr.at.mozilla@gmail.com
970700 -- Two line row description ellipsizes in the middle RESOLVED lucasr.at.mozilla@gmail.com
970702 -- Empty space in two line item rows when no image URL is specified RESOLVED lucasr.at.mozilla@gmail.com
970707 -- Implement pull-to-refresh for home page lists RESOLVED bugs@joshdover.com
972046 -- Rename home_empty*page.xml layouts to home_empty*panel.xml RESOLVED lucasr.at.mozilla@gmail.com
972098 P1 Cursors returned from the SQLiteBridge don't update when data updates RESOLVED lucasr.at.mozilla@gmail.com
972306 P1 Rename Home.panels.add/remove to Home.panels.register/unregister RESOLVED lucasr.at.mozilla@gmail.com
972351 -- Perform item handler check in PanelLayout RESOLVED lucasr.at.mozilla@gmail.com
972503 -- Allow home panel views to specify an initial filter RESOLVED bugs@joshdover.com
973137 -- Images in list panel disappear when it is opened in a new tab RESOLVED lucasr.at.mozilla@gmail.com
973666 -- Get rid of TwoLineRow view RESOLVED lucasr.at.mozilla@gmail.com
973667 -- Get rid of the HomeGridView style RESOLVED lucasr.at.mozilla@gmail.com
973670 -- PanelGridView needs better pressed state RESOLVED lucasr.at.mozilla@gmail.com
974035 P2 Only sync home provider data when dataset is used in an installed panel RESOLVED margaret.leibovic@gmail.com
974139 P1 Redefine registration logic to return panel options dynamically RESOLVED lucasr.at.mozilla@gmail.com
974427 -- Generalize page_row_height dimension RESOLVED nobody@mozilla.org
974434 P2 Add support for items with variable height in PanelGridView RESOLVED nobody@mozilla.org
974454 P2 Allow showing only description in panel image items RESOLVED lucasr.at.mozilla@gmail.com
974598 -- Handle full refreshes from locale changes immediately in HomeConfigInvalidator RESOLVED lucasr.at.mozilla@gmail.com
974601 P2 Avoid saving new configuration on refresh if still using default HomeConfig RESOLVED lucasr.at.mozilla@gmail.com
974926 P1 Rename _panels to _registeredPanels in Home.jsm RESOLVED lucasr.at.mozilla@gmail.com
974983 P5 Reorder Home panels in Settings via dragging RESOLVED nobody@mozilla.org
974991 -- Write addon developer Home Panel API documentation RESOLVED margaret.leibovic@gmail.com
975055 P1 Show current filter and back UI for Hub panels RESOLVED bugs@joshdover.com
975091 P1 Extra padding on some list item titles VERIFIED lucasr.at.mozilla@gmail.com
975198 P1 Globe icon appears when image doesn't load in grid view RESOLVED lucasr.at.mozilla@gmail.com
975284 -- Add test for periodic data sync RESOLVED nobody@mozilla.org
975357 P1 Initialize HomeConfigInvalidator in GeckoApplication.onCreate() RESOLVED lucasr.at.mozilla@gmail.com
975841 -- crash in org.mozilla.gecko.sqlite.SQLiteBridgeException: Can''t prepare statement: no such column: filter at org.mozilla.gecko.sqlite.SQLiteBridge.sqliteCallWithDb(Native Method) RESOLVED lucasr.at.mozilla@gmail.com
976064 P2 Create a loader per panel view instead of per dataset id RESOLVED lucasr.at.mozilla@gmail.com
976122 P1 HomePanels:Get is broken RESOLVED lucasr.at.mozilla@gmail.com
976155 -- Implement 'schema upgrades' for HomeConfig RESOLVED nobody@mozilla.org
976335 P1 Tablet tab strip does not overflow properly VERIFIED margaret.leibovic@gmail.com
977200 P1 Create Firefox Hub add-on for subscribing to arbitrary RSS feeds VERIFIED margaret.leibovic@gmail.com
977980 -- Add "Remove" as an option for dynamic Home panels RESOLVED liucheia+bugzilla@gmail.com
978306 P3 [meta] Improve UX for navigating many panels RESOLVED nobody@mozilla.org
978991 P1 Hook for add-ons when panel is added/removed RESOLVED margaret.leibovic@gmail.com
979776 -- Allow section tabs in hub panels RESOLVED nobody@mozilla.org
979780 -- Allow hub pages to have detailed settings linked to from the Customize pane RESOLVED nobody@mozilla.org
980979 -- Write unit tests for the HomeConfig API RESOLVED nobody@mozilla.org
982172 -- Fix race condition with filter stack in panel adapter RESOLVED bugs@joshdover.com
982190 -- Allow addons to specify custom filter 'up' image RESOLVED bugs@joshdover.com
982420 -- Unit tests for PanelAuthCache RESOLVED nobody@mozilla.org
982461 -- Support launching an intent to the current application package RESOLVED margaret.leibovic@gmail.com
982699 -- Use super-toast confirmation on adding new Home Panel RESOLVED nobody@mozilla.org
983424 P1 World cup RSS add-on RESOLVED margaret.leibovic@gmail.com
985134 -- Create a custom view for empty panel layouts RESOLVED nobody@mozilla.org
985211 -- Disabling hub panels in regular mode affects guest mode RESOLVED lucasr.at.mozilla@gmail.com
987175 P1 Hide "Add panel" settings item for fx30 VERIFIED margaret.leibovic@gmail.com
987238 -- Telemetry probe for size of home.sqlite RESOLVED nobody@mozilla.org
987796 -- Secreview: Fennec / Firefox Hub RESOLVED mgoodwin@mozilla.com
987869 P3 Show promoted panels in the panel picker RESOLVED margaret.leibovic@gmail.com
988355 P2 Only force reload on configuration changes in DynamicPanel RESOLVED lucasr.at.mozilla@gmail.com
988909 P2 Context menus for dynamic panels VERIFIED margaret.leibovic@gmail.com
988930 P2 Auth view button overlaps text in landscape mode on phones RESOLVED nobody@mozilla.org
989430 P2 Don't offer to add panels when none are available RESOLVED margaret.leibovic@gmail.com
989617 -- Home panels don't animate animated gifs in image_url. RESOLVED nobody@mozilla.org
990066 -- Update generator function declarations in HomeProvider.jsm RESOLVED zliu.ur@gmail.com
991190 -- Rename Home.panels.authHandler API to Home.panels.auth RESOLVED margaret.leibovic@gmail.com
993552 -- Restore scroll position in about:home panel RESOLVED nobody@mozilla.org
993749 P1 More padding in ArticleItemView VERIFIED margaret.leibovic@gmail.com
995420 P1 crash in java.lang.NullPointerException: at org.mozilla.gecko.home.DynamicPanel$PanelDatasetLoader.loadCursor(DynamicPanel.java) VERIFIED margaret.leibovic@gmail.com
996669 -- onuninstall listener can be called after panel is unregistered RESOLVED margaret.leibovic@gmail.com
996708 P2 Set an explicit width/height for images in dynamic panel empty views RESOLVED margaret.leibovic@gmail.com
997055 P1 The same feed is added in multiple panels in the home page VERIFIED margaret.leibovic@gmail.com
997328 P2 SharedPreferences.jsm and SharedPreferencesHelper are not using same prefs RESOLVED bugs@joshdover.com
999483 P2 Allow pull-to-refresh from the panel's empty state RESOLVED nobody@mozilla.org
999751 -- There is no default panel if default panel is uninstalled RESOLVED nobody@mozilla.org
999756 P2 Empty view flashes while view is refreshing RESOLVED margaret.leibovic@gmail.com
999760 -- Images in article items are mis-aligned VERIFIED margaret.leibovic@gmail.com
999853 P1 java.lang.IllegalArgumentException: Path must not be empty. RESOLVED margaret.leibovic@gmail.com
1000616 P1 PanelViewItemHandler.mItemOpenListener is null when panel list view replaces empty view RESOLVED margaret.leibovic@gmail.com
1000849 P1 Panel view sometimes does replace empty view after dataset updates VERIFIED margaret.leibovic@gmail.com
1002711 -- Authentication state pref remains after panel is uninstalled RESOLVED nobody@mozilla.org
1004481 -- Support text in footer area of empty views RESOLVED nobody@mozilla.org
1005562 -- HomeProvider.addPeriodicSync() does not work RESOLVED nobody@mozilla.org
1006081 -- Wrap descriptions on grid view items RESOLVED nobody@mozilla.org
1006947 P1 HomeProvider: org.mozilla.gecko.sqlite.SQLiteBridgeException: Can't step statement: (5) database is locked RESOLVED bugzilla@twinql.com
1007408 -- Throttle onrefresh calls in home panels RESOLVED margaret.leibovic@gmail.com
1007793 -- Notify HomeProvider consumers when they're storing too much data RESOLVED nobody@mozilla.org
1009473 -- Polish image list view VERIFIED margaret.leibovic@gmail.com
1009475 -- Jank when scrolling hub pages with lots of images RESOLVED nobody@mozilla.org
1009561 -- Consider adding ItemType options to panels RESOLVED nobody@mozilla.org
1009572 -- Disabling dynamic panel set as default will put default panel in ambiguous state RESOLVED nobody@mozilla.org
1009586 -- Get rid of "Add panel" menu item in home settings VERIFIED margaret.leibovic@gmail.com
1010359 -- Add an option to disable ellipsizing in Home Panels RESOLVED nobody@mozilla.org
1012195 -- Android home panel icon size changed between Firefox 31 and 32 RESOLVED nobody@mozilla.org
1015015 -- HomePanel uninstall isn't robust RESOLVED nobody@mozilla.org
1017554 -- Regression: Empty lists view, no data is shown or fetched VERIFIED margaret.leibovic@gmail.com
1022472 -- Remove margins on default home screen panels RESOLVED bugzilla@twinql.com
1023544 -- No way to remove dynamic panel added by home feeds add-on VERIFIED margaret.leibovic@gmail.com

179 Total; 0 Open (0%); 159 Resolved (88.83%); 20 Verified (11.17%);


Implementation

Glossary

  • Hub: The official name of this project
  • panel: user-visible section on about:home, formerly known as a "page"
  • view: user-visible section in a panel, backed by one set of data
  • dataset: ordered set of data specified by an add-on service, stored in a content provider
  • home config: used to determine what panels to show on about:home, user can change this in settings
  • panel config: used to determine what views (and their corresponding data) to show in a panel
  • dynamic panel: panel whose contents are specified by a panel config that is created from the JS API
  • layout: used to define the arrangement of views within a dynamic panel
  • list: don't use this term
  • widget: don't use this term
  • provider: don't use this term (some service provider can make an add-on, but the idea of a "provider" is out of the scope of this feature)

High-Level Architecture

(Disclaimer: not all these things have landed yet)

  • Home.jsm: APIs to register panels, used to specify layout for panel, which includes views and the dataset ids that back them
  • HomeProvider.jsm: APIs to store data from the JS side, data is stored with a dataset id - bug 942288
  • HomeProvider.java: Content provider that performs queries from the Java side, uses the SQLiteBridge - bug 961092, bug 952310

Documentation

They are living documents, please help improve them if you can!

Demo add-ons

Goals

Ship the first cupcake-sized iteration of third-party integration functionality, focused on one or two initial service providers, in Fx30.

This initial iteration focuses on:

  • Signing in or signing up to one or more integrated third-party services
  • Managing the services in a new Settings page
  • Viewing and interacting with the integrated & signed-in services by way of added "my list" home screens

Use cases

Must have

  1. Service A Integration (API, sign-in / sign-up flow hand-off, viewing their files)
  2. Sign in to Service A via a flow initiated from the new swipe-able home screen
  3. Sign up to Service A via a flow initiated from the new swipe-able home screen
  4. Sign in to Service A via a flow initiated from the menu -> settings page
  5. Sign up to Service A via a flow initiated from the menu -> settings page
  6. Direct users to the menu -> settings page OR new home screen from the about:home snippets banner
  7. Add a menu -> settings page to manage the home screens (inc 3rd party providers)
    1. Add
    2. Remove
  8. Ability for a user to view – in ONE view – their files from their Service A account in their Service A home screen
    1. Must include: gifs, pngs, jpegs, PDFs... (anything that can be viewed within our browser)
    2. Question: can anything be done to view docs or xls? -> look for an app and punt it out?
    3. Must incorporate an error or some other message to the user if we cannot open a file type
    4. Ability to add URLs and display said URLs in this list (including video / audio files)
    5. Ability to save PDFs to this list
  9. Quickshare integration
    1. Ability to have Service A be in the default (visible) position for new and current users (NOTE: for current users, this can only happen if we display 2 icons upon release: the user’s most used intent + the addition. THEN the algorithm should kick in to replace these icons with the top two most shared.)
    2. Ensure Quickshare icons are set via the algorithm based on usage
    3. If Service A is not yet set up, pressing the icon should send the user to the sign in / sign-up flow (and be able to cancel out of that operation and send you back to the original spot)
  10. If only Service A, can we add RSS / website feed subscribing as an alternative/second service?

Nice to have

  1. Service B integration (API, sign-in / sign-up flow hand-off, viewing their files)
  2. Sign in to Service A (or Service B) via a flow initiated from the about:home snippets banner
  3. Sign up to Service A (or Service B) via a flow initiated from the about:home snippets banner
  4. Ability to add Offline Reader List Articles and display said articles in this list (how would this display in a Service A user's account from a non-Firefox interface)
  5. Flow to automatically use Service A as a repository for all downloads from the browser
  6. Integrating (adding) RSS feeds or websites
  7. Iterating on the menu -> settings page to manage the home screens (inc 3rd party providers)
    1. Rearrange
    2. Suggest
    3. Automatic downloads to a selected provider
  8. WebActivities

UX design

Justification

The Firefox Hub experience is one of the primary new features we have slated for 2014, and supports the majority of our goals, including:

  • User value & user delight = marketshare & organic growth - we believe that the Firefox Hub will help unify users' web experiences across sites, services, and apps. This initial MVP is only the beginning, but there is huge potential in this feature to bring the browser back into the centre of a user's web habits. This is in support of our marketshare & pre-install goals.
  • Habit-share/usage - increasing how often and how much a user uses their browser, the better. Greater usage leads to greater mindshare leads to greater organic growth and marketshare, as well as helping promote our browser to third-party services & potential partners.
  • Rev-share and co-marketing - working with third-party services is a key factor in our plans for 2014.
  • Webapp/ecosystem support - while not directly part of this initial MVP, we have plans to do webapp integration as part of this in the future, as well as using Firefox Accounts to help support these features for users across devices. Could also eventually integrate Marketplace as a part of the core Firefox Hub experience, when we have a better idea of how we want to promote Marketplace within the browser.

References and other info

Quality criteria

  • No user-perceptible performance degradation
  • All goals are met
  • All "must have" user stories/use cases are implemented & tested