You are here

Would anyone be interested...

20 posts / 0 new
Last post
Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
Would anyone be interested...

I know we already have Portable Firefox, so my idea may seem stupid, but hear me out. One of the features I saw requested for PFF was native support for multiple profiles. So, I'm thinking of answering that request by writing a brand-new launcher that allows the user to select a profile on startup. As many profiles as necessarily can be created, and they'd be stored as subdirectories of the PFF profiles directory (or whatever my equivalent was).

I'll probably make this one way or the other, but I'd like to know if anyone would be interested in it. It would be completely open-source, just like John's launcher. However, instead of NSIS, I'd write it in C++ (sorry, I can't stand NSIS).

Rob Loach
Rob Loach's picture
Offline
Last seen: 16 years 3 months ago
Developer
Joined: 2005-12-09 17:29
Multiple Profiles

The reason multiple profiles was not really an interesting concept was because most Portable Firefox's are used by the owner and noone else. You would put Portable Firefox on your USB key and that installation or Portable Firefox is unique to you and only you. You don't really plan on sharing your USB key with anyone so why would multiple profiles be used?

Rob Loach [Website] [Projects]

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
...

I don't need it myself, but some people seem to be interested in having multiple profile support. I'm guessing they're sharing the USB key with family members or something, and the other family members want their own bookmarks, settings and extensions.

Ryan McCue
Ryan McCue's picture
Offline
Last seen: 15 years 1 month ago
Joined: 2006-01-06 21:27
Hmm

Well I personally would prefer NSIS but if you have to...
I think we (the PortaSoft dev team) could do it in NSIS, if we had time.
Any other devs want to adopt this? I know Steve can't because he is working on Project X.
----
R McCue

"If you're not part of the solution, you're part of the precipitate."

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
...

As I said, I can't stand NSIS. Some people seem to think a bunch of gotos instead of a proper structure makes the code easier to follow... I think it's just the reverse (too much jumping around in the code just to follow where the gotos are going). Cripe, the last time I used a goto statement was when I was 8 years old, programming in GW-BASIC--batch files don't count.

Sheesh, knowing what NSIS scripts look like, I'd hate to see Winamp's source code...

Ryan McCue
Ryan McCue's picture
Offline
Last seen: 15 years 1 month ago
Joined: 2006-01-06 21:27
Easier

Apparently for beginners. Though I would like If and While
----
R McCue

"If you're not part of the solution, you're part of the precipitate."

Thox
Offline
Last seen: 18 years 3 months ago
Joined: 2006-02-09 06:46
C++ vs NSIS

Bruce, I'd very much like to see a small standalone executable that could do this kind of thing (including source of course). I agree with your opinions of NSIS, and I'd be happier seeing portable app launchers use C++ instead.

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
Almost ready.

My launcher is almost finished; just have to add support for adding and deleting profiles. Right now you have to do it manually. Also, a few questions... how can I prevent PFF from asking to be the default browser on startup, and what do the SkipCompregFix and SkipChromeFix options in PortableFirefox.ini do? I have to know, so that I can make my launcher as compatible with John's as possible.

Edit: I also have an option to start Firefox in safe mode. This should help for people who have problems with certain extensions.

xftnfnb7
Offline
Last seen: 14 years 2 months ago
Joined: 2006-02-17 17:08
A good idea

This is actually a good idea. This could allow users in large corporate environments to deploy applications with different preferences for each user on a server with out having to deploy it to each persons machine. This could allow us to break our dependence on having one computer for each person. Further more the security and SOX concerns with carrying around an application on a memory stick are removed.

I have actually tried running Portable Firefox, Abi Word and OpenOffice across our network. At 100mbps throughput everything works well. Once we get in to a wireless situation with 11mbps of throughput the performance becomes unacceptable. We would need to work on this also.

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
...

I doubt I can help in the performance department. That's up to the Firefox developers, which I am not one of.

Anyway, it's good to see at least a few people are interested in my project.

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
...

Okay, well, the initial release of my launcher is ready, but I need a place to host it. Anybody have any ideas?

Anyway, my launcher includes a basic multi-profile interface. When you run Portable Firefox.exe, it pops up a window showing available user profiles. When you click OK, it launches Firefox using the selected profile. The only other feature I would like to implement is password support, but I haven't found a secure way to do it yet. Even if the launcher locks you out of a profile, Firefox can still be launched manually with that profile, since the profile itself is not encrypted.

John T. Haller
John T. Haller's picture
Offline
Last seen: 3 hours 55 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Drop me a note

Drop me a note to the contact address and attach it. If the code is solid and works in all the standard instances, maybe we can incorporate it into the base package of Portable Firefox.

Don't worry too much about password support, since it wouldn't be very secure, anyway. There are a few different ways to secure things and it's best handled outside the launcher. Having it in the launcher may give people a false sense of security (most people won't bother to read any warnings along with it).

