Building Firefox OS
buildingfirefoxos.com
buildingfirefoxos.com
Nowadays, it looks like this: http://imgur.com/a/Z7IXu
I'm slightly wary about the future considering these improvements, since we're talking about a page displaying an alternation of a bit of text and an image, a bit of text and an image, ... which I used to believe was something we'd come get right.
Outdated Google Chrome displayed it perfectly, hell even Lynx did a better job than iceweasel
I'm really curious as to what browser that is, seems like you have triggered some weird bug.
What browser is that in? It looks like a weird bug is showing there, potentially an exploitable one since some of that looks like garbage pixel data, like it's reading from invalid memory. That seems to be the issue here, not that web content isn't like the "old days" when it always worked but was sometimes wrong.
Speaking of which, there never were any "old days" that I can remember. Often sites only worked in IE, not just rendered properly but also only worked. You couldn't enter data into forms, or couldn't get them to submit properly. The web wasn't just a little incorrectly rendered in the IE days, it was totally broken on many sites.
Camino, which uses FF 3.6's engine.
Today, hybrid apps are kind of second rate applications. Facebook (on android?) was the most prominent case, but examples abound, where the UX for an hybrid app is leagues away from a native alternative. Better foundation (frameworks/OS support) can change that, and one must applaud the unification of development stacks.
PhoneGap/Cordova/appMobi apps are Hybrid apps.
Think about all of the things that Android and iOS don't do that Linux is capable of doing. Firefox OS could be exposing all of that to Javascript, but instead they are focusing completely on the UI and it will always lose to Android and iOS. The power of FF OS/B2G should be the flexibility of allowing HTML5 apps/Javascript to have access to the hardware.
Would it allow me to connect a USB keyboard (for example) or a USB mouse to my phone? How about a USB webcam that requires an additional linux driver to be installed? How could that be installed easily by the user? How about connecting a printer via USB? Will I be able to print from my HTML5 app? If not, what will it support? I'd also like to be able to find devices and printers via wifi and print, scan, etc. Will I be able to do that?
The ultimate goal is if somebody wants to do something, then it should be possible.
Like what, exactly?
* Add support for various types of USB devices. Anything that is supported in Linux via a driver you could install via FF OS would be available to HTML5 apps. Printers, displays, thumbprint scanners, etc.
* Similar support for bluetooth devices, etc. as long as the driver could be coded to work on the device hardware, obviously.
* Gonk should be more dynamic, letting you declare drivers, etc. that you want to use via a path. It's primary purpose would become managing permissions between HTML5 apps and devices. As new devices come out, those could be added easily either by discovery or manual install. When the OS-level drivers are available, it would only be a matter of the HTML5 app declaring what it is able or needs to use and then it asks you (or you configure it) to allow access to the drivers/etc. and then your HTML5 app could use your new bluetooth retina scanner, for example, or control some new helicopter+videocam toy.
The way Firefox OS is now is just a Javascript replacement of Android's interface and it provides a similar level of access to the hardware. That is not enough. I don't want or need a Javascript phone and Javascript gaming device. I want to be able to use the same OS on my desktop as my phone, and if my phone has a USB plug, I should be able to plug one side into my Firefox OS phone and the other side into a label printer and print a label from my HTML5 app if I want. Is that level of integration ever going to be possible?
I think if the goal were to make mobile devices as capable as we should all expect but have been conditioned NOT to expect, then that would be an OS that could compete. Otherwise, it is just a slower UI with fewer applications.
You have access to the hardware but crucial low level stuff requires certified/signed app status.
Check out: https://wiki.mozilla.org/WebAPI
For more information. The cool thing was that my little hosted toy app was installable on the test device, on android with aurora and on my desktop mac also with aurora.
For instance: http://buildingfirefoxos.com/#progress_activity, you can't just add this stylesheet to your app and get all of the associated styles, but you can go here and get them: https://github.com/mozilla-b2g/gaia/blob/master/shared/style...
Also, hi :-)
An example that was a third party app, not certified or made by Mozilla or partners, would be more definitive.
See https://github.com/taratatach/FFDoku/blob/erwan/index.html for a third party app that reuses code from shared/ (a sudoku game).
FFDoku just copies the assets, as I had originally recommended. That repo contains a 'shared' folder in the root dir, so it's not using the assets shared by Gaia, it's using a literal copy of them. So the same asset winds up on the device twice.
Or maybe we can we can do a static analyzer to make the whole process easier.
It looks really great, but those were some questions that came up in my mind when I saw it. It never hurts to have a bit of description on the page.
*edit :
After doing some research, it seems to be a showcase of the Gaia Design Building Blocks page which can be found here: https://wiki.mozilla.org/Gaia/Design/BuildingBlocks
It's not for a mock-up or anything. That's what you'd use in a real app. That's lovely.
But then again, I hate xml. So much useless overhead.
If these are going to be the next fashion item, they better be usable.
Little is new, most is old anyways :)
FF(O)S, people!
Invest in some cloud build infrastructure (binary blobs excepted; wrap the existing glassechidna client for that), expand your device count, and help people try out your code. No try, no show and tell. No show and tell, no excitement. No excitement, no devs. No devs, no win.
And we do have nightly builds for the desktop emulator: http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mo...
"Expanding device count" requires quite the bit of engineering and working with device manufacturers. If you think it's easier than I claim, here's a starting reference and we accept pull requests: https://wiki.mozilla.org/B2G/Porting
EDIT: Also to the above point: https://autonome.wordpress.com/2013/01/15/firefox-os-devices...
For now, the emulator works, third party devs in target markets are getting devices, and a developer phone is shipping in February. And we're having hackathons around the world this week: http://news.softpedia.com/news/With-the-First-Firefox-OS-Pho...
What else can Mozilla do to help create excitement? That's a genuine question, not sarcastic.
I'm not sure what fonts are being used but it doesn't look "Apple" polished to me.
The home screen icons are not as good as they could be either.
Android's success was the way it brought in early developers and enthusiasts. The HTC/T-Mobile experiment could just as easily have failed and Android may have failed along with it, but it had developer attention and momentum, as well as an entire 'fanboy' set waiting for it on launch.
The Building FirefoxOS site sounds like it could fill a similar niche as Burning Edge did for the first Firefox (post Firebird) releases, highlight what's new in each nightly release.
I hope we will see more capable hardware and global launch, this is the third platform we need.
EDIT: Sorry, I didn't mean that Building FirefoxOS could fill that niche, only that site similar to Burning Edge could.
Firstly, I am definitely not the garden-variety user when it comes to mobile devices. I was involved in the launch of the Galaxy Series devices and even spent time at Samsung HQ in Korea for this purpose, and have since run custom ROMs on my phone... so came to this with a relatively strong knowledge, compared to most. If you can't make the process work for me, it's not going to work very well for others.
The build page you mentioned is not the right one for SGS2, which is an extremely popular device, yet in the category 'third tier' supported (ie. effectively ignored).
You should get someone from Samsung to solve this. They have entire skyscrapers devoted to different phone platforms at their headquarters in Suwon, Korea, made vast and record profits this last quarter, and it should not be an issue for them to provide a useful contact for their most popular devices.
Next point. Since the build process itself is IIRC is only supported on Ubuntu or something, I had to download that and set up an entire VM before cloning the code. Second, cloning the code takes years on a third-world connection (literally hours and hours, it's something like a few GB in size).
Third, it wasn't hugely clear that I needed to upgrade from a custom ROM with Ice Cream to a stock ROM with Ice Cream in order to install (in fact, the notion that the existing firmware would be hacked in to the new FFOS image was really not clear at all, and should have been). This resulted in builds failing in non-obvious ways.
Realizing the situation, since I didn't have a stock ROM image just lying around, now insert many hours of downloading different ROM images, trying to install them, getting errors with them. If must have downloaded and tried at least five of these already.
There were also lots of fun errors related to a bug in recent versions of the upload tool, which bricked my phone. Thankfully, because I am somewhat familiar with the Linux boot process and persistent, I did manage to unbrick the phone an eventually get what might be a valid Android ICS ROM going that might be good to install FFOS.
Unfortunately, after spending more than two days on this already, I simply didn't have time to continue prior to my current period of travel.
I am motivated to help, pre-experienced, willing to flash my device and use it on a daily basis even if it's going to reduce functionality vs. Android, but... FF(O)S, people! You can't provide a faster route to an install?
What would have made things easier was a source for something I could 'just flash'. I don't care if it's semi or illegal and it comes from a torrent. I have to go through those routes anyway just to get from Custom ROM -> ICS stock -> FFOS. Give me a script, give me a daily build.
Mozilla can't provide an image to flash due to licensing restrictions on binary blobs for the hardware (graphics drivers, video decoders, etc).