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 w3.org/2011/identity-… 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

Languages

  • 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 erik.eae.net/archives/2005/… ~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

Media

  • 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

DOM

  • 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

Keyboard

  • 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
  • w3.org/2009/dap/ ~jamespearce
  • Device APIs. ~jamespearce
  • Mobile, file inputs = camera access ~ljharb

Flash

  • 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

CSS

  • 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: tinyurl.com/5sr7qkm ~Pipsqueaks

Styling

  • 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 w3.org/TR/CSS2/page.h… ~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

  • 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

Layout

  • 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

Animation

  • 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. satine.org/archives/2011/… ~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

History

  • 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 crbug.com/47416 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) stevesouders.com/blog/2011/10/0… ~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

Widgets

  • 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

Ummmm

  • 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 nczonline.net/blog/2011/10/0…? ~roblifford
  • A feature that allows browsers to detect duplicate @wycats tweets. ~jamespearce

Comments