Paul Irish

Making the www great

What Feature Would Improve the Web?

Yehuda Katz and I recently asked this question on Twitter.

We’re very interested in seeing web browsers advance and implement the interests of web developers.

We got a great response (230+ responses). After a triage of the responses, we narrowed down things to a hitlist that jumped out as having no immediate solution and would be great for the platform:

  • flash capturing keyboard events, cursor
  • WYSIWYG form element
  • inset text shadow
  • css blend modes
    • usecase: image i want to tint on hover
  • Why CORS requires a preflight with cookies disabled
  • being able to verify the content sent was the content delivered. Probably via headers & apis useful when deploying for mobile/roaming use or in corporate networks when behind proxies.
  • Text Flow or caret(Position/Range)FromPoint
  • A unified and publicized set of selectors for styling the shadow dom of input/select/etc. elements
  • a way to manipulate asset request urls with js on the client before they go out (for serving responsive imgs, etc).
    • or media query attributes on image tags
  • UIKit for Javascript.
    • Native UI bindings to JS that remove overhead and layers of HTML+DOM in the way. Sony’s Trilithium did this by binding HW accelerated scene graph, ala Core Animation. see also playstation webapp
  • render a DOM element to canvas, webgl
  • DirectWrite in all browsers on all platforms.
  • simulate keyboard and CLICK events
  • a base tag for CSS
  • Filesystem API limitation: IDE cant save files back to disk in original location
  • XHR2
  • fragment.innerHTML

There are a lot more where that came from. A few people wanted to see all the responses… So.. here you are. :)

Right now they are partially categorized. I’d love your help with that..Thank you SO much to rworth and evan, who organized this list. Awesome :)

Broad and Sweeping

  • a fundamental rethinking of the DOM would be a good start. ~blrandel
  • Get rid of HTML. Make web JavaScript/CSS driven. ~nextinterfaces
  • the standards process ~sethladd
  • Browsers suck. Give us a VM that lets us not care about the browser. ~rxgx
  • the “feature” that allows browsers to render bad/poorly formed HTML. I want that fixed please. ~durple
  • In a perfect world I’d say ditch the DOM and give me a real displaylist-style interface, with a consistent composite architecture. ~awebneck
  • consistent implementation of standards across browsers. ~BrettBearce
  • performance ~mislav
  • Should be ilegal to release a browser that doesn’t accomplish all the w3c standards ~FedePaterno
  • web page cloud pre render. Then pipe one asset to the browser. :-) ~halfcube
  • create something that makes ads suck less and do not blocking my page ~jaydson

Just Everything, all of it, and then some

  • all HTML5 features supported by all browsers. ~chrisreister
  • full html5/css3 support cross browser and signed off specs! #inaperfectworld ~Japhex
  • Better support for html5 and css3 (all browsers and platforms) = less hacks, less vendor prefixes, less js = happier life :) ~rodrigonoales

IE & Mixed Browser Support

  • Can I say “IE”? Or is that joke too overdone already? ~coreyschram
  • as usual, IE is holding everything up. I’d like wide support for SVG today. ~nathan_vaughn
  • other browsers to keep up the speed of Chrome’s implementation of standards and to auto-update to latest version ~illyriad
  • force update IE. ~Fallion
  • An alternative to animated gifs (apng)! FOR GOD’S SAKE!! ~TechBobOmb
  • fast upgrade cycle for IE comparable to Chrome’s excellent model, and the dropping of compatibility modes going forwards ~ffub
  • Add support for data:image/png;base64, … to IE6/7. ~ndorfin
  • sorry, release schedule != update strategy; the latter is what I meant to say. Resubmitting… ~jswartwood
  • IE’s update strategy. Most important feature to add to the Web is an ability to use feature X in reasonable time. ~jswartwood
  • how many people answered with IE? ~omarqureshi
  • Legacy Internet Explorers. Patch them all to autoupdate to IE9+ or a third party engine. ~joegaffey
  • i’d fix the ‘Microsoft having a browser’ bug ~shanecarmody
  • oh yeah ie7,8,9 ~negrond
  • ie6 ~negrond
  • Advanced CSS3 selectors in IE7 and 8. If I had to choose one it would be nth-child. ~Chris_Krammer
  • if I had the chance to fix one it would be to get rid of IE. :) ~markbates
  • IE ~samullen
  • One browser bug? It’s the one people refer to as “Internet Explorer.” It’s a notorious bug. Evil bug. ~rerouse
  • the IE self destruct button! ~jeremywoertink
  • the complete removal of ie 6 and upgrade of everybody to modern browsers ~Mark_Kellett
  • IE6-8 ~manufaktor
  • am I allowed to classify everything < IE 10 as a bug? ~chrisdarroch
  • Can the bug be ie? ~bbommarito
  • legacy browsers! And all browsers which don’t auto update ~stefanpenner
  • And of course a forceful auto-update of all IE installations to version 9 :) ~craigpatik
  • frequent & transparent update for all browsers like Chrome, more coherence on supported features across browsers ~xeppelin
  • the one browser bug would be to eliminate all versions of IE. ~stash_tray
  • Internet Explorer. ‘nuff said. ~aviraldg
  • Auto upgrade for every browser. ~ojohnnyo
  • regular silent automatic delta updates. ~simbolo
  • Bug fix: Android browser. ~kylebarrow
  • automatic Chrome-like updates (along with actual updates) for IE…? #nevergonnahappen ~alexrussell101
  • Does killing all IE below 8 count? ;) ~ryanolson
  • I’d add a feature to Chrome that “accidentally” detects IE as a virus and deletes it from the user’s machine. ~wmbenedetto
  • chrome! ~JomGapuz
  • That’s easy … it’s called Internet Explorer #abug ~trymbill
  • An easier way to communicate with databases? and microsoft deprecate IE6 & 7. ~Tsouloftas
  • Internet Explorer retroactively updating itself ~MyHeroDevon
  • automatic updates for all browsers (ie like chrome). rate of innovation would skyrocket ~smartalec43
  • a browser on Android that auto-updates ~boblet
  • Browser bug to fix? I’d say, make every browser with out-of-date rendering instantly bitch-slap the user until they upgrade. ~J6M8
  • to that end, mobile web browsers have terrible documentation on what features they support/don’t support. ~bcardarella
  • Silent auto updates for IE. If only there were a way to cut that half life… #webdeveloperheaven ~josiahsprague
  • I suppose IE is the main reason For not improving my websites. ~gerherz
  • Desktop, the bug I’d like fixed is “IE” ~ljharb
  • Crossbrowsing for christ sick! I wish I can see one day all browsers rendering the sites in the exactly same way once for all! ~FedePaterno
  • I would fix IE6 so it would automatically crash itself as soon as anyone decided to open it. ~adamholwerda
  • Can Internet Explorer be considered a bug or feature I’d like to improve… aka eliminate? ~JtheBruce
  • Android is woefully behind desktop Chrome. ~andybastable
  • “the one browser bug” = Android. ~danmux
  • Decent HW rendering in Android please ~danmux

Authentication / Identity / Crypto

  • identity. I hate having to create a username and password. ~sethladd
  • Integrated browser authentication. When’s the last time you logged in to a native app? ~madeofcode
  • Identity, in a way that’s comprehensible and controllable by the user. ~johnjoseph
  • And… will be a great advance too ~cbullokles
  • I wish I didn’t have to handle identity and SSL. Let my users sign in with existing credentials, and an assurance of encryption. ~abackstrom
  • a full crypto & authentication stack ~jarrednicholls
  • Add SSL over HTTP (instead of HTTP over SSL) to handle Certificate-based authentication in the application instead of the web server ~genezys
  • secure storage for things like OAuth keys (no more proxies needed) ~manuel

Browser Testing

  • A better way to test across browsers and browser versions. ~jacelevine

Development tools

  • Better memory debugging tools. Like YourKit for JavaScript ~sethladd
  • i’d say a built-in vim-style code editor w/ git hooks. maybe… ~csanz
  • saving changes (js,html,css) made thru google chrome dev tool/firebug directly back into the codebase would be cool. ~4mo1
  • an ssh client integrated into google chrome ~travisglines
  • ability to debug CoffeeScript in the browser would have high impact (ideally with IDE/editor integration during debugging) ~ltackmann
  • Merge firebug’s realtime CSS editor with chrome developer tools ~danielcgold
  • combine the IDE and the browser. ~jwaltonmedia
  • Summary of my position — improved native development experience over features that I haven’t imagined yet :) ~justinfrench
  • I’ve been making use of the 3D CSS3 box model inspector in Dev Tools for a heavy interactive site. Godsend. Thank you dude ~joecritchley
  • a better developer tools for IE, remote debugging for iPad ~mohsen__
  • something that will fill in a form while I’m testing client side validation, checkout, etc. ~jwaltonmedia
  • UIKit for JavaScript. ~sandofsky
  • And a built-in bandwidth throttler / slow-mo mode. ~kpk


  • I want a new client language. I’d love to see browsers switch to bytecode that we can compile other languages down to. ~michael_tomer
  • Browsers that can be scripted in languages other than Javascript. (I know, Native Client is attempting this). ~suranyami
  • The “Browser VM” should allow us to have multiple language implementations. An expressive bytecode, not minimized JavaScript. ~twcrone
  • a VM one layer below JS (ex, LLVM).. to allow us to start innovating languages that run in the browser. JS is not the end all. ~igrigorik
  • JavaScript always, everywhere. Whatever extra security browsers need to release, so devs can rely on JS always being there. ~webandy
  • the lack of multiple mature programming language inside the browser environment. ~trek
  • Ruby as a scripting language ~elado
  • Sass and Coffeescript built into a browser ~anthonyshort

Language Features

  • a way to know if a JavaScript function is actually meant to return something even if this return value is ‘undefined’. ~_sebastienp
  • would love if all browsers supported noSuchMethod for some elegant script solutions. ~KaptajnKold
  • If we could actually use some of the new Javascript features… ~nicobrevin
  • Garbage collection. ~jayarjo
  • operator overloading in #js would ease peoples’ lives when working on gfx stuff ~philogb
  • Actually fixing altering any built in object’s .prototype in general doesn’t do horrible things, notably DOM objects. ~Rory_O
  • Fixing Object.prototype… ~Rory_O
  • Support for Javascript versions > 1.5 in Chrome and Safari. Specifically: I want to use generators and iterators. ~jonemo
  • decoupling JS parsing from load ~derSchepp


  • Have the ability to pause/mute all media in all other tabs. ex: Mute google music/pandora tab when I hit play on a youtube vid. ~JoeSloth
  • a solid audio api especially on mobile browsers would be great. Esp. for gaming :) ~wemakedotcoms
  • Easily HTML5 Video and Audio at the moment. ~webfella
  • audio and video input and encoding. ~dshaw
  • more audio/video codecs built in ~masterkain
  • i’ll go with html5 audio and video also… ~rguarilha
  • also being able to know how many simultaneous HTML5 Audio objects you support in the current platform would be great. ~Fokker680
  • If talking about Chrome, video masking with overflow hidden. ~gerherz
  • the state of video delivery in and across the browsers is still quite sad. but not an individual browser issue per se. ~jerememonteau
  • Good audio support for mobile browsers. ~andybastable

HTML5 Forms

  • universal support for styleable input types (date/time/range/etc) ~franksvalli
  • A rock solid native WYSIWYG form element. With so much content dev being done online, this is an area that seems really behind. ~reinink
  • file uploads need rethinking. ~sikander


  • a “Create” event launched when a new dom node is inserted ~JohnHackworth
  • Quietly fail and move on when calling a method on a non-existent object : doc.getElementById(“does-not-exist”).innerHTML = … ~craigpatik


  • Consistent handling of keypress/keydown events across browsers and OSes would be killer. ~pyrolupus

Mouse / Touch

  • gesture events like swipes and flicks built-in as DOM events ~manuel
  • doing touch without listening to three events for each gesture ~mohsen__
  • now that comes from a cat avatar: an element that catches the mouse would be awesome for games or panorama viewer ~Flexi23

