Status update: Extension Manager UI, Tab matches in Awesomebar

Extension Manager UI Redesign

Status

  • Plenty of discussion at the recent Firefox team work week (which was awesome and I blogged about here)
  • The project branch is setup
    • Mossop is landing the new API there, and gathering performance data before and after the new API
    • I’ll be landing the new UI there soonish
  • Aiming to complete the first milestone by the end of March (and have it landed on trunk)
    • Extension Manager needs to be usable for all basic functionality (install/uninstall/enable/disable, displaying basic information)
    • Additional functionality will come in later milestones (such as better AMO integration, potential performance improvements)
  • Resolved remaining localization to-dos and issues
    • Wish DownloadUtils.jsm had better localization support built-in
    • Certain problems make me look forward to l20n
  • Improved enable/disable interactions. Still have tweaks to do, especially with the new mockups from Boriss
  • Some work on hooking up download/install/update.

Loose ends

  • Need to figure out what to display until AMO integration is implemented (does this even matter for nightlies?)

Next steps

  • Bring up to speed with latest mockups from Boriss
  • Finish hooking up download/install/update/uninstall/undo
  • Notifications – restart needed, compatibility check being disabled, etc

Target for next week

  • Install/uninstall/update progress – depending on API completeness
  • General tweaks based on new mockups (eg, disabled addons, search filters)
  • Manual updates

Tab matches in Awesomebar

Status

  • Got super-review
  • Landed on trunk, but had to backout due to:
    • Weird merge issues (re-merging manually fixed this)
    • The browser-chrome test somehow made another (unrelated) test timeout. I really wish Mochitest started with a clean-slate on each test.
  • Did not make it into 3.7a3 as planned

Reflections

  • It is difficult to get a larger project landed without any difficulty.
  • Stress is a productivity killer. I need to not let certain things stress me so much.
  • Software is hard. Kittens are soft.

My status updates – what can I improve?

I’ve been posting weekly status updates for awhile now (since August 9, 2009). I think they’re an important part of communicating exactly what it is I (and the rest of the Firefox team) am working on, and how things a progressing. Not only that, it’s a great way of getting unsolicited feedback, as I often get comments on these posts. So from my point of view, these posts been a great success.

But I want to know if I can improve them. What would you like to see more of? Or less of? Should I have more detail on what I’ve achieved, or what I’m planning? Should I be less whimsical? Should I reflect more on the past week, and on life in general? Should the format be altered? Should I include more pictures of cute kittens with amusing captions?

Status update: Extension Manager UI, Tab matches in Awesomebar

Few days late on this – oops. I’ll be at the Mountain View office next week for a Firefox team work week – any hacking I get a chance to do will probably be on random things, rather than my usual projects. If you’re in the office and want to catch up or talk about anything, come and find me. No idea what area I’ll be in, but just look for the hairiest person you can find.

Extension Manager UI Redesign

Status

  • Solidified some interactions and how views are implemented & interact
  • Helped Mossop figure out some API bugs (turns out, extensions.ini is important!)
  • Some progress on updating addons

Loose ends

  • Still waiting on the project branch (bug [bug id=542910])

Next steps

  • Install/uninstall/update/enable/disable
  • AMO Search
  • Help with API development

Target for next week

  • None (getting the most out of the work week takes priority)

Tab matches in Awesomebar

Status

  • Code review complete
  • Waiting on superreview for API changes

Status update: Extension Manager UI, Tab Matches in Awesomebar

Extension Manager UI Redesign

Status

  • Download progress widget done. Should be possible to do a fancy button -> progress transition.
  • Local search done – including sorting based on relevance to search string
  • AMO search not done – need API support and UX details
  • Lot’s of UX questions for Boriss
  • Weekly meeting notes here

Loose ends

  • Waiting on project branch to be setup (bug [bug id=542910])

Next steps

  • Install/uninstall/update/enable/disable
  • AMO Search
  • Help with API development

Target for next week

  • Install/uninstall/update/enable/disable (assuming API support is ready)
  • Otherwise, integration issues

Tab matches in Awesomebar

Status

  • Another round of reviews. Getting there!

Loose ends

  • None

Next steps

  • Followups: [bug id=530209], [bug id=546253], [bug id=546254], [bug id=546255], [bug id=539357]

Target for next week

  • Landed? Plz?

Miscellaneous

Reflections

  • Learn like you know nothing

Status update: Extension Manager UI, Tab matches in Awesomebar

Extension Manager UI Redesign

Status

  • Planned for eventual mozilla-central landing – want to get initial parts landed before betas
  • Major AMO integration will probably be done as followups
  • Have been bringing UI up to speed with changes in mockups
  • Started looking at install/updates before realizing it’s not in the API yet

Loose ends

  • Boriss was away for the latest meeting, need to catch up
  • Waiting on project branch to be setup (bug [bug id=542910])

Next steps

  • UX discussions! UX discussions! UX discussions!
  • Implement helper widgets
  • Install/uninstall/update/enable/disable
  • Search
  • Help with API development

Target for next week

  • Catch up with Boriss
  • Implement various widgets – download progress, ratings, etc
  • Start implementing search (only local, until the API supports AMO searching)

Tab matches in Awesomebar

Status

  • Refactored UI for better toolkit/browser separation
  • Renamed “open tab” concept to the more generic “open page”
  • Must remember that adding a constant doesn’t mean the interface needs a change of UUID
  • Waiting on next review, then SR

