-Поиск по дневнику

Поиск сообщений в rss_planet_mozilla

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.06.2007
Записей:
Комментариев:
Написано: 7

Planet Mozilla





Planet Mozilla - https://planet.mozilla.org/


Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://planet.mozilla.org/.
Данный дневник сформирован из открытого RSS-источника по адресу http://planet.mozilla.org/rss20.xml, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Swarnava Sengupta: 6 Things You Didn’t Know About Firefox OS

Среда, 29 Января 2014 г. 21:34 + в цитатник
Firefox OS is all over the tech news and for good reason:  Mozilla's finally given web developers the platform that they need to create apps the way they've been creating them for years -- with CSS, HTML, and JavaScript.  Firefox OS has been rapidly improving, adding features and APIs to provide device control and other standard mobile functionality.  Much is not known about Firefox OS, however, and here are a few items you may find interesting!

The Firefox Marketplace is Open Source

Everyone knows that the components of Firefox OS are open source.  Not many know this fact:  the Firefox Marketplace is a Django-based application, code-named 'zamboni', used not only for the Marketplace but also for AMO (Add-Ons). Like Firefox OS' gaia (the web-based operating system) zamboni is freely available on GitHub.  This means that you could fork zamboni, update the design, and create your own store for HTML5 apps!


You Can Buy a Test Device

Firefox Phone
Everything Mozilla does is open so it is common knowledge that you can create your own Firefox OS build if you have a supported device.  What many people may have missed is the announcement of a test device available for purchase from  Geeksphone.  While the Firefox OS Simulator does a good job of allowing users to test apps get the general gist of the platform, there's nothing like having a comparative-hardware device to test with.  Even if you don't plan on creating your own Firefox OS apps, it's still nice to have a test device around to test your own websites.

Loads of APIs are Being Implemented

For the skeptics who don't believe the HTML5 spec provides enough device control:  think again.  Mozilla has been rolling out dozens of WebAPI features to allow access to all types of device APIs:  Battery, Camera, Contacts, WebSMS, Storage, Vibration, Settings, Alarm, Browser, and many more.  Each API is either planned, in development, or completed, and may be available on different types of devices (desktop, tablet, mobile).  Bookmark the WebAPI chart to keep track of where each API is in its development stage!

Install Apps from Any Domain!

Mozilla doesn't hold users hostage when it comes to installing new apps; instead of needing to jump over to the device's app store app, Mozilla provides a JavaScript API for installing web apps from any allowed domains:
var manifestLocation = "http://areatweet.com/app.manifest"; // your domain here
var installRequest = navigator.mozApps.install(manifestLocation);

installRequest.onsuccess = function(data) {
// App installed successfully!
};

installRequest.onerror = function(err) {
// App couldn't be installed!
console.log("Install error!");
};
It's incredibly liberating to allow installation from outside an app store; no more tyranny, no more unnecessary proprietary crap.

Web Activities!

The amazing Mozilla Hack Blog recently introduced Web Activities:  a system for adding context-specific controls within an app.  The screen where a user would see a Web Activity would look like this:
Activity Menu
Web Activities provide a system by which you can specify the desired input result and a callback based on the activity's success and failure.  Code for said activity and result could look like:
var pick = new MozActivity({
name: "pick",
data: {
type: ["image/png", "image/jpg", "image/jpeg"]

http://blog.swarnava.in/2013/02/6-things-you-didnt-know-about-firefox-os.html


Swarnava Sengupta: Firefox OS Simulator – previewing version 3.0

Среда, 29 Января 2014 г. 21:34 + в цитатник

Three months ago we were proud to release the 1.0 version of the Firefox OS Simulator. We’ve made a lot of progress since, and version 2.0 came out about a month ago (latest official version). Now, moving forward, we’d like to present and introduce you to a preview of the upcoming 3.0 version!


image
We discussed whether we should talk about this new version yet, since it’s a bit rough around the edges, but we decided to give it a go for two reasons:
  • We’re Mozilla. We do things in the open, and we share our progress. Because we want you to know what’s going on and to be able to come along with us in the process
  • It gives you an unique opportunity to test it out, give feedback, contribute and much more before it’s released

New features in the preview

We’ve listened to the feedback and have tried to target the most common features being requested and well-needed. New features include:
  • Push to Device
  • Rotation simulation
  • Basic geolocation API simulation
  • Manifest validation
  • Stability fixes for installation and updates to apps
  • Newer versions of the Firefox rendering engine and Gaia (the UI for Firefox OS)

Push to Device

This means that if you have an existing device supporting Firefox OS, connected via USB, you will be able to push apps installed in the Firefox OS Simulator directly to that device.
image
Please note:
  • Remote debugging has to be enabled on the device, via
    Settings > Device information > More Information > Developer > Remote debugging
  • On Linux (at least Ubuntu), you must create the file /etc/udev/rules.d/51-android.rules as root and then add a manufacturer-specific entry for the device as described by Android’s Setting up a Device for Development. Example for one of our test devices:entry:
    SUBSYSTEM=="usb", ATTR{idVendor}==" 19d2", MODE="0666", GROUP="plugdev"
  • Not complete Windows support yet. Planned to make it into the final release.
  • Make sure you have the latest version of Firefox OS on your device (especially due to recent fixes like bug 842725)
image

Rotation simulation

There’s now a feature to rotate the simulator, get events and more, to adapt your contents to both portrait and landscape. Supports the mozorientationchange event.
image

Basic geolocation API simulation

The simulator now also supports geolocation, so you can test it in your app, and read out longitude and latitude values.
Coming soon: an enhancement that lets you specify the geolocation to provide!

Manifest validation

When you add an app to the Firefox OS Simulator, it also does a quick validation of your manifest file for errors and warnings, including problems that prevent installing the app in the Simulator, usage of APIs that the Simulator doesn’t yet simulate (not all APIs in there yet), and missing properties that are required by the Marketplace or devices.
image

Downloading the preview

We have all the versions of the Firefox OS Simulator on our FTP server, under its working name r2d2b2g. Here are the direct links to the installation files (installs as an extension in Firefox)
Once installed, it will be available in Firefox in the Tools > Web Developer menu:
image

Give us feedback!

Please let us know in the comments here or by filing a bug. Hopefully you will like the improvements and they will benefit you with developing apps!

Getting started with Firefox OS & building Open Web Apps

To get started, we have had a number of articles here on Mozilla Hacks previously:
Additionally we have some other resources:

Reposted From hacks.mozilla.org blogs :)

http://blog.swarnava.in/2013/03/firefox-os-simulator-previewing-version.html


Swarnava Sengupta: 2 Years, Mozilla and Me

Среда, 29 Января 2014 г. 21:34 + в цитатник
Almost 2 years ago, I started contributing on Mozilla, previously i start testing software on Symantec and Kaspersky lab but those product are close source, so its kinda tough for me for handeling all open bugs, submitting bugs etc, i was submit almost 10-15 bugs during beta testing but i had never know the progress if the bugs were accepted, rejected or other! suddenly i go to Help>About Firefox windows to update my Firefox.


http://oi50.tinypic.com/zy7upe.jpg

Sound Interesting? Get Involved!
That lines, changed my motto from close source to open source, I saw the contributer signup form and filled with QA and User support as area of interest, David Boswell contacted me and helped me a lot to get involved, he helped me to understand how mailing list, QA, SUMO, Bugzilla and other basic things work, and by step by step, i got a huge knowledge regarding Firefox, and Testing, Nowadays I write Knowledge base article about Firefox, and provide user support over twitter, facebook and support forum, also I participate on QA Testday and try to submit new bugs. Mozilla has changed my life, and I am start Loving Internet :)

http://blog.swarnava.in/2013/04/2-years-mozilla-and-me.html


Swarnava Sengupta: Flashing new rom in Geeksphone Keon/Peak

Среда, 29 Января 2014 г. 21:34 + в цитатник
Lots of user is looking for a handy tutorial to flash new rom to there geeksphone, so here i am writing a post about flashing new rom on geeksphone keon/peak.

we have two type of ROMS

  • Stable:
    • The stable versions (also called final releases) are intended for normal, everyday use. Stable versions receive extensive testing from the community prior to release. In the lead up to an official release, code development slows down to focus on fixing bugs found by the testing community and to avoid introducing new problems. If any critical bugs are found at the last minute, then they may delay the official release. To obtain the latest stable release.


  • Nightly:
    • Nightly builds are usually come every night, but may be less frequent if there are no changes to the code, or the builder is unable to create a build that day. The nightly builds are intended for testing only. Nightly builds are often created automatically, so you may be the first human to test a particular build. Occasionally, even basic functionality may be broken. To obtain the latest nightly,

By request here you can get the latest stable image.

http://downloads.geeksphone.com/

In the file name you can see the date of compilation, and the heads of gaia and gecko.

Bear in mind that this image is from master branch and could be (very) buggy. We will try to help with this image, but we only fully support stable images.

How to flash your GeeksPhone Keon or Peak?

1) Make sure you have at least 50% of battery remaining. This is important, because if your phone switch off while updating, maybe you will need to RMA it.
2) With the phone not connected by usb, go to Settings, Device Information, More Information, Developer and check on Remote Debugging.
3) Download http://downloads.geeksphone.com/drivers/usb_driver.zip and unzip it. Remember where you downloaded it, because you will need it later.
4) Use a usb cable to connect it to your computer. If you are using Windows, maybe it will ask for install some drivers. If drivers are not found by Windows Update, you can use the folder that you unzip in step 3.
5) Download the needed image.  Make sure that you download the image needed by your device (keon or peak).
6) Unzip the image in a folder, enter the folder and execute the script. Flash.sh is for Linux, Flash.bat is for Windows and flash_mac.sh is for Machintosh (you need android sdk).
7) Wait until the device reboots and get the First Time Setup.

If you have any problem, post it in the Geeksphone forums or you can directly ping me.

Good Luck and Happy Testing :)

http://blog.swarnava.in/2013/05/flashing-new-rom-in-geeksphone-keonpeak.html


Swarnava Sengupta: Change the default Search Engine of your Firefox OS Smartphone

Среда, 29 Января 2014 г. 21:33 + в цитатник
If you are using a Geeksphone Peak or Keon or even ZTE Open or Alcatel One Touch Fire, then you should have noticed that the default search engine is Bing (currently Google). The worst case there is no option to change it. But the good news of an open source device is, you can actually change your Smartphone’s behavior the way you like.


If your Geeksphone has Bing as a default search provider and you want to change it to Google or vice-versa this post will help. All you have to do is grab the workflow set up to build Gaia, the Firefox OS user interface. In the source tree for you’ve grabbed from github, find and edit the file gaia/apps/browser/js/browser.js and change:






DEFAULT_SEARCH_PROVIDER_URL: ‘m.bing.com’,
DEFAULT_SEARCH_PROVIDER_TITLE: ‘Bing’,
DEFAULT_SEARCH_PROVIDER_ICON: ‘http://bing.com/favicon.ico’,

to






DEFAULT_SEARCH_PROVIDER_URL: ‘www.google.com’,
DEFAULT_SEARCH_PROVIDER_TITLE: ‘Google’,
DEFAULT_SEARCH_PROVIDER_ICON: ‘https://www.google.com/favicon.ico’,

or if your default search provider is Google and you want to change it to Bing or Yahoo! or any other you want, simple do this change:






DEFAULT_SEARCH_PROVIDER_URL: ‘www.google.com’,
DEFAULT_SEARCH_PROVIDER_TITLE: ‘Google’,
DEFAULT_SEARCH_PROVIDER_ICON: ‘https://www.google.com/favicon.ico’,

to






DEFAULT_SEARCH_PROVIDER_URL: ‘m.bing.com’,
DEFAULT_SEARCH_PROVIDER_TITLE: ‘Bing’,
DEFAULT_SEARCH_PROVIDER_ICON: ‘http://bing.com/favicon.ico’,

or simply replace the ‘m.bing.com to your favorite search engine. Along with the Title & Favicon.ico to complete the change as per your choice.

Then simply build (./build.sh gaia) and flash (./flash.sh gaia) Gaia to the phone. After the flash is complete, you should find the default search engine as per your choice.

Default-Search-FirefoxOS

If you have any difficulty, ask us about it on Twitter of below in the comment section.

http://blog.swarnava.in/2013/07/change-default-search-engine-of-your.html


Nick Cameron: Another 'fun' bug

Вторник, 28 Января 2014 г. 13:49 + в цитатник
Time for another bug story - this one was fun because it is a combination of programmer (me) error and a compiler error (specifically a PGO-only error).

The bug in question is bug 959842 (in particular, the second patch).

The thing that made this bug 'fun' was that it only showed up in PGO builds. PGO is profile guided optimisation, but is often used as a shorthand for both that and link time optimisation (LTO). PGO is a further optimisation pass that occurs at link time where the optimiser has global knowledge of the program (and profiles of the running program) so can do sophisticated optimisations without having to worry about 'open world' constraints. PGO is a pain because it take a long time and can be buggy (usually in the manner of a build failing at the PGO stage when it builds fine otherwise, but not this time). However, it gets us significant speed up, so Firefox releases are always built using PGO. Try builds do not use PGO and only occasional pushes to inbound do (I think). I have not got PGO builds running locally. That made this bug difficult to debug, because testing required throwing a build at try (you can change the mozconfig to get a PGO build from try), waiting for five hours, downloading the build and seeing if it crashed. Furthermore, its an optimised build so debugging using a debugger is a real pain.

The bug was also fun because it was (in part) due to me trying to be too clever with my code and falling between the cracks of C++ semantics.

So, we have an object RotatedBuffer which holds on to a DrawTarget. That DrawTarget can be loaned out to other objects so they can draw into it. However, it is important that only one other object has the DrawTarget at a time (because depending on how the DrawTarget will be used, the RotatedBuffer will set a transform on it). To handle this we have methods BorrowDrawTargetFor... and ReturnDrawTarget. The former returns a DrawTarget, the latter is used when the client object is done drawing. It looks like this:

void
BorrowDrawTarget::ReturnDrawTarget(gfx::DrawTarget*& aReturned)
{
  MOZ_ASSERT(aReturned == mLoanedDrawTarget);
  mLoanedDrawTarget->SetTransform(mLoanedTransform);
  mLoanedDrawTarget = nullptr;
  aReturned = nullptr;
}

The method takes a reference to a pointer to a DrawTarget. The last statement sets the referred to pointer to null, so that the client can no longer use the DrawTarget. That is me trying to be too clever.

The problem happens because due to an inheritance tangle we need a sub-class to have a wrapper method which statically dispatches to the base class (BorrowDrawTarget, which is a mixin class which implements the 'loan out a DrawTarget' behaviour). There are a few of these wrappers, which look like:

virtual void ReturnDrawTarget(gfx::DrawTarget* aReturned) MOZ_OVERRIDE
{
  BorrowDrawTarget::ReturnDrawTarget(aReturned);
}


(Now renamed to ReturnDrawTargetToBuffer, but that is not important).

The programmer-error part of the bug was missing the '&' after 'DrawTarget*' in the signature of these wrapper methods. That means that the caller's pointer is copied to the wrapper method, which passes a reference to its argument to BorrowDrawTarget::ReturnDrawTarget. So it is the wrapper's copy of the pointer which is set to null and the clients copy remains in existence, potentially to be (ab-)used. Unfortunately this is all valid C++ so the compiler gives us no warning that something is amiss. Indeed, running Firefox like this works just fine (since the client never actually reuses its returned pointer).

Until that is, PGO works its magic. Then (I assume, I couldn't actually make sense of the disassembly), the wrapper function is inlined and so the wrapper's copy of the pointer no longer exists. Something gets set to null by BorrowDrawTarget::ReturnDrawTarget, but I have no idea what, it certainly isn't the client's pointer. It causes a segfault and Firefox crashes. This part is a compiler error, specifically an error in the PGO(/LTO) optisation pass. That is because optimisation should not change the observable behaviour of code and this optimisation clearly does.

So, the combination of a programmer trying to be too clever, a typo, and a PGO bug caused a crash which was more than a little bit frustrating to track down, but now (hopefully) it is fixed.

http://featherweightmusings.blogspot.com/2014/01/another-fun-bug.html


Ron Piovesan: … and this is why I like index funds

Вторник, 28 Января 2014 г. 03:21 + в цитатник

With massive computers doing massive trading in the span of milliseconds, it is hard to imagine how fund with some sort of proprietary trading theory can beat the market.

Love this quote:

The 60/40 Vanguard fund, which anyone can invest in, opening an account in about four minutes and 26 mouse clicks (I counted), beat the average multistrategy and long-short hedge fund over the last decade. And it did it with lower annual volatility (measured by standard deviation).

 

The world’s smartest investors have failed.


http://ronpiovesan.com/2014/01/27/and-this-is-why-i-like-index-funds/


Christian Heilmann: Great Tech History: The digital examiner – electronic newspaper from 1981

Вторник, 28 Января 2014 г. 02:46 + в цитатник

Imagine, if you will, sitting down to your morning coffee, turning on your home computer to read today’s newspaper.

This amazing news item from 1981 talks about an experiment of the San Francisco Examiner and other newspapers trying to offer their content in a digital format using a mainframe computer and a telephone connection:

Wired covered this gem in detail and had some interesting details around it.

What excites me most is the purity of the idea back then as mentioned in the interview:

This is an experiment, we’re trying to figure out what it is going to mean for us as editors and reporters and what it means to the home user. And we’re not in it to make money, we’re probably not going to lose a lot, but we aren’t gonna make much either.

The newspaper men tried to reach the two to three-thousand home computers owners back then printing full-page ads and got over 500 subscribers who “sent in coupons”.

The next big thing to me in here is the reaction of the subscriber – a man who waited two hours for the transfer of the newspaper text content at $5/hour call rate. He very much understood the implication that this means you can keep a copy of the paper for yourself and that you can only keep what you need without having to get it all and discard parts of it.

Isn’t it a shame that this amazing gift of publication and distribution and archiving by users of our services is now going back to closed ideas like paywalls and apps?

http://christianheilmann.com/2014/01/27/great-tech-history-the-digital-examiner-electronic-newspaper-from-1981/


Atul Varma: Does Privacy Matter?

Понедельник, 27 Января 2014 г. 20:41 + в цитатник

A few years ago, I made a tool called Collusion in an attempt to better understand how websites I’d never even heard of were tracking my adventures across the Internet.

The results my tool showed me were at best a bit creepy. I didn’t really mind terribly that third parties I’d never heard of had been watching me, in collusion with the sites I visited. I just wish they’d asked me first (through something more approachable than an inscrutable privacy policy).

But, as the old adage goes, I had nothing to hide. What do I care if some advertising companies use my data to offer me better services? Or even if the NSA mines it to determine whether I’m a terrorist?

I’m still struggling to answer these questions. I don’t know if I’ll ever be able to answer them coherently, but after reading a few books, I have some ideas.

For one thing, I don’t think it matters whether one has nothing to hide. What matters is if they look like they have something to hide.

One of the most invisible things about the Internet is that there are hordes of robots constantly scrutinizing your aggregate online behavior and determining whether you fit a certain profile. If you do, as Daniel Solove argues, your life could become a bit like that of Josef K. from Kafka’s The Trial. Or—to cite a true story—like that of Sarah Abdurrahman of On The Media, whose family was detained and aggressively interrogated for several hours at the US-Canada border for unknown reasons.

What determines whether you look like you have something to hide? The robot builders have it in their best interests to keep that secret: otherwise, the people with something to hide would simply start gaming the system. Yet this can also result in a chilling effect: innocent people self-censoring their online behavior based on what they think the robots might be looking for.

These robots don’t have to be working for the government, either. They could be working for, say, your health insurance company, looking for prior conditions that you might be hiding from them. The robots might even ostensibly work for “the people” in the name of transparency and openness, as Evgeny Morozov argues, distorting the public’s perception of you in ways that you can’t control.

What can one do to protect their privacy? One of the problems with using a tool like PGP or Tor to protect one’s privacy is that it paradoxically makes one look like they’re hiding something. When everyone lives in a glass house, you’ll look suspicious if you don’t.

Privacy problems are systemic, and I think their protections are necessarily systemic too: in order for one to not look like they’re trying to hide something, privacy needs to be a default, not something one opts-in to. Not only does this need to be done with technology, but it also needs to be accomplished through legislation and social norms.

http://www.toolness.com/wp/2014/01/does-privacy-matter/


Gregory Szorc: Review Board at Mozilla

Понедельник, 27 Января 2014 г. 20:30 + в цитатник

Some Mozillians recently stood up an instance of Review Board - a web-based code review tool for evaluation purposes. Having used Review Board at a previous company, I can say with high confidence that when properly configured, it beats the pants off Splinter (the code review interface baked into Bugzilla). Here are some advantages:

  • The HTML interface is more pleasant on the eyes (subjective).
  • Interdiffs actually work.
  • Intra-line diffs are rendered.
  • You can open issues for individual review comments and these issues can be tracked during subsequent reviews (Bugzilla doesn't really have anything similar and review comments tend to get lost unless the reviewer is sharp).
  • It integrates with the VCS, so you can expand code context from the review interface.
  • There are buttons to toggle whitespace differences.
  • Syntax hightlighting! It even recognizes things like TODO in comments.

You can read more from the official user guide.

If you have any interest in evaluating Review Board, the easiest way to upload patches to Mozilla's instance is to run mach rbt.

mach rbt will launch the Review Board tools command-line client (called RBTools). From there, you can do a number of things. Run mach rbt help to see the full list.

Here are some examples:

# See a diff that would be uploaded to Review Board:
$ mach rbt diff

# Create a review request based on the current Mercurial changeset:
$ mach rbt post

# That should print out a URL to the not-yet-published review
# request. If you go to that URL, you'll notice that the fields
# in that request are all empty.

# Next time, you can have some fields auto-populate by running:
$ mach rbt post --guess-summary --guess-description

# This grabs info from the commit message.

# To update an existing review request (e.g. to submit a new patch):
$ mach rbt post -r 

# (where  is the ID of the review).

# You can also have it generate a "squashed" patch from multiple
# commits:
$ mach rbt post 164123::164125

Run mach rbt help post for more options. Also see the RBTools documentation for more.

It's worth noting that mach rbt will download an unreleased version of RBTools. This is because the released version doesn't work well with Mercurial. I contributed a handful of patches to RBTools to make Mercurial work better.

Before you dive in and start using Review Board for actual code review, there are some things you need to know:

  • Mozilla's Review Board instance does not yet send emails on changes. Bug 958236 tracks this. When it works, you'll see nice emails, just like you do for Bugzilla reviews.
  • Review Board doesn't currently interact with Bugzilla that well. In theory, we could have Review Board update corresponding Bugzilla bugs when actions are performed. Someone just needs to write this code and get it deployed.
  • If you create a Bugzilla attachment that contains the URL of a Review Board review (e.g. https://reviewboard.allizom.org/r/23/), Bugzilla will automatically set the MIME type as a Review Board review and set up an HTML redirect when the attachment is downloaded via the browser. You can even set r? on this attachment to have Bugzilla nag about reviews. See bug 875562 for an example.
  • There is currently no way to upload a patch to Review Board and update Bugzilla is one go. I have proof-of-concept code for this. Although, there is pushback on getting that checked in.
  • Review Board 2 is in development. It has a number of new and exciting features. And it looks better.

Finally and most importantly, Review Board at Mozilla is still in evaluation mode. It's usage has not been officially blessed as far as I know. I don't believe the SLA is as high as other services (like Bugzilla). Nobody is really using it yet. It still needs a lot of polish and integration for it to realize its potential. And, there is some talk about the future of code review at Mozilla that may or may not involve Review Board. In short, the future of Review Board at Mozilla is uncertain. I wouldn't rely on it to archive review comments from super important reviews/decisions.

Despite the shortcomings, I encourage people to play around with Review Board. If nothing else, at least gaze upon it's patch rendering beauty and witness what the future could hold.

http://gregoryszorc.com/blog/2014/01/27/review-board-at-mozilla


Armen Zambrano Gasparnian: Mozilla's RelEng squirrel tweets!

Понедельник, 27 Января 2014 г. 19:54 + в цитатник

 @MozRelEng

Release Engineering's squirrel is going crazy about Releasing Firefox and FirefoxOS and Mozilla's large continuous integration infrastructure.

If you're interested on hearing what the squirrel says, follow her at @MozRelEng and use #releng to get the word about Release Engineering.

To know more about Release Engineering's team visit: https://wiki.mozilla.org/ReleaseEngineering#Team



Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

http://armenzg.blogspot.com/2014/01/mozillas-releng-squirrel-tweets.html


Asa Dotzler: Firefox OS Happenings: week ending 2014-01-24

Суббота, 25 Января 2014 г. 04:27 + в цитатник

In the last week, 84 Mozilla contributors fixed about 165 bugs and features tracked in the Firefox OS Bugzilla product.

Well-trafficked newsgroup/mailing list discussions include Julien Wajsberg’s “Using jshint as a commit hook” thread and Madhuri Jain “Guide for Gaia” question where you can find some great links to getting started documentation.

The Firefox OS Google News and Twitter buzz of the week was dominated by the Firefox OS Tablet Contributor Program announced here on this blog, at Hacks and with a recent big boost from Mozilla’s The Apps Blog.

Also in the news, Japanese operator KDDI’s President Takashi Tanaka answered a question on a conference call saying that KDDI intends to sell Firefox OS smartphones in 2014, noting that the phones would target “the geek demographic and not the majority of users.” This comes only shortly after the largest Japanese operator, and one of Japan’s other two big players, NTT Docomo, announced they were dropping their plans for a Tizen phone release.

Finally, we got a major win with Yahoo! now recognizing Firefox OS as a mobile browser. Great work by the Web Compat team and Yahoo!.

http://asadotzler.com/2014/01/24/firefox-os-happenings-week-ending-2014-01-24/


Benjamin Kerensa: MozStumbler Experience Getting Better

Суббота, 25 Января 2014 г. 02:14 + в цитатник

The MozStumbler App is continuing to improve for those who are contributing location data to the Mozilla Location Service which has a goal of building experimental geo-location data based on publicly observable cell tower and wifi access point information. The greatest part about this project is that the app MozStumbler and the platform are open source and there is also FxStumbler for Firefox OS!

So here is what the app looks like today:

Screenshot 2014 01 23 17 52 48 168x300 MozStumbler Experience Getting BetterPretty cool right? Well you can hack on this app too by simply forking the Github repo linked above and contributing to the project and you can also download the latest .apk and install it and run it on your android device. Ultimately I hope other services like OpenSignal or Sensorly might consider contributing some of the data they collect to the Mozilla Location Service and maybe other open source mobile platforms like Ubuntu Touch or Sailfish OS could make their own app and collaborate with the Mozilla community.

Also there was some hint at Mozilla Summit that this project could ultimately turn into an Ingress style game to keep contributors interested.

http://feedproxy.google.com/~r/BenjaminKerensaDotComMozilla/~3/7IouwazrMWQ/mozstumbler-experience-getting-better


Kim Moir: Releng 2014 CFP now open

Суббота, 25 Января 2014 г. 00:43 + в цитатник
Last year I was on the organizing committee for a one day workshop on release engineering in San Francisco as part of ICSE.  We had so much positive feedback that we have organized another one this year.  This year's workshop will be held on April 11, at Google in Mountain View, California.  If you are interested in submitting a talk or paper, the deadline for the CFP is February 28.  More details on the website

Here's what people liked about last year's workshop

"Brought release engineers together in the same room! So awesome. Great talks and interaction between researchers and practitioners."


"The information sharing and the candidness of the speakers with their organizational challenges."


"Overall, I loved this opportunity and you all did a wonderful job putting this on. THANK YOU!"

"Specific stories of how some companies improved their release engineering. Being able to network and ask questions of presenters and people working on the same problem domain."
"The huge variation in scale that things are being done across the industry. "
"Informal structure led to lots of hallway conversations"


Image ©stuckincustoms, http://www.flickr.com/photos/stuckincustoms/351212669/sizes/m/under Creative Commons by-nc-sa 2.0 This picture of the international airport in Bangkok has nothing to do with release engineering, but has interesting architecture.

As was the case last year, there will be both release engineers and researchers in attendance.  This should generate a lot of interesting discussions as we talk about how we have succeeded and failed in building, deploying and testing software often at a large scale and what further research is needed. But if you work at a small company too we would love to hear your stories too.  One note of feedback that we received last year was that people would like to hear from a variety of companies, not just large ones.


In parallel to the workshop, a call will be launched for the first ever IEEE Software Special Issue on Release Engineering.  So submit a talk or paper, polish it with feedback from the workshop, and submit it to the special issue for possible publication.

I'm happy to help if you have any questions regarding the submission process or the workshop in general. Please feel free to drop me a line (I'm kmoir and I work at mozilla dot com).


More information regarding from last year's workshop:


Release Engineering as a Force Multiplier - John O'Duinn 
Releng 2013 recap - Kim Moir

As an aside, there is another release engineering event as part of Usenix on June 20 in Philadelphia with an open CFP too.   As Dinah McNutt, the organizer of this event remarked to me "It's going to be a great year to be a release engineer".

http://relengofthenerds.blogspot.com/2014/01/releng-2014-cfp-now-open.html


Florian Qu`eze: Project ideas for Summer of Code 2014

Суббота, 25 Января 2014 г. 00:20 + в цитатник

Google will be running this year the 10th edition of Summer of Code. Mozilla has had the pleasure of participating every year so far, and we are hoping to participate again this year. In the next 3 weeks, we need to prepare a list of suitable projects to support our application.

Can you think of an 8-week coding project you would love to guide a student through? This is your chance to get a student focusing on it for 8 weeks! Summer of Code is a great opportunity to introduce new people to your team and have them work on projects you care about but that aren't on the critical path to shipping your next release.

Here are the conditions for the projects:

  • completing the project should take roughly 8 weeks of effort;
  • any part of the Mozilla project (Firefox, Firefox OS, Thunderbird, Instantbird, SeaMonkey, Bugzilla, L10n, NSS, IT, and many more) can submit ideas, as long as they require coding work;
  • there is a clearly identified mentor who can guide the student through the project.


If you have an idea, please put it on the Brainstorming page, which is our idea development scratchpad. Please read the instructions at the top – following them vastly increases your chances of your idea getting added to the formal Ideas page.

The deadline to submit project ideas and help us be selected by Google is February 14th.

Please feel free to discuss with me any Summer of Code question you may have.

http://blog.queze.net/post/2014/01/24/Project-ideas-for-Summer-of-Code-2014


Ben Hearsum: This week in Mozilla RelEng – January 24th, 2014

Пятница, 24 Января 2014 г. 23:37 + в цитатник

Completed work (resolution is ‘FIXED’):

In progress work (unresolved and not assigned to nobody):

The code that generates this report is available at https://github.com/bhearsum/this-week-in-bugs

http://hearsum.ca/blog/this-week-in-mozilla-releng-january-24th-2014/


Henrik Skupin: Automation Development report – week 51/52 2013

Пятница, 24 Января 2014 г. 19:50 + в цитатник

Wow, somehow I totally missed to send out reports for our automation work. Most likely that happened because of the amount of work I had in the past couple of weeks. So for now lets do a final update before the title will be updated to ‘Firefox Automation report’ by the year 2014.

Highlights

We have released Mozmill 2.0.3 to fix a couple of issues (see dependencies on bug 950831 seen with Firefox Metro builds and our Firefox shutdown code. We pushed those changes together with the releases of mozmill-automation 2.0.3 and the new mozmill-environment files to our mozmill-ci staging instance for baking.

Henrik was able to finish the work in setting up our new mozmill-ci staging instance in the SCL3 datacenter. Please see bug 947108 for details. With it we have the identical environment as the production instance and can see regressions immediately and not when we merge to production, which was pretty bad in the past couple of week. So RIP old staging server!

One of our goals for quarter 3 in 2013 was to setup a web based configutation tool for ondemand testruns in mozmill-ci, which can be used by QA people to trigger testruns for beta and release builds. Cosmin jumped on it and got the first version implemented. You can find a running instance on Github for now. Later we want to make the tool available via http://www.mozqa.com.

To make our mozmill-ci system more stable, Henrik pushed a large set of new features and fixes to the staging instance. Our plan was to let it bake over the Christmas holidays with the hope that Jenkins will run way more stable now.

Individual Updates

For more granular updates of each individual team member please visit our weekly team etherpad for week 51 and week 52.

Meeting Details

If you are interested in further details and discussions you might also want to have a look at the meeting agenda and notes from the last Automation Development meeting of week 51.

http://www.hskupin.info/2014/01/24/automation-development-report-week-5152-2013/


Joshua Cranmer: Charsets and NNTP

Пятница, 24 Января 2014 г. 04:53 + в цитатник
Recently, the question of charsets came up within the context of necessary decoder support for Thunderbird. After much hemming and hawing about how to find this out (which included a plea to the IMAP-protocol list for data), I remembered that I actually had this data. Long-time readers of this blog may recall that I did a study several years ago on the usage share of newsreaders. After that, I was motivated to take my data collection to the most extreme way possible. Instead of considering only the "official" Big-8 newsgroups, I looked at all of them on the news server I use (effectively, all but alt.binaries). Instead of relying on pulling the data from the server for the headers I needed, I grabbed all of them—the script literally runs HEAD and saves the results in a database. And instead of a month of results, I grabbed the results for the entire year of 2011. And then I sat on the data.

After recalling Henri Svinonen's pesterings about data, I decided to see the suitability of my dataset for this task. For data management reasons, I only grabbed the data from the second half of the year (about 10 million messages). I know from memory that the quality of Python's message parser (which was used to extract data in the first place) is surprisingly poor, which introduces bias of unknown consequence to my data. Since I only extracted headers, I can't identify charsets for anything which was sent as, say, multipart/alternative (which is more common than you'd think), which introduces further systematic bias. The end result is approximately 9.6M messages that I could extract charsets from and thence do further research.

Discussions revealed one particularly surprising tidbit of information. The most popular charset not accounted for by the Encoding specification was IBM437. Henri Sivonen speculated that the cause was some crufty old NNTP client on Windows using that encoding, so I endeavored to build a correlation database to check that assumption. Using the wonderful magic of d3, I produced a heatmap comparing distributions of charsets among various user agents. Details about the visualization may be found on that page, but it does refute Henri's claim when you dig into the data (it appears to be caused by specific BBS-to-news gateways, and is mostly localized in particular BBS newsgroups).

Also found on that page are some fun discoveries of just what kind of crap people try to pass off as valid headers. Some of those User-Agents are clearly spoofs (Outlook Express and family used the X-Newsreader header, not the User-Agent header). There also appears to be a fair amount of mojibake in headers (one of them appeared to be venerable double mojibake). The charsets also have some interesting labels to them: the "big5\n" and the "(null)" illustrate that some people don't double check their code very well, and not shown are the 5 examples of people who think charset names have spaces in them. A few people appear to have mixed up POSIX locales with charsets as well.

http://quetzalcoatal.blogspot.com/2014/01/charsets-and-nntp.html


Christian Heilmann: Endangered species of the web: the image

Четверг, 23 Января 2014 г. 17:09 + в цитатник

Once the Web was a thriving ecosystem of happily evolving, beautiful creatures. Like with any environment, sooner or later man will step in and kill a lot of things – actively or by accident – and diminish the diversity and health of said ecosystem. In this series we will look at some of the strange animals that make up the Web as we know it, re-introduce them and show how you can do your part to make sure they don’t die out.

Today we are looking at an amazingly popular pet animal that is more than often treated not the way it is meant to be treated: the image.

JAXPORT Gallery: Artist Keith Doles

Show me your colours

Images are what made the web pop. Ever since the first browser started supporting them, we had a web that was interesting to publishers beyond the academic community. Show me, don’t tell me, and all that. At the start, things were pretty clear cut:

When Marc Andreesen proposed the IMG tag in 1993 he defined it as thus:

This names a bitmap or pixmap file for the browser to attempt to pull over the network and interpret as an image, to be embedded in the text at the point of the tag’s occurrence.

He also defined what should be done when the image can not be loaded (and also mentioned now very obscure image formats as ones that could be used):

Browsers should be afforded flexibility as to which image formats they support. Xbm and Xpm are good ones to support, for example. If a browser cannot interpret a given format, it can do whatever it wants instead (X Mosaic will pop up a default bitmap as a placeholder).

Simply put, this is what you needed to do in order to add an image of a canyon to the document:

span> src="canyon.png">

This was when things got wrong: what happens when the image could not be loaded or shown? Show a placeholder. But the placeholder has no meaning, right? All you tell is the end user that something went wrong. Not what the meaning of the image was.

The Object element came later and already explained a few of the shortcomings of the original idea:

Previous versions of HTML allowed authors to include images (via IMG) and applets (via APPLET). These elements have several limitations:

  • They fail to solve the more general problem of how to include new and future media types.
  • The APPLET element only works with Java-based applets. This element is deprecated in favor of OBJECT.
  • They pose accessibility problems.

span> data="canyon.png" type="image/png">
This is a >closeup> of the Grand Canyon.
>

The big thing here is that this could be extended to all kind of embeddable media – music, video, applets and whatever might come next. Instead, we got the IMG tag, and then we got the video element, the audio element and the iframe element – each delivering a highly defined subset of what the generic object element could have done.

Despite the shortcomings of the humble img, it has a few amazing attributes that can work for you:

  • alt – the alternative text to give a user agent when the image can not be displayed, which could mean it could not be loaded or that it couldn’t be decoded
  • longdesc – a linked document to explain in much wordier fashion what the image describes. This could be for example a longer description of the data and the findings in the data relationships of a chart. Never heard of that one? Join the club!
  • name – the name of the image used for scripting (only added for backwards compatibility)
  • height and width – to resize images to a certain size or to tell the browser what the size is instead of it having to read that from the image metadata
  • usemap and ismap for client side image maps (those were all the rage before we had CSS and could stack elements on top of another)

In addition to that there is always the title attribute, which can be added to almost anything.

As an image is pointing to an external resource, it also allows you to do a lot with JavaScript. You can detect if it was loaded by subscribing to a load event handler and react if there was a problem by subscribing to its error handler. This gives you quite granular control over what is going on.

Hurting images: misuse of alt and title

Things got weird when people didn’t use images they way they are meant to because of how they display in browsers. The alt attribute (no, there is no such thing as an alt tag) doesn’t get the information it should contain, instead the title attribute gets a lot of information as it is visible when the user hovers over the element.

A great example how to make the image happy is XKCD. Their makers give the image sensible alternative text in the alt attribute and add extra information in the title. They use the title as a sort of “easter egg”, which is totally fine, and works well for them:

Automation

span> src="http://imgs.xkcd.com/comics/automation.png" 
title="'Automating' comes from the roots 'auto-' 
meaning 'self-', and 'mating', meaning 'screwing'." 
alt="Automation">

Of course, to be totally accessible, this image should have a longdesc attribute pointing to a textual representation of the image’s message. This could also be the alternative text, but might be a bit long as there is not only a text displayed in the image to be explained, but also its implications and nuances. If that needs to be done, you could also use a FIGURE and FIGCAPTION construct. HTML5Doctor has an amazingly detailed, yet easy to understand post on those.

Back to alt and title: title should always be treated as a “nice to have” and can not be relied on to ever be accessible to the end user. Alt, on the other hand, is absolutely and utterly needed. If the image for one reason or another can not be displayed (which is totally possible) it is what the user gets. In Firefox and Chrome, for example, instead of the image you only get the text displayed in the browser:

Merry hedgehogs frolicking in the moonlight

Alternative text is most important for non-sighted users, as screenreaders will announce that text in their stead. If there is no alternative text specified, assistive technology might fall back to reading out the file name, which could be an exercise in annoyance and futility in equal measures.

Images getting a bad reputation: performance

Images lately got a bit of a bad reputation, as they’ve been singled out as a huge source of performance issues with web pages. This is true: the more images you use in your document, the more HTTP negotiation has to happen and the more external files have to be loaded, decoded and displayed. The first big solution came as early as 2004, when Dave Shea coined the term and explained the techniques behind “Image Sprites”. Image sprites were the fabulous idea of using a single image with all the images on the page in one document. Thus, you only load and decode one image and crop and position it visually with CSS in all the different places you need it. The drawback of this technique as described by Dave is that you have no textual fallback – no alt attribute – but that can be remedied as I explained in a comment on the original article using image replacement techniques.

Other problems that occurred in the past (and maybe even now) are that images seem to do a bad job when used in mobile devices. The mobile version of Flickr, for example, used to be much slower when using img elements instead of background images on DIVs, as decribed in the “Creating Responsive HTML5 Touch Interfaces” talk from 2 years ago.

Throwing images out and moving it all to CSS

Nowadays, we can do magic in CSS. We really can. Gradients, drop shadows, rounded corners, background sizing, all the good things we have make creating images for purely artistic parts of our designs (“screen furniture”) utterly unnecessary and give us much more flexibility. A gradient in CSS can clearly resize to any element, a gradient in PNG or JPG would wash out or pixel out.

No argument there. However, lately a lot of showcases use CSS to paint, which, if only a visual aid, is totally fine. Images that are semantically valuable though should not be achieved that way but instead should be an img, for the reasons mentioned before – you can create a textual fallback that will be shown when things go wrong and you can even react when the image was unable to load or decode (using the load and error handlers). Neither is possible in CSS, all you can do is hope that everything is alright. Most browsers will be OK hiding a text in an element you use CSS to style, but not all are able to render the final visual construct you create with lots of CSS instructions. Thus, if things go wrong, you give the user nothing instead of a text to understand.

In other words: while it is possible to create a MacBook using only CSS from one element, you have no idea if it displays correctly. If it is a nice-to-have, all fine. If that MacBook were the logo of your company or a chart explaining information to your readers – bad idea. Painting complex images in CSS using lots and lots of DIVs and SPANs is a parlour trick – it is neither reliable across browsers, backwards compatible nor makes any sense semantically. An image is more than a visual construct – it also gives meaning and you should provide a way to make that meaning obvious when the image can not be seen or is displayed wrongly. That images “painted with HTML and CSS” scale nicely on different resolutions is a problem we need to solve on an image format level (SVG comes to mind), not something we should hack together by abusing HTML for the sake of its visual outcome. We stopped painting with table cells – remember, we did tables with background colours on 1 pixel wide or high rows and columns to create borders – we should not go back to these days.

How to treat images humanely

The technology we have these days allows us to use images in amazing ways. It is up to you to use it wisely:

  • If the image is purely there to be pretty, use a CSS background and benefit from the resizing and positioning options you have. Make sure to use a fallback background colour with enough contrast to the text colour in case the image could not be loaded.
  • If the image is there to be part of a visual design and needs to scale consider using gradients, rounded corners and drop shadows in CSS instead. Be aware though that these could be bad when moving the element or scrolling the page so use them sparingly.
  • If the image plays an important role to the message of the document, or represents an interactive element like a button, use an img tag. These allow for alternative texts and error handling much easier than CSS solutions do. If you use an img give it a sensible alternative text, do not omit the alt attribute or give it an empty attribute or [image].

Not that hard, now is it? Make those images dance and sparkle, I dare you!

http://christianheilmann.com/2014/01/23/endangered-species-of-the-web-the-image/


Karl Dubost: Flexbox old syntax to new syntax converter

Четверг, 23 Января 2014 г. 13:45 + в цитатник

Today I was looking into a bug where Yahoo! Japan (a different entity than Yahoo!) sends, as the bug title says, "Messy rendering on Yahoo Japan mobile site". And oh boy! it is indeed messy.

Details of Yahoo! Japan Home page

The full page is no better. But is it really that messy? Are there any easy fixes in that page. Hmm many boxes packed on one side of the window. Would it be an issue with using the webkit or old syntax of flexbox? Let's see. We started the Firefox developer tools and searched for -box-.

Firefox Developer tools

OK the "messy rendering" starts to make sense. The page is using both webkit syntax of flexbox and a prefixless equivalent.

.search-chrome__box,.logout__box{
    -webkit-box-flex:1;
    box-flex:1;
    display:-webkit-box;
    display:box;
    -webkit-box-align:center;
    box-align:center;
    -webkit-border-radius:3px;
    border-radius:3px;
    -webkit-box-shadow:-1px 1px 1px -1px rgba(0,0,0,0.6);
    box-shadow:-1px 1px 1px -1px rgba(0,0,0,0.6);
    position:relative;
    background:white
}

First we can see that Yahoo! Japan didn't try to be nasty, they took care about adding prefixless properties. The issue here is that it is premature usage of a technology. The CSS Flexbox went through a few cycles of syntax changes. Chris Mills (ex Opera, now Mozilla) has written a good intro about Flexbox.

Can we do something about it? Let's try a very simple thing first. Let's replace all occurences of

display:-webkit-box;

by instances of

display:-webkit-box;
display:flex;

We are being non destructive with the work of Yahoo! developers. We are just adding the modern syntax which will work everywhere else. Will it change anything? Let's see.

yahoo! home page after 1st change

Impressive no? We changed only one value and we have already more consistency in the full design. We can go play with all the other values, and modify them little by little to their equivalent in the new flexbox syntax. And magically things start falling into places. The last part would be to solve the small glitches here and there.

Converter Old to New

Doing that job manually with a couple of regex in Sublime Text. I though there was room for a tool (python, ruby, $FAVORITE_LANGUAGE) that would take as input a CSS file and would modify it into the new CSS syntax preserving the old one if people think they need to keep it around. Even if it doesn't fix everything, it would help a lot in giving a rough first pass.

But before starting to work on this kind of things, I wonder if it doesn't already exist.

Autoprefixer

(update: 2014-01-23 18:38 Tokyo)

Vadim (Opera devrel) pointed me to autoprefixer which does the opposite. But I still gave it a try. So installed it.

sudo npm install --global autoprefixer

then created a CSS file: foo.css

.try {
        display:-webkit-box;
        display:box
}

.tryharder {
        display: flex;
}

Then pushed it through the program.

autoprefixer foo.css -o bar.css

The end result was:

.try {
        display:-webkit-box;
        display:box
}

.tryharder {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
}

I want the exact opposite of this. We are getting closer.

Otsukare!

http://www.otsukare.info/2014/01/23/flexbox-converter



Поиск сообщений в rss_planet_mozilla
Страницы: 472 ... 15 14 [13] 12 11 ..
.. 1 Календарь