Vector Graphics Lead Wish List For Future Browsers 321
Coach Wei writes "Community voting results and a summary report have been published from
OpenAjax Alliance's recent "community wishlist for future browsers" effort. When the voting closed on July 13th, 222 people participated in this open community initiative, with 143 people voted, 55 feature requests being written up, and contribution from many industry leaders. The voting indentified and prioritized 37 features. The top 10 are related to vector graphics, security, performance, layout, rich text editing, Comet, audio and video. Among all the feature requests, 2D Drawing/Vector Graphics is clearly the most desired feature by the community. It received most votes (110 people voted for it), and highest total score (over 10% higher than the second feature request). Looks like that it is time for all browsers, in particular, IE, to seriously consider supporting standards-based vector graphics."
"Community" ? (Score:5, Interesting)
Damn graphic artists... (Score:3, Interesting)
...keep your art out of my code (and off my lawn)!
Native JSON should clearly be at the top of this list. I call shenanigans.
"Override Back Button Event"??? (Score:5, Interesting)
Re:"Override Back Button Event"??? (Score:3, Interesting)
And nothing "traps" you in a page; just close the tab.
That kills the browsing history of that tab. Thank you very much for trapping me on that page.
Sliding Panes (Score:3, Interesting)
I'd love Firefox to let me set not just exclusive tabs each with their own page, but also to let me slide around a dividing border between two panels, each with its own page in it. Side by side, or top/bottom, or a grid of X x Y. Let me look at two (or more) pages at once, scrolling each independently inside its pane. Comparing. copy/pasting. Like Excel and OO.o spreadsheets can allocate ranges of cells to separate window "portals" onto the sheet below.
Re:"Override Back Button Event"??? (Score:5, Interesting)
Do a lot of web development? This is one feature I would love -- users can completely destroy how a web app works just by clicking on the back button and asking "where'd all my data go?"
They sure can. This might put the onus on you as the web developer to build a smarter app. Or to not build that particular as a web browser app at all. You've got options, and it's not like the back button is a new feature that's surprised you and thrown off your assumptions.
Rich Text Editing? (Score:3, Interesting)
Don't we already have that? Yes, yes we do, it's called TinyMCE [moxiecode.com] and it is licensed under the LGPL and can be included on your form with just a couple of lines in your HTML code.
Oh wait, you want native rich text editing? Yeah, like you are really going to get a consistent experience across different browsers...
You know what I want from my web browser? I want it not to freeze when loading large (and/or lots of) images, and I want secure JavaScript, including killing off all JavaScript easily (none of this take over the browser with 50.000 alerts crap). Yeah, I know Opera has that last one, but I want a [i]free[/i] browser as well.
Anything else? Security sounds nice. I personally don't have much of a use for vector graphics as a developer, but I can see how they would be useful for everyone else.
Ummm... Maybe I'm just not very imaginative, but I tend to find that stability and security top my list of what I want nearly every time.
(Though I have to admit, the new address bar in Firefox 3 is nicer then the Firefox 2 bar.)
Personal Info Insertion (Score:4, Interesting)
I'd like HTML forms to include a tag that uniquely identifies the site publishing the form, and the form itself. Probably a hash of the form's field names, signed by the site with its SSL certificate. Then I could click an option on the form to repopulate it with the last data I already inserted into that same form the last time I filled it (or any previous time, in a history). Storing that data on my local terminal, rather than leave it stored at the remote site.
And I'd like for the full range of common personal info fields to have standard names, so I could click to fill out the neverending series of personal info forms the Web challenges me with all day, every day. Click to refill the form with the same info as last time I visited it. Or one dataset from a list of named profiles stored on my local machine. So I don't have to remember what personal info I disclosed to this or that site, or scrounge for it from the other places I keep that info stored personally.
If the system let my browser point at a "personal info server", I could click to populate these personal info forms using anyone's terminal, not just my own, though I'd have to trust the terminal not to exploit the personal data exposed while using its browser as a transfer point. Maybe these personal info forms could also take a URL that points directly at my personal info server, and let the challenging server direct its request to my personal info server, which lets the challenging server login (as prearranged) and get the data specified as available to it.
That infrastructure would take some work. But it would save me a lot of trouble every day. And therefore save a lot of trouble for millions of others in the same boat. While lowering the transaction barriers, without sacrificing security. And indeed increasing security, by minimizing the personal data stored outside my control, at numerous (and forgettable) unaccountable remote servers.
Re:SVG animation (Score:1, Interesting)
https://bugzilla.mozilla.org/show_bug.cgi?id=216462 shows there is a patch waiting to be reviewed and checked in, but today was the code freeze for Firefox 3.1 alpha 1 so looks like it missed the boat there. Perhaps in a later alpha/beta? Otherwise we'll have to wait till at least 2010 for Firefox 4.
Re:"Override Back Button Event"??? (Score:5, Interesting)
Would seem to me that both camps can be made happy by allowing the developers to indicate that "THIS" page should not be added to the browser history.
So, if the user goes to the home page, then goes to a "view product" page, then goes through a purchasing process, you could suppress the pages involved in the purchasing process from being added to the history. If the user hits the back button half way through making a purchase, it would take them back to the "view product" page. If they then hit "forward", it would do nothing, because the "view product" page is the most recent entry.
Re:"Override Back Button Event"??? (Score:3, Interesting)
Overriding the back button would lead to evil behavior on some websites. I think what would be better is to have a way to register "the page has advanced" events with the browser when dynamic content is loaded. In other words, the back/forward buttons could be tied to application states that aren't necessarily a result of a complete page load. This would be like the YUI Browser History Manager [yahoo.com], but with a simpler set up and no libraries to include.
The only problem is that sites could load up the application history with 500 fake events, and thus render the back button useless. Still, they can probably already do this using the same methods as the Browser History Manager uses, so the point may already be moot.
Re:SVG animation (Score:4, Interesting)
SVG animation in Inkscape. (Score:4, Interesting)
Funny, just now I was checking the Roadmap for Inkscape [inkscape.org]. SVG animation is planned for the next-next release (0.48, it's 0.46 now, 0.47 will be basically some internal re-factoring).
Unfortunately, multi-page support, which was the feature I was looking for, is planned for 0.49 (or 0.50?).
The ONLY thing that is needed is... (Score:5, Interesting)
The ONLY thing that has to be added, and needs to be added about ten years ago, is a date input field in forms.
One that is locale-aware (DD-MM-YYYY, MM-DD-YYYY, or whatever you're locale used). Currently you have to jump through several hoops and it is near impossible to get a foolproof date input.
Re:Because too many end users still use IE (Score:3, Interesting)
I'd say that making "modern" become a synonym of "widely deployed" is what makes the concept useless. If you want to write a modern website, it's ok to exclude MSIE. If you want to make a popular website, then perhaps it doesn't. But why can't we say "modern" when we mean modern and say "widely deployed" when we mean widely deployed?
Trashing the language and changing the meaning of words can sometimes be ok, but in this instance, it doesn't get you anything because words that mean what you want to say, are already available. But it also comes with a cost (now we need a new word that means what "modern" used to). It's a cost with no gain: a net loss no matter how you look at it. So why do it?
'Bout time (Score:5, Interesting)
Oh sure, NOW people understand we need vector graphics.
I saw NeWS demo'd by sun in 84. I used native postscript extensively in 88+.
Then I watched html make a mess out of nearly everything to do with the network (html email? huh?).
Bout friggin time poeple woke up.
Re:"Community" ? (Score:5, Interesting)
Except for AJAX...
http://en.wikipedia.org/wiki/XMLHttpRequest#History_and_support [wikipedia.org]
I mean, they didn't come up with the cute name, but they did package the technology first.
Re:Flash is crossbrowser.. use it. (Score:2, Interesting)
Flash should never be a solution to anything IMO.
Really I don't think anything on the web should require a plugin to view.
Obviously this will never be true, but it is my ideal view of the web.
Re:Sliding Panes (Score:3, Interesting)
What's the easy way for me to tile multiple open Firefox windows on Ubuntu?
But that's not quite enough. I don't want to have a whole GUI frame, including redundant navigation controls, for each page's pane (just one, that controls the active pane, like with tabs). And I don't want to have to rebuild the tiling, and de/retile my desktop's current mode when I switch among Firefox and other apps (like Evolution, OO.o, etc). Plus I would like the DOM to allow Javascript to access across independent pane boundaries, for app integration, and do other IPC.
So yes, the multipane feature and its subfeatures do belong to the Firefox app, and not the OS. Unless the OS can do all those things for Firefox (the DOM part seems impossible that way, though). But if the OS could do all that, and let me mix/match different app panes in a combined window, that would really transform my Desktop usage. If I could save combo "racks" of apps set up that way, with GUI features hidden or combined into a single "combo GUI" for the entire rack, then I'd probably stop a lot of my whining for a better Desktop.
Re:Damn graphic artists... (Score:5, Interesting)
Of course you have to convert it to/from strings, duh, you can't put an abstract concept like an object on a wire and send it across the internet. So we represent the object some other way. A string is a perfectly fine way.
And -- Oh -- it's a string which which contains a JavaScript object literal. Now, what do you call the language subset which defines the string appearance of a Javascript object literal? JavaScript Object Notation seems pretty damned reasonable.
Don't like calling eval() to parse the object literal? Why not? It's an object literal; to turn ANY piece of source code (and that's what it is, source code for an object) you need to run a parser over it. It turns out that eval() is a pretty damned good JavaScript parser.
You could, if you we were so inclined, parse the JavaScript yourself. And, in fact, if you only wanted to support objects -- not the whole JavaScript language -- you might want to only parse a limited subset of JavaScript, which some freaky has guy (who works at Yahoo) has decided to call JSON.
Now, what's the best way to write a limited-function parser in JavaScript, and still have it be really fast?
Use native constructs.
Hmm, but does JavaScript have any native constructs which allow us to easily build parsers which understand small regular grammars? Hint: there's a reason they're called regular expressions.
So, the current common/secure technique is to use a regexp parser to validate the input to eval(), because that's the fastest way (two calls, both into native code).
Now, how the hell can we MAKE these objects? Well, it's pretty easy from JavaScript; the .toSource() method and/or uneval calls work pretty good.
So, we now have a general-purpose way to serialize/deserialize javascript objects into something we can send over a network. If you wanted to, that's enough to start a cult and try to build a career around. You could even describe it really complicatedly (like on http://www.json.org/ [json.org]). Or, you could build a compilcated object/class hierarchy around it, like this guy http://www.devpro.it/JSON/files/JSON-js.html [devpro.it] -- I suppose you could even come up with something as complicated as DCOM or CORBA if you were really bored.
But it's still nothing more than winging JavaScript source code around the internet, and validating it somehow [regexp] if you don't trust its contents.
Re:Sliding Panes (Score:3, Interesting)
Like Split Browser [sakura.ne.jp]?
Re:"Community" ? (Score:1, Interesting)
Afaik, VML is not proprietary, see:
http://www.w3.org/Submission/1998/08/vmlreq
Probably, the competing browser-builders were not ready to implement it at that time and then came SVG.
Re:"Community" ? (Score:4, Interesting)
Microsoft fails miserably at implementing the DOM2 standards.
Microsoft fails miserably at implementing the HTTP standards! See their treatment of files served as text/plain.
Re:Hopeful in regards to Silverlight? (Score:3, Interesting)
Ok, I'll bite (again).
"Adobe repeatedly refused to release an updated Flash plugin for Linux. That is why they skipped a version. They said they were done with Linux support. One guy kept pestering Adobe offering to code it for free, and the eventually let him create an updated Flash plugin. Allowing one man to do the work unpaid begrudgingly is not what I'd call supporting a platform."
That sounds fucking crazy to me. Yes, Adobe skipped a version. However, they did so because that version was a transition to a pretty new codebase. I'm not arguing that proprietary Flash is great... it pretty much sucks. However, Adobe isn't in a position to use Flash to create greater lock in for "Adobe OS" or whatever. So Flash is the lesser of two evils in this case (and I mean actual evils, not just metaphorically).
"You suggest Silverlight is designed to screw everyone."
Silverlight is about screwing everyone but Microsoft. It's prime reason for existing is to promote Vista and Windows. That's it. If Flash only ran on Windows, Silverlight wouldn't exist.
"Not every Apple product is a massive success. Not every Apple product is great for graphics. Not every Apple product has a great UI."
Uhh, ok, not sure what this tangent is referring too.
"Not every OSS product is really "open" (take a look at OpenOffice and Sun's strangehold)."
You clearly don't understand what open source is do you? You realize IBM has forked OpenOffice from Sun's "strangehold." Have you ever heard of NeoOffice? Same deal. They took source from OpenOffice and made their own version.. for their platform or product.
"Not every Microsoft product is terrible. Not every Microsoft project is evil."
You're right, not every product and project is evil. But Silverlight definitely is, to anyone with a brain.
"And Mono is completely different from Wine."
Are your years of programming experience failing you now?
Wine is a reimplementation of the Win32 software stack. Microsoft's version only works on Windows. So, some enterprising developers used Microsoft's own specifications (when available) to create a clean room reimplementation of Win32 for various platforms.
Mono is a reimplementation of the .NET software stack (the successor to Win32). Microsoft's version only works on Windows. So, some enterprising developers used Microsoft's own specifications (when available) to create a clean room reimplementation of .NET for various platforms.
Now, considering Wine only runs about 10% of Win32 applications well and Mono only runs about 10% of .NET applications well, perhaps you understand why I see similarities in the two.
"You offer vague accusations with no proof."
I anxiously wait your poignant response, refuting me.
Re:"Override Back Button Event"??? (Score:3, Interesting)
Re:Rich Text Editing? (Score:3, Interesting)
Don't we already have that? Yes, yes we do, it's called TinyMCE [moxiecode.com] and it is licensed under the LGPL and can be included on your form with just a couple of lines in your HTML code.
With rich text editing they mean a foundation sufficient to build a light-weight word clone in. The current browser support for rich text is so poor that it's not possible to use it without some whizkid's library, and even with the library it's really poor, barely up to the level of wordpad in capability.
Ummm... Maybe I'm just not very imaginative, but I tend to find that stability and security top my list of what I want nearly every time.
No, functionality is at the top of your list, you just don't realize it. Remember when people raved about gmail? Gmail would have never happened had the browsers focused exclusively on stability and security.
Re:222 random people on the Internet (Score:3, Interesting)
As one of the people who voted on it, I can tell you that I considered the vote well-advertised inside of the ajax development community. Many of the voters are the people building the javascript libraries that are powering "web 2.0" (hate that term, but it applies here).
Re:Hopeful in regards to Silverlight? (Score:2, Interesting)
Re:"Community" ? (Score:3, Interesting)
I believe the original driver behind the AJAX features was a web-based Outlook mail client.
Little did they know that they had opened the door to all the cool things we have today like Google Mail, Google Docs, Google News, Google Labs Search, Google Notebook, Google Base, MS Live Mesh ... err ;-)
I think we owe MS a huge debt of gratitude for making the web browser-based clients possible, and for most practical purposes, freeing us from monolithic PC-based software.
Re:"Override Back Button Event"??? (Score:3, Interesting)
Re:"Community" ? (Score:3, Interesting)
There was no standard! In order to implement it at all, they had to do it "in a non-standard way".
When Microsoft were trying to take over the browser market, they didn't just leverage their desktop monopoly, they innovated. Netscape were already doing the same. Often their ideas didn't mesh, which meant headaches for developers, but they also copied each other's ideas. The first browser war made the web the multimedia platform it is today.