Closed Bug 1001590 Opened 10 years ago Closed 10 years ago

Firefox OS Simulator for 1.1 can't have its end of life yet

Categories

(DevTools Graveyard :: WebIDE, defect)

22 Branch
x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Harald, Assigned: jryans)

References

Details

Attachments

(1 file)

App Manager is great but only for 1.2+. 1.1 is relevant and needs our full support in devtools.

1.1 is the version in the market while 1.3 isn't even out there yet. Developers need to be able to test 1.1. Right now Simulator is warning people that is will be incompatbible with Firefox 26 and above (which it actually isn't as it works flawlessly in 30 and only the menu item disappeared in 31).
The main challenge is that 1.1 predates much of the work in the Dev Tools server side code that supports backwards compatibility.  So, newer clients (Firefox Nightly) aren't able to talk to a server that old currently.

When I first started on the team (~8 months ago), I attempted to support this case, but it's quite a lot of work to do so, so at the time we decided to abandon it.

For a time, we were "uplifting" newer server side code into the simulator so it would remain compatible with newer clients.  However, this was a crazy, fragile thing to begin with.  And from 1.1 -> 1.2, there were new JavaScript syntax & Debugger API features added (which were also rapidly adopted in the Dev Tools code) that made it effectively impossible to just copy over the new server code.  Instead we'd have to somehow write the server code all over again, but yet not using features that it requires at the same time...  It's a large project, and even then can't offer a full feature set, since things are simply not present in that version of Gecko.
In bug 977866 comment 4, there is similar info about this situation.
Circling back to the original intent, I didn't request 1.1 support in App Manager but that FxOS Simulator 1.1 is maintained as first-class citizen until 1.1 is irrelevant.
(In reply to Harald Kirschner :digitarald from comment #3)
> Circling back to the original intent, I didn't request 1.1 support in App
> Manager but that FxOS Simulator 1.1 is maintained as first-class citizen
> until 1.1 is irrelevant.

Well, the same info applies.  When you mentioned in comment 0 that 1.1 "needs our full support in devtools", I assumed you meant "we want to debug an app on the device".  The App Manager and the 1.1 Simulator both rely on Firefox's Dev Tools client code for debugging, so there is no difference between the two for this use case.

I see that Nick has now commented in bug 977866 about just pushing apps.  This is much less complex than the entire toolbox (which is what "full support" implied to me).  Is pushing apps enough (no debug tools)?
I totally understand that 1.1 just doesn't have the remote debugging capabilities needed so we can't have all the things.

Pushing apps is definitely the most important. Seeing the JS console is nice to have (FxOS Simulator 1.1 has it).

Just to re-iterate: We might not need to integrate 1.1 into App Manager; just giving FxOS Simulator 1.1 as stand-alone add-on some development cycles should also solve this.
Guys,

All the retail devices being sold are Firefox OS 1.1

Developers in the target countries are using devices running 1.1... If they can't connect to the simulator than we're doing something wrong.

There are lots of advancements in App Manager and Firefox OS 1.2+ but unless the OEMs pick it up we need to support the 1.1 devices or we'll  drive our small third-party developer base away from us.

Yesterday I did a hackathon with Brazilian Game Developers and we lost a TON of time because all devices were running Firefox OS 1.1 and we could not connect to the simulator because we could not install the simulator extension...
Just for anybody else picking up this thread you can use the "Disable Add-on Compatibility Checks" addon [1] to allow installing FxOS Simulator in any FF version (in 31 the Simulator menu item disappeared).

[1]: https://addons.mozilla.org/en-US/firefox/addon/checkcompatibility/
+1, I think we should keep this alive for the 1.1 use case. I kind of thought this would be the case for a while, so a little love for the simulator 1.1 add-on seems justified.

That being said - carrier partners interested in a good apps ecosystem could really help us out here and push for at least 1.2 OTA updates, please tell me this is a priority.
Hmm, I didn't realize the FxOS 1.1 simulator was still being used that much.  It has issues with newer versions of Firefox, as jryans has noted, but if it works well enough as it is for folks targeting 1.1 devices, then it's worth continuing to distribute it to them.

Note that jorgev disabled the addon for newer versions of Firefox in bug 989634 at my request (although it still seems enabled on AMO, so I'm not sure if that actually took effect yet), so cc:ing him to make him aware of the request here.  Also cc:ing kmag, who has had to manually upload new versions to AMO, so he's aware of the request.

(In reply to Harald Kirschner :digitarald from comment #5)
> I totally understand that 1.1 just doesn't have the remote debugging
> capabilities needed so we can't have all the things.
> 
> Pushing apps is definitely the most important. Seeing the JS console is nice
> to have (FxOS Simulator 1.1 has it).
> 
> Just to re-iterate: We might not need to integrate 1.1 into App Manager;
> just giving FxOS Simulator 1.1 as stand-alone add-on some development cycles
> should also solve this.

What kind of development are you suggesting someone should spend cycles on?

If it's just a matter of fixing the missing Tools > Web Developer entry in Fx31, then that seems doable.  But if there's additional work to do, then it may be quite hard, given that no one has touched the codebase in a while.
I added a compatibility override for it on bug 989634, which I reverted now. Let me know if you need anything else from us.
Thanks a lot for the effort to help.

If we ask app developers to disable compatibility check they will simply stop developing for the platform. If you buy a phone and then pick current Firefox to develop, you expect it to just work. If the developer need to go thru hops and "hacks" (its not a hack but it feels like one) to get to work then we're lost.

If we can simply allow the current simulator to run in the current and future versions of Firefox then we're safe.

Not a single partner send a FOTA for Firefox OS 1.2, they all skipped it. They are also skipping 1.3 so far. There is no indication that they are updating anytime soon. We need a better way to handle OS updates on those devices since we can't trust the OEMs to deliver updates as frequently as we'd like.

Also keep in mind that in most of our target markets is impossible to get Keons so most of the third party developers are going with ZTE/Alcatel/LG and those devices are all locked.
(In reply to andre from comment #11)
> Thanks a lot for the effort to help.
> 
> If we ask app developers to disable compatibility check they will simply
> stop developing for the platform. If you buy a phone and then pick current
> Firefox to develop, you expect it to just work. If the developer need to go
> thru hops and "hacks" (its not a hack but it feels like one) to get to work
> then we're lost.
> 
> If we can simply allow the current simulator to run in the current and
> future versions of Firefox then we're safe.
> 
> Not a single partner send a FOTA for Firefox OS 1.2, they all skipped it.
> They are also skipping 1.3 so far. There is no indication that they are
> updating anytime soon. We need a better way to handle OS updates on those
> devices since we can't trust the OEMs to deliver updates as frequently as
> we'd like.
> 
> Also keep in mind that in most of our target markets is impossible to get
> Keons so most of the third party developers are going with ZTE/Alcatel/LG
> and those devices are all locked.

Thanks for the update, I had thought it would be better by now. If you are aware of partners in the ecosystem who are particularly concerned about continued tools support for 1.1, please encourage them to contribute towards development of the Simulator 1.1 add-on so that working with this legacy ecosystem that has been created will be less of a problem for developers. We would welcome contributions.
(In reply to Myk Melez [:myk] [@mykmelez] from comment #9)
> What kind of development are you suggesting someone should spend cycles on?
> 
> If it's just a matter of fixing the missing Tools > Web Developer entry in
> Fx31, then that seems doable.  But if there's additional work to do, then it
> may be quite hard, given that no one has touched the codebase in a while.

Just keeping it working in future versions of Firefox is key here.

(In reply to Jorge Villalobos [:jorgev] from comment #10)
> I added a compatibility override for it on bug 989634, which I reverted now.
> Let me know if you need anything else from us.

- On FF 31.0a1 the menu item doesn't appear in the `Web Developer` menu. This works in 30.0a2. I fixed a similar bug back then [1], so it should be a rather simple fix.

- The Simulator dashboard warns the user about incompatibility in the sidebar "This add-on is incompatible …". This should be changed to "This add-on only works with Firefox OS 1.1, if you have Firefox OS 1.2 please use App Manager" (or something similar); as comments on the FxOS Simulator page suggest that developers tried using it on 1.2 without knowing.

- The paragraph about compatibility on the addons page should be updated. With the is compatible with all FF versions but only works on Firefox OS 1.0 and 1.1.

[1]: https://github.com/mozilla/r2d2b2g/pull/43

(In reply to andre from comment #11)
> Not a single partner send a FOTA for Firefox OS 1.2, they all skipped it.
> They are also skipping 1.3 so far. There is no indication that they are
> updating anytime soon. We need a better way to handle OS updates on those
> devices since we can't trust the OEMs to deliver updates as frequently as
> we'd like.

Most carriers pick up 1.3., but 1.1 will be around for a while just because we have no influence over OTAs and developers need to be able to test their apps on 1.1 to reach their users.
(In reply to Harald Kirschner :digitarald from comment #13)

> Most carriers pick up 1.3., but 1.1 will be around for a while just because
> we have no influence over OTAs and developers need to be able to test their
> apps on 1.1 to reach their users.

Here's hoping pickup on 1.3+ phones is enough that the # of users using 1.1 is an increasingly small slice of the pie. Do you know if we have any leverage on certification if OEMs try to ship a new pone with 1.1? I'm thinking of the ugly situation with Gingerbread in the Android ecosystem.
Harald,

The huawei phone launched in Mexico recently, its a brand new device and yet it comes with 1.1...
(In reply to andre from comment #15)
> The huawei phone launched in Mexico recently, its a brand new device and yet
> it comes with 1.1...

That's a real problem.
Paul's going to take a look at this issue to determine the best path forward here.  Thanks for all the input so far!
Assignee: nobody → paul
We decided to try to make 1.1 work with the latest version of Firefox. I'll work on that.
Thanks a lot Paul. I will see if I can help in any way.
I thought we fix https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/ to work in the latest version of Firefox but 30+ does does not show the menu entry.
(In reply to Harald Kirschner :digitarald from comment #20)
> I thought we fix
> https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/ to work
> in the latest version of Firefox but 30+ does does not show the menu entry.

The addon block was reverted, so it's at least possible to install once more.  However, AFAIK, no one has yet made any changes to fix the menu entry.
Five new developers from Brazil came in contact with me in the last two days regarding this bug.

I understand that Mozilla is advancing the platform but doing this while breaking the only solution that third-party developers had is a shot in the foot.

Remember all devices in target countries in South America which is probably more than half of all the Firefox OS users are running 1.1

We just broke third-party development with this...
+1, this shines a really bad light on developing for Firefox OS 1.1. that we don't sufficiently support developers to test for phones that are in the market.
These changes get the addon working again in 31+.

It appears once more in the Web Developer menu.  The simulator runs, and apps can be installed.  Pushing to 1.1 devices also works.

The "Connect" button does open a toolbox, but it's basically useless (as expected) since recent Firefox can't understand the 1.1 server.

I've tested this on Firefox 30 - 33 for OS X, and also with a Keon running 1.1.
Assignee: paul → jryans
Status: NEW → ASSIGNED
Attachment #8445432 - Flags: review?(poirot.alex)
(In reply to J. Ryan Stinnett [:jryans] from comment #25)
> Created attachment 8445432 [details] [review]
> Support Firefox 31+ in the 4.0 branch
> 
> These changes get the addon working again in 31+.
> 
> It appears once more in the Web Developer menu.  The simulator runs, and
> apps can be installed.  Pushing to 1.1 devices also works.
> 
> The "Connect" button does open a toolbox, but it's basically useless (as
> expected) since recent Firefox can't understand the 1.1 server.
> 
> I've tested this on Firefox 30 - 33 for OS X, and also with a Keon running
> 1.1.

Great work! I'd polite;y suggest a second patch to remove the connect button if it doesn't do anything useful. We should also document this in release notes as being an inherent and necessary limitation.
(Thank you Ryan)
Comment on attachment 8445432 [details] [review]
Support Firefox 31+ in the 4.0 branch

These changes looks great, and the simulator is in a better shape in recent Firefox! (also verified on 1.1 phone)

I'was not able to checkout gcli submodule, were you?
Attachment #8445432 - Flags: review?(poirot.alex) → review+
(In reply to Jeff Griffiths (:canuckistani) from comment #26)
> Great work! I'd polite;y suggest a second patch to remove the connect button
> if it doesn't do anything useful. We should also document this in release
> notes as being an inherent and necessary limitation.

Okay, I've removed the button.  I don't have access to update the addon page, but I'll request Myk to do so in a moment.
(In reply to Alexandre Poirot (:ochameau) from comment #28)
> I'was not able to checkout gcli submodule, were you?

I had a mirror of this repo, so I've updated the branch to use it.
Myk, I have updated the release-4.0 branch with changes needed to support Firefox 31+.

Can you create a 4.0.2 release and send it up to AMO?  IIRC, these builds need to be manually approved by Kris or something like this because we're not strictly following AMO guidelines.  I'm not really sure what the steps are here.

Also, we should change the add-on's about content from:

"Important! This add-on is compatible with Firefox 24/25 and Firefox OS 1.1. To test apps using Firefox 26+ with Firefox OS 1.2+, please use the new App Manager built into Firefox!"

to something like:

"Important! This add-on is compatible with Firefox 30+ and Firefox OS 1.1. To test apps with Firefox OS 1.2+, please use the new App Manager built into Firefox!"

I don't think I can edit the add-on page.
Flags: needinfo?(myk)
(In reply to J. Ryan Stinnett [:jryans] from comment #31)
...
> "Important! This add-on is compatible with Firefox 30+ and Firefox OS 1.1.
> To test apps with Firefox OS 1.2+, please use the new App Manager built into
> Firefox!"


s/App Manager/WebIDE/ ?
Well, it's only called that in Nightly... Maybe both need to be mentioned?  

Maybe we should stop making new names...?  (Only kidding!)
(In reply to J. Ryan Stinnett [:jryans] from comment #33)

> Maybe we should stop making new names...?  (Only kidding!)

...damn, I was going to suggest we name V3 'Weave'.
(In reply to J. Ryan Stinnett [:jryans] from comment #31)
> Myk, I have updated the release-4.0 branch with changes needed to support
> Firefox 31+.
> 
> Can you create a 4.0.2 release and send it up to AMO?  IIRC, these builds
> need to be manually approved by Kris or something like this because we're
> not strictly following AMO guidelines.  I'm not really sure what the steps
> are here.

Ok, I've created the release builds and uploaded them to stage.mozilla.org:

https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-windows.xpi
https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-mac.xpi
https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-linux.xpi

But before we ask Kris (who is cc:ed on this bug) to upload them to AMO, can you confirm that they contain the fixes you expect?


> Also, we should change the add-on's about content from:
> 
> "Important! This add-on is compatible with Firefox 24/25 and Firefox OS 1.1.
> To test apps using Firefox 26+ with Firefox OS 1.2+, please use the new App
> Manager built into Firefox!"
> 
> to something like:
> 
> "Important! This add-on is compatible with Firefox 30+ and Firefox OS 1.1.
> To test apps with Firefox OS 1.2+, please use the new App Manager built into
> Firefox!"
> 
> I don't think I can edit the add-on page.

I can do this once we've updated the builds, but I've also made you an "owner" of the addon, so you can make such changes from its edit page <https://addons.mozilla.org/en-US/developers/addon/firefox-os-simulator/edit>.


(In reply to Jeff Griffiths (:canuckistani) from comment #34)
> ...damn, I was going to suggest we name V3 'Weave'.

I believe "Persona" is re-available.
Flags: needinfo?(myk)
(In reply to Myk Melez [:myk] [@mykmelez] from comment #35)
> (In reply to J. Ryan Stinnett [:jryans] from comment #31)
> > Myk, I have updated the release-4.0 branch with changes needed to support
> > Firefox 31+.
> > 
> > Can you create a 4.0.2 release and send it up to AMO?  IIRC, these builds
> > need to be manually approved by Kris or something like this because we're
> > not strictly following AMO guidelines.  I'm not really sure what the steps
> > are here.
> 
> Ok, I've created the release builds and uploaded them to stage.mozilla.org:
> 
> https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-windows.
> xpi
> https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-mac.xpi
> https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-linux.xpi
> 
> But before we ask Kris (who is cc:ed on this bug) to upload them to AMO, can
> you confirm that they contain the fixes you expect?

Mac and Linux builds look good.

However, the Windows build doesn't contain ADB.  I tried to reproduce, and for me, the wget I have for Windows (wget 1.10.2 from mozilla-build) failed to download ADB because of a certificate error.

I updated the Makefile on release-4.0 to skip certificate checking on Windows.  Can you try again?

> > I don't think I can edit the add-on page.
> 
> I can do this once we've updated the builds, but I've also made you an
> "owner" of the addon, so you can make such changes from its edit page
> <https://addons.mozilla.org/en-US/developers/addon/firefox-os-simulator/
> edit>.

Aha, great, I am happy to make the edits then, thanks!
Flags: needinfo?(myk)
(In reply to J. Ryan Stinnett [:jryans] from comment #36)
> However, the Windows build doesn't contain ADB.  I tried to reproduce, and
> for me, the wget I have for Windows (wget 1.10.2 from mozilla-build) failed
> to download ADB because of a certificate error.

Argh, sorry, I should've caught that.  I had the same problem when building the 4.0.1 builds (and solved it with a one-off modification to the manual build steps).


> I updated the Makefile on release-4.0 to skip certificate checking on
> Windows.  Can you try again?

Yes, I've rebuilt, confirmed that the new build includes ADB (and your other fixes, as far as I can tell), and uploaded it to the same location:

https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-4.0.2-windows.xpi
Flags: needinfo?(myk)
Incidentally, that problem with certificates is bug 1029953 (I could swear there was another bug about it too, but I can't find it now).
Okay, the Windows build looks good now.  Thanks Myk!

Now we're ready for Kris to upload them I assume.  Kris, can you please upload the 4.0.2 builds to AMO?  See comment 35 for links.
Flags: needinfo?(kmaglione+bmo)
(In reply to J. Ryan Stinnett [:jryans] from comment #39)
> Okay, the Windows build looks good now.  Thanks Myk!

Cheers!


> Now we're ready for Kris to upload them I assume.  Kris, can you please
> upload the 4.0.2 builds to AMO?  See comment 35 for links.

Kris, here's the comparison between the 4.0.1 and 4.0.2 tags:

  https://github.com/mozilla/r2d2b2g/compare/4.0.1...4.0.2

Note that the "new" files addon/template/bootstrap.js and addon/template/install.rdf are just copies of the equivalent files in the app-extension/ subdirectory of the Add-on SDK v1.14 <https://github.com/mozilla/addon-sdk/tree/1.14/app-extension>, which we've always included in the addon but didn't previously store in its repository.

Also, mea culpa for telling you that 4.0.1 would be the final release of this addon!  Some software dies hard, I guess. :-/
Done.
Flags: needinfo?(kmaglione+bmo)
I've updated the add-on description to mention the right version of Firefox, etc.

Okay, I think we're done here, thanks all!
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Product: Firefox → DevTools
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: