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

Поиск сообщений в 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 ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

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

Andreas Tolfsen: geckodriver 0.11.1 released

Понедельник, 10 Октября 2016 г. 17:38 + в цитатник

Earlier today we released geckodriver version 0.11.1. geckodriver is an HTTP proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers.

The program provides the HTTP API described by the WebDriver protocol to communicate with Gecko browsers, such as Firefox. It translates calls into the Marionette automation protocol by acting as a proxy between the local- and remote ends.

Some highlighted changes include:

  • Commands for setting- and getting the window position
  • Extension commands for finding an element’s anonymous children
  • A moz:firefoxOptions dictionary, akin to chromeOptions, that lets you configure binary path, arguments, preferences, and log options
  • Better profile support for officially branded Firefox builds

You should consult the full changelog for the complete list of notable changes.

You can fetch the latest builds which for the first time include Linux- and Windows 32-bit.

One non-backwards incompatible change to note is that the firefox_binary firefox_args, and firefox_profile capabilities have all been removed in favour of the moz:firefoxOptions dictionary. Please consult the documentation on how to use it.

Sample usage:

{
	"moz:firefoxOptions": {
		// select a custom firefox installation
		// and pass some arguments to it
		"binary": "/usr/local/firefox/firefox-bin",
		"args": ["--foo", "--bar"],

		// profile directory as a Base64 encoded string
		"profile": "…",

		// dictionary of preferences to set
		"prefs": {
			{"privacy.trackingprotection.enabled": true},
			{"privacy.donottrackheader.enabled", true}
		},

		// increase logging verbosity
		"log": {
			"level": "trace"
		}
	}
}

https://sny.no/2016/10/geckodriver-0.11.1


Wil Clouser: Test Pilot Q3 OKR Review

Понедельник, 10 Октября 2016 г. 10:00 + в цитатник

For the third quarter of 2016 the Test Pilot team decided to try using the OKR method (an OKR overview) for our goal setting.

We all sat down in London and hashed out what direction we wanted to move in for Q3, what we thought we could do in that timeframe, prioritized the results and then I published the results on the wiki. If you're interested in what Test Pilot did in Q3 you should read that link because it has a bunch of comments in it.

I knew we deprioritized some of our goals mid-quarter, but I was surprised to see us come up with a pretty modest .61. My takeaways from my first time using the OKR method is:

  • Wording is really important. Even if you all agree on some words while sitting around a table, look them over again the next day because they might not make as much sense as you think.

  • Getting the goals for your quarter planned before the quarter starts is tops.

  • Having a public list of goals you can point people to is great for your team, other teams you work with, and anyone in the community interested in your project.

  • Estimates for how long things will take you is still a Really Hard Problem.

The feedback I've received about the OKR process we followed has been really positive and I expect to continue it in the future.

http://micropipes.com/blog//2016/10/10/test-pilot-q3-okr-review/


Cameron Kaiser: A Saturday mystery, or, locatedb considered harmful to old Macs

Суббота, 08 Октября 2016 г. 23:02 + в цитатник
I've been waist-deep on AltiVec intrinsics for the last week converting some of those big inverse discrete cosine and Hadamard transforms for TenFourFox's vectorized PowerPC VP9 codec. The little ones cause a noticeable but minor improvement, but when I got the first large transform done there was a big jump in performance on this quad G5. Note that the G5, even though its vector unit is based on the 7400 and therefore weaker than the 7450's, likes long strings of sequential code it can reorder, which is essentially what that huge clot of vector intrinsics is, so I have not yet determined if I've just optimized it well for the G5 or it's generalizeable to the G4 too. My theory is that even though the improvement ratio is about the same (somewhere between 4:1 and 8:1 depending on how much data they swallow per cycle), these huge vectorized inverse transforms accelerate code that takes a lot of CPU time ordinarily, so it's a bigger absolute reduction. I'm going to work on a couple more this weekend and see if I can get even more money out of it. 720p playback is still out of the question even with the Quad at full tilt, but 360p windowed is pretty smooth and even 360p fullscreen (upscaled to 1080p) and 480p windowed can keep up, and it buffers a lot quicker.

The other thing I did was to eliminate some inefficiencies in the CoreGraphics glue we use for rendering pretty much everything (there is no Skia support on 10.4) except the residual Cairo backend that handles printing. In particular, I overhauled our blend and composite mode code so that it avoids a function call on every draw operation. This is a marginal speedup but it makes some types of complex animation much smoother.

Overall I'm pretty happy with this and no one has reported any issues with the little-endian typed array switchover, so I'll make a second beta release sometime next week hopefully. MSE will still be off by default in that build but unless I hear different or some critical showstopper crops up it will be switched on for the final public release.

When I sat down at my G5 this warm Southern California Saturday morning, however, I noticed that MenuMeters (a great tool to have if you don't already) showed the Quad was already rather occupied. This wasn't a new thing; I'd seen what I assumed was a stuck cron job or something for the last several Saturday mornings and killed it in the Activity Monitor. But this was the sixth week in a row it had happened and it looked like it had been running for over three hours wasting CPU time, so enough was enough.

The offending process was something running /usr/bin/find to find, well, everything (that wasn't in /tmp or /usr/tmp), essentially iterating over the whole damn filesystem. A couple of ps -wwjp (What Would Jesus Post?) later showed it was being kicked off as part of the update system for an old Unix dragon of yore, locate.

There are no less than three possible ways to find files from the command line in OS X macOS. One is the venerable find command, which is the slowest of the lot (it uses no cache) and the predicates can be somewhat confusing to novices, but is guaranteed to be up-to-date because it doesn't rely on a pre-existing database and will find nearly anything. The second is of course Spotlight, which is accessible from the Terminal using the mdfind command. There are man pages for both.

The third way is locate, which is easier than find and faster because it uses a database for quick lookups, but less comprehensive than Spotlight/mdfind because it only looks for filenames instead of within file content as well, and the updater has to run periodically to stay current. (There's a man page for it too.) It would seem that Spotlight could completely supersede locate, and Apple thinks so too, because it was turned into a launchd .plist in 10.6 (look at /System/Library/LaunchDaemons/com.apple.locate.plist) and disabled by default. That's not the case for 10.5 and previous, however, and I have so many files on my G5 by now that the runtime to update the locate database is now close to five hours -- on an SSD! And that's why it was still running when I sat down to do work after breakfast.

I don't use locate because Spotlight is more convenient and updates practically on demand instead of weekly. If you don't either, then niced or not it's wasted effort and you should disable it from running within your Mac's periodic weekly maintenance tasks. (Note: on 10.3 and earlier, since you don't have Spotlight, you may not want to do this unless locate's update process is tying up your machine also.) Here's how:

  • On 10.5, the weekly periodic script can be told specifically not to run locate.updatedb. Edit /etc/defaults/periodic.conf as root (such as sudo vi /etc/defaults/periodic.conf -- you did fix the sudo bug, right?) and set weekly_locate_enable to "NO".

  • On 10.4 and before (I checked this on my 10.2.8 strawberry iMac G3 as well, so I'm sure 10.3 is the same), the weekly script doesn't offer this option. However, it does check to see if locate.updatedb is executable before it runs it, so simply make it non-executable: sudo chmod -x /usr/libexec/locate.updatedb

Now for some 8-Bit Weapon ambient (de)programming with a much more sedate G5 into the rest of the weekend.

http://tenfourfox.blogspot.com/2016/10/a-saturday-mystery-or-locatedb.html


Hub Figui`ere: Rust and Automake

Суббота, 08 Октября 2016 г. 05:01 + в цитатник

But why automake? Cargo is nice.

Yes it is. But it is also limited to build the Rust crate. It does one thing, very well, and easily.

Although I'm writing a GNOME application and this needs more than building the code. So I decided I need to wrap the build process into automake.

Let's start with Autoconf for Rust Project. This post is a great introduction to solving the problem and give an actual example on doing it even though the author just uses autoconf. I need automake too, but this is a good start.

We'll basically write a configure.ac and a Makefile.am in the top level Rust crate directory.

configure.ac:

AC_INIT([gpsami], m4_esyscmd([grep ^version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n"]), [hub@figuiere.net])
AM_INIT_AUTOMAKE([1.11 foreign no-dependencies no-dist-gzip dist-xz subdir-objects])

Let's init autoconf and automake. We use the options: foreign to not require all the GNU files, no-dependencies because we don't have dependency tracking done by make (cargo do that for us) and subdir-objects because we have one Makefile.am and don't want recursive mode.

The m4_esyscmd macro is a shell command to extract the version out of the Cargo.toml.

VERSION=$(grep ^version Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")

This does the same as above, but put it into VERSION

This shell command was adapted from Autoconf for Rust Project but fixed as it was being greedy and also captured the "version" strings from the dependencies.

AC_CHECK_PROG(CARGO, [cargo], [yes], [no])
AS_IF(test x$CARGO = xno,
    AC_MSG_ERROR([cargo is required])
)
AC_CHECK_PROG(RUSTC, [rustc], [yes], [no])
AS_IF(test x$RUSTC = xno,
    AC_MSG_ERROR([rustc is required])
)

Check for cargo and rustc. I'm pretty sure without rustc you don't have cargo, but better be safe than sorry. Note that this is considered a fatal error at configure time.

dnl Release build we do.
CARGO_TARGET_DIR=release
AC_SUBST(CARGO_TARGET_DIR)

This is a trick: we need the cargo target directory. We hardcode to release as that's what we want to build.

The end is pretty much standard.

So far just a few tricks.

Makefile.am

desktop_files = data/gpsami.desktop

desktopdir   = $(datadir)/applications
desktop_DATA = $(desktop_files)
ui_files = src/mgwindow.ui \
	$(null)

Just some basic declarations in the Makefile.am. The desktop file with installation target and the ui_files. Note that at the moment the ui files are not installed because we inline them in Rust.

EXTRA_DIST = Cargo.toml \
	src/devices.json  \
	src/devices.rs  \
	src/drivers.rs  \
	src/gpsbabel.rs  \
	src/main.rs \
	src/mgapplication.rs \
	src/utils.rs \
	$(ui_files) \
	$(desktop_in_files) \
	$(null)

We want to distribute the source files and the desktop files. This will get more complex when the crate grows as we'll need to add more files to here.

all-local:
	cargo build --release

clean-local:
	-cargo clean

Drive build and clean targets with cargo.

install-exec-local:
	$(MKDIR_P) $(DESTDIR)$(bindir)
	$(INSTALL) -c -m 755 target/@CARGO_TARGET_DIR@/gpsami $(DESTDIR)$(bindir)

We have to install the binary by hand. That's one of the drawback of cargo.

We this, we do

$ autoreconf -si
$ ./configure
$ make
# make install

This build in release and install it in the prefix. You can even make dist, which is another of the reason why I wanted to do that.

Caveats: I know this will not work if we build in a different directory than the source directory. make distcheck fails for that reason.

I'm sure there are ways to improve this, and I will probably, but I wanted to give a recipe for something I wanted to do.

https://www.figuiere.net/hub/blog/?2016/10/07/862-rust-and-automake


Gian-Carlo Pascutto: Firefox sandbox on Linux tightened

Пятница, 07 Октября 2016 г. 17:43 + в цитатник
As just announced on mozilla.dev.platform, we landed a set of changes in today's Nightly that tightens our sandboxing on Linux. The content process, which is the part of Firefox that renders webpages and executes any JavaScript on them, had been previously restricted in the amount of system calls that it could access. As of today, it no longer has write access to the filesystem, barring an exception for shared memory and /tmp. We plan to also remove the latter, eventually.

As promised, we're continuing to batten down the hatches gradually, making it harder for an attacker to successfully exploit Firefox. The changes that landed this night are an important step, but far from the end of the road, and we'll be continuing to put out iterative improvements.

Some of our next steps will be to address the interactions with the X11 windowing system, as well as implementing read restrictions.

http://www.morbo.org/2016/10/firefox-sandbox-on-linux-tightened.html


Myk Melez: SpiderNode In Positron

Пятница, 07 Октября 2016 г. 09:35 + в цитатник

Last Friday, Brendan Dahl landed SpiderNode integration into Positron. Now, when you run an Electron app in Positron, the app’s main script runs in a JavaScript context that includes the Node module loader and the core Node modules.

The hello-world-server test app demonstrates an Electron BrowserWindow connecting to a Node HTTP server started by the main script. It’s similar to the hello-world test app (a.k.a. the Electron Quick Start app), with this added code to create the HTTP server:

// Load the http module to create an HTTP server.
var http = require('http');

// Configure our HTTP server to respond with Hello World to all requests.
var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("Hello World from node " + process.versions.node + "\n");
});

The main script then loads a page from the server in an Electron BrowserWindow:

const electron = require('electron');
const app = electron.app;  // Module to control application life.
const BrowserWindow = electron.BrowserWindow;  // Module to create native browser window.
…
var mainWindow = null;
…
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
app.on('ready', function() {
    // Create the browser window.
    mainWindow = new BrowserWindow({width: 800, height: 600});

    // and load the index.html of the app.
    mainWindow.loadURL('http://localhost:8000');
    …
});

Which results in:

Hello World Server Demo

The simplicity of that screenshot belies the complexity of the implementation! It requires SpiderNode, which depends on SpiderShim (based on ChakraShim from node-chakracore). And it must expose Node APIs to the existing JavaScript context created by the Positron app runner while also synchronizing the SpiderMonkey and libuv event loops.

It’s also the first example of using SpiderNode in a real-world (albeit experimental) project, which is an achievement for that effort and a credit to its principal contributors, especially Ehsan Akhgari, Trevor Saunders, and Brendan himself.

Try it out for yourself:

git clone https://github.com/mozilla/positron
cd positron
git submodule update --init
MOZCONFIG=positron/config/mozconfig ./mach build
./mach run positron/test/hello-world-server/

Or, for a more interesting example, run the basic browser app:

git clone https://github.com/hokein/electron-sample-apps
./mach run electron-sample-apps/webview/browser/

(Note: Positron now works on Mac and Linux but not Windows, as SpiderNode doesn’t yet build there.)

https://mykzilla.org/2016/10/06/spidernode-in-positron/


Mozilla Cloud Services Blog: Device management coming to your Firefox Account

Четверг, 06 Октября 2016 г. 23:37 + в цитатник

Today we are beginning a phased roll out of a new account management feature to Firefox Accounts users. This new feature aims to give users a clear overview of all services attached to the account, and provide our users with full control over their synced devices.

With the new “Devices” panel in your Firefox Accounts settings, you will be able to manage all your devices that use Firefox Sync. The devices section shows all connected Firefox clients on Desktop, iOS and Android, making it an excellent addition to those who use Firefox Sync on multiple devices. Use the “Disconnect” button to get rid of the devices that you don’t want to sync.

This feature will be made available to all users soon and we have a lot more planned to make account management easier for everyone. Here’s what the first version of the devices view looks like:

Devices
To stay organized you can easily rename your device in the Sync Preferences using the “Device Name” panel:

Updating Device Name

Thanks to everyone who worked on this feature: Phil Booth, Jon Buckley, Vijay Budhram, Alex Davis, Ryan Feeley, Vlad Filippov, Mark Hammond, Ryan Kelly , Sean McArthur, John Morrison, Edouard Oger, Shane Tomlinson. Special thanks to developers on the mobile teams that helped with device registration: Nick Alexander, Michael Comella, Stephan Leroux and Brian Nicholson.

If you want to get involved with the Firefox Accounts open source project please visit: fxa.readthedocs.io. Make sure to visit the Firefox Accounts settings page in the coming weeks to take more control over your devices!

https://blog.mozilla.org/services/2016/10/06/device-management-coming-to-your-firefox-account/


The Mozilla Blog: Promoting Cybersecurity Awareness

Четверг, 06 Октября 2016 г. 21:56 + в цитатник

We are happy to support National Cyber Security Awareness Month (NCSAM), a global effort between government and industry to ensure everyone has the resources they need to be safer, more secure and better able to protect their personal information online.

We’ve talked about how cybersecurity is a shared responsibility, and that is the theme for National Cybersecurity Awareness Month – the Internet is a shared resource and securing it is our shared responsibility. This means technology companies, governments, and even users have to work together to protect and improve the security of the Internet. We all have to do our part to make the Internet safer and more secure for everyone. This is a time for all Internet users to Stop. Think. Connect. This month, and all year long, we want to help you be more “CyberAware.”

ncsam

Our responsibility as a technology company is to create secure platforms, build features that improve security, and empower people with education and resources to better protect their security. At Mozilla, we have security features like phishing and malware protection built into Firefox, Firefox Add-ons focused on cybersecurity, and a checkup site to make sure Firefox and all your add-ons and plugins up to date, just to name a few.

But, the increasing incidents we’ve seen in the news show that as cybersecurity efforts and technology protections advance, so do the threats against Internet security. Now, more than ever, each Internet user has a responsibility to protect themselves and help protect those around them.

What can you do?

There are lots of tips, tools, and resources available to you to help protect your privacy and security online. Try to take advantage of the resources available to increase your cybersecurity awareness and digital literacy skills. We believe that creating awareness and giving people access to the right tools to learn basic Web literacy skills — like reading, writing, and participating online — opens new opportunities to better utilize the Web for your needs.

We’ll list a few basic cybersecurity tips here, and you should also know how each of your devices, services, and accounts handles your private information.

These steps don’t just protect people who care about their own security, they help create a more secure Internet for the billions of people online.

The basic steps to protect your cybersecurity include: (here’s a fun infographic with these tips)

  • Lock down your login: Use strong passwords and the strongest authentication tools available to protect your online accounts and personal information.
  • Keep a clean machine: Make sure all your Internet connected devices, Web services, and apps are with up to date with the latest software and enable auto updates when you can.
  • Remember- Personal information is like money: Value it and protect it- everything from your location to purchase history. Be aware and in control of what information is shared about you online.
  • When in doubt, throw it out: Cybercriminals are sneaky and often use links in email, social media, and ads to steal your personal information. Even if you know the source, if something looks suspicious, don’t click on it- delete it.
  • Share with Care: Think before your post. Consider who will see the post and how it might be perceived, now or in the future. And, don’t post something about someone else that you wouldn’t want posted about yourself.
  • Own Your Online Presence: Consider limiting how and with whom you share information online. Make sure to set your individual app and website privacy and security settings to meet your needs.

If you’re interested in more ways you can protect your digital privacy, you should check out the Consumer Reports 10 minute digital privacy tuneup that Mozilla contributed to, or for even more tips, you can read the full article with 66 ways to protect your privacy.

To get more information and resources to promote a safer, more secure, and more trusted Internet all month long, visit: Stop.Think.Connect, Stay Safe Online, and the European Cyber Security Month website.

You can join Mozilla, National Cyber Security Alliance (NCSA) and others in a Stop. Think. Connect Twitter chat today at 12 pm PT for more about the basics of online safety. #CyberAware #ChatSTC. You can follow and use the official NCSAM hashtag #CyberAware on Twitter throughout the month.

We’ll also continue to share more about important cybersecurity topics throughout the month.

 

https://blog.mozilla.org/blog/2016/10/06/promoting-cybersecurity-awareness/


Air Mozilla: Connected Devices Weekly Program Update, 06 Oct 2016

Четверг, 06 Октября 2016 г. 20:45 + в цитатник

Connected Devices Weekly Program Update Weekly project updates from the Mozilla Connected Devices team.

https://air.mozilla.org/connected-devices-weekly-program-update-20161006/


Soledad Penades: Moving to the DevTools team

Четверг, 06 Октября 2016 г. 20:38 + в цитатник

As of this week I am working in the DevTools team.

This isn’t entirely surprising, given that I’ve been collaborating with this team a lot in the past (proof!) and also that I care a lot about making sure web developers have the best tools so they can build the best web ever.

I will be managing a few folks and also plan on getting some bugs fixed myself (famous last words?

https://soledadpenades.com/2016/10/06/moving-to-the-devtools-team/


Air Mozilla: Reps Weekly Meeting Oct. 6, 2016

Четверг, 06 Октября 2016 г. 19:00 + в цитатник

Reps Weekly Meeting Oct. 6, 2016 This is a weekly call with some of the Reps to discuss all matters about/affecting Reps and invite Reps to share their work with everyone.

https://air.mozilla.org/reps-weekly-meeting-oct-6-2016/


Doug Belshaw: Web Literacy badges in GitHub

Четверг, 06 Октября 2016 г. 15:25 + в цитатник

I’m delighted to see that Mozilla have worked with Digitalme to create new Open Badges based on their Web Literacy Map. Not only that, but the badges themselves are platform-agnostic, with a GitHub repository containing the details that can be used under an open license.

Web Literacy Badges

As Matt Rogers from Digitalme documents in A journey into the open, there’s several levels to working open:

In a recent collaboration with the Mozilla Learning team – I got to understand how I can take our work to the next level of openness. Creating publicly available badge projects is one thing, but it’s another when they’re confined to one platform – even if that is your own. What truly makes a badge project open is its ability to be taken, maybe remixed, and utilised anywhere across the web. Be that on a different badging platform, or via a completely different delivery means entirely.

This is exactly the right path for the Web Literacy work and Open Badges work at Mozilla. It’s along the same lines as something I tried to achieve during my time as Web Literacy Lead there. Now, however, it seems like they’ve got the funding and capacity to get on with it. A big hats-off to Digitalme for wrangling this, and taking the hard, but extremely beneficial and enlightening steps towards working (even) more openly.

If you’re interested in working more openly, why not get in touch with the co-operative I’m part of, We Are Open?


Comments? Questions? I’m @dajbelshaw on Twitter, or you can email me: hello@dynamicskillset.com

http://literaci.es/open-weblit-badges


Mozilla Addons Blog: Friend of Add-ons: Atique Ahmed Ziad

Четверг, 06 Октября 2016 г. 03:36 + в цитатник

Please meet our newest Friend of Add-ons: Atique Ahmed Ziad, who in September alone closed 14 AMO bugs!

Atique is primarily interested in front-end work. His recent contributions mostly focused on RTL language bugs, however it was this complex error messaging bug that proved the most challenging because it forced Atique to grapple with complex code.

Beyond crushing bugs, Atique also helps organize Activate campaigns.

When he’s not busy being a tireless champion for the open Web, Atique likes to unwind by taking in a good movie or playing video games; and while he’s one of the nicest guys you’ll ever meet, you’ll want to avoid him in the virtual settings of Grand Theft Auto and Call of Duty.

On behalf of the AMO staff and community, thank you for all of your great work, Atique!

Do you contribute to AMO in some way? If so, don’t forget to add your contributions to our Recognition page!

https://blog.mozilla.org/addons/2016/10/05/friend-of-add-ons-atique-ahmed-ziad/


Jared Hirsch: Bootstrapping Test Pilot Community through Public Decision Making

Среда, 05 Октября 2016 г. 22:30 + в цитатник

This proposal is pulled verbatim from a message I sent to the Test Pilot mailing list a few minutes ago.

The question is: how do we best begin to build a community around Test Pilot?

My answer: start by making decisions in public.

If this seems interesting to you, read on below.

Proposed Participation Timeline

Q4 2016: Start by making decisions in public, in the Discourse user forums.

Q4 2016 - Q1 2017: Once we’ve made our process accessible to contributors, ask active Mozillians to get involved. Build an awesome core community. Advertise idea submissions to active Mozillians & iterate on the submission system before a huge public influx.

Q1-Q2 2017: Once the core community is in place, and idea submission has been tweaked, get Marketing involved with a public call for ideas. Our awesome core community will help manage the influx: greet newcomers, bash trolls, de-dupe suggestions.

Background

To frame the discussion, I wrote up some thoughts on what a more open, community-centered product development cycle might look like. TL;DR: give community a seat at the table by offering equal visibility into the process, and opportunities to provide input at decision points.

See also Producing OSS, which makes interesting points on the importance of public decision-making.

Suggested Q4 plan

In Q4, we can set the stage for community by making our work public:

  • ask product and UX to move decision making discussions to Discourse
  • ask experiment teams to post in Discourse as they launch, measure, iterate, and wind down
  • make Discourse a secondary call to action on the Test Pilot experiment pages
  • deprecate mailing list in favor of Discourse
  • (if there’s time) ask vetted, active Mozillians to join the conversation
  • (if there’s time) ask Mozillians to share ideas

If we make these changes in Q4, then by Q1, we’ll have plenty of content in Discourse. New community members will tend to model their input on the tone and content of the existing discussion; for this reason, I think we should hold the open call until a bit later. I realize I’m contradicting my own recent suggestion, but I do think this approach will yield better results.

Key Result: 100 monthly active Discourse users

One natural number to measure would be the number of monthly active Discourse users (MADU), meaning: users who post at least once a month in the Test Pilot category. Right now, this number is probably below 10. If all the dev teams and product/UX get involved, that’ll jump to, maybe, 30 MADUs. If we get Mozillians engaged, we could see this number jump into the hundreds. 100 MADUs seems ambitious, but possible.

Q4 plan in detail

It’s a bit buried in the list above, but I think we should deprecate the mailing list, and move discussion to Discourse instead. Our current list has little traffic, and a primitive, plain text archive that doesn’t allow search. It would be easy to move the current traffic to Discourse. Finally, moving to Discourse would encourage the Test Pilot team to use it.

Going into a bit more detail on the types of content that should move to Discourse to help seed our community:

Design phase (product / UX):

  • Idea proposals & discussion
  • Decision making discussions: which ideas to invest in, and why those ideas.

Development / iteration phase (product / UX / dev):

  • Summaries of user interaction data (how are people using the product, how many keep using it)
  • High level discussion of which features to add, change, or remove, grounded in the public interaction data
  • I’m not yet sure how much development discussion should happen on Discourse vs. a specific mailing list; we can ask around to see what approaches different teams would like to try.

Graduation / end of cycle phase (product):

  • Discussions about whether to keep an experiment running, move into Firefox, or retire it.

Wrapping up

That does it for the mailing list post.

What do you think about this proposal? Is this a good way to build the foundations of a participatory Test Pilot community?

Let me know! Twitter and email are in the footer below.

http://6a68.net/2016/public-decision-making/


Air Mozilla: The Joy of Coding - Episode 74

Среда, 05 Октября 2016 г. 20:00 + в цитатник

The Joy of Coding - Episode 74 mconley livehacks on real Firefox bugs while thinking aloud.

https://air.mozilla.org:443/the-joy-of-coding-episode-74/


Christian Heilmann: Can we stop bad-mouthing CSS in developer talks, please?

Среда, 05 Октября 2016 г. 15:52 + в цитатник

At almost every developer conference right now there will be a talk that features the following “funny GIF”:

funny CSS gif
Peter Griffin aka Family Guy trying to make some blinds close and making a total mess of it, randomly dragging the cords until he gives up and rips them off the window. With the caption CSS.

It is always a crowd pleaser, and can be a good introduction to the issues of CSS and some examples how to fix them. In most cases – and the likeliness of that increases with how “techy” the conference is – it is the start of a rant how bad CSS is, how its architecture is terrible and how inconsistent it is. And, and, and…

Here’s the thing: I am sick of this. It is not clever, it is not based in fact and it makes us appear as arrogant know-it-alls that want everything to work the way we are used to. It drives a firm divider between “developers” and “people who do web stuff”, aka “not real developers”. Which is nonsense. Arrogant, dangerous nonsense, not helping us – at all – to grow our developer community and be more exciting for a new, diverse, crowd to join.

Here’s a fact: we build incredibly complex, exciting and beautfiful things on the web. The most democratic distribution system of information and – by now – a high fidelity and exciting software platform. If you think you know every facet of this, you can do it all without relying on other experts to work with you, and in the one technology you like, you’re blinded by your own ambition. And an arrogant person I really could not be bothered to work with.

Yes, it is easy to poke fun at CSS and it’s Frankenstein-esque syntax. It is also easy to show that you can do all the things it does with other technologies. But that gives you no right – at all – to belittle and disregard the people who like CSS and took it as their weapon of choice to build great user interfaces.

In other words: if you don’t like it, don’t use it. Work with someone who does like it. It is a self-fulfilling prophecy that when you use a technology that you don’t take serious and you don’t like, the end result will be bad. It is a waste of time. When you complain about the issues you faced because you want the technology to bend to your comfort zone’s rules you really complain about your failure to use it. It doesn’t apply to those who happen to like the technology and play it to its strengths.

Another one that always crops up is the “CSS is awesome” coffee mug:

css is awesome mug

The joke here is that CSS is inadequate to fix that problem of overflowing text. Well, my question is how should that be handled? Overflow with scroll bars? That’s possible in CSS. Cutting the text off? Also possible. Shortening the text followed by an ellipsis? That’s also possible. Are either of those good solutions? No. The main thing here is that the text is too big to fit the container. And a fixed container is a mistake on the web. You can’t fix anything in an environment that by definition could be any size or form factor. So the mistake here is a “fixed container” thinking, not that CSS doesn’t magically do something to the text you can’t control. This, in interfaces, would really get you into trouble.

I challenge anyone to look at the mind-boggling things Ana Tudor does with CSS and tell me that’s not “real programming” and based on a “stupid language”.

See the Pen cube broadcast (pure CSS) by Ana Tudor (@thebabydino) on CodePen.


I challenge you not to see the benefit of flexbox and the ability it gives us to build dynamic interfaces that can adapt to different amounts of content and the needs of smaller versus bigger screens as explained by Zoe Mickley Gillenwater:


Zoe Mickley Gillenwater | Flexbox | CSS Day from Web Conferences Amsterdam on Vimeo.

I challenge you not to get excited about the opportunities of grid layouts as explained by Rachel Andrews:

I challenge you not to be baffled by the beauty of using type and shapes to build complex layouts that are not hindered by a fixed pixel thinking as explained by Jen Simmons.

I challenge you not to marvel at the power of CSS filters and blend modes and what they empower an artistic mind to do as explained by Una Kravets:


SmashingConf Freiburg 2016 – Una Kravets on Practical Blend Modes from Smashing Magazine on Vimeo.

So next time you think about using “the CSS joke”, please understand that people who care do not try to colour some text. CSS is a very expressive language to build complex interfaces that cater to a lot of varying user needs. If you can’t get your head around that – and I am admitting that I can’t anymore – have the decency to not belittle those who do. Applaud them for their efforts and work with them instead.

https://www.christianheilmann.com/2016/10/05/can-we-stop-bad-mouthing-css-in-developer-talks-please/


Karl Dubost: Debug your CSS with outline visualizations.

Среда, 05 Октября 2016 г. 10:06 + в цитатник

Reading The GDS blog post on how to prototype in the browser, I realized that it's always good to explain little tips for the benefits of others. Their technique is something I use on a daily basis for modifying content, evolving a design, etc.

When diagnosing on webcompat.com, I often use a trick for having a better understanding of the way the elements flow with regards to each other.

Using CSS outline for visualizing

David Lorente reported an issue about the menu of Universia. Basically two items where missing in the main navigation bar of the Web site.

Hovering the menu with the mouse and doing ctrl+click to get the contextual menu, I can choose inspect.

Inspect Contextual Menu

It opens the developer tools and place the cursor on the right element and displays its associated CSS.

Inspector

For this particular issue because the elements were not immediately visible. I decided to add a higher z-index in case there were hidden by another layer, but more specifically. I selected the wrapper element for the navigation bar

and headed to the + sign on the right side.

Add new rule

Clicking on it will help you to add a new rule for this selected node (element) in the inspector. In this case, it will add .header-nav.

header nav selector

which I usually edit for adding all the children of this node with .header-nav *. Then I proceed to add an outline CSS property with a color which will give an acceptable contrast, helping me to understand what is happening. In this case outline: 1px solid pink

outline css rule

The result helps to visualize all the children boxes of the div.

Visualization

It is now a lot easier to understand what is going on.

Why CSS outline?

The reason I use CSS outline is that they do not participate to the intrinsic sizes of boxes and does not destroy the flow of boxes. It just makes them visible for the purpose of the diagnosis.

What are the tricks you are using which seems obvious to you? Share them with others.

Oh and the site has been fixed since.

Otsukare!

http://www.otsukare.info/2016/10/05/debugging-css


Jared Hirsch: Test Pilot and Open Product Development

Среда, 05 Октября 2016 г. 03:36 + в цитатник

Test Pilot started out as a better way for Mozilla to build ambitious new features in Firefox: prototype features as add-ons, share with an opt-in beta testing community, and iterate much more quickly than the Firefox release cycle allows. This all makes sense, and it’s amazing how much we’ve accomplished in just over a year–but this conception leaves out the community algother.

How could Test Pilot be more open, more participatory?

Well, what if the Test Pilot team asked the community for feature ideas?

Even better: what if Test Pilot shipped prototypes built by self-organized teams of community members (volunteer or staff)?

What if we think about Test Pilot as a community of contributors interested in discussing and building new Firefox features?

Yeah, that’s the stuff!

I don’t have the time or space to get deeper into this vision right now, but I will mention it in another post, soon.

Assuming it makes sense to build products in the open from the early stages, how might we get there?


Here’s a rough sketch of an open product development lifecycle for Firefox features, centered around Test Pilot.

Generating and discussing feature ideas

An inventor with an idea creates a Discourse account and creates a post describing their idea. This could be anyone: a product manager at Mozilla, or a new Mozillian located anywhere in the world.

Interested community members discuss the idea, and help the inventor improve their proposal.

Community members with user research skills can help generate qualitative or quantitative insights about ideas they are interested in.

Turning ideas into working prototypes

Community members with design and development skills self-organize to build prototypes of ideas they believe in.

Companies (like Mozilla) can sponsor development of ideas.

Deciding which prototypes belong in Firefox Test Pilot

Every few months, someone from the Firefox product org leads a public discussion about which of the in-progress prototypes might be a good fit for the Firefox roadmap.

The decision-making process is a public, open conversation based on publicly defined criteria (the public Firefox roadmap and Mozilla’s guiding principles).

Input from the community is welcome, the Firefox product org makes the final decision, and deliberations happen in the same public channels used by the rest of the community.

Sharing prototypes with the Firefox Test Pilot audience

This is the part we’ve already built at https://testpilot.firefox.com.

Prototypes ship in the Test Pilot site, and Mozilla provides marketing support and a global audience. Firefox users interested in trying new features install different prototypes, and offer feedback on what they do or don’t like.

Sharing prototypes that don’t make it into Test Pilot

Like any other Firefox add-on, teams ship in AMO (or self-host) and self-promote.

It’s still possible to create a great feature that later makes it into Test Pilot, or becomes a great add-on on its own, and teams can continue to discuss features and updates with the Test Pilot community.

Iterating on the product concept

Once launched in Test Pilot, the product should evolve based on quantitative usage data, as well as qualitative user feedback.

Prototype building teams are encouraged to make their discussions public, so that interested community members can provide input.

From Test Pilot prototype to Firefox

The Firefox product org decides which Test Pilot experiments to turn into real browser features. Again, this is an open discussion, centered around criteria any contributor could understand (except for contractual / partner private factors).

From Test Pilot prototype to AMO

Ideas that fail to catch on with a big audience, at the end of their Test Pilot run, can still be supported by the original team, or handed off to other community members, and permanently hosted on AMO.


Next steps: I’m out of time for now, but I’d like to explore which parts of this theoretical open product dev cycle might make sense at Mozilla. In other words, stay tuned, more to come :-)

What do you think? Let me know! Twitter and email are in the footer below.

http://6a68.net/2016/open-product-development/


Mozilla Addons Blog: October 2016 Featured Add-ons

Вторник, 04 Октября 2016 г. 20:47 + в цитатник

Firefox Logo on blue background

Pick of the Month: MailtoWebmails

by Noitidart
Now you can easily customize which Webmail client you want to use whenever you click a “mailto:” link, instead of being pushed to your default desktop email. Get completely set up in just a few simple steps.

“I searched repeatedly for a way to change from Gmail to inbox—this works like a treat.”

Featured: Messenger & Notifier for Facebook™

by glin, by Elen Norphen
Access Messenger right from the Firefox toolbar, and instantly receive notifications when you have inbound messages.

“Finally I can reply to messages without being distracted by the news feed! Thank you very much!”

Nominate your favorite add-ons

Featured add-ons are selected by a community board made up of add-on developers, users, and fans. Board members change every six months, so there’s always an opportunity to participate. Stayed tuned to this blog for the next call for applications. Here’s further information on AMO’s featured content policies.

If you’d like to nominate an add-on for featuring, please send it to amo-featured@mozilla.org for the board’s consideration. We welcome you to submit your own add-on!

https://blog.mozilla.org/addons/2016/10/04/october-2016-featured-add-ons/


Air Mozilla: Webdev Extravaganza: October 2016

Вторник, 04 Октября 2016 г. 20:00 + в цитатник

Webdev Extravaganza: October 2016 Once a month web developers across the Mozilla community get together (in person and virtually) to share what cool stuff we've been working on. This...

https://air.mozilla.org/webdev-extravaganza-october-2016/



Поиск сообщений в rss_planet_mozilla
Страницы: 472 ... 307 306 [305] 304 303 ..
.. 1 Календарь