Quiet week warning
Things could go quiet for a few days this week. I’m in Seattle and I’m not sure what internet access I’ll have. I had meant to sort out a couple of posts in advance, but it hasn’t been that sort of week.
Feel free to carry on without me, I’ll catch up when I can
possible topics:
- Do we still need office productivity suites?
- Does techological influence within a company increase with technical competence?
- Is there a single feature that if added to (or removed from ;-) ) the next Excel would make it a compelling upgrade?
- And what would it be?
cheers
Simon
Monday, 19th March, 2007 at 1:10 am
* Do we still need office productivity suites?
Do we still need word processing?
Do we still need presentations? Did we ever?
Do we still need e-mail clients/calendars?
Or do you mean should productivity suites provide mere users with any development tools? That is, VBA/VBE? Life would be easier for most IT departments if Office Standard meant no VBA/VBE. More bluntly, people who need and know how to use Access probably also need and know how to use VBA; people who don’t probably don’t.
Tangent: Lotus Notes provides different capabilities to users with developer IDs and to those with mere user IDs.
That still leaves Excel sans VBA/VBE. If you remove it, you’d force many users to use even worse alternatives (calculators supplemented by paper & pencil). But do 80% of business users need everything Excel provides? No.
Tangent: what about an Excel runtime that provided NO MEANS of editing, entering or even viewing formulas, but users could enter constants into unlocked cells, use autofilters and pivot tables. As for formatting, nothing in under Format > Cells, but allow changing row heights and column widths. Something more like Access runtime than the Excel viewer.
* Does techological influence within a company increase with technical competence?
Well, Bill Gates can code. Can Steve Balmer?
Maybe inapt examples. If one works for a tech company, then tech knowledge may be perceived as useful. But in financial services, say, it doesn’t count for much outside IT departments.
* Is there a single feature that if added to (or removed from ;-) ) the next Excel would make it a compelling upgrade?
Single? No.
Me, I’d upgrade if MSFT brought XL kicking & screaming into the late 1980s by (1) allowing XL to open multiple files with the same base filename, and (2) providing a built-in equivalent to SQL.REQUEST [equivalent features provided by Lotus 123 in Release 3.0 in 1989]. And it wouldn’t hurt if they also provided functions like Longre’s INDIRECT.EXT, MCONCAT and THREED. And regular expression support like in OpenOffice Calc.
Monday, 19th March, 2007 at 5:06 pm
Harlan
Sorry my questions weren’t clear - I have done a proper post which hopefully clears it up.
Interesting thoughts about office, you can do most of that ID based stuff now with office policies (.adms). But I think they mainly cover the UI - ie you can prevent access to the VBAIDE but can’t stop VBA (except through security).
You can run Excel without VBA (an installation option) but all sorts of things don’t work right - OOo calc may be a better option than Excel without VBA.
I’ll come back to influence in a post tomorrow, interesting example though.
Re functions - without counting or checking I’m going to say that I think both Gnumeric and OOo Calc have more worksheet functions than Excel.
Can anyone confirm? And/Or explain why Excel has less (if it does)? Is it becoming the ‘beginners’ spreadsheet, scared of power because it might confuse novices?
cheers
Simon
Monday, 19th March, 2007 at 7:32 pm
Excel 2003 (with ATP loaded) has 329 non-XLM functions (the 328 shown in online help and the Lotus 123 rip-off DATEDIF which MSFT seems to embarrassed to document aside from the lapse in XL2000, but not CALL or REGISTER).
OpenOffice 2.1 Calc has 368 functions. It lacks Excel’s DATEDIF and RTD functions. The silliest OOo-specific function is ARABIC, the inverse for ROMAN. The most useful are BASE, CURRENT and STYLE together (CURRENT on it’s own is weird), DDE (a MUCH MORE INTELLIGENT approach to DDE link construction than Excel’s), FORMULA, ISFORMULA, SHEET and SHEETS. There are several others for date handling to make up for not having a DATEDIF equivalent, and there are others that serve little purpose I can see. Well, maybe ROT13.
Gnumeric 1.6.3 has 518 functions. It only lacks Excel’s RTD function. It adds several options pricing and analysis functions, more continuous probability distribution functions, random number generators for different distributions, bitwise operators (silly), imaginary arcsine and hyperbolic arcsine etc., Erlang functions, and prime number and integer factoring functions.
Gnumeric’s additional functions are more esoteric than OOo Calc’s, of interest to real number crunchers only (in which group I include myself). It’s a shame Gnumeric hasn’t added equivalents for OOo Calc’s more useful additional functions.
Excel has fewer because (1) low ROI for providing more, (2) fear of botching ‘em the first time through (the options and Erlang functions aren’t trivial), and (3) indifference to user/developer needs.
How could I possibly suspect indifference? Maybe because it took MSFT 8 *YEARS* to manage colored worksheet tabs after this ‘feature’ appeared in Quattro Pro 5 in 1993. Maybe because Excel still can’t open multiple files with the same base filename (wasn’t a problem back in the days of single disk drive Macs, so why add the feature now?). Maybe because the @#$%&*! ribbon can’t be modified as part of Excel’s object model via VBA.
Monday, 19th March, 2007 at 9:41 pm
Harlan,
I’m rarely impressed of anything or anyone but I must honestly admit that Your post here is impressive - thanks for sharing Your knowledge.
Kind regards,
Dennis
Tuesday, 20th March, 2007 at 12:25 am
Thanks for the run down Harlan - a simple yes/no would have been fine, :)but this is much more useful! Thanks.
I’ve seen FORMULA and (EXPRESSION in Gnumeric), these are very useful to me. I’d have thought ROI in worksheet functions would be higher than some of the other stuff that made it into 2007 (the ribbon must surely have a negative ROI for example!)
I wonder if the whole function list evaluation thing is implimented as a big select case, in which case adding more functions/cases would potentially slow down calc time?
Tuesday, 20th March, 2007 at 2:31 am
The ribbon is all about product lock-in for MSFT’s benefit. The old Lotus vs Mosaic and vs PSI look-and-feel lawsuits are still operative law in the US, so MSFT *could* have legal recourse in the US against any other company implementing a ribbon without getting a license to do so from MSFT. If they can control who can make software that looks like MS Office, they can control who can take market share away from it. But IANAL.
To me, no clearer expression of how close MSFT thought OOo had come to MS Office by 2005. Of course this is an Excel-centric view of Office. Aside from the UI, the changes in Excel and maybe Access may be worth the cost of upgrade, but I’m not convinced the non-ribbon changes in Word, PPT and Outlook are as worthwhile. But I don’t use ‘em, so what do I know?
As for worksheet function implementation, experimentation shows that defined names, udfs and add-in functions share a common name space. For example, when I load Longre’s MOREFUNC.XLL add-in, and I then enter the formula =FILENAME, Excel returns 914882726 (this varies by session). If I define the name f referring to =FILENAME, the formula =f also returns 914882726. But if I enter the formula =f(), it returns Book1. Now if I define f as =IF(Sheet1!$A$1,FILENAME,ISEVEN), mixing in the ATP function ISEVEN, and enter the formula =f(0) with A1 blank, Excel returns Book1, same as =FILENAME(0). Then I enter 1 in A1, and the formula returns TRUE, same as =ISEVEN(0). This convinces me that Excel keeps a table of pointers for udfs and add-in functions, and compiles such function calls as function pointer followed by an argument list.
Built-in functions seem to have a different namespace. =SUM returns #NAME? unless SUM is a defined name. I suspect Excel’s formula parser does a table or hash lookup of the function name, returning a function pointer for built-in functions. If it’s a hash table, it’s constant time for a reasonably small number of functions (but reasonably small would still be > 1000). Even if it’s simple text table lookup, as long as the table is sorted, it could use binary search, so be O(LOG(N)) rather than linear time.
What I suspect is design constraints, such as Excel using very few bits to encode built-in function pointers, number of arguments, and argument types. Still, if this is correct, since there’s more than 255 built-in functions, there should be room for about 511 built-in functions. Of course, that assumes there aren’t internal ‘functions’ that work like TABLE but aren’t visible in pseudoformulas like it that use up slots in the built-in function table, or perhaps different function pointers for INDEX called with 2, 3 or 4 arguments, LOOKUP called with 2 or 3 arguments, etc.