Device input

  • Media Capture API! 21st century, and we are still limited to the text-only input on the web! ~matas_petrikas
  • Access to the FS, to the devices (camera, sensors, readers, scaners…), direct access to the GPU (3D and complex calculations) ~gandazgul
  • Device APIs. Accelerometer, camera, contacts, etc. ~filmaj
  • Access to device capabilities from a website. gps, gyro,etc. ~ivanmarcin
  • it will never happen, but support for more native functionality like file system, camera, etc… on mobile ~bcardarella
  • Safe, sandboxed way to communicate with user’s hardware (GPU, filesystem, camera, etc.)—but that’s already on the way. ~valueof
  • <input type="voice"> and <input type="webcam"> ~TimoKissing
  • oh, also, device access! shouldn’t need flash to get to the camera and mic. ~jerememonteau
  • device api, the use cases increases significantly on mobile . ~vivianli
  • ~jamespearce
  • Device APIs. ~jamespearce
  • Mobile, file inputs = camera access ~ljharb


  • Inconsistent keyboard trap issues, often by Flash content. Causes accessibility issues and annoys me no end - when in a YouTube video in Firefox, ctrl+t\ctrl+w no longer work for closing\creating tabs, and focus gets stuck in player ~joechidzik


  • Ah, forgot something veeeery important: @viewport! ~derSchepp
  • if CSS could do math. Ex) height: 100% - 20px; ~justindross
  • I’d like css files to have a ‘root’ variable where you could set the home directory. ~davidrhoden
  • Implementation of CSS Paged Media. To me this seems to be the missing link of modern technology. ~Rene_Kriest
  • a way to disable, or set the device orientation. PLEASE. We need that. ~Fokker680
  • background image rendering in firefox. I dislike how it needs either a or text to start rendering the image. ~joshsager
  • CSS Filters ~derSchepp
  • an adaptive image file format. ~derSchepp
  • media queries attrs on base/img tags. Will enable downloading smaller images for smaller screens. ~yoavweiss
  • a way to manipulate asset request urls with js on the client before they go out (for serving responsive imgs, etc). …which already worked until a couple months ago when browser img prefetching became more aggressive. ~scottjehl
  • The one annoying me at the moment is the landscape rotation bug in Mobile Safari: ~Pipsqueaks


  • CSS blendmodes. div{blendmode:’overlay’} but also div{background:’multiply’ rgba(0,0,0,.3)} + for div{color:’add’ #fff} ~mknol
  • css blend modes ~waynethebrain
  • blending modes. Like multiply/overlay/etc in PS. ~gb
  • Full support for @ page… ~sanbeiji
  • I’d fix pixel overflow & underflow in IE Chrome & Safari. ~jon_neal
  • this would for me be to not use curvycorners js hacks to get rounded borders to work in IE ~Iclevettdesigns
  • multiple background images. ~Iclevettdesigns
  • A unified and publicized set of selectors for styling the shadow dom of input/select/etc. elements ~JasonWyatt
  • I’d like CSS to have an inherit:none feature, especially helpful when you’re inheriting from styles you have no control over. ~JayDWhiting


  • text-stretch. :) ~jonas_lund
  • Proper text anti-aliasing on Chrome. Large type looks awful. Note: IE and FF have this already. ~andybastable
  • Text Flow or caret(Position/Range)FromPoint. I’ve spent weeks on columns, text flow, and non-contenteditable wysiwyg, etc. ~grayrest
  • Give me inset text-shadows in all browsers and proper edge antialiasing in Chrome and I’m all yours. ~matthewmorek
  • There is some small bug with text sometimes (become lighter a bit, when canvas is loaded to that page). ~slobodan_
  • Kerning and consistent type anti-aliasing across all platforms :) ~endtwist
  • DirectWrite in all browsers on all platforms. ~H_FJ


  • absolute centering of images etc in a given div would be one ~yemster
  • I want rock solid layout. Like flexbox/ms-grid including vertical alignment. Basically, table-layout without the tables. ~b4nn0n
  • Strong finalized layout system. Strong forms support for real apps. HTML CSS JS unreachable for the user. No way to modify pages ~fpiat
  • better CSS layouts. I know it’s coming, not fast enough ~sethladd
  • A real layout system :) ~natecavanaugh
  • it shouldn’t be so difficult to build columns and vertically center things. Seriously why are these still problematic. ~nathan_vaughn
  • layout. hands down. ~boblet
  • Add sane CSS-based layouts to all browsers. ~jon_neal
  • flexbox everywhere ~mislav
  • Have css3 column-count and width work in all browsers, but revert to a stack in resolutions below multi-column width. ~J_Grimm_
  • position:fixed and overflow:scroll on all desktop and mobile browsers would make my day ~prundin
  • Vertical and “middle” float. I want to be able to put elements in the middle of other elements, horizontally and vertically. ~iliadraznin
  • My #1 is a simply a better layout system. Flexbox = meh. ~roblifford
  • a box model that programatically closer to an AS3 sprite ~darrownet
  • display:table in IE6 ~SubtleGradient
  • Mobile, position: fixed. ~ljharb

