r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Plugin-2] Browser Plugins

BrianH
4-May-2006
[364]
Don't worry Graham, we already adjusted for your concerns yesterday.
JoshM
4-May-2006
[365]
Graham: okay. that's the whole licensing/encryption/pro features/etc. 
issue right?
BrianH
4-May-2006
[366]
That partial encapping, signed and encrypted scripts proposal.
Graham
4-May-2006
[367]
No .. I think people are frightened that Rebol might be used by some 
mafioso types to damage/hold to ransom your pc.
JoshM
4-May-2006
[368]
Right. It will be on the list, but may not make it until REBOL 3.0. 
That seems a little tougher to do. TBD.
Graham
4-May-2006
[369]
Like Lethal Weapon IV
Anton
4-May-2006
[370x2]
Which it will.
1. User right-clicks existing plugin in browser window for context 
menu, chooses "Check for newer version of Rebol Plugin"
2. Plugin checks for newer version

3. if newer version -> "Would you like to install newer version ?" 
4. if "yes", download and install.

5. "Would you like to remove the older version (you probably don't 
need it now) ?"


When there are multiple versions installed there could a menu option 
to activate one of them.


!!Updater should not close the browser. It should suggest to the 
user to close and reopen.
JoshM
4-May-2006
[372x2]
Anton: So you're proposing multiple versions running side-by-side?
That's an interesting thought. Can you explain why?
Anton
4-May-2006
[374x2]
If possible. I understand it might be difficult with files being 
overwritten etc.
The newer version make break older code that the user may be relying 
on. "Thanks a lot, updater!!"
BrianH
4-May-2006
[376x2]
I think that major versions should be installable side-by-side, and 
minor versions autoreplace so that security fixes can propagate.
Like Java.
JoshM
4-May-2006
[378]
Okay I see. So, REBOL 1.3.2 and 1.3.3 autoreplace, but REBOL 3.0 
installs side-by-side?
Anton
4-May-2006
[379]
A minor security "fix" can also break older code.
BrianH
4-May-2006
[380]
But better done of course.
JoshM
4-May-2006
[381x2]
And then we promise not to break old code with the auto-updating?
Veerry interesting. Not a bad idea. Probably can do it.
Anton
4-May-2006
[383]
I don't believe any of you. Why not let the user decide what works 
for him ?
BrianH
4-May-2006
[384]
Security fixes should only break insecure code. Otherwise they are 
API modifications.
Anton
4-May-2006
[385]
Only the user knows when it's working and when not.  Well, as I said, 
I don't believe any of you to stick to that 100%. It's an admirable 
goal, obviously.
JoshM
4-May-2006
[386]
Well here's a side-by-side problem scenario. Grandpa doesn't know 
anything about anything, other than how to check his e-mail. He comes 
to web site 1 which auto-installs (with his permission) REBOL 1.3.2. 
Then he goes to web site 2, which needs REBOL 3.0, and it auto-installs 
side-by-side. Then he comes to a third site, which tells him it requires 
the REBOL/Plugin. How does he know which plugin it needs?
BrianH
4-May-2006
[387]
Actually, Java isn't a good example. Their updater sucks. Better 
example, like .NET.
JoshM
4-May-2006
[388]
Further, let's say he decides to clean out his computer. If he removes 
REBOL 1.3.2, seeing that it is an "old" version, he will inveitably 
break the web sites that rely on 1.3.2.
Anton
4-May-2006
[389x2]
Yes, but he must take responsibility for his own actions there.
How can you take responsibility for an automatic updater's actions 
?
JoshM
4-May-2006
[391]
Sure, I understand that makes sense for developers, but I can see 
real confusion. Since when does a web site tell you that it requires 
Flash version 3.0? All Flash scripts run in the latest version of 
Flash, so if you have Flash 8, you're all set on any Flash web site 
(I think...someone correct me if I'm wrong).
BrianH
4-May-2006
[392]
The plugin should look at parameters to see which version is needed 
(or the Needs header) and load the latest in the applicable line. 
If it is not installed, it should offer to install it.
JoshM
4-May-2006
[393]
Remember, we have to think about Grandma Sally who just figured out 
how to use Internet Explorer. If she gets frustrated with this thing 
called "REBOL", we're outta market share. It's got to be easy for 
even her.
Anton
4-May-2006
[394]
Rebol 3 is not going to run Rebol 2 stuff, so we're not like Flash 
straight away.
BrianH
4-May-2006
[395]
Since REBOL is so small, parallel installs make more sense than compatibility 
modes. This isn't Perl or Java you know.
Anton
4-May-2006
[396]
My plan above is easy to implement for now. It's good for us developers 
in the near term.  Later we can add a complex auto-update scheme 
which can be manually switched on by a right-click menu.
JoshM
4-May-2006
[397x4]
Hmm. Interesting. I need to think about that one.
Right now, the plugin is linked to its version of viewdll. It can't 
really "choose" which viewdll to load.
Especially since, with a new release,  we may need new features in 
the plugin *itself*, and not just in viewdll.
That's a complicated issue.
BrianH
4-May-2006
[401]
I like the API being able to wrap a one dll from each generation, 
and then update that dll for security fixes.
JoshM
4-May-2006
[402]
Anton, your side-by-side idea is a good one. The problem is that 
I'm not sure it's automatic enough the average user.
BrianH
4-May-2006
[403]
The plugin itself can handle the automatic updates, or call an updater 
that can handle plugin updates too.
JoshM
4-May-2006
[404]
Our original thinking with the plugin was as follows: Web site is 
responsible for everything. If web site requires new version of plugin, 
it specifies a new CLSID and forces the user to download it. The 
problem is, then you have 5 "REBOL/Plugin" objects in Downloaded 
Program FIles. Thoughts on that approach?
Anton
4-May-2006
[405]
It's a simple "proto-form", good for development while we think and 
argue about a good update mechanism.
JoshM
4-May-2006
[406]
Hmm OK interesting. I like the argument though. Good exercise for 
the brain. :)
BrianH
4-May-2006
[407]
Java has something like the Needs header in specified in applet params. 
REBOL has the Needs header.
Anton
4-May-2006
[408x2]
Website out on the web should have *no* control over decision making 
- only suggestions.  Website on a corporate trusted LAN should have 
heaps of control.
What are we developing for first ? I think it is the "wild web" first, 
isn't it ?
JoshM
4-May-2006
[410]
Interesting. OK, so we're leaning towards parallel side-by-side  
installs with automatic overwrite updates for security fixes?
Anton
4-May-2006
[411]
(We should clarify this.)
BrianH
4-May-2006
[412]
Sounds good to me.
JoshM
4-May-2006
[413]
Yes, we're developing for the wild wild web.