[Adium-devl] 10.5

David Smith catfish.man at gmail.com
Sat Aug 9 22:27:31 UTC 2008


So, I've seen a number of proposals for what to do about dropping  
Tiger support. I'm going to try to summarize and analyze them a bit to  
get the discussion started again.

Upsides from dropping 10.4
	Remove expat from the codebase (-13000 lines of code, faster  
compiles, smaller binary)
	Use fast enumeration (slight speed and safety improvements, more  
concise and readable code)
	Use properties (Better self-documenting code due to things like copy/ 
retain/assign in the header, more concise)
	Use xcconfig files (Makes managing project configuration  
significantly simpler)
	Use the new XIB format for nibs (Single file format makes moving nibs  
around not mess up svn, eliminates at least one of our custom build  
steps, nib warnings/errors in compiler output)
	Don't need to #ifdef upcoming reimplementations of AdiumSound and  
parts of ShortcutRecorder (the current one is not supported in 64 bit,  
the new one won't be supported on Tiger)
	Parallel target builds (Faster compiles)
	GCC 4.2/GCC-LLVM (not sure if there's any benefit for us here. 4.2  
might have some better warnings and such)
	-lazy_library/-lazy_framework (again, not sure if we would benefit  
from this, but possibly we could lazy-load some of our less frequently  
used libraries)
	Remove 10.4 compatibility code (searching for calls to  
isOnLeopardOrBetter turns up 22 hits, plus there's all the stuff in  
AITigerCompatibility.h and IKPictureTakerForTiger)
	No weird Tiger-only bugs to deal with like we've had with 1.3
	Eliminate some private APIs that we currently have headers for  
(NSImagePicker for example)
	
	Other things I'm forgetting?
Downsides:
	Drops 10.4 users, duh ;) Currently that's >30%, but going down


Options:

1) Keep 1.3 as a semi-active branch while 1.4 goes Leopard-only.  
MSNP15, Sparkle 1.5, etc... would bake in trunk for a while, then  
merge to 1.3.x. I think I'm currently in favor of this plan.
	Upsides: Trunk goes Leopard immediately, speeding along development.  
10.4 users don't get left in the cold.
	Downsides: Developer bandwidth and 1.3.x stability concerns.

2) Sharply limit the scope of 1.4 (maybe just MSNP15 and Sparkle 1.5)  
and begin beta for it very shortly after 1.3 is released.
	Upsides: Avoids the downsides of 1
	Downsides: Trunk remains Tiger compatible for at least a month or two  
more, during a period where it appears a number of Adium developers  
have some time on their hands.

3) As 2, except with a 1.5 branch active in parallel.
	Upsides: Avoids the downsides of 2, and the stability concerns of 1
	Downsides: Have we ever been able to handle 3 active branches? Not  
that I'm aware of.

4) Just drop Tiger in 1.4 and proceed as normal.
	Upsides: Easy
	Downsides: Leaves a good chunk (maybe 20% at release?) of our  
userbase unable to upgrade to the latest version

5) ???




More information about the devel mailing list