Loose ends

  • None

Next steps

  • Land
  • Tackle followup bugs

Target for next week

  • Landed on mozilla-central

Reflections

  • I need to get better at estimating time required for larger projects
  • I’m having far too much fun for this to be considered “work”

Status update: Tab matches in Awesomebar, Extension Manager UI

Tab matches in Awesomebar

Status

  • “$” or “!” as the restrict character? Got i18n input: smontagu suggested “%” as a more common character on non-US keyboards
  • Discovered a (small) issue with having such a normalized DB schema
  • Unit tests (why do these take SO much time?!)
  • In process of final code review

Loose ends

  • None

Next steps

  • Address reviewer’s comments
  • Get SR review for API changes

Target for next week

  • Final reviews and (finally) landing

Extension Manager UI Redesign

Status

  • Meetings, plannings, and discussions, oh my!

Loose ends

  • None

Next steps

  • Bring UI in line with newer mockups
  • Handle installing and updating

Target for next week

  • Extract mockups from Boriss’s brain
  • Act on said mockups
  • Handle updates

Miscellaneous

Reflections

  • 5am start to a 13 hour day makes the next day really difficult.

Status update: Extension Manager UI, Tab matches in Awesomebar

Got back from my “holiday” late last week, after taking a 3-day roadtrip home. While away I mostly worked on the new Extension Manager UI, and am rather pleased with it all. Er, I relaxed and spent time with family too. Of course, almost everything else got ignored (including IRC). Back to the usual day-to-day awesomeness now.

Extension Manager UI Redesign

Status

  • Add-ons tree, list view, and detail view are all mostly implemented, hookup up the the new API, and look like the mockups
  • New API is really nice to use
  • Synced up with Mossop and Boriss (screensharing ftw!)
  • Sorted out a weekly meeting time (timezones are fun)

Loose ends

  • Need more data out of AMO’s API – Mossop has talked to people, filed bugs, etc

Next steps

  • Installation and updates
  • Searching

Target for next week

  • Tackle searching
  • Tweaks after latest round of mockups

Tab matches in Awesomebar

No update. Expect things to move quickly this week.

Reflections

  • Taking a break from a project can result in a more objective view of past decisions.
  • Starting new projects is fun.
  • Mondays are EVIL.

Status update: Tab matches in Awesomebar, Extension Manager UI

I’m in beautiful Motueka for two and a half weeks, staying with Anne’s family; enjoying the scenery and generally relaxing. I’ll be working while up here (working remotely remotely – very meta), but don’t expect to see me on IRC as much as usual.

Tab matches in Awesomebar

Status

  • Fixed unit tests, and fixed code breaking unit tests
  • First code review done (epic job done by Marco) – very positive

Loose ends

  • Need an icon made (no rush for this)

Next steps

  • There’s a unit test that fails on the Tryserver Tinderbox but not locally on my machine – need to figure that out
  • Fix reviewer’s recommendations, rinse, repeat

Target for next week

  • Another round of reviews!

Extension Manager UI Redesign

Status

  • Re-read all (?) existing material, studied mockups, etc
  • Met with Mossop, who is designing and implementing the new API
  • Started building initial (dumb, non-interactive) prototype based on Boriss’s mockups

Loose ends

  • None

Next steps

  • Non-interactive prototype based on mockups
  • Start pulling info from new API, and provide Mossop with feedback from experience

Target for next week

  • At least one mockup looking the same in XUL

Miscellaneous

  • Bug [bug id=397937] (view-source on safebrowsing blocked pages) is ready to be landed (also fixes bug [bug id=435726])

Reflections

  • Being stuck on a slow 3G connection may prove to be actually good for my productivity
  • Hot weather is not good for my productivity (counteracting the above point)

Status update

Sadly, I missed the the Mozilla Corp All-Hands last week in Mountain View, due to a nasty flu bug (bad timing, I know). But I hear it was pretty awesome – photos here. See everyone next time!

Tab matches in Awesomebar

Status

  • Various UI bugs fixed
  • Discussion on improving the UI further
  • Fixed bitrot from changes made in bug [bug id=527311] (that was a “fun” merge)
  • Made some toolkit code less specific to just tab-matches
  • Unit tests (and debugging existing tests – caught some weird behavior)

Loose ends

  • UI still not finalized. Might need to land on trunk and tweak UI in followup bugs (assuming review goes smoothly¹)

Next steps

  • UI adjustments
  • Finish tweaking matching code
  • Review

Target for next week

  • Make tab-matching dependent on autocompletesearchparam attribute (current it’s a global pref)
  • Some small changes to matching behavior (some assumptions changed after seeing some tests fail)
  • More UI tweaking/experimentation
  • Code review (regardless of whether UI is finalized or not)

Miscellaneous

  • Fixed about:jetpack on trunk (bug [bug id=534384]), awaiting review
  • Finally got a patch up for bug [bug id=397937] (view-source for safebrowsing blocked pages), awaiting review

Reflections

  • Missing an All-Hands due to sickness sucks.
  • My co-workers rock – they somehow manage to look out for me when I’m sick, even from the other side of the world. Thanks guys :)
  • Teaching is the greatest way to learn

¹ That’s not a completely unrealistic expectation, right? RIGHT?