> On 20.09.2011 14:37, Rob Campbell wrote:
>> Regardless of where or who we're getting the bugs from, Ehsan's short-list of bugs is a good start.
>>
>> From a quick survey of current Scratchpad bugs, I have these from Ehsan:
>>
>> 687565 Scratchpad doesn't highlight the JS 'let' keyword
>> 687568 Extending the selection causes Scratchpad to scroll without making the selection visible
>> 687573 Scratchpad does not maintain X offset when navigating vertically
>> 687580 Scratchpad doesn't support drag and drop
>> 669011 [RTL] Scratchpad doesn't allow ctrl-shift-x to switch text direction
>>
>> Of these, I'd say 687568 is the only real "blocker" level bug. Possibly 669011 as well, which I'm going to unassign to myself if anyone wants to give it a shot.
>
> 687573 sounds pretty annoying if you run into it. I'm not sure how frequently people would run into it.
> 687580 too. Copy+paste is a workaround, but it's still an annoyance if you expect drag+drop to work.
Agreed on both counts. Probably not going to be highly visible bugs, but they'll be annoying when you encounter them. Vertical offset while scrolling is something Firebug did strangely and I always found that very jarring.
We'll probably see that bug become more critical when we start using Orion for things like Debugger source view.
> I'm skeptical that aurora will help you assess the severity of these issues, as I suspect it doesn't yet have the serious scratchpad users that the scratchpad is made for.
Maybe not, though there are probably a few bleeding-edge webdevs out there who might discover it. Every little layer helps. :)
~ rob
> On 2011-09-19, at 3:16 PM, Ehsan Akhgari wrote:
> > On Mon, Sep 19, 2011 at 1:24 PM, Kevin Dangoor <kdan...@mozilla.com>
> wrote:
> >
> >> We believe that we should turn on the editor by default in Firefox 9,
> which
> >> is how it's presently set in Nightly and start gathering feedback from
> more
> >> users and real world use.
>
> > Do we have a sense of what would block having this enabled by default?
>
> In a generic sense: "bugs which make the scratchpad with Orion enabled
> net-worse than the scratchpad with Orion disabled."
>
> > I found at least five bugs that I could reproduce reliably and
> > I filed all of them. Have we done a QA run on it to determine the most
> > notable bugs, and decide which ones we're fine shipping with, and which
> ones
> > we need to fix before enabling it by default?
>
> Thank you for filing the bugs! Is it your sense that those things make it a
> less-good editor than shipping with orion disabled?
>
> I think Kevin's point in the original note is that we would rather not make
> the list of "bugs that need to be fixed before enabling it" because we're
> not getting great bug input with it disabled. I think Kevin's arguing for
> "enable it, and see if that uncovers reasons to reverse that decision." Do
> you believe that is a mistake?
>
Maybe. I think we should strive to achieve high quality in the code that we
ship, where possible. I don't think that it's a good idea for us to push
something to the release channel in the hope that we would know if it's bad
when the users on that channel complain.
Here are three specific points to Orion which make me worried.
1. We _know_ that there are problems in the code that we imported from
Orion. I have listed those code problems in the review comments I made, and
I found out about those problems by just reading the code.
2. We don't have test coverage on the editing interactions in Orion. I've
brought this up before, but let me repeat myself: shipping code which we're
not testing at all makes me terribly worried.
3. I found the bugs that I reported yesterday by just using Scratchpad for
10-15 minutes (and these were only the bugs that I could reproduce, I didn't
file the ones which I didn't know how to reproduce). My motivation was to
convince myself that maybe Orion is in a shippable state in practice. Now,
we all know that software has bugs, but I expect the code that we ship on
the stable channel to resist to break when somebody without any QA skills
tries to break it in a short amount of time. :-)
There is another point about Scratchpad which makes getting feedback harder
than usual (it was mentioned elsewhere in this thread too). Scratchpad is a
new tool, so it's quite possible that it's just not part of the workflow of
a lot of web developers. Enabling Scratchpad on aurora/beta/release and not
getting much negative feedback from it does _not_ mean that it's high
quality. I think that we should resort to internal QA, code inspection, and
increasing the test coverage on this as some preliminary techniques in order
to make the code more robust before shipping it on the release channel.
Now, while I don't think that Orion in its current form is in a shippable
state, I won't object to enabling it on Aurora and Beta if the DevTools team
wants to do that. But because of the above reason, I think we should not
rely on the feedback from those channels as a significant quality measure at
this point.
> On Tue, Sep 20, 2011 at 8:37 AM, Rob Campbell <rcam...@mozilla.com>
> wrote:
>
> > 687565 Scratchpad doesn't highlight the JS 'let' keyword
> > 687568 Extending the selection causes Scratchpad to scroll without making
> > the selection visible
> > 687573 Scratchpad does not maintain X offset when navigating vertically
> > 687580 Scratchpad doesn't support drag and drop
> > 669011 [RTL] Scratchpad doesn't allow ctrl-shift-x to switch text
> direction
>
Just filed a few new ones:
*687850* <https://bugzilla.mozilla.org/show_bug.cgi?id=687850> - Scratchpad
fails to paste the text content completely
*687855* <https://bugzilla.mozilla.org/show_bug.cgi?id=687855> - Scratchpad
fails to update the syntax highlighting correctly with modifications to the
DOM
*687860* <https://bugzilla.mozilla.org/show_bug.cgi?id=687860> - Pasting
fails in scratchpad after editing large buffers
*687861* <https://bugzilla.mozilla.org/show_bug.cgi?id=687861> - Horizontal
scrolling in scratchpad with very long lines is slow
*687865* <https://bugzilla.mozilla.org/show_bug.cgi?id=687865> - Line
insertion in scratchpad with very long lines is slow
> Also keep in mind that we need to balance the good with the bad.
Of course!
> The good:
>
> * Orion is fast, particularly on large files
>
As I understand it, that is only an advantage on files with extremely long
lines, right? When I did a bit of perf testing, I also saw some downsides
(see 687861 and 687865).
> * better tab handling
>
Compared to a plain textarea, for sure. But that's just because a plain
textarea is not designed to be a code editor, and doesn't have special tab
handling. I don't find that a fair advantage point over the alternative!
> * syntax highlighting
> * line numbers in the gutter
>
Yep, these two are definitely advantages.
> For editing code, it's just a much better UX, modulo the bugs.
>
I would argue that depending on which bugs you hit, it might be better or
worse UX. But I agree that in general, Orion-based scratchpad definitely
looks better.
> One other note: we should file bugs against Orion where it makes sense to
> do
> so. IBM has told me they have 2 full time people working on the text editor
> for the Orion project.
>
> I'll volunteer to do this. Speak up if any of these problems live in our
> code rather than Orion's.
>
I think most of these bugs that I've filed are Orion bugs, so please feel
free to upstream them. The perf ones we might need to fix on the Gecko
side, but there might be stuff which Orion can do better in order to feel
faster.
--
Ehsan
<http://ehsanakhgari.org/>
> Reading their code, it seems like they handle scrolling themselves in
>> order
>> to be able to do line-based vertical scrolling, but not on Mac, so as a
>> Mac
>> user, I end up paying for pixel-based scrolling, which the browser can
>> handle more efficiently.
>>
>
> Yep. And in any case, for _horizontal_ scrolling all this should not be
> happening at all.
>
Right.
My summary of this one is "It's like a textbook example of how to work
>>> around layout engine optimizations.
>>>
>>
>> Yep, indeed. One of the things with Orion is that it's a cross-browser
>> library, which probably needs to handle crazy stuff in multiple engines.
>> That might hurt performance in Gecko if we have to pay for the thing
>> they're
>> doing to work around other engines.
>>
>
> Other engines actually have similar optimizations which Orion is similarly
> defeating.
>
> The real issues here are:
>
> 1) Lack of APIs to ask for information _without_ recomputing it.
>
That's something that might be fixed in some of the cases.
> 2) Intermixing of querying layout info and changing things (a
> well-known performance no-no).
>
That can be fixed in Orion.
> 3) Some performance issues on our part due to them being create/destroy
> happy with the DOM (see analysis in bug 638452).
>
Yeah, we can fix those on our side without Orion doing anything.
> 4) Reimplementing parts of browser functionality. This part may be
> due to the cross-browser bit....
Yes. Which brings me back to my original review comment, saying "we should
rewrite their TextView class".
--
Ehsan
<http://ehsanakhgari.org/>
I filed a handful of bugs upstream and sent email to IBM's project leader
for Orion.
The copy and paste bugs in particular are ones that I think will bother a
great many users of the Scratchpad and Style Editor, and I agree with
Ehsan's point that Orion is not ready to turn on yet.
Everyone I've spoken to seems to agree on the long term solution here: make
better content-accessible APIs so that people can create great editors in JS
and get accessibility and internationalization for free or at least cheap.
Ehsan recently wrote about improving the editor APIs [1].
I'll talk with Ehsan, Mihai and the Orion people to figure out what the
right short-term solution is, get the feature page updated and report back
here.
Kevin
[1]: http://ehsanakhgari.org/blog/2011-08-31/future-editing-web
On Tue, Sep 20, 2011 at 3:09 PM, Ehsan Akhgari <ehsan....@gmail.com>wrote:
> On Tue, Sep 20, 2011 at 2:30 PM, Boris Zbarsky <bzba...@mit.edu> wrote:
>
> > Reading their code, it seems like they handle scrolling themselves in
> >> order
> >> to be able to do line-based vertical scrolling, but not on Mac, so as a
> >> Mac
> >> user, I end up paying for pixel-based scrolling, which the browser can
> >> handle more efficiently.
> >>
> >
> > Yep. And in any case, for _horizontal_ scrolling all this should not be
> > happening at all.
> >
>
> Right.
>
> My summary of this one is "It's like a textbook example of how to work
> >>> around layout engine optimizations.
> >>>
> >>
> >> Yep, indeed. One of the things with Orion is that it's a cross-browser
> >> library, which probably needs to handle crazy stuff in multiple engines.
> >> That might hurt performance in Gecko if we have to pay for the thing
> >> they're
> >> doing to work around other engines.
> >>
> >
> > Other engines actually have similar optimizations which Orion is
> similarly
> > defeating.
> >
> > The real issues here are:
> >
> > 1) Lack of APIs to ask for information _without_ recomputing it.
> >
>
> That's something that might be fixed in some of the cases.
>
>
> > 2) Intermixing of querying layout info and changing things (a
> > well-known performance no-no).
> >
>
> That can be fixed in Orion.
>
>
> > 3) Some performance issues on our part due to them being create/destroy
> > happy with the DOM (see analysis in bug 638452).
> >
>
> Yeah, we can fix those on our side without Orion doing anything.
>
>
> > 4) Reimplementing parts of browser functionality. This part may be
> > due to the cross-browser bit....
>
>
> Yes. Which brings me back to my original review comment, saying "we should
> rewrite their TextView class".
>
> --
> Ehsan
> <http://ehsanakhgari.org/>
> _______________________________________________
> dev-apps-firefox mailing list
> dev-apps...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-apps-firefox