Sometimes, the impossible can become possible, if you're awesome!

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
Help requested from John

I realized there were a few bugs in my launcher so that's why I haven't sent it yet. Plus, I figured while I was at it, I might as well add the rest of the missing functionality like renaming profiles, proper error checking, etc. It's almost foolproof at this point.

Only thing is, there's one thing I need to implement but can't do it because I don't have any sort of test case. I can't find a chrome.rdf anywhere, either in PFF or in my local copy of Firefox. Your launcher seems to have some sort of fix for chrome.rdf, but because of NSIS' wonky syntax, I can't figure out what the heck it's doing. I need to know the specifics of this if I'm to make my launcher compatible with yours from a functional standpoint.

At least the component registry fix was simple--just delete compreg.dat before launching Firefox.

John T. Haller
John T. Haller's picture
Offline
Last seen: 3 hours 55 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
It isn't needed as much

chrome.rdf is how Firefox 1.0.x stored extenion info. It was changed in FF 1.5 so it doesn't do that anymore, but there are still enough 1.0 users out there and enough users taking a 1.0 profile from a local copy and dropping it into PFF 1.5, that the feature was left in for when it was needed. We'll probably phase it out eventually.

You can probably skip it as it will probably take some testing before switching over to your launcher if we do. But, if you'd like to, this is what it does.

Find a line that begins with:
` c:baseURL="jar:f`
or
` c:baseURL="file:`

and then find an instance of the word extensions. And then replace the beginning of that line up until the word extensions with:
` c:baseURL="jar:file:///$PROFILEDIRECTORY/`
or the same without the word jar as appropriate.

That's how we had to do it in NSIS. Gerald figured that one out. Would be easier with some regular expressions, wouldn't it?

Sometimes, the impossible can become possible, if you're awesome!

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
...

Hmm. I'll probably skip that fix unless I can find time.

One problem I noticed with your launcher (and by extension, mine)... it checks for a process named firefox.exe during the multi-instance check. However, you allow firefox.exe to be renamed (as do I)... but if so, the launcher wouldn't be able to pick up the renamed executable in the process list. Perhaps searching for a Firefox window using FindWindowEx would be a more robust solution?

Edit: That idea just went out the window (no pun intended). The window class is named "MozillaUIWindowClass". If I used FindWindowEx, I'd probably pick up Mozilla windows as well, which I don't want.

John T. Haller
John T. Haller's picture
Offline
Last seen: 3 hours 55 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Yeah

That was the same issue I ran into. Checking for firefox.exe was just easier. Though I have a new check also involving the parent.lock file I developed for the U3 version that I'll incorporate into the standard version.

Sometimes, the impossible can become possible, if you're awesome!

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
Okay, well...

My job is done (for now). I've sent the file to John... now we'll just have to wait and see what he thinks of it.

John T. Haller
John T. Haller's picture
Offline
Last seen: 3 hours 55 min ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Tomorrow

I'm heading to bed, but I'll check it out tomorrow or one day this weekend. It sounds like you have the logic down. I think there's a couple ways the multiple/single profile possibilities can be handled so that, for most people, they just use one... but for folks that want several, it's nice and easy to do.

I'm still brushing up on my C, but I can probably take a stab at the calendar code as that'll be needed for Thunderbird... especially when Lightning releases.

Sometimes, the impossible can become possible, if you're awesome!

Bruce Pascoe
Offline
Last seen: 12 years 10 months ago
Joined: 2006-01-15 16:14
...

I'm perfectly happy to manage the codebase, so no worries there. Just tell me how to implement the calendar fix and I'll code it in if it's that important.

About the single-profile issue... yes, I was thinking the same thing. Just not sure how to implement it so that it's easy for computer novices to add a second profile later if there's only one default user. Can't expect them to use command line switches, now can we?

...yes, I realize I'm too nice to the newbies. But hey, we were all beginners at one time, right?

Steve Lamerton
Steve Lamerton's picture
Offline
Last seen: 11 years 2 months ago
Developer
Joined: 2005-12-10 15:22
Could I have the code please

Could I have the code please as I am currently using c++ to write a ceedo style program (see www.portasoft.org in the forum thread called my software) and I think it would be useful. To mail me just click my user name and hit contact!

Yours

Steve Lamerton

Developer Profile Sync & PortaLog

Topic locked