WYSIWYG / Native rich-text editor

  • All contenteditable related madness: commands, generated HTML, and selection API ~jpscaletti
  • more consistent and improved implementation of contenteditable. That would really improve and slim down web based editors. ~DannySorensen


  • Broader hardware-acceleration coverage for the display layer. The richness of native mobile/flash is driven by unflinching 60fps. ~teej_m
  • I want to stop repainting from flickering and screwing with my animations. ~tdreyno
  • Bugfix: Hardware-accelerated DOM manipulation using translate3d on Android Browser. ~bniswe
  • (smooth) #CSS3 animations for ALL browsers! ~AndrewHenderson
  • transition/animate pseudo-elements! ~jacobdubail
  • On Android. Hardware Accelerated CSS Transforms. ~edwk
  • CSS transitions (they’re just slow and outclassed by javascript in terms of speed) ~thijsjacobs
  • Decent HW rendering in Android please ~danmux

2d graphics / Canvas / SVG

  • Acceleration/performance on SVG. Also think I found a leak with SVG in Chrome when tabs are hidden (but no repro yet). ~notmatt
  • Faster drawing with 2d canvas context. ~monteslu
  • There is some small bug with text sometimes (become lighter a bit, when canvas is loaded to that page). ~slobodan_
  • Good Canvas support for mobile browsers. ~andybastable
  • canvas.drawWindow. Don’t even see why it should be restricted to extensions (except in the case of cross domain content) ~bgrins
  • Sony’s Trilithium did this by binding HW accelerated scene graph, ala Core Animation.… ~charlietuna

3d graphics / WebGL

  • compressed textures for webgl, and everything else people already said. ~sethladd
  • WebGL support in IE would change a lot when it comes to browser games. For 3D as well as 2D. ~ippalix
  • Good WebGL support for mobile browsers. ~andybastable

Web Storage

  • Making localStorage infinite size ~nikolatankovic
  • Web storage and offline use is a huge mess, even on latest gecko/webkit ~alexbosworth


  • full acceptance of the History API & Ajax. It’s all about user experience. ~Scottblew
  • Make browsers understand previous states so that Ajax and back-btn & bookmaring can be implemented easier/seamlessly. ~vmasto

File API

  • Not easy but (until we’re all cloud based), a rich and safe way to write webapps to handle local files too That would let us write webapps to replace all sorts of things that currently have to be desktop apps ~schmerg
  • all browsers need stable and consistent support of the JS File API ~MeltingIce
  • integration with the desktop and OS (file API is one of the first things) ~dnagir

File Uploads

  • resumable, managed, async browser based file uploads ~tilsammans

