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 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
- Firefox 3.6 released. Boo-ya!
Reflections
- 5am start to a 13 hour day makes the next day really difficult.
Firefox 3.6 is out!
You may have heard: Firefox 3.6 is out. Its pretty awesome. I helped make it. That makes it extra special.
If you use Firefox, you should upgrade - its easy! And if you don't use Firefox, give it a try! Here's why:
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 397937 (view-source on safebrowsing blocked pages) is ready to be landed (also fixes bug 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 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 534384), awaiting review
- Finally got a patch up for bug 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?
Status update
Tab matches in Awesomebar
Status
- RTL issues looked into (with possible solution) - poses an interesting UI challenge
- Fixed issue where session restored tabs weren't recorded as being open
- Various other bugs fixed
- Some tests written
Loose ends
- Need UX eyes on the RTL problem
Next steps
- Fix any remaining bugs
- More tests
- Go back over feedback
- Code review
Target for next week
- Fix rare issue with tag-matches showing "Switch to tab" instead of a list of tags
- More unit tests
- Initial code review, depending on feedback
Binding for untrusted text in security dialogs
No change.
Reflections
- A failing test breaks any previous assumptions. Therefore it brings both the code and the test into question.
Status update
Was stubbornly fighting the flu for part of the week, so I didn't get as much done this week as I had hoped.
Tab matches in Awesomebar
Status
- Finished nsPlacesAutocomplete integration - works wonderfully well
- Filed bug 530209 to change the preferences UI to allow adding tab matches
- Tryserver builds at http://people.mozilla.org/~bmcbride/tabmatches/latest/
Loose ends
- Waiting on feedback
Next steps
- Unit tests
- Respond to feedback
Target for next week
- Unit tests
Binding for untrusted text in security dialogs
No change.
Miscellaneous
- Helped with some lightweight theme bugs for 3.6
Reflections
- Sometimes, there is no good solution. But there is a best solution.
Status update
Tab matches in Awesomebar
Status
- Took an alternative (more complete, less hacky) approach to autocomplete integration, which took a lot longer. This way should allow easy ranking for tab-only matches.
Loose ends
- None
Next steps
- Finish autocomplete work
- Unit tests
- Preferences UI
Target for next week
- Finish autocomplete
- Unit tests
Binding for untrusted text in security dialogs
Status
- Initial planning
- Identified potential issues with implementing in only JS
Loose ends
- None
Next steps
- More research - especially into unmatched surrogates in UTF-16
Target for next week
- A better understanding of surrogates
Miscellaneous
- 519486 resurrected itself in some (new) popular lightweight themes - looking at ways to further improve the solution.
Reflections
- A hack can save time now, cost time later, and still be worth it.
- Beautiful code is not always useful code.
Status update
Bit of a weird week - very busy, but not a lot of coding.
Tab matches in Awesomebar
Status
- UI works better now
- Initial work on proper integration into nsPlacesAutocomplete
Loose ends
- None
Next steps
- Finish autocomplete work
- Preferences UI
- More unit tests
- More unit tests
- More unit tests
Target for next week
- Finish autocomplete work + preferences UI
Binding for untrusted text in security dialogs
Status
- No change
Miscellaneous
- Had my first day as a Sheriff on Tuesday - worked out pretty well
- Also had my first security review on Tuesday, for the Plugin Update Awareness project - that went pretty well too
- New Windows box arrived on Wednesday - now running Windows 7 as my main OS
- Working on moving all my development over to Windows
Reflections
- Having the right tools can make a difficult job into a trivial job
- Pizza and coffee are always the right tools

