Status update
Feb0
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”
On open video and exclusion
Jan8
Important note: This post is my own opinion. Nothing more, nothing less.
No doubt you’ve heard of Youtube and Vimeo launching their beta HTML5 <video> players. There’s been a lot of talk around the codec that these use: H.264. While Firefox has great support for HTML5 <video>, it doesn’t support the (patented) H.264 codec, so you can’t use those players in Firefox. This is because Mozilla believes (and I concur) that H.264 is not good for the open web.
If you haven’t already, I recommend you read…
- Robert O’Callahan’s post on his LCA talk on Open Video and Mozilla
- His other post on his comparison of H.264 and ActiveX
- Mike Shaver’s post on H.264 licensing
- Christopher Blizzard’s post on the history of the web, network effects, and long-term effects
Yea, I know that’s a lot of reading. But they’re worth it.
Anyway, some people have suggested the following solutions:
- Use the codec that comes with the OS (if any)
- License H.264 and only ship it with binary versions of Firefox (leaving other distributors, embeddors, and other less well-funded browser vendors in the cold)
- Only ship H.264 in Firefox to people living in countries where software patents are not enforceable (live in the US? Too bad!)
These solutions are, frankly, selfish. What these solutions propose is that it’s okay for only the privileged to have access to the web. This is not okay. It is not okay to exclude people from the web. Not because of the hardware they have, the OS they run, the client software they use, where they live, or how much money they have. Not for any reason. The web is meant to be participatory – let’s keep it that way.
Status update
Jan3
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!
Jan1
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
Jan1
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
Dec4
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
Dec0
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
Nov2
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
Nov0
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
Nov2
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.


