Greetings,
So I didn't actually say it was *easy* :)
However since it is all built with web technologies we get a large
amount of code re-use. The actual hard part is going to be building an
abstraction layer over all the code that does "trusted things" like
talking to the file system, and window observation. Since these API's
are different all the browser plugin systems, that will be a project.
Once you can hook into knowing whenever a new browser window is
instantiated, telling it to capture all events at the window level is
basically trivial. All modern browsers follow a variation of the W3C
standard for event bubbling and capturing, which means a listener can
intercept all the events at the window level and introspect/analyse
them to create UI/locators etc.
I suspect the next two porting projects will be with IE and Chrome,
the IE proof of concept is working thanks to the remains of the
Selenium ICE project and when serious development starts with that I
imagine we will create a se-builder ie branch.
The beauty of course is that if we do this correctly, when making
improvements to the javascript/html/css of the UI, all the browsers
get it immediately.
As for your second question, although the "features" line up with IDE
in many ways, this code base, UI and functionality was all developed
independently of IDE and I would generally say the user experience is
more intuitive with builder and will continue to get better. When
multiple locators are available, it provides them in a list that you
can pick from, which I would like to see evolve into a teaching tool
that also informs you of why or why not a specific locator might be a
good choice.
Honestly having watched folks using the current IDE for the first
time, the XUL tree component specifically confuses and frustrates
people and I would love to see first time users build a test they can
check in and start relying upon faster. Right now the builder focus is
people who aren't experienced with any of the testing technology,
folks who have mastered IDE are probably going to be happy continuing
with it and I'm not even going to try convincing them otherwise.
Having said all that, I want to be crystal clear that I absolutely
feel that there is room in the ecosystem for all these awesome tools
enabling people -- it's good for the community to have some choices in
tools. I can certainly think of reasons that IDE, TestMaker and
Builder all appeal to different users and they are all helping make
peoples lives easier.. which is the goal of all this to begin with!
Now that this is out there, I look forward to some conversations at
Selenium Conf -- I find any good technology conversation is better
with a pint.
Cheers,
Adam