Timeline of Opera Releases
Thursday, 16. August 2007, 02:07:43
If you want to help me with it, it'll be on Wikipedia shortly. To add dates, I made a little javascript tool, so I didn't have to break my mouse using the Windows calculator. date2pixel.html and date2pixel.js

Note: 1.0-1.6 were made on a Merlin build. Because Kestrel's implementation is different (and better), 1.7 and onward were designed for Kestrel. Logically, 1.0-1.6 don't look very good in Kestrel, and 1.7 onward doesn't look very good in Merlin.















IceArdor # 25. August 2007, 03:43
mabdul # 27. August 2007, 10:59
in version 1.5 the versionnumbers are shown better, but it is still hard to watch them / to difference them. maybe the timeline should be longer (for the same time!)
how about to add the builds for linux/mac?
mfg
mabdul
IceArdor # 29. August 2007, 01:53
Thanks for the feedback. I'm considering including this on Wikipedia so that other people can edit it. Feel free to look at the source code; it's pretty simple. If you know any SVG or JS, please give me some feedback on how to make it better.
IceArdor # 29. August 2007, 02:01
I need to edit this: http://my.opera.com/desktopteam/blog/show.dml/759403 Peregrine and Kestrel both existed before Friday February 16 2007. Peregrine became the working Opera copy, and Kestrel branched off of that.
Kestrel's been in the working for a little over a year now.
Anonymous # 29. August 2007, 17:12
Hej,
The transparency makes rendering slower on Opera.
Remove .weekly opacity and it'll be superfast again.
http://www.opera.com/docs/specs/ says :
Performance
These features are particularly processor expensive and should be used with care when targetting machines with slower processors: filters, transparency layers (group opacity), and masks.
cheers
IceArdor # 1. September 2007, 08:01
Anonymous # 1. September 2007, 11:48
Hi Ice,
if you add this script section (based on your date2pixel) :
...then you can replace all your x="" anc cx="" by (for example) onload="initXPos(evt)" year="2007" month="9" day="4". Which is more easy to maintain.
And if you want to add simplicity, try removing all text.dx and using a "text-anchor: middle;" style instead.
Hope this helps;
you've done a great job!
David
IceArdor # 1. September 2007, 19:07
Another problem I had run into was that by starting the timeline at 2005, this timeline doesn't include any releases before that date, because they are negative values, which can't be displayed. I suppose I could do a horrible javascript hack to add 1000 to every x="" and cx="" value, but by implementing the dynamic system you wrote about, it'll be really easy to change the starting date.
I was thinking like making an xml file with all the data and doing xslt to write the svg page. But I guess I can do the same with JavaScript. So should I just put all of the data in attributes?
Thanks a ton! I'll start rewriting the image when I get back from vacation.
Anonymous # 1. September 2007, 22:17
Hey,
Yes you can use xslt to transform your data. It depends if you want the svg code to be "understandable" (ie. the dates readable).
The full-svg approach may be to define the build icons as s and them later in the code. You can see a few examples here : http://www.w3.org/TR/SVG11/struct.html#UseElement. But I wonder how to pass the parameters (build numbers,..) to the symbol instances... ?
Note that if you want to extend your svg without rewriting all the coordinates (ie showing negative coordinates), you can use the viewBox attribute on the root :
viewBox="-100 0 2265 820"
width="2265"
This example will extend your viewport by 100 pixels left.
have a great time on holiday. don't think too much about coding ;-)
IceArdor # 7. September 2007, 06:27
I've got a lot of reworking to do on the files anyways because Merlin has a minimum font size allowed, and Kestrel can make fonts infinitely small. SVG support is a lot faster on Kestrel too.
Note to self: Add build 9500 to 9.5 Alpha.
Add build 8762 to Kestrel Branch, which is experimental build from Hakon featuring the <video> html5 element. (http://people.opera.com/howcome/2007/video/) - 2007-03-29
IceArdor # 8. September 2007, 05:15
Will it be faster to render js or xml?
I wanted to see how the xml route would look, so here's a piece of the xml file.
<major id="9Kestrel">
<branch id="9.5x">
<release longname="9.5 Alpha 1" shortname="9.5a1" type="alpha" />
<date year="2007" month="9" day="4" dotw="tuesday" />
<build win="9500" mac="4404" unix="1567" />
</branch>
</major>
Basically, I'd be using XML as a database and XSLT to convert the XML into SVG. While this is more readable, your solution is more elegant. I've never worked with XSLT before, so I'd be better off with the JavaScript.
mabdul # 8. September 2007, 10:51
mfg
mabdul
IceArdor # 10. September 2007, 01:20
I'm worried that by computing all of the x="" values onLoad, that it'll slow down the rendering of the file severely.
Here's a working copy of what I have. The 9.5a1 has the build (9500) implemented in your javascript system. v1.8a. Best viewed on Kestrel (Merlin evaluated the dx before rotating the text sideways, turning the dx into a dy, essentially. Kestrel fixed this problem)
mabdul # 10. September 2007, 11:28
dahulevogyre # 10. September 2007, 21:18
I guess so. I'm not an ECMAScript expert, but -without getElementByClassName()-, I'd getElementsByTagName("*"), loop and compute. something like :
date2pixel is pretty straightforward. I guess it would not consume much.
About the new attributes, I see you're trying to do it right : extending the DTD.
You have to use a custom namespace also :
http://www.w3.org/TR/SVG11/extend.html#PrivateElementsAndAttribute
Mabdul, I always wondered : why do people disable javascript ?
David
IceArdor # 10. September 2007, 23:17
The other thing I wanted to know is how I can use the current
year="" month="" day=""implementation without having an onLoad event on EVERY single tag. If I could call the onLoad event at the top, or even at the beginning of every<g>or<use>, it'd be a lot easier. What code would I need for that?Lastly, I need to figure out how to use
<symbol>s and<use>them later in the code. I'll work on learning that later. I might need help. I might not even need to use symbols if I use attributes to describewin="" mac="" unix=""and then use javascript to write that data. The problem then would be the positioning of the elements. I can't figure out how to use css to position elements. That'd make it a lot easier to saytext.build (y: 10;}, but that isn't supported in SVG.Mabdul, I wasn't sure where to put 8762. 8762 was the experimental build that Hakon Wium Lie gave to us on his blog (not posted on Desktop Team), giving us a technical preview of using the
<video>element to embed ogg videos within a document instead of using proprietary codecs like flash or windows media player using the<embed>tag. I never downloaded it, but feature-wise it was probably very similar to Merlin. I would have been happy putting it in with the 9.2x branch, but the filename of the exe he released was http://people.opera.com/howcome/2007/video/op950_8762_video_repack_with_lgpl_signed.exe, making me assume that it was not from the 9.2x branch, but rather the 9.5x branch. However, Kestrel probably had active development at the time and was probably very buggy, and so I doubt that it would have come from the buggy Kestrel branch. In confusion, I put it in the only place where it doesn't satisfy logic. To be even further incorrect, the build really should be called a technical preview, as that's what it is. But it was never called that by Hakon.IceArdor # 10. September 2007, 23:52
By adding in a year="" month="" day="", I can also alter the formula to horizontally stretch the page. How can I embed a slider on the page so the user can choose what factor to horizontally stretch everything by?
I might make a calculator to accomodate for some days having 30 days, others having 31, and February having 28/29. I could also feed the year, month, date values into a function which evaluates what day of the week each build was released on. That was one of my initial hopes, and I think that's finally a possibility. I'm so happy. Thanks.
v1.8a v1.8b v1.8c v1.8d
mabdul # 11. September 2007, 12:09
@IceArdor ah this build is that! then it is the right position (i think) you should mark it as tp with the note of the <video>-element (or with a hotlink or somethink else that explains why this build is there - otherwise there will be more questitions about this build o.O )
dahulevogyre # 11. September 2007, 20:20
dahulevogyre # 12. September 2007, 17:49
Jeff does know a bit in SVG !
IceArdor # 18. September 2007, 06:25
Would I want to use javascript (something like focus()?) or could I use an anchor name (index.html#top)
Update: v1.8 is posted, v1.9a is in progress. date2pixel tool updated as well.
mabdul # 18. September 2007, 13:50
IceArdor # 18. September 2007, 17:49
circle:hover {content: attr(year)}onMouseOver="displayToolTip(evt)" onMouseOut="hideToolTip(evt)"Could I get some help, David?
I also want to incorporate a utility that can calculate the probability of a release occuring on each day of the week, among other stuff. (Open up the svg image (1.9a) in a text editor and look at the changelog).
IceArdor # 18. September 2007, 18:25
dahulevogyre # 18. September 2007, 21:58
It's very modest of you to ask me for help. I think you have much to teach me when it comes to SVG. :-)
I've never used CSS in SVG. I really don't know. Maybe it's not implemented.
These tooltip scripts look like they work :
http://www.mecxpert.de/svg/tooltips.html and
http://svg-whiz.com/samples.html (very interesting Q&A)
Look at the question "How do I show a tooltip in SVG?". And if you want to avoid scripting, look at the last question : "Is it possible to display element metadata without using scripting?". Both solutions seem to work in Opera 9.21 for me.
A statistics utility ? wow. did you find a function to convert a date into a week day ?
IceArdor # 20. September 2007, 00:34
If anyone can find the build numbers for releases prior to 7.5tp1, it'd be greatly appreciated. I can do the formatting, I just have had limited luck on Google, though I have found some build numbers. If you can find windows, mac, and unix build numbers, that'd be even better. Thanks.
Edit: I'm having some troubles with the SVG DOM. I don't know enough. Help? Search through the javascript section to find showBuild(evt) and hideBuild(evt). I'm using the circle for 9.23 as my testcase, so hover over 9.23 to get it to work. 1.9b
Edit2: Build + Day of the Week demo script
I suppose I could just give every tag an id and then reference them by their tag id, but I should be able to access them through the DOM without having to assign individual id's to everyone.
Anonymous # 20. September 2007, 09:02
wierd : evt.target is a SVGElementInstance (http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGElementInstance) as it was a !?
Looks like a bug to me ...
You'll have access to the attributes of its .correspondingElement.
IceArdor # 26. November 2007, 05:04
(When I get time, I'll add in a tooltip like this one to the SVG file for build number and release date)
mabdul # 26. November 2007, 19:03
mabdul # 13. February 2008, 20:23
very bad
today i recently updated the wishlist of the collected "5-things"-tagged-game
(i striked a few thinks which have already been done by the myopera and the desktop team)
IceArdor # 14. February 2008, 07:38
EMeczKa # 13. May 2008, 18:27
IceArdor # 14. May 2008, 00:04
Thanks for updating it, btw.
IceArdor # 31. May 2008, 05:47
<textarea>isn't a self-closable tag). Thanks a ton, EMeczKa. I've also posted this update on Wikipedia.Judging by the frequency of releases, and noticing the pattern before Opera 9.0 came out, it looks like Kestrel will take flight within the next 2 months.
IceArdor # 28. August 2008, 01:56
mabdul # 30. August 2008, 19:30
IceArdor # 1. September 2008, 06:23
mabdul # 3. November 2008, 13:54
IceArdor # 4. November 2008, 01:40
I've really been slacking off on updating this. Sorry about that.
It is embedded in http://en.wikipedia.org/wiki/History_of_the_Opera_web_browser
IceArdor # 30. January 2009, 09:36
IceArdor # 5. February 2009, 08:23
Be the Tamil. You'll get much more done, everyone will like you and you might get banned by Opera for a day.