Hacker News new | past | comments | ask | show | jobs | submit login
Firefox OS is a developer's best friend (binary-choice.blogspot.com)
200 points by damian2000 on Aug 27, 2014 | hide | past | web | favorite | 41 comments

I'm really glad Firefox OS is getting attention and this post highlights the features that Mozilla should be advertising in more developed countries instead of just focusing solely on appealing to developing nations. Competition is good and there really needs to be another player in the game apart from Apple, Google, and Microsoft. We especially need a completely transparent and open mobile operating system like Firefox OS, so I really hope this project succeeds.

I would also really like for Mozilla to focus on higher end hardware and to also address some core features that are completely absent from the OS. Some issues regarding these missing features have been sitting open for YEARS on Bugzilla, and it has prompted me to start learning how to develop for the OS, but I have a long while yet before I can make any meaningful contribution.

I got a ZTE Open C as my first smart phone, and I was really impressed with how capable it is, but there are some incredibly annoying issues that seem like they are never going to be addressed. For one, the screen brightness returns to 100% every single time I wake my phone up front standby. I really hope Mozilla partners with more manufacturers down the line because I've heard nothing but negative things about the Geeksphone and ZTE phones, and my experiences so far confirm these findings.

I wonder if firefox purposely chose to adopt a developer-first strategy with its mobile OS, similar to Stripe. I know that this strategy works, at least somewhat, on me, as I recently needed a payment processor for a hackathon and, knowing nothing about payment processors and after some quick googling for the most developer friendly payment API, I went with Stripe. Though, it's probably going to be a lot tougher for Mozilla to use this strategy effectively in such a consumer facing product, especially when the mobile OS market is already so saturated with mature ecosystems.

Mozilla isn't operating far outside the ecosystem though. By releasing an Android-based OS with programs that run on web standards, it's pretty easy to add compatibility for most popular things that people do on their phones.

Firefox OS sounds great, but I don't think that's what this post is really about.

It is about OP gaming his/her carrier's promotional gimmick to get free data usage added to his account, 2mbit (mbyte?) at at time.

I did something like this once, I wasn't caught, but nonetheless it didn't turn out well.

Back in 2005, AT&T would do something like take a dollar off my bill for each dropped call.

At the time, I happened to work in a building that had some kind of Faraday cage built into the walls (EMSEC), so I had a reliable mechanism for producing dropped calls on demand.

I would just dial the local Time & Temp line on my way to the front door, and then when I stepped inside, the call would drop and I would get the dollar credit. This worked, until it didn't.

After about a month, my phone service was terrible and I was unable to place or receive international calls. I ended up talking to tier-III tech support and was informed that the cell tower closest to me was rejecting my device so I was talking to a more distant tower. (I never learned why that prevented international calls.) Apparently the tower had automatically weighed and measured my device and found it lacking!

After the tech reconfigured the tower, my cell phone service was good again. I chalked it up to karma and ceased to commit that particular form of fraud.

Hrm.. While I mostly blame Vodafone for this exploitable and weird offer, I question the idea of using this hack to advertise Fx for developers.

It's novel mostly because of the strange environment, not due to the couple of lines of code to implement the hack.

And finally, I have a hard time believing that you couldn't do something comparable with Tasker etc. - or with a tiny Android app of your own (but I haven't tried managing calls so far, I might be off).

Just the same as Emacs scripting and Eclipse plugins. You can do the same with both, but the initial friction of bootstrapping a Plugin Project, declaring this year's flavor of OperationDescriptorFactory, etc. discourages plugins for one-off tasks.

Actually, the last platform I've seen that was ad-hoc scripting friendly was Symbian with PyS60. Now if there was a Firefox phone with a decent camera...

For Android there's QPython[1], it's fairly close to PyS60, in my experience.

[1] https://play.google.com/store/apps/details?id=com.hipipal.qp...

I think one basic problem with Firefox OS being a "developer-first" thing is the devices it's being shipped on. Of course, a $33 phone is a very cool thing to be able to do.

But as a developer, a lot of my disposable income is going to be directed towards gadgets and a $33 phone is just a decade behind the types of phones I would actually use myself.

I think that to attract developers, Mozilla should aim to find a partner that will ship a current-generation phone with Firefox OS. Asking people to install it themselves on a Galaxy based on a slightly screwed-up wiki page isn't exactly what I want for my personal every-minute-of-the-day phone.

Note that the current developer/reference hardware is quite different from the $33 Spreadtrum/Intex phone launching in India. The "Flame" developer phone retails for US$170 (after shipping):


That's still nowhere near the same spec class as a $400+ iPhone or Android flagship, but compared to the Spreadtrum device, the Flame has 8 times more RAM, more than double the screen resolution, better cameras, dual-core 1.2GHz CPU, and other goodies like NFC.

True high-end devices will come eventually. I agree that it will help a lot when there's a fully-supported high-end phone that can more easily replace iPhone or Android as a developer's personal phone.

But then those developers will develop for that new phone, creating a bunch of stuff that will not run on the older phones.

Since those older phones are Mozilla's target market it would be an odd choice to make.

