PDA

View Full Version : Opinions on Installer



Chilton
10-16-2006, 12:39 PM
Hi,

As you might have heard, we're working on a new Universal Binary version of LightWave. And you'll probably want to use it when it's ready.

But that brings us to an interesting point. The LightWave Installer.

While I'm all for single-drag installs, we currently have a whole slew of things in the installation that end up all over the place. We have libraries that go in Libraries, an SDK folder, a plug-ins folder, three apps, several command line tools, and other such things.

The argument has been made (on Apple's developer forums) that most of the kinds of things we're doing, could be done via a single app drag. But I'm skeptical. If we were to move to this model, we could keep our files in the same locations by having the app essentially transform into a crazy hydra-like thing on first run, spewing bits of itself across the hard drive as necessary.

But maybe I'm wrong. Any thoughts on the initial LightWave installation?

Thanks,
-Chilton

Brian_7
10-16-2006, 01:02 PM
I vote for the "NO SINGLE DRAG" install. It is my opinion that you are creating another step that might require troubleshooting later on. I started with an Atari ST ... Then PC....then Mac OSX. Each one required me to install applications in one form or another.

Brian

eblu
10-16-2006, 01:17 PM
well chilton,
you guys break just about every Usability guideline on install. And this isn't the fault of the one guy who wrote the installer. You have a very unintuitive, Non-Robust, and pretty darned old design for the backbone of Lightwave. It expects to be able to take control of the entire machine, so it does whatever it feels like and be dammed the consequences.

I've railed in the past about the way Lightwave saves files. its, frankly, cavalier and irresponsible with MY data.
The configs do indeed Spew all over the drive, and in places (we've talked about this as well) that are inappropriate.

preference files, belong in ~/Library/Preferences.
the application should be able to generate them itself, and should NEVER be installed from an external file. The application should then save files in a robust way, lowering the chances of catastrophic failure if the application happens to crash during a save.

Apple wants you to use a special naming convention for config files, I'm not sure thats necessary, But You COULD organize it better, perhaps put all of the config files in a folder, for ease of access, when we need to delete all of our preferences when one of them goes go south.

Temporary files, caches, hub backup files and the like, belong in ~/Library/Application Support/Lightwave. Thats where a user would expect to find that stuff, thats where the dev docs say to put it.

Content directories... belong in ~/Documents... or in the shared Directory to begin with, and then wherever the user wants to put it thereafter. You Should NEVER put content directories in the Applications directory, or in a subfolder of the Applications directory.


so having said all of that, unless you've cleaned up every bit of that, I don't see any reason to polish up the install program. It would be a waste of effort.

dglidden
10-16-2006, 01:34 PM
The DMG file doesn't have to be only a single application.

Why not just put the whole "NewTek" directory into the Lightwave91UB.dmg* file and then you CAN do a single-drag action of putting that NewTek folder into your /Applications/ folder. I've seen a number of applications that "install" this way. As far as I can tell, nothing gets installed outside the NewTek/ folder, does it? I guess that would be the big question.

(And yes, this is opposed to say, MS Office which does a drag-and-drop with a single folder full of stuff and then the first time you run it goes all shotgun on your filesystem and starts copying files everywhere. Bleargh. That's just yucky, but if everything stays inside /NewTek/ when you're done, then yippee!)

It'd be even nicer if you could actually RUN the app from the .DMG but that might be asking a bit much. Although it appears to put everything under ~/Library/Preferences/ right now, so there's nothing I can think of except possibly the license file that would actually need to be written back to the NewTek folder. If you could get rid of that requirment, or even let me re-make a new DMG from the /Applications/NewTek folder with my license file in it, that would be even more peachy.

I do this with all the content for any project when I'm done with something. I use the "Make New Disk Image From Folder" from DiskUtil and pick a "compressed" image and an entire project goes into a single, compressed .DMG file. Advantages: smaller filesize than just a folder sitting on my hard drive and CRC checking on the contents of my DMG! _And_ unlike a ZIP file I can still mount it on the desktop, set my content directory and still load anything I need from it without having to go through some extraction process first.

I also do it with source code, documentation collections, websites, audio files, and pretty much anything else that all lives underneath some central directory that can operate off of relative paths or the path doesn't really matter. The CRC verification on mounting the image has actually saved my butt a couple of times as I've caught files that didn't copy off the server or download from home correctly and been able to re-transfer them before sitting around for an hour going "huh I wonder why this isn't working".

Gosh I sure do love DMG files.

* Or maybe it'll be called Lightwave91UB_20061031.dmg ??? Hint hint??? :D

Chilton
10-16-2006, 03:29 PM
well chilton,
you guys break just about every Usability guideline on install. And this isn't the fault of the one guy who wrote the installer. You have a very unintuitive, Non-Robust, and pretty darned old design for the backbone of Lightwave.

I suspect that all cross-platform apps had similar issues at one point or another. In order to maintain consistency across platforms, things are done in a somewhat non-standard way. However, at this time, the Mac version is undergoing a fairly drastic change. As a result, if a change should be made, now is the time to do it.



It expects to be able to take control of the entire machine, so it does whatever it feels like and be dammed the consequences.


It's bad, but I wouldn't say it's that bad! And it's just using Apple's basic installer. Nothing fancy there.



The configs do indeed Spew all over the drive, and in places (we've talked about this as well) that are inappropriate.


Right, noted.



preference files, belong in ~/Library/Preferences.
the application should be able to generate them itself, and should NEVER be installed from an external file.


We do it like this to allow our Japanese distributor to release a localized version. And I'm looking into how we could bring this into our plists, etc.



Content directories... belong in ~/Documents... or in the shared Directory to begin with, and then wherever the user wants to put it thereafter. You Should NEVER put content directories in the Applications directory, or in a subfolder of the Applications directory.

This was (obviously) a cross-platform simplification issue. Depending on how much time I can put into it, I'll change this as well.



so having said all of that, unless you've cleaned up every bit of that, I don't see any reason to polish up the install program. It would be a waste of effort.

Thanks for the comments!

-Chilton

(edited for better formatting)

jeremyhardin
10-16-2006, 03:43 PM
Drag/Drop, definitely. I love the control. The simplicity. The lack of a registry. When using an installer, it's all too tempting for the powers that be to drop this file here or this file there. Oh, just this once won't hurt.

Well, it does hurt. Haha. I've had to go digging for a receipt file once because some software I needed re-installed thought it was installed already (because of the receipt file). I like knowing without a doubt that all my LW files are where I put them, and the preferences are in the preferences folder by default. (Even though the first thing I do is create a folder in the Lightwave folder called 'config' and direct the prefs there for easy access/backup/trashing).

avkills
10-16-2006, 04:03 PM
It would be a great plus for LW on the Mac to put preference files, cache files and support files in the appropriate places where we expect them to be found.

I am fine with the actual install process as is; nearly every professional app has an installer. Even Apple apps have installers.

Another plus would be if LW Mac followed the unix tradition of "/~" being used to signify the current users home directory. That would make bringing work home much easier as log in names change and what not.

-mark

harlan
10-16-2006, 05:46 PM
Drag/Drop, definitely. I love the control. The simplicity. The lack of a registry. When using an installer, it's all too tempting for the powers that be to drop this file here or this file there. Oh, just this once won't hurt.


I couldn't agree more!!!

Chilton
10-16-2006, 07:53 PM
Well, the biggest problem here is that our 'app' is actually a collection of them. That said, I suppose we could come up with some kind of single folder drag install.

Would that be an acceptable solution?

-Chilton

Yacomo
10-17-2006, 12:46 AM
One related thing of note: If you alter where files are stored, please don't forget to give us a tool to get rid of the old obsolete files including temp files, preferences etc. I hate it when old remains of apps clutter up my harddrive and I have to hunt them down and remove them manually ;) .

jeremyhardin
10-17-2006, 01:12 AM
Well, the biggest problem here is that our 'app' is actually a collection of them. That said, I suppose we could come up with some kind of single folder drag install.

Would that be an acceptable solution?

-Chilton

It is for me. I mean, most (if not all?) .app files are bundles that have all the files the executed file needs, right? I'd say we have 1 .app file except that there are 3 main programs (and LSED, LSID) that need to run and be accessed separately. So a LightWave 3D 9 folder that I drag onto my hard drive would be cool. (Even though I rename it to 'LightWave_3D_9' right away out of habit to support older apps and lscripts that may have trouble with spaces.)

mike_stening
10-17-2006, 05:38 AM
i quite like the install app, not really a big fan of the MS way of draging the file to your Apps folder and then it installing on startup. i would like the uninstall program that can go and fetch all those pesky bits too..
though if the general consensus is for a drag then i'll go with that but i'd rather the installer installed and the app concentrated on being an app not tried to be something else to go wrong.

byte_fx
10-17-2006, 04:08 PM
Just got my Mac Pro so some of these may reference the PC version.

Some thoughts:

1 - some third-party plugs place config and temp files willy nilly throughout the system. Those may need to have new compiles if the basic install is changed.

2 - sounds like a potential exists for install bugs. On the other hand it might end up being better and open up more interconnectivity between LW, the Mac OS, and other apps. Although I don't know what that might be.

3 - probably means an even longer wait for the UB version :sigh:

4 - Leopard is on the horizon. Who knows what it might bring (only developers) or will bring (not even Apple - yet)

5 - as someone mentioned earlier there should be some way to remove/move/whatever the old LW install from all nooks and cranies. Problem is - who knows where the users have put their own config files. On the PC I have several different .cfg files of my own that I switch around depending on what I'm doing.

6 - vision of Chilton at center of sphere of front burner only stoves Point Clone Plus'd from a 7200 ppint sphere.

byte_fx

John the Geek
10-18-2006, 05:17 AM
I agree with Jeremy that an .APP bundle would be best. Put all of those many files in a bundle and then have the apps in the NewTek folder. Modeler.app, Lightwave.app, and Hub.app. Then all of the other stuff needed to run the apps (the other junk in programs... .shlb files, etc...) can go inside the bundles for tidiness.

Then put the fonts, plugins, SDK stuff, etc... in ~/Library/Application Support/Newtek/Lightwave9 where hard-core Mac users expect to find them anyway.

Oh, and before I forget... Folder Icons!!! For a truly Mac experience. Here, I made you one just now...


http://www.john7.com/media/lw_icon.jpg

Icon Resource file (http://www.john7.com/media/Lightwave.icns.zip)

Let's see... Installer or not, I think the whole layout of files needs to be tweaked a bit. It felt very un-natural to dig through many layers of folders to get to the application I wanted. It's not intuitive to me.

=)
-John


EDIT: and a NewTek icon too:


http://www.john7.com/media/NTicon.jpg

Icon Resource file (http://www.john7.com/media/NTicon.icns.zip)

Kuzey
10-18-2006, 05:40 AM
Hey John, looks good but there's a small problem...the icon for 9 has changed ever so slightly :D


But yes, there should be icons for each lw folder Objects, Images etc. etc.

:D

Kuzey

Darth Mole
10-18-2006, 07:46 AM
As long as LW is stable (and I can eventually track down all of the various bits) I don't give a rat's *** how you install it :-)

gstonebank
10-18-2006, 08:00 AM
If you do an uninstall tool, pleeease let it recover gracefully from errors.

Say for eg. I want to uninstall LW. I drag the LW folder to the trash. Then I remember that there may be bits of LW in other places on my Mac. So I run the uninstaller. Now it should not fail just because it can't find the Lightwave install folder. It should ignore that and go looking for the other bits of LW and remove them.

I hated this in Windows (not with LW but other apps) and I have already encountered it on the Mac (I only switched a month ago)

In Windows it wasn't as much of a problem because you expected to run an uninstaller to remove a programme. On the Mac, I may be wrong, the accepted way to uninstall something is to drag it from 'Applications' to the Trash. Only a few progs have uninstallers.

Also if it could confirm what it was about to remove so you could select any files you wanted to keep. Actually now that I think about it, the installer should tell you what it is putting where and save it to a log file so you have a record.

Regarding the application names, is it possible to have 'LW Modeller', 'LW Layout', 'LW Hub' etc so they will stay together in an alphabetical list

thats a bit more that my 2c worth... maybe 8c.....

Chilton
10-18-2006, 08:27 AM
If you do an uninstall tool, pleeease let it recover gracefully from errors.

Say for eg. I want to uninstall LW. I drag the LW folder to the trash. Then I remember that there may be bits of LW in other places on my Mac. So I run the uninstaller. Now it should not fail just because it can't find the Lightwave install folder. It should ignore that and go looking for the other bits of LW and remove them.


We don't want people uninstalling our software. Our new version will hide a copy of itself in some hidden folder somewhere, so that if the user accidentally deletes the original, it can repopulate itself. It's the only way we can guarantee our users' happiness.

(no, I'm not serious)



I hated this in Windows (not with LW but other apps) and I have already encountered it on the Mac (I only switched a month ago)


Welcome to the platform! I think you'll like it.



In Windows it wasn't as much of a problem because you expected to run an uninstaller to remove a programme. On the Mac, I may be wrong, the accepted way to uninstall something is to drag it from 'Applications' to the Trash. Only a few progs have uninstallers.

Also if it could confirm what it was about to remove so you could select any files you wanted to keep. Actually now that I think about it, the installer should tell you what it is putting where and save it to a log file so you have a record.


I suspect that if we did an uninstaller, it would have a table with checkboxes, so that you could specifiy exactly what you wanted to delete. And it would build that table based on what was actually still on your system, so that you could use it to remove an errant or redundant plug-in, for example. You know, make it a tool that has some better purpose than just removing the app itself.



Regarding the application names, is it possible to have 'LW Modeller', 'LW Layout', 'LW Hub' etc so they will stay together in an alphabetical list


Hey, I'm glad that was bugging someone else as well! We've got a solution I think you'll like.



thats a bit more that my 2c worth... maybe 8c.....

I'll take it!

-Chilton

NickLambert
10-18-2006, 12:54 PM
The LightWave Installer.

I don't think there is a perfect solution to everyones want's & dislikes so I thought another point of view might muddy the waters...:thumbsup:

IMHO:

I have on problem with using a installer or drag & drop. As long as...
The installer has a uninstall option, that works! &/or a log file that tells me where it's put everything.

My workflow for LightWave install is very old fashion. I remove & install manually as too many old config crashes have taught me :beerchug:

I like to know what files get written where, so I can make sure they are the right ones :thumbsup:

byte_fx
10-18-2006, 01:17 PM
If it comes to an uninstaller that checkbox idea is GREAT !

Could also be used as basic component troubleshooting tool if you could also selectively reinstall components.

The combo of the two might be enough justification for a new installer scheme.

Might even be able to go a srep further so the culprit component could be saved and forwarded to Newtek for autopsy.

But - PLEASE - only after the UB version is done.

The whole uninstaller/reinstaller thing sounds like a major project. Nothing wrong with including some hooks and seeds in the UB version though. :smile:

byte_fx

TomT
10-18-2006, 07:11 PM
Chilton,

Because you need to setup a dongle and few other things, I would be happier with a bullet-proof installer rather than a drag-and-drop which has to do whole bunch of messy things on first run.

If you could have the installer "heal" a bad installation (such as checking that key things like the EVE3 framework is in the right place), this would be even better.

-T

Chilton
10-18-2006, 08:02 PM
Hi Tom,




Because you need to setup a dongle and few other things, I would be happier with a bullet-proof installer rather than a drag-and-drop which has to do whole bunch of messy things on first run.

If you could have the installer "heal" a bad installation (such as checking that key things like the EVE3 framework is in the right place), this would be even better.


My intent, if we do make these changes at all, will be to reduce the likelihood of framework failures, and to address the issue of how best to fix a bad installation. So we're on exactly the same page with regard to the end user's experience (which we're obviously hoping to improve).

-Chilton

TomT
10-18-2006, 09:22 PM
So we're on exactly the same page with regard to the end user's experience (which we're obviously hoping to improve).


I wanted to bring up the idea of healing a mangled installation, because it seems we ended up with these more often than we like. (Usually not NT's fault, someone else did the mangling, but we still needed to straighten it out.) I'm pretty good at patching up a system that had gone south vis-a-vis config files, eve3, etc., but I can imagine a newbie (who bought the last NT license we had for sale) getting pretty confused.

I'd also go by the number of "LW is booting up in discovery mode" posts I see, which are inevitably due to the Dongle framework getting hosed. :)

BTW: Consider testing "Archive and Install" OS patches when doing the final testing. When people re-assemble the OS using this technique, it seems to displace things like eve3.

Cheers!
-T

eblu
10-19-2006, 08:04 AM
I suspect that all cross-platform apps had similar issues at one point or another. In order to maintain consistency across platforms, things are done in a somewhat non-standard way. However, at this time, the Mac version is undergoing a fairly drastic change. As a result, if a change should be made, now is the time to do it.



It's bad, but I wouldn't say it's that bad! And it's just using Apple's basic installer. Nothing fancy there.



Right, noted.



We do it like this to allow our Japanese distributor to release a localized version. And I'm looking into how we could bring this into our plists, etc.


This was (obviously) a cross-platform simplification issue. Depending on how much time I can put into it, I'll change this as well.



Thanks for the comments!

-Chilton

(edited for better formatting)


heh. chilton you ever hear the story about how steve jobs saved the lives of millions?
early in the development of the macintosh when apple was basically ****, and steve was The dynamic force driving it, Steve approached one of teh developers and asked him if he could take 5 seconds off of the startup time for the mac. He was concerned it was taking a long time, and wanted to make it more reasonable. the developer replied that he could in theory shave 5 seconds off the startup time, but that it would be an extremely time consuming effort with little or no actual value in the result. Steve was stymied by this response. He didn't accept it, he told the developer that saving lives was worth doing no matter how time consuming the effort was. The developer... nonplussed... asked for an explanation. Steve said this as his response: Lets say we sell a million macs, its a conservative estimate, but lets assume a million for our math. Our users on average will start up their macs, 3 times a day. 5 seconds. 5 seconds times 3 is 15 seconds a day. You could save our users an average of 15 seconds a day... times a million!
Thats 15,000,000 seconds, or 173 days you'll be saving each day!!!! multiply that by 365, and you get 63,368 days you've saved each year! Thats almost two lifetimes! In the end the developer agreed with steve, and shaved 5 seconds off the startup routine of the macintosh.

now I want you to know that the story is true, but I am going from memory and my memory is NOT perfect, so consider it "paraphrased".
what steve innately understood, and the developer didnt understand, is that the work a developer does is exponentially appreciated or unappreciated. Things that are appreciated affect the bottom line exponentially.

It has been my sad experience that the Lightwave product is based solely on what was easier for the developer to do. For Newtek to gain ground, turn the corner, get to that Next level, they have to become a User centric company. You have done a good job engaging the mac community, and I have been impressed with your enthusiasm.

Thomas
10-19-2006, 08:21 AM
heh. chilton you ever hear the story about how steve jobs saved the lives of millions?
Good story!


You have done a good job engaging the mac community, and I have been impressed with your enthusiasm.
Couldn't agree more. Chilton, you've been a true "light" in an otherwise dimly-lit room.


Regards
Thomas

NickLambert
10-19-2006, 08:38 AM
You have done a good job engaging the mac community, and I have been impressed with your enthusiasm.


Couldn't agree more. Chilton, you've been a true "light" in an otherwise dimly-lit room.
Thomas

:agree:

eidetiken
10-19-2006, 11:42 AM
Yes!

An installer would be nice to have. Or should we just compile from source? :)

TomT
10-19-2006, 11:47 AM
Couldn't agree more. Chilton, you've been a true "light" in an otherwise dimly-lit room.


:agree:

Quoted for agreement.
-T

Chilton
10-19-2006, 12:00 PM
Thank you everyone, for the compliments.

And that reminds me, I would greatly appreciate it if every Mac user here joined the Open Beta when it starts up again. I want this release to be rock solid when it goes out, and the only way to guarantee that is to have lots of people banging on it. Especially people who have Macs and aren't afraid to use them.

Thanks,
-Chilton

Darth Mole
10-19-2006, 12:02 PM
I think you can pretty much count on that!

jeremyhardin
10-19-2006, 12:03 PM
Cool. One way to make it more successful would be to give the OB Mac folks their own board. :D :D

John the Geek
10-19-2006, 04:05 PM
Thank you everyone, for the compliments.

And that reminds me, I would greatly appreciate it if every Mac user here joined the Open Beta when it starts up again. I want this release to be rock solid when it goes out, and the only way to guarantee that is to have lots of people banging on it. Especially people who have Macs and aren't afraid to use them.

Thanks,
-Chilton

Aye Aye, captain!



Cool. One way to make it more successful would be to give the OB Mac folks their own board. :D :D

or at least a private sub-forum... =)

harlan
10-19-2006, 04:37 PM
Yay!!! Bring on the OB; let's bang on this thing for a few. :)

Drocket
10-20-2006, 02:39 AM
I would love to join the OB when you release it unfortunately I am still waiting for the reseller to ship me my copy of LW 9 (Ggrrh, I have been waiting for over a week now and he still can't give me an eta on shipping). I am so desperate to start playing with it even if it is running in Rosetta.

Oh well, maybe next week.

I must admit I have been coming to these forums for a few weeks now and it is refreshing to see developers answering peoples questions.

Drocket.

Kuzey
10-20-2006, 05:14 AM
UB...OB...Cme....Bme Oh Me

:D

I'll just have to watch from the sidelines as usual.

:D

Kuzey

John the Geek
10-20-2006, 10:18 AM
I would love to join the OB when you release it unfortunately I am still waiting for the reseller to ship me my copy of LW 9 (Ggrrh, I have been waiting for over a week now and he still can't give me an eta on shipping). I am so desperate to start playing with it even if it is running in Rosetta.

Oh well, maybe next week.


FYI: I ordered a copy two weeks ago and the shipping was stalled too, the ETA at the distributor was again pushed to yesterday... but the good news is it arrived today. Hopefully that's a good sign for you too.

=)

byte_fx
10-20-2006, 02:34 PM
Thank you everyone, for the compliments.

And that reminds me, I would greatly appreciate it if every Mac user here joined the Open Beta when it starts up again. I want this release to be rock solid when it goes out, and the only way to guarantee that is to have lots of people banging on it. Especially people who have Macs and aren't afraid to use them.

Thanks,
-Chilton

Looks like I'll have buy LW 9 when the OB starts up.

I'm already getting tired of having to run Windows on my Mac Pro.

byte_fx

Thomas
10-24-2006, 01:50 AM
A little thing perhaps but why add a "NewTek" folder to the installation? Like there is another NewTek app for us mac-users... No, scrap it.


Regards
Thomas

jeremyhardin
10-24-2006, 02:18 AM
A little thing perhaps but why add a "NewTek" folder to the installation? Like there is another NewTek app for us mac-users... No, scrap it.


Regards
Thomas

Well, it does help me keep 7.5, 8.5, and 9 all organized, but to each his own.

3dworks
10-24-2006, 04:28 AM
late but sure: i'm for a simple user drag and drop process, too. this is the most intuitive way to do an install because you know best your destination location on your mac. btw., not everyone uses the 'applications' folder for it's production applications.

another point is that if all relevant files for running LW are in one folder, a zipped backup is an easy way to get out of trouble in production times... so please keep all config backups in the main application folder for this purpose. if it is necessary for some reason to stay within apple's file location rules, if no configuration preferences are found in this apple standard library destination, this config data get's copied back over there.

and yes, please keep the 'newtek' folder and the ability to work with older versions in this same folder.

markus