Offline / App Cache

  • a better app cache API (with improved debugging)… ~alex_gibson
  • Web storage and offline use is a huge mess, even on latest gecko/webkit ~alexbosworth
  • app cache that doesn’t suck. ~miketaylr
  • Fix network-connection JS events:we have online/offline for hardware but what about netonline/netoffline for Inet traffic tests? ~adamrmcd
  • I’m going to +1 application cache. @SlexAxton @miketaylr & @julio_ody ~benschwarz
  • that the offline HTML5 API would give a lot more control over the cache. Not sure that’s what you asked though ~julio_ody
  • Firefoxes app cache permission requester ~derSchepp

Communication and Web Sockets

  • I’d vote for some way to do P2P connections, or at least some way of opening arbitrary ports in some secure, sandboxed way. ~rakesh314
  • Websockets… ~okinsey
  • Secure websockets on all browsers will make creating web apps easier. That is a dream right now. ~chrisreister
  • Uniform websocket support across all browsers. ~clofresh
  • Cross domain xhr (as a new session, without the cookies of the original site) ~elado
  • cross domain xhr, but creating a new session and not sending the original cookies. could save jsonp/proxies. ~elado
  • universal support of push notifications without the browser being open. ~ChrisLove
  • not The Single Bug, but here’s one: being able to verify the content sent was the content delivered. Probably via headers & apis. Useful when deploying for mobile/roaming use or in corporate networks when behind proxies. ~rem
  • better support for XHR-2 on mobile. iOS partially supports but barely. in the case of the XHR-2 stuff it replaces the API, with a much less functional API on iOS :( PhoneGap is making the effort, but it needs to act as a polyfill and not a replacement API ~bcardarella
  • cross domain xhr, but creating a new session and not sending the original cookies. could save jsonp/proxies. ~elado
  • if could ask for my last gift to the three wise men I’d like peer to peer communication, with WebRTC is close to be here ~cbullokles

Desktop / OS Integration

  • more OS integrations (like file upload from iOS, access to camera, cross-platform dragdrop files) ~mislav
  • fullscreen maybe ~slobodan_
  • integration with the desktop and OS (file API is one of the first things) ~dnagir
  • On the desktop: Intents (cross app integration). ~edwk


  • Begin supporting the W3C Widget spec. ~mwbrooks
  • I really like the support to w3c widgets included in opera. It helps to package web applications as normal apps ~cbullokles
  • Greater steps towards W3C Widgets ~mwbrooks
  • better encapsulation similar to Mozillas XUL widgets seems like a big one. ~blrandel

Browser Extensions

  • also actual cross-browser extensions APIs and packaging while you’re handing out unicorn lollipops. ~miketaylr

Browser UI (App-land)

  • Modifying native context menu. ~JanKuca
  • Access to system-level elements. Buttons, contextual menu, etc. Why can my web app look more like a desktop app? ~sternmeyer
  • Firefox’s rogue input styling that differs from all other browsers. Inability to style input elements in general in Firefox. ~taitems

Browser UI (User-land)

  • I usually close browser tabs with shortcuts, the “x”, is actually a hazard for me. Thankfullly there’s command-shift-T to reopen. ~ckundo
  • Showing which of the 30 tabs I have open just started playing that song everyone hates, with some kind of icon/colour change? ~josscrowcroft
  • an option to freeze all non-active tabs and browser instances to gain performance and a disruption free browsing experience ~tuskali

Browser features (out of scope)

  • a bit late but still, id include in every browser a feature like “safari reader” (not as extension) and make width resizeable ~askoth
  • not having web inspector’s CSS panel jump to the top of the declaration every time I double-click a rule to make a live change. ~mklickman
  • file:/// in Chrome. But it would never get accepted :p ~me1000
  • better bookmarking. Implement thematic and context sensitive trails the way Vannevar Bush envisioned. ~mik3cap
  • And a built-in bandwidth throttler / slow-mo mode. ~kpk


  • is this a trick question? ~webandy
  • a troll fix ~mynameiscolin
  • sprinkles! ~jeanniev
  • counterweights to balance out the missing goats ~anthonydispezio
  • I would like Backbone.js to be built-in. Just kidding. ~julio_ody
  • Is this question partially inspired by…? ~roblifford
  • A feature that allows browsers to detect duplicate @wycats tweets. ~jamespearce