It's a little bit like the WWW where people (rightly) develop on very powerful hardware but often (wrongly) fail to test on a range of normal hardware. (This is also ignoring the fact that stuff written for the WWW should not need testing because it should all be standards compliant etc).

From the phone specs : The RAM is adjustable from 256MB to 1GB, allowing you to replicate a variety of performance levels to test the OS and apps.

To your last point: It is extremely hard to test your HTML/etc sites on a range of hardware unless you happen to work for someone with deep pockets and a dedication to broad support (e.g. Google).

Is there a cost effective way to do so? Other than just getting a RaspberryPi and seeing if that can render it?

I do a lot of testing to support web apps in IE variants using a VM... I generally assume that this would be possible for testing lower performing machines as well.

Also, I do some testing for android and iOS browsers in xcode and the android sdk, (I have an actual iPhone and android tablet, too).

It's not hard or expensive, it just takes a whole lot of time, especially when you're trying to actually fix bugs.

Another way is to be lucky enough to have an Open Device Lab nearby: http://opendevicelab.com/ (or try to set one up yourself)

Not all developers live in the first world :)

I wish I could upvote this a thousand times....

There's a good reason they aren't targeting the high end: they can't.

A significant proportion of the weight behind non-web based UI comes from the need to efficiently leverage the GPU. You can almost get away without this on low res screens, but at 720p and beyond you need it as the sheer number of pixels starts to kill you.

Google have thrown massive amounts of effort into making Chrome look like it's almost there, but the reality is the layout model doesn't map to well performing GPU primitives nearly as well as, say, Cocoa. Mozilla haven't been able to get even a fraction of a distance down this path.

For this reason they'd have been better off chasing something like e-readers, since there the update speed isn't a big deal. But don't let anything like reason, logic or technical competence get in the way of Mozilla's decision making.

Your argument goes against my experience with Firefox for Android on my higher-than-720p Nexus 7. If it's slower than Chrome, I can barely notice; it's definitively not "a fraction of a distance down the path".

If you're enjoying Firefox for Android can I persuade you to try Firefox Aurora for Android. Even though I am using Nightly on my Android, I don't recommend going with the emotions of a nightly build. I am asking you to try Aurora because its a bit ahead of the normal release and IMHO performs even better. :-)

I will, thanks.

Another benefit is that Forefox OS is fully open source, so you know it is not spying on you and you can customize every aspect of the OS.

The phone OS may be open source, but is the sim? The sim card can run applications directly without the phone being aware of it.

"On{x}" can be used to achieve the same functionality on Android. The JS might be a bit verbose, but its as simple as the Javascript code that the OP has written.

I used to set auto-reply messages etc to my girlfriend with On{x} to my girlfriend. I even wrote some JS to auto-call her at specified timing, just to wake her up.

A developer's phone would operate as a modem.

No, that's what I thought at first, but actually OP is gaming his/her carrier:

    Vodafone has a promotion where it offers you 2Mb for every
    call you give or receive, that is over one minute long.

Maybe if his phones could act as modems, he'd have unlimited (but slow?) data - leave one on back home with a dialin server, and dial into that from the other one :)

56kbps is 0.42 megabytes per minute.

If each of his minutes spent transferring nothing gets him 2mb I suppose he is 1.58mb up if he can maximise his transfer.

Ok, now I see your point.

However, I think that you can't negotiate a 56kbps link ( http://en.wikipedia.org/wiki/V.90_%28recommendation%29 ) over a cell phone.

Ordinary copper telephone service has enough bandwidth to transmit a full range of audio signals, in fact more than the voice can produce or the ear can hear. Modems exploit this fact.

But cell phones employ lossy compression, and if I understand correctly, one of the "first things to go" are the higher frequency noises. Why transmit what the ear can't hear?

Oh, somebody smarter than me has addressed this question: http://superuser.com/questions/748154/use-a-smartphone-as-a-...

Ah yes, I had forgotten about that. I seem to recall that older ones had modem functionality, I certainly recall having a fax feature at some point.

Only if there was a ssh client for it...

If using a ssh client involves setting up anytermd daemon then it's not a ssh client but an anyterm client.

There is a difference between two.

ps. line like this makes me eager to base my security on it:

../scripts/mk_static_content.sh anyterm.html anyterm.js anyterm.css copy.png paste.png copy.gif paste.gif > static_content.cc

Simple yet powerful

I'd say that Firefox OS biggest issue is its reliance on JavaScript.

And Android's biggest issue is its reliance on Java...

And Apple's biggest issue is its reliance on Obj-C...

They're just languages. At least JS runs more ubiquitously.

Neither Android nor iOS force you to use Java/Obj-C.

Both just expect bytecode/native code as an immediate target.

JavaScript is an terrible target to compile to.

> At least JS runs more ubiquitously.

Yes, I think that describes the issue. Nobody would care about how terrible JS is if it wouldn't be so popular.

What are you talking about, pretty much everything can compile to JS these days.

Hmm.. I guess that's why the uptake of node.js has been so bad...

a) What uptake?

b) Popularity != technical merit.

B implies you are aware of the answer to A...

This is why we cant have nice things

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact