All posts tagged ‘firefox’

File Under: Browsers

Mozilla: Windows 8 a ‘Return to the Digital Dark Ages’

Windows RT makes Firefox sad. Photo Neil McIntosh/Flickr.

Mozilla is crying foul at Microsoft’s coming Windows 8, which will limit what third-party applications like Firefox can do on future Windows devices. The limitations in the coming Windows RT — Microsoft’s name for the flavor of Windows 8 specifically tailored to tablet-friendly ARM chips — mean that on ARM-based devices Microsoft’s Internet Explorer will enjoy privileged access not granted to other web browsers.

In a post on the Mozilla blog, Harvey Anderson, Mozilla’s General Counsel, says that Windows RT’s restrictions signal “an unwelcome return to the digital dark ages.”

While Mozilla is already hard at work on a version of Firefox for Windows 8 on traditional PCs, Microsoft’s restrictions mean that there will be no similar version of Firefox for the new Windows RT.

The crux of Mozilla’s gripe is that in Windows RT Microsoft gives its own Internet Explorer access to special APIs other web browsers can’t use. The result, according to Mozilla’s Asa Dotzler, is that “there’s no way another browser can possibly compete with IE in terms of features or performance.”

Mozilla believes this represents the same abuse of monopoly power Microsoft used to sideline Netscape in the early days of the web. The special API access for Internet Explorer in Windows RT “restricts user choice, reduces competition and chills innovation,” writes Anderson.

Dotzler points out that at least part of what makes this different than Apple’s iOS — which imposes similar restrictions on software and prevents Firefox from running on iOS — is that Microsoft still has binding agreements with the EU about browser choice on Windows, and Windows RT is still Windows.

The new restrictions, writes Dotzler, “are in direct violation of the promises [Microsoft] made to developers, users, and OEMs about browser choice.” So, while Microsoft may be aping Apple with these new application limitations, Apple has the advantage of not needing to worry about past anti-trust agreements.

Furthermore, argues Dotzler, while Windows RT may be aimed at tablets at the moment (an area where Microsoft is currently nowhere near having monopoly power), Microsoft’s long-term goal is for Windows RT and ARM devices to include servers and laptops as well. That would mean that if Microsoft succeeds and ARM chips are running Windows RT on laptops, tablets, phones and toasters near you, there would be only one browser available on any of them — Internet Explorer.

It’s unclear what Mozilla and other potential competitors plan to do about the restrictions in Windows RT. Anderson concludes his post writing simply, “we encourage Microsoft to remain firm on its user choice principles and reject the temptation to pursue a closed path.” Since Windows RT hasn’t yet been released there’s still time for Microsoft to change its mind and lift the current restrictions. For now at least Mozilla seems willing to wait on Microsoft’s next move. If Microsoft doesn’t change course the fact that Mozilla’s complaint was penned by its top lawyer may give some hint of where this fight is headed.

File Under: Browsers

Mozilla Shrinks Memory Use in Firefox Add-Ons

Photo: Jim Merithew/Wired

Last year Mozilla launched MemShrink, an aggressive campaign to trim Firefox’s memory footprint. Since then not only has the browser’s overall memory use dropped considerably, but the effort has been expanded to tackle add-ons, a common source of Firefox memory woes.

Now Mozilla programmer Nicholas Nethercote, head of the MemShrink effort, reports that a new patch to prevent Chrome-to-Content leaks in Firefox add-ons results in “a 4x reduction in memory consumption.”

The new code is currently in Firefox’s Nightly channel for those that would like to help test it against a wide variety of add-ons.

Firefox contributor Kyle Huey, who wrote the new patch, has more details on how it works and where the memory leaks in add-ons come from. Huey writes that “it’s a little early to be sure what effects this will have, but the amount of leaks we see on our test suite dropped by 80 percent. I expect that this change will also fix a majority of the add-on leaks we see, without any effort on the part of the add-on authors.”

Unfortunately the hope that add-on developers wouldn’t need to do anything to reduce their memory use hasn’t panned out. Mozilla has since discovered that “there is an unfortunate side-effect of all this amazing, memory saving goodness which directly affects add-ons that have been packed with older versions of the SDK.” Mozilla is now asking add-on developers using older versions of the Firefox add-on SDK to repack their add-ons before the MemShrink efforts arrive in a final version of Firefox.

Luckily for Firefox fans there’s plenty of time for affected add-ons to be updated since the latest MemShrink efforts won’t make it to the final release of Firefox for at least another 12 weeks. When they do Firefox users will hopefully see a considerable drop in Firefox’s memory use making for a faster, less RAM-hungry web browser.

File Under: Browsers

New Firefox Design Will Offer Uniform Look Across Desktop and Mobile

By Ryan Paul, Ars Technica

Mozilla recently combined its desktop and mobile design teams with the aim of unifying the Firefox user experience across form factors. A presentation slide deck published by Mozilla’s Madhava Enros offers some insight into the design process and shows how the effort to boost Firefox’s visual cohesion aligns with Mozilla’s Kilimanjaro initiative.

Mozilla is aiming for a “soft, friendly, and human” design that will “feel like Firefox” across all supported platforms and form factors. The challenge will be blending the browser’s distinctive visual style with the conventions of the underlying platforms. The slide presentation includes mockups that show how the new design language will translate to various environments, including Android, Metro, B2G, and the conventional desktop.

Some design elements will be shared across all of those environments. The presentation shows how the same distinctive curved shapes will be used to give Firefox uniform contours on different form factors.

A wireframe showing how Firefox's curved contour translates across form factors. Image: Mozilla

Mozilla’s Stephen Horlander created a new design called Australis that will bring an updated look and feel to Firefox on the desktop. Mockups and experimental third-party implementations of Australis have been floating around for quite some time. Australis will bring curved tabs, a simplified menu, and a number of other improvements to Firefox. Mozilla has also separately been working on a more functional start page and a cleaner interface for managing downloads.

A mockup of Firefox's Australis theme as it might look on the conventional Windows desktop. Image: Mozilla.

The mobile Firefox user interface is already in close alignment with the new style. Some updated mockups published in the slide presentation show how further refinement will increase visual consistency between the mobile user interface and the Australis design on the desktop. The mockups also show some of the specialized features that are available in the mobile version of the browser, including a built-in sharing tool and an article reading mode.

A mockup of the new Firefox tablet user interface. Image: Mozilla

Firefox Mobile's reading mode and sharing feature. Image: Mozilla

Mozilla is also working on a Metro version of the Firefox web browser for Windows 8. Development began earlier this year, but it has already seen considerable progress. The Metro design mockups included in the slide presentation show a layout that is similar to the one that Firefox users on Android tablets. Some aspects have been adjusted to make it more functionally consistent with Internet Explorer’s Metro interface, however. The tabs reel will slide down from the top instead of the side and the new tab page has Metro-like blocks.

A mockup of Firefox's Metro user interface that shows the tab reel. Image: Mozilla

The presentation associates a “Kilimanjaro” rating with the various designs to signify the extent to which they contribute to advancing Mozilla’s platform aspirations. Kilimanjaro is an umbrella project that encompasses all of the pending work that Mozilla is doing to create a user-focused product and service ecosystem that spans across the user’s devices and is built on top of the open web.

Key parts of Kilimanjaro include the organization’s identity service, application marketplace, B2G mobile platform, and its cloud synchronization service. Mozilla’s ongoing work on web standards and its effort to make the web a viable application platform also play a vital role in influencing the design process.

For more design mockups and information, you can see the slide presentation online. Enros wrote about it in a blog entry, in which he also says that a full video of the presentation will be available soon. More information about Kilimanjaro is available from the Mozilla wiki.

File Under: Browsers

Latest Firefox Beta Turns On the ‘SPDY’

Firefox 13's New Tab page

With Firefox 12 out the door, Mozilla is turning its efforts to polishing up Firefox 13, due out six weeks from now.

If you don’t want to wait that long, you can download Firefox 13 from the beta release channel today.

Perhaps the best new feature in Firefox 13 is what’s known as “tabs on demand.” Tabs on demand refers to the way Firefox restarts when you have multiple tabs open. Firefox will now only restore the currently selected tab; background tabs are not loaded. Tabs on demand is a welcome relief for those of us who browse with dozens of tabs open all the time. You no longer need to fear restarting the browser since you won’t have to wait while every tab reloads. Instead, tabs will load only when you select them.

Firefox 13 will bring a slightly new look to some parts of the browser; both the New Tab and the Home Page have been redesigned. The New Tab page now has links to your most recently and frequently visited sites. It looks more or less just like Opera’s Speed Dial, which Chrome also mimics. There’s an option to pin your favorite sites, as well as a button for rejecting sites you don’t want to see.

The default Home Page now has links to menu items like Bookmarks, History, Settings, Add-ons, Downloads and Sync Preferences. There’s nothing here that you can’t access from the menu bar, but it makes frequently used menu items easier for newcomers to find.

Web developers will be glad to know that Firefox 13 introduces support for Google’s not-quite-yet-a-standard SPDY protocol (technically the last two Firefox releases have supported SPDY, but this is the first to have it enabled by default). The SPDY protocol improves on HTTP and in many cases can significantly reduce page load times. SPDY’s other main advantage over HTTP is that all traffic is encrypted. Once Firefox 13 and the Opera 12 preview arrive in final form the majority of desktop browsers on the web will support SPDY.

The Firefox 13 beta also brings a number of improvements to the new Developer Tools. For example, the Page Inspector now allows you to lock in CSS pseudo-classes on inspected page elements — handy for checking out what’s happening in a :hover code block.

For more details on everything that’s new in the developer tools and the rest of Firefox 13, check out Mozilla’s release notes.

File Under: CSS

HTML5 Offers ‘Scoped’ CSS for Precision Styling

HTML5′s controversial “scoped” style attribute is now supported in the latest Canary builds of Google’s Chrome web browser and Mozilla may eventually add support to Firefox as well.

HTML5 adds an attribute, scoped, to the style element which limits the scope of the styles contained within the tag. Google’s Alex Danilo has a good introduction to scoped over at HTML5Rocks. Essentially scoped allows you to nest styles within HTML and those styles will only apply to any child elements. The easiest way to understand scoped is to see it in action:

<html lang="en">
    <head>
        <style>
            p { color: white; }
        </style>
    </head>
    <body>
        <p>The text in this will be white</p>
        <div>
            <style scoped>
                p { color: red; }
            </style>
            <p>The text in this paragraph will be red</p>
        </div>
        <p>And we're back to white text</p>
    </body>
</html>

In this example the first style declaration applies to all the p tags on the page while the scoped style declaration applies only to the p tags within that scope (in this case all the p tags within our div tag). The scope rule has a higher specificity so it overrides the other rule and makes the middle text red.

It seems handy at first glance, but scoped can be a step backward if you overuse it. It’s akin to using inline styles, a long-frowned-upon practice that means mingling content and presentation. Indeed, scoped should be used sparingly; it will cause you pain if you just start throwing it around.

That said, there are some cases where scoped makes sense and makes developers’ lives easier. If you’re pulling in content from some outside source and displaying it on your page, styles and all, scoped can help you avoid style conflicts. Similarly if you’re building a widget designed to be embedded elsewhere scoped ensures your styles won’t affect the rest of the page.

Another use case that’s worth mentioning is within content management systems. Developer Arley McBlain recently covered the advantages of the scoped attribute for handling CMS content in some depth over at CSS Tricks. McBlain even has a demo WordPress site that uses scoped to style content on a per-post basis.

The big catch to using scoped right now is that it doesn’t work anywhere but Chrome 19+. Worse, because other browsers do understand the style element, they’ll apply your styles, but they’ll apply them globally. In other words, don’t use scoped without a polyfill like the JQuery Scoped CSS Plugin.

Also note that to test out Chrome’s scoped support you’ll need to be using Chrome 19 and then head to chrome://flags. Look for the “Enable <style scoped>” towards the end of the list and click “Enable.” Restart the browser and scoped should work.