|IRC Nick||Time (GMT-7)||Message|
|iaincollins||05:10||taxilian: morning (for when you get in 8) ... for reference resolved the I was having with upgrading an install of a plugin that had already been loaded in MSIE...
I was (a) not updating CLSID and should have been (as you said) *and* I'd totally skipped over AXVERSION_NUM as I hadn't spotted it!
I didn't actually notice it until went to looking at how the associations are setup in the registry as I was (wrongly) thinking I would need to change the ActiveX Plugin name
but it's all completly fabulous now, so it seems I can stop worring about the installation and upgrade process for now :)
I have a basic question on how to use the firebreath framework.
|DFUN||06:10||The documentation says "the basic plugin lifecycle is seen in this [MyPlugin] class". Even though to me it sounds more like the ~API class is the basic plugin class I'm wondering to multiply instanciate the basic class. What it the recommended design for download streams?|
|taxilian||07:10||DFUN: still around?|
|DFUN||07:10||yes I am|
|taxilian||07:10||reading your question, just popped in
I'll be on more a bit later, I only have a couple minutes now
|DFUN||07:10||finally some action :)|
|neilg_||07:10||Anything I can help with?|
|taxilian||07:10||to answer your question, no you cannot create new instances of your MyPlugin class.. or rather, you should not
technically you could
|DFUN||07:10||I suppose some minutes might be sufficient|
|taxilian||07:10||neilg_: actually, you're probably the best person to help him
you don't have to run the browserstream through your plugin class, though
|DFUN||07:10||@neil check the log an hour ago|
but that isn't actually directly tied to the plugin class
so the plugin class gets destroyed first
|DFUN||07:10||that's what I expected
|cygmatic||07:10||taxilian: i took the liberty of simply banning the spammers|
|taxilian||07:10||cygmatic: fair enough
DFUN: so you really just need a PluginEventSink object; you can create your own if you want
|DFUN||07:10||so I should extend a new class from EventSink to handle the streams?|
|taxilian||07:10||technically, you could probably use multiple inheritance and have your JSAPI object do that|
|neilg_||07:10||Okay, that's a good question!|
|taxilian||07:10||neilg_: you go this one?|
|DFUN||07:10||thank you so far, taxilian|
Can I ask why you need multiple instances of the same plugin?
|DFUN||07:10||I don't tend to create multiple plugin instances. I just want to download multiple streams|
|taxilian||07:10||neilg_: he doesn't; he just wants to handle the streams from his API object|
|neilg_||07:10||I'm sorry, I misread the question|
|DFUN||07:10||so basically taxilian answered that question. I was just wondering about the roles of the classes MyPlugin and MyPluginAPI. But I'd say taxilian answered that, too
sounds like there nothing much to add to the MyPlugin class
|taxilian||07:10||MyPlugin usually would handle drawing and such
sometimes streams sometimes not
|neilg_||07:10||Right. The way FireBreath works reflects the NPAPI plugin model where you have a plugin object and a scriptable object|
|DFUN||07:10||ah, ok. My project will be a background plugin. Just handling file transfers|
|taxilian||07:10||DFUN: this might also help: you can extend from this:
|DFUN||07:10||I will do that.
thanks a lot.
|neilg_||07:10||DFUN: So are you planning on using BrowserStream to stream in data through the browser?
Or are you using something like libcurl?
|DFUN||07:10||I already used a BrowserStream successfully
I think that'll work.
|taxilian||07:10||cool. I'll be back online in a few hours; right now I need to shower and get to class =]|
|DFUN||07:10||my current design is just quick and very dirty|
|taxilian||07:10||DFUN: feel free to update the wiki so that the docs are more understable on this topic
and thaniks for dropping in =]
|DFUN||07:10||ok, have a good day and thanks again. Maybe neil can help me out with another issue for now....
Neil, do you have one more minute?
|neilg_||07:10||Yep, I'll be around. I may just be slow from time to time because I'm busy with work :)
I'll be around all day is what I meant to say...
|DFUN||07:10||when I first used the plugin to download with Firefix, I couldn't find a way to specify the target location for the downlaod file. I waited for the "onStreamCompleted" event to copy the file
can I download to the desired location directly?
|neilg_||07:10||Oh, it doesn't download to a file - that's something you'll have to do manually|
|DFUN||07:10||ah. Ok. So when I extend DefaultBrowserStreamHandler I write to a specified file on every DataArrived event|
|neilg_||07:10||All it does is request a file and then constantly call onStreamDataArrived
There are a couple of bugs with the BrowserStream class that I have fixes for where it won't download files from certain servers. I need to push those...
So if you get into a situation where you request a download but don't get any data - I've fixed it
|DFUN||07:10||ok. That's a pretty good job from all of you
now it actually sounds pretty easy...
the hardest part might be to get the plugin work on more platforms than Windows
|neilg_||07:10||Yes, I haven't tried that part yet - but I have to soon|
|DFUN||07:10||but that's now a FireBreath issue.
ok, thanks for helping me out with my starting confusions!
maybe we'll see us around some time
|kylehuff||09:10||hmm.. I see there is a new benefit of firebreath - "Hot lesbian dating&"|
|taxilian||09:10||while that feature was considered for 1.4, after some discussion we decided to cut it from the release.
for one thing, none of the developers of the project are qualified to work on that feature, and some of us have religious beliefs that would prevent us from working on it anyway
|taxilian||09:10||trying to think; kylehuff, neilg_: have I checked to see if you guys have linkedin yet?|
|kylehuff||09:10||yeah, I have linked in, I just have no idea how to use it..|
|taxilian||09:10||lol. well, add me in case you ever learn ;-) [email protected]
actually, I guess I should start using [email protected] to have people add me =] sounds cooler
so I'm writing a paper about browser plugins; it has to be 3.5 pages, 9pt font and 2 column format
I'm not sure how I'm going to keep it that short
|taxilian||09:10||however, I've been searching in the university library (electronic and otherwise). There are *no* papers about npapi or browser plugins
I may actually try to get this published
it would look good on a resume, if nothing else
|taxilian||09:10||'course, the really fun part is that it is due in 5 hours.... :-P
i'm at about 2.5 pages
|kylehuff||09:10||pfft.. with firebreath, I could write an actual plugin in less than 5 hours... (5 months without)|
|taxilian||09:10||lol. well, yes, this is true =] the question is can I take the information about plugins that is in my head and distill it onto paper in a readable form in 5 hours?|
|kylehuff||09:10||it depends on if you have enough good music to listen to during that time|
I'll have to post the paper when it's done, see if anyone has the patience to actually read through all of oit
|kylehuff||09:10||it's funny, I *hate* reading - I don't read for recreation - but I actually enjoy reading technical white-papers, case studies, etc..
(this is the point that my wife would chime in with "because you are a dork honey..."
|taxilian||09:10||lol. well, if I decide to try to get this published I'll let you read it and see what suggestions you have|
|neilg_||09:10||taxilian: I haven't logged into LinkedIn but I really need to. It emails me almost daily telling me about a large number of requests that I've been ignoring... lol|
|nirvdrum||09:10||taxilian: Feel free to send it my way if you'd like. I enjoy reading and have an odd fondness for editing.|
|neilg_||09:10||I discovered another bug/issue with streaming files but only with NPAPI. I was hitting on it last night but now I understand it completely
I was trying to be backwards compatible with the old non-FB plugin which used the data attribute on the object tag to download a stream. But that doesn't work in FB with IE (the fault of IE!) so I was also setting the stream using a param tag.
|taxilian||09:10||nirvdrum: cool, I will|
|neilg_||09:10||The upshot of all of this was the browser was making two requests to the same URL. One was from the plugin which had the notifyData filled out. The other was from the browser which had no notifyData. Because of this NpapiPlugin::NewStream returned NPERR_NO_ERROR which caused the browser to "hang"
It didn't finish the first stream and didn't notify the plugin about the stream it had requested itself
...but it all worked in IE
I believe the solution is to just read in the whole stream in NpapiPlugin even though we do nothing with it
|taxilian||09:10||be back in a few minutes|
|amackera||10:10||Whatever Adobe did to flash recently broke it on Chrome for Mac OS X 10.6
Good to know that other plugin developers have bugs too :)
and by good I mean annoying since I can't watch ma youtubes
|taxilian||10:10||amackera: is IViewObject the one used for windowless plugins?|
|neilg_||10:10||amackera - switch to using the HTML5 beta part of YouTube. Much better on the Mac
Lower CPU usage at any rate which is a plus for me given my MacBook Pro gets hot in any case...
|amackera||11:10||taxilian: I'm not sure what IViewObject is, :S|
|taxilian||13:10||I have one more hour to finish this paper before it's due :-P|
|taxilian||13:10||this is a page and a half longer than it is suppsoed to be
wonder if I'll get docked points
|taxilian||13:10||actually, I was trying to make it shorter than that
but I don't feel like there is a whole lot I can cut out
one more thing to finish, then I'll post it somewhere you guys can read it if you want
keep in mind that this is the once through rough draft =]
|kylehuff||13:10||speaking of writing like a wind-bag - antidisestablishmentarianism is one hell of a word...|
|amackera||13:10||What's the topic of the paper?
|taxilian||13:10||Web Browser Plugins in the Age of Web Applications
gotta figure out which of these (single or multiple) categories it fits in: http://www.acm.org/about/class/ccs98-html
|amackera||13:10||that's the biggest list i've ever seen
and i've seen some big lists in my day
this paper is due at 2:30; it's currently 1:47
anyone who wants to, please read it
tell me what should be fixed
I have 20 minutes to fix it =]
|cygmatic||13:10||the copyright could have some margin to the text|
|taxilian||14:10||I copied that from a template, so I think it's supposed to look like that for the format I'm using
hmm. acouple of my references broke. easy enough to fix
|kylehuff||14:10||2 things taxilian (not about the paper) - 1.) the firebreath.org domain does not have an SPF record.. 2.) confluence allowed me to set my password to nothing..|
|cygmatic||14:10||minor thing: you don't introduce the term DOM|
kylehuff: spf record?
and I'll have to look at the confluence password requirements
not too worried unless it becomes a problem
|kylehuff||14:10||SPF dns record|
|taxilian||14:10||not sure what that is|
|kylehuff||14:10||it indicates what email server is allowed to deliver email on behalf of the domain|
|taxilian||14:10||... it used to
the MX record?
yeah; I guess I should probably set that
never done that before
|kylehuff||14:10||not a biggie, but my spam filter freaked out because one does not exist..|
|taxilian||14:10||any idea what it should be set to for google apps?
hmm. kylehuff: As far as I can tell, namecheap does not allow me to create a SPF record for the domain
|kylehuff||14:10||taxilian: it is just a TXT record, and it should say something like this: "v=spf1 a mx include:google.com ~all"
maybe "v=spf1 a mx include:google.com ?all" would be better; since it *might* come from an unlisted record
|taxilian||14:10||v=spf1 include:_spf.google.com ~all|
|kylehuff||14:10||that should work, but if you server delivers mail ever, it will fail the test
(your hosting server)
|taxilian||14:10||ok; I think I added that
my server delivers mail through gmail
|cygmatic||14:10||taxilian, in 2.3: "all the time [...]. [...] all the time"|
|taxilian||14:10||we'll have to check later to see if it worked
good catch, cygmatic
|taxilian||14:10||I will clarify
I have 5 more minutes and then I must print out what I have and go to class =]
|cygmatic||14:10||in 3.3 you switch to a "you have to" language
in contrast to the rest of the paper
|taxilian||14:10||for someone who speaks English as a second language, your grasp of the subtleties is unbelievable
I already caught that and fixed it on my own =]
but I'm really surprised you saw it
|taxilian||14:10||I also searched for every other case where I used the word "you" and changed it|
|cygmatic||14:10||also "while our" at the end of 3.3
ok; I'm hoping to publish this somewhere (even if only on firebreath.org), so I'll still update it, but I have to print it now
|cygmatic||14:10||"The difficulty of deploying a plugin is the primary reason that so few plugins are created." - hm, that's just opinion
good luck then
I'll tweak it
actually, I'll just remove it
|cygmatic||14:10||good read in general by the way|
|taxilian||14:10||I have updated to the version I turned in : http://www.firebreath.org/download/attachments/2162709/Web+Browser+Plugins+in+the+Age+of+Web+Applications.pdf|
|cygmatic||14:10||if you still care: 4.2 has a "to work" that shouldn't be there. I also do miss a bit of building up your point of plugins not going away or even becoming more widespread.
also video conferencing is an interesting use case (html5 extension proposed but doesn't look like it will cover all the possibilities) and corporate network integration stuff seems still to be widespread
|taxilian||14:10||ahh, good catch
I'll add those as notes to try to improve that
|cygmatic||14:10||this is a very nice overview though, maybe try to publish it somewhere (some dev-magazine, dr. dobbs, ...?)|
|taxilian||14:10||that's why I'm trying to keep improving it
probably going to try to publish it, maybe through the school
haven't decided yet
there simply isn't an overview of plugins like this anywhere that I can find
|cygmatic||14:10||dr. dobbs might actually be a fit - at least as they still published in paper independently they sometimes had such overview articles
and they don't only run after the new trend technologies
I'll definitely keep that in mind
I need to do at least another complete revision on it, in addition to your changes; this is still the first draft with just a few fixes
|cygmatic||14:10||looking forward to it, this can definitely help get people oriented|
|taxilian||14:10||it has a lot of things in it I've considered putting in blog posts
another alternative, I guess, would be to split it up between several colonelpanic posts
it's a lot to take in at once
|cygmatic||14:10||i think it's great as an overview - one can dig deeper from there using the references or the terms learned for searching|
|taxilian||14:10||that was my goal, so it must not be too bad =]
I was trying to give enough information to understand the basics, but not so much that you're going to use it as a reference for development
|cygmatic||14:10||i think you nailed that - besides the opinion at the end that should be backed up, it's a fine article/paper to me|
|taxilian||14:10||yeah; the requirements for the class actually ask for an opinion in the conclusion. I'm not sure how better to back that up, and I don't want to remove it. I may reword it so that it is not as strong, or show it as specifically opinion|
|neilg_||14:10||That or state your opinion and then finish it with "FACT."|
|cygmatic||14:10||hm, i hate it when the ui of my phone freezes when i get a call|
|taxilian||14:10||neilg_: The real challenge with writing that paper is that 90% of the information can't be backed up with existing references; the only source of most of that infomration is wiki based, which means no real author and could change any time|
|neilg_||15:10||That's the problem anybody faces when writing about something modern where all the references are also online. Damned interwebs! :)|
|neilg_||15:10||It's a nice article though, it was a good read|
|taxilian||15:10||but I figure maybe if I can get it published somewhere this will provide a reference for someone =]|
|neilg_||15:10||I don't think I saw anything other than what has already been mentioned wrong with it (though I did mostly skim-read!)|
|taxilian||15:10||it's kinda long to read all the way through carefully =]|
|neilg_||15:10||Does anybody know what's involved with having "Verified" IE plugins? Is it as simple as signing the DLLs?|
|taxilian||15:10||neilg_: Yeah, pretty much|
|neilg_||15:10||Good - because I just realised I forgot to do that step before building the installer. Oops!|
sign the installer too
|neilg_||15:10||Yup. I had to do that to get Games For Windows certification. It felt wrong to sign DLLs that we didn't produce (such as Boost) but... we had no choice!|
|taxilian||15:10||well, you're signing them to say that you certify that they are virus free =]
not to say that you made them
just so that they know it is from you and not a cheap imitation =]
|taxilian||16:10||how fun... I go out to go home and my motorcycle has a flat tire
ok; cygmatic, amackera, neilg_, nirvdrum; I have video conferencing, VoIP, corporate intranet, ...
what other uses are there for browser plugins?
|nirvdrum||16:10||I use it for browser automation.|
|taxilian||16:10||yeah; I'm trying to figure out how to explain that succinctly in a paper like this
did you see what I have so far?
version 3: now with "what do you need a plugin for" sections: http://www.firebreath.org/download/attachments/2162709/Web+Browser+Plugins+in+the+Age+of+Web+Applications.pdf
|kylehuff||17:10||it wants me to log in when I try view the document, is the login different than the login for the wiki? cause it don't work..|
|cygmatic||17:10||strange, the usual login works for me
|kylehuff||17:10||I can log into the wiki fine; but not via the login that comes up with that link|
|cygmatic||17:10||i could send it via mail if you want
no idea about confluence issues
|kylehuff||17:10||thanks, I won't be able to read it right now anyway; I gotta go fix an issue and then (I hope) I'm going home..|
|cygmatic||17:10||ok, good luck with your issue|
|taxilian||18:10||cygmatic: right, games; I knew I was missing something obvious|