1. Programmability in something other than VBA (Python?).
2. Online spreadsheets like Google.
3. Better search and replace.
4. Ability to reference tables through URLs so they could show up in blogs and in HTML.
Something like this: http://ycspreadsheets.com/joe/doc1.ss?s=1&block=a1:c10. This
should produce HTML that some javascript can replace in my blog with the table pulled
out of the spreadsheet.
5. Ability to pull and reference data dynamically from online sources. For example,
imagine a spreadsheet cell that pulled the current stock price of GOOG every time it
was viewed. And the rest of the spreadsheet would naturally update automatically.I have a few sheets that I use which pull from a non-ODBC URL using http. It populates a range of cells with new data automatically each time the spreadsheet is opened. (on a Mac too).
Yes. This feature implemented well would create a really cool app. What would be even more interesting would a situation where several different sheets could pull data from each using a clever protocol to avoid the churning of values. Imagine different enterprises which each had online sheets describing their current production abilities and current supply needs. With a clever protocol, their production processes be semi-automatically coordinated (and remember, semi-automatic, some throttling is necessary to prevent self-referential cells from feeding back in an unhelpful way).
#5 can be done in Excel by implementing an RTD server (http://office.microsoft.com/en-us/excel/HP030662371033.aspx). An interesting example is here: http://fransking.blogspot.com/2007/03/yfquotertd-real-time-d...
2. Well, Google does this :)
3. Follows from 1.
4. Good idea, but why not just use this: http://www.google.com/search?q=spreadsheet+widget
Or http://docs.google.com/support/bin/answer.py?answer=55244...
5. Already easily doable in Excel http://articles.techrepublic.com.com/5100-10878_11-6115870.h...
In Google Spreadsheet, just use: =GoogleFinance("GOOG"; "price")
------
And I hope Google is working on a REPL for Google Docs where you can interactively run any language on your spreadsheet. :-)
[ credit : http://news.ycombinator.com/item?id=430129 ]
http://projects.gnome.org/gnumeric/doc/sect-extending-python...
Resolver One is a spreadsheet that has that: http://www.resolversystems.com/products/programmability.php
OpenOffice Calc has some kind of Python programmability too, though I don't know how good it is.
My two cents: add support for arbitrary precision math. Sometimes you need it, and when you do, you really need it.
2. Easy navigation. The giant spreadsheet model is a very simple metaphor but sometimes I'd like a way to jump to different parts of it more easily.
3. Not be a spreadsheet. The one-big-sheet model might be better represented as a bunch of smaller tables floating in space with formulas interconnecting them. The letter/number convention has been around since the very first spreadsheet, surely we can do better.
4. Understand the internet. RSS, live stock quotes, etc. The address of a cell ought to be internet-compatible somehow, e.g. http://myspreadsheets.com/daily_report/C2 or http://myspreadsheet.com/daily_report/mynamedtable?x=Jan2007.... Google Docs does something like this, I think.
5. Allow scripting in a language that doesn't completely suck. Javascript or python would be good choices.
(I don't know if their version is any good)
I may not be answering your question since I'm talking about usability instead of more powerful features, but I can't but imagine that there'd be a market for simple and easy to use, even if it turns out it's not going to be addressed by your particular startup...
I have a table, some data that I've laid out in rows and columns. Something simple. How much money I've been paid on my invoices to clients, for example, one invoice per row.
Then I want to sum the column, to get how much I've been paid in total. (Yes, I'm talking about a very simple spreadsheet. But that's my point, that something so simple is still messed up!) So I type in a formula: =sum(C2:C10)
Now I add a row, to put in another entry. Does my sum change, to include the new row? (C2:C11) No, it does not.
So I do not want to be saying sum(C2:C10). I want to say, here is my simple table, and give me the sum of this column. Which, I don't know what the language would look like, but if I named my table "invoices" maybe it would be sum(invoices.C) or sum(invoices.amount) or something.
Every time someone comes out with a new spreadsheet (Excel, OpenOffice, Google Docs...) I look to see if it is easier to use. Nope! Everyone is too busy being compatible with the last guy.
if you use insert row - then formulas respond and will go from C2:C10 to C2:C11 (tested in excel2003 at least)
Of course, it's not perfect if you look at the proprietary format, at the smaller number of formulas than Excel, and so on. But it's a nice piece of software as far as I'm concerned.
It's a moot point since you don't have a Mac but from what you describe, Numbers does what you're missing.
I saw in one of your later comments that you were also talking about multiple tables on the same page. Numbers actually manages tables as independent objects of a page. So, in a table you can ask for the sum of a whole column without getting the numbers from another unrelated table on the same page. That's something that always bothered me in Excel.
For your data C2:C10 - Do a field: sum(C2:C11) Then when you want to add more data - right-click on the row (11) and "insert" That will update your sum calculation.
Also - you can do named fields - so that if you select the fields C2:C11 - then you can name them as "invoices" (in excel 2003 it's in the top left corner - there's a selection box you can type in. Just select and type a name in there). The lets you do the command sum(invoices)
Also - don't forget you can do something like sum(C:C) which will just give you everything in C column..
I.e. leave a blank row at the bottom of my table, and have the sum include that blank row? I actually know about that trick (thanks :)... what I want is a spreadsheet that does what I want without my tricking it.
You can do what you're wanting with dynamic named ranges.
From reading some of your other responses it seems like you don't want to sum the entire row, maybe because you have the sum listed at the bottom of the dataset or something. With a dynamic named range you can add rows to the bottom of the range, and you also get a nice name to reference it by. It works by using offset and count/counta to deliver a range based on how many occupied cells there are (depending on if you use count or counta).
There are a few ways of doing it listed here: http://www.ozgrid.com/Excel/DynamicRanges.htm
In my experience you can do an incredible amount of things in Excel before you even break into doing stuff in VBA. You just have to look at any of the numerous resources out there that have tricky formulas available.
I'm assuming that (in terms of your example) the invoice amounts that you're adding up would form a contiguous range of numbers, and that this range would be bounded by whitespace. That is, you might have some other range that used column C -- say "expenses" -- but it would be lower down, say starting at C15, and there would be at least one blank cell between the two. Is that correct? If it weren't for that lower range, you could just take the sum of the whole column and you'd be good. But it's too inconvenient (and not the "spreadsheet way") to force everything into separate columns.
If the above is correct, how would you feel about being able to define a range with a notation like this: "C2:C✱", meaning "the range of cells that starts at C2 and goes down until it hits whitespace"? Then as you add numbers to C11, C12, etc., the range would automatically expand to include them. But you'd still have to be careful to ensure there was a "moat" of whitespace around your invoice range. If you filled in the last non-whitespace cell before your other table, you'd now have connected the two tables in such a way that "C2:C✱" would leap down to the end of the second table. In other words you'd be lumping "invoices" together with "expenses" which is probably incorrect.
With the list builder you are always given an extra row at the bottom to continue adding to the list. Any formulas below the list builder will be pushed down and expanded.
The list builder also turns on Auto Filters for the list as well.
When I said, "I'm frustrated every single time I use a spreadsheet", it's not that I can't do whatever it is that I need to get done, I just get annoyed when products are made hard to use when they don't have to be. It's not so much a personal frustration as that I've spent a lot of time at non-profits helping non-computer people use computers, and it's a huge waste of their time and of my time to have to train them how to manipulate the software to get what they want instead of the software just doing it.
C2:C11 was a tremendous advance in 1979 when personal computers had 48K of memory and 40x25 character screens, but goodness gracious, it's thirty years later!
Making something easier to use is a tremendous amount of hard work, but it isn't conceptually all that hard to understand: you look at what people are doing, and you write software to implement that, instead of making them manipulate the software to do the implementation themselves.
I haven't looked at it myself so I don't know if Apple got it right or not, but from Timothee's comment that "Numbers actually manages tables as independent objects of a page", it sounds like they're at least trying.
On the other hand, having defined tables with in a workbook is great idea, but it makes the whole application a wee bit more complicated. I'd like to see it in something of a hybrid between Access and Excel, where you can mix structured and tabular data.
The formula should describe the calculation I want performed and it should continue to work even when I enter new data. For example, if I have a "defined table" as you say, I should be able to ask it for a sum of a column in the table, and have it continue to work even if I add new data to the table, with hacks or trickery or invoking obscure commands.
At the entry user end, there are so many features that are simply unusable or technically way to difficult. For the power user of Excel, there is very little that can't be accomplished. It's power is basically limitless with VBA (or choose your favorite scripting language). Apart from the comment suggesting larger sizes to the sheets (larger than 1 million rows) and being online (something that would really not fly in most corporations) I can't find a problem in here that can't be accomplished with Excel and a firm knowledge of scripting for it. This may be a cop-out though as you must actually script the stuff yourself. This, however; is why I love this program so much.
So as for building a more powerful spreadsheet program for the power user market, it's going to be very hard for anyone to produce something that does more because it's already basically limitless.
For the novice user though, the program is convoluted, confusing and extremely limited. The novice user also represents a much bigger market. I have had several jobs simply because people couldn't do things in Excel that I assumed a monkey could do. Companies love Excel even though 99% of employees at them have no idea how to do basic things with it (summing columns for example). Giving some of the 99% of employees a program that they can do basic to intermediate things without having the limitless back end scripting power would put me out of many of my jobs.
Excel at the start is like a country kid visiting the big city for the first time. There is just way to much power in it and the map for getting around is far too confusing, but once you've been living there for a while everything about it becomes a breeze. Making that adjustment easier would be a huge benefit.
On a side note I enjoy using Google Spreadsheets but one of my top wishes is that Google, or someone, would implement either a Google scripting language or a allow for other scripting languages (Ruby, Python, VBA) to be used.
1. Ability to push/pull a range from a company-wide database, based on a (name,date) key. When you pull based on a (name,date) key, you get the first range with that name that was published on or before the date you specified. A dev team at the bank implemented this and people really loved it.
2. Versioning, but more for reasons of space than for having a "blame" feature. People use the same spreadsheet daily/weekly to create a report, so they have to save copies of the reports daily/weekly in case they need to reproduce the calculations from a particular report even though the differences from report to report were just minor tweaks. It wasn't uncommon for me to see spreadsheets that were > 100 MB, copied and saved daily.
3. Better explaining of formulas - you can ask Excel what cells reference another cell and it'll draw a bunch of arrows for you, but it still takes a lot of concentration to figure out why you're getting the number 4 in a cell when its references are many cells deep, spread across several worksheets. It would be nice if there was a clear way of explaining a cell's formula without having to navigate from worksheet to worksheet and actually hand-trace the references. Even collecting all of the references in one place and drawing out a tree of formulas would be an improvement.
1. Build predictive models from data I've entered in Excel. I find myself exporting from Excel into R a lot to satisfy this need. Microsoft partially addresses this need with the Data Mining Add-ons for Excel.
2. Have more than ~1 million rows (which is Excel 2007's limit).
3. More easily clean up data in a large spreadsheet.
4. Reversibly anonymize data -- if I download some logs with usernames or IPs, I don't want those in my analysis (I just hide those columns), but I do need to have a unique identifier for each row. And later get the names back if I want.
And a couple things I think Excel is great at already:
1. Making data look pretty. The charts are great, and there's (http://www.officelabs.com/projects/chartadvisor/Pages/defaul...) for non-power users.
2. Making data easily portable.
3. Filtering/sorting data -- VLOOKUP has saved the day so many times.
Grow up and use an actual database.
http://www.resolversystems.com
Sometimes I miss similar type of scripting. With Excel, I often finish copy-and-pasting raw data into Python string, upon which I then do something procedural.
I know almost nothing about Excel and it's a deficiency I feel quite keenly. The program is almost completely undiscoverable to me and I don't even know where to start with it. I know that there are powerful uses and features of Excel but the model (or at least the bits of it I've been exposed to) hasn't clicked for me yet.
I suspect I'm not alone in my bafflement; maybe there is the possibility this new spreadsheet could be useful to us Excel-ignorant customers who nonetheless want access to the benefits of this class of software.
As a hacker and programmer who is comfortable with all sorts of paradigms I feel really strange admitting this weakness but I suspect that I'm not the only one who is in this boat.
Excel isn't a database but a lot of people use it like one anyways.
For example, getting the sum bill of every person who lives in England looks like this in one workbook I have:
{SUM(IF($C1:$C$10000 = "England",$E$1:$E10000,0))}
(If I want to see, say, the top 10 outstanding bills in England I have to use a pivot table).
Excels biggest problem is that the workbooks produced with it are really hard to maintain. Looking at the code above, for example... going back to that (which is only a trivial example) in a month is going to be pure pain. Updating data requires cutting and pasting, which can be error prone. Unit testing is only possible with sample known-good data sets, and copying in new data tends to make it less than certain that the version you are using is the same as the one you tested.
Oh, and sharing workbooks between users is really tough. I can usually figure out other people's Java - but I have yet to be able to reverse engineer a non-trivial Excel work flow.
Slightly offtopic, but I just wanted to point out that excel syntax looks a lot like lisp, with biggest different being the first item is outside the parens.
This is true, you can do a lot with this. And if you're prepared to make a lot of columns with the various flags you need, you can build up quite complex queries - having an easy way to do this would be nice though.
I've spent a lot of time in Financial Services and it's surprising how much of the industry is run on spreadsheets, especially investment banking - and I mean online - they'll have Excel running all day, receiving real time price feeds, running a calculation and republishing. Excel is pretty much the glue that holds the whole industry together.
So I also agree on the maintenance issue - These sheets can get quite complex and it's almost impossible for someone to understand coming in cold. It would be very useful to have a workflow model on top - which I guess is really adding the algorithm aspect - but I've never seen a speadsheet metaphor that does this well.
You could do something like this:
{SUM(IF(country_name = "England",bill_amt,0))}
Then why not build database-like functionality into the system?
I'd like v and hlookups to be turned into SQL (and vice versa) with animations explaining what's happening in each.
2. 'Hard' and 'Soft' numbers (i.e., numbers I manually enter vs. numbers that are the result of a formulae) should be automatically coloured accordingly if I want them to be. Manually plugging in a number on top of a formula should not necessarily over-write the formula. It's quite common I want to preserve the logic but 'hack in' a variable. Instead, it's either or (and I have to copy/paste the formula into a comment for the cell, which is a pain and clumsy as hell).
3. Track changes.
4. Non-euclidean topology ... by which I mean, making it possible to vary the number of colums / rows and column / row sizes within a single sheet.
A few years ago I worked at a large financial consulting firm, and I was amazed at how often accountants would implement what basically amounted to an 'inner join' using nested iteration over columns in vba.
This was a few versions of Excel ago, so I don't know if this feature is available in recent versions or not. I imagine not, since then Excel would really start to encroach on Access's domain.
http://www.microsoft.com/mac/itpros/default.mspx?MODE=ct&...
No Linux support of course.
Some kind of auditability of Excel spreadsheets would save enormous amouns of money and time.
Of course it's not as nice as "blame", which I think is what you want here?
When investigating bugs (and more than a few times, we're turning into real code something cobbled out of an Excel spreadsheet, so the reference standard is the old spreadsheet), it helps to know why something is different from another, and why the formula in E5 is different than the formula in E4 or E6. It is incredibly easy to screw up formulas with inserting/removing rows with cut & paste.
Two sample foul ups: http://thedailywtf.com/Articles/The-Great-Excel-Spreadsheet.... http://thedailywtf.com/Articles/The-Revealing-Spreadsheet.as...
I've encountered worse situations in the past than those 2 dailyWTF episodes (as well as seen one old employer's code on that site).
Word has a feature where you can see the changes, what was previously present, and who changed it when. Something like.
Would love to try out a beta version if available. my email is raonikhilesh "@" gmail
Of course, if you want it to be successful, you need to be able to import Excel spreadsheets as is, including macros and formula, and you also may need to maintain the linking to/from other microsoft artifacts.
That gives the added security of allowing people to play with the data without changing the data in the database.
There is a spreadsheet interface metaphor. Parts of it are quite useful. Other parts are less convenient given the ways that people program/use spreadsheets. Some of them are better addressed with parts of the database metaphor.
That way I could view the descriptions at the top and the sums at the bottom while I'm scrolling through any point in a spreadsheet.
What makes the above even worse is that Excel has a pretty poor understanding of when a change necessitates a re-calculation of all values in the workbook, so I grind to a halt when making random unrelated changes (and even if I switch it to manual calculations, it re-calculates upon saving, meaning saving my work can become a 30-40 minute endeavor).
Pivot tables are pretty clunky an unintuitive for most users, even though I think lots of people would use them if they understood what they were.
VBA is a very verbose and inelegant language, and there are lots of operations which are called in totally different ways than the analagous forumulas in the spreadsheet. There are even some things you can do in spreadsheets which don't have an analagous VBA command, which leads to the fantastic work-around of using cells on your worksheet instead of variables and changing their text values to the command you really want to just run in VBA.
The standard fill down operation sometimes doesn't Just Work(TM). Example: say you want to make a cell "=C2E5". You try filling down and you get "=C3E6", when you wanted "=C3E5", because E5 is a constant. OK, fair enough, you say, you can't reasonably expect the machine to infer what you meant. But now you adjust the cell below to what you want, and now you select two cells, one that's "=C2E5", one right below it that is now "=C3E5", and now with both selected, you fill down again. Presto, the next cells are "=C4E7","=C5E7","=C6E9","=C7E9","=C8E11".... etc. That's pretty bad.
Some of these are pretty mundane, but they would all be big deals for me.
So, in a word, encapsulation.
Also, the line between databases & spreadsheets is fairly thin, how about some relational calculus? Some import/export with SQL? Or a query language?
Rereading, I see this is a "new" spreadsheet application. Well, hopefully then the data format and API's will be less... obtuse.
Interactive, visual interface to same diff functionality.
When I last looked, for Excel there was a product or two going partway in this direction; however, most seemed rather limited, e.g. export the cell contents to text and diff that.
Useful for number crunchers. Also useful for all the people who end up using something like Excel as a glorified table. In the business world, there are endless use cases of people managing documents, requirements, results, etc. in Excel. Providing such a "BeyondCompare" fucntionality for this content would be very useful to a lot of them, (Caution: You might also have to teach them how to use it, including the diff concept. And that could be a very significant bump to try to get over.)
Since Excel is so dominant, that class of people might not be your target market. Nonetheless, I see a good diff type utility as being a real plus.
I also can agree with Zain's comment regarding versioning support.
And, integrated regexp support. I wedged same in to Excel/VBA by defining a reference to Windows Scripting Host (back in 1999 or 2000). Very useful. A lot of problems people deal with in spreadsheets can be greatly aided by decent pattern matching and substitution.
I should be able to make a row of "oil prices by month since 2005" that updates on its own. Or a cell with "current value of the DOW".
* Support Seadragon-like zooming into cells which expand into full spreadsheets of their own. You can go to infinite distance deep into the spreadsheets and each spreadsheet chooses a "cell" value to represent it to above container sheets.
* Ideally the above spreadsheet allows you to pull in other people's spreadsheets across the world to use as one of your cells (somewhat like Yahoo Pipes, I suppose)
* Alternatively, I'd like to see Excel go three dimensional for a single sheet. At a minimum perhaps use "layers" like Photoshop would to apply transformations and adaptations that collapse into the final view.
* I'd prefer this imaginary Excel also use Python or JavaScript for cell programming/calculations.
* I second the versioning information idea, too-- keep a history of every manual change to every cell and allow them to be reverted. In a git-esque way, support branching of cells, etc.
(that's the maximum number of rows in Excel before 2007). I'd like something similar to SPSS, which is more convenient for tables with lots of rows and separates the data from the formulae.
A tool for working with streaming data.
Also, charting that works for large amounts data. Try having Excel chart 65,000 rows and you'll have time to make coffee while you wait. There are no ways to zoom or analyze Excel charts, either.
In fact, charting for data analysis alone is a big enough problem that needs solving (and you won't have to do all that catching up with Excel). Short of using HTML/Flash or .NET/Java components, there is nothing an enterprise worker can use. Get access to a Bloomberg terminal from somewhere and play with its charts to see what I mean.
It's a charting and reporting tool over SQL Server (and I thinkg any other ODBC/OLEDB source), it works over large datasets, has both Web UI and desktop UI, and comes in the box with SQL Server itself.
FD: I work in SQL Server, athough not on Reporting Services. FWIW, Reporting is a huge success with our customers.
I have used SQL Reporting Services as well as Business Objects tools and I am pretty impressed with the latest releases from MS.
-With an online spreadsheet program, it would be nice if it could understand existing VBA code/Excel Macros. There is a lot of this out there.
-Better access control. AFAIK, Currently with Excel you can only password the document with one password. It would be nice to have an access control list, and maybe even restricting access within worksheets within the document.
Slides 4 & 5 give some insight: http://www.scribd.com/doc/2191289/yaron-minskycufp-2006
While I am not a big user of excel, the google docs version of excel is very similar to the desktop version + collaboration (think Oddpost). The other approach taken by some people I have spoken with is viewing it more as data and tying to do more (think gmail to some extent).
1) Version control. 2) Access restrictions and permissions. BONUS: Responsibilities, a la Siebel and other CRMs. 3) Simple drag and drop manipulation of data, such as concatenation. 4) Wufoo-like ease with building data entry forms. 5) Dummy data mode, so you can get help with customizing a complicated spreadsheet without revealing sensitive data. 6) Example use cases for sophisticated features, with well-written instructions, INOW a good, non-linear tutorial.
http://www.editgrid.com/tnc/pkchan/EditGrid_v._Google
The thing Excel doesn't do as well as I'd like is Text to Columns, specifically for 13F filings. Many people like to track what major investors are buying and selling and would like to do this directly, from SEC filings, instead of through websites like Gurufocus.
For example, here's the Gurufocus page for Seth Klarman:
http://www.gurufocus.com/ListGuru.php?GuruName=Seth+Klarman
You can also find the data for his investment firm, Baupost Group, at SEC Info:
http://www.secinfo.com/$/SEC/Filing.asp?T=1ZCS7.t61_1wt
Clearly, it's possible to automatically get the data from Baupost's freely available SEC filings (http://www.sec.gov/Archives/edgar/data/1061768/0001061768080...) into a spreadsheet. It's just that Excel seems to make it a lot harder than I'd like.
Compare two spreadsheet highlighting changes more intelligently than Excel's. For example, allow for a more intentional representation of
decisions/numbers/inputs: control variable
relationships/rules: system representation
outputs/results: state variable
Track changes to indicate if inputs or rules/relationships changed, optionally ignore output changesAllow for a set of input variables (and optionally some rules) to be defined as a scenario to compare differences between scenarios. Also, let an input variable be a distribution or an interval and the scenario specify any covariances.
Scenario planning and decision trees: a graphical view that can switch to a traditional spreadsheet view and vice versa.
EDIT http://www.google.com/search?q="next+generation+spreadsheet" turns up some interesting ideas as well.
If I'm going to make a scatter plot style plot for anything besides an internal memo (even an internal presentation) I always plot with something else.
(2) Many of the complaints mentioned come from the way that a given entity, "the sheet" (or page) is used to both computation and to present multiple computations. Rethinking that is likely to yield huge benefits.
(3) It should be possible to tag computations so they can be more easily used to build other computations. For example, I was recently doing some cost analysis and realized part way through that I'd like to break down the numbers in other ways. Since I was using a sequence of equations in an ordinary programming language, it was easy enough to define appropriate accumulators and pick up the values from the equations, but it would have been a pain with a spreadsheet. And, my solution was too granular.
I'm not expressing (3) very well, but I think that it's a big deal, so feel free to contact me.
From time to time when I'm working in excel I'll find I've derived an answer from a couple adjacent input cells and several intermediate calculation step cells below. As a contrived example, lets say I have pennies per number of hours and I want to convert to dollars per year. I'll start with hours per year (365.25*24) and divide that by the input "number of hours". Then I'll divide the input "number of pennies" by 100 to get dollars. Then I'll multiply the two together to get my output.
Without fail after working through a problem like this I will want to make a 2-D grid with an input variable on each axis and have the results filled into the grid. Unfortunately because I just did it using a bunch of intermediate cells I can't copy and paste, drag and fill, or any of the other intuitive mechanisms. To date the only solution I've found to this problem is to re-do all of my work in VBA as a single function and use =myFn(colval,rowval) in each cell.
There are a couple ways this could play out. One of which would be to call subordinate sheets (or chunks of sheets) as functions. This is how I've envisioned it in my head. It would be a terrible pain to make that work, and I'd be afraid it would confuse people who wouldn't understand which cells worked normally and which cells were function components.
Another solution would be to select an output cell and have it refactor it to a function that could be called. This is probably a lot easier to do, but might not be as maintainable by the kinds of people that don't understand VBA -- they could keep the "source code" cells around and recompile when changes are made, but all of the standard code generator / manual edit problems apply.
My rule of thumb is that any interesting spreadsheet has a mistake. Anyone who uses a spreadsheet and doesn't independently know the answer "close enough" is living in a fool's paradise.
Every engineering company I have worked at had these legacy databases. They all allow you to enter information (not very well), see the information on your screen, or send a report to the printer.
Piping data to a spreadsheet is something almost everyone in the companies I work with (I am a consultant) could do. These aren't sophisticated users. Even the ones with recent EE degrees aren't programming in their spreadsheets. The Mechanical Engineers don't even know that you can.
What they do need is tools to analyze the data existing in these large databases. Switching to another database/interface is not an option.
To extend my original idea: Excel has a way to import data from a text file. It works ok. Select your field delimiter, etc. What would be awesome is if I could draw my own macro on the screen. Make it more powerful. Excel shows me how my input data will work in the spreadsheet. Do that, but give me more editing tools.
Here is why: the data coming out of these databases to the printer is structured. Every record looks the same. If I can draw what one case looks like all of my data will be entered to the spreadsheet correctly.
I know I am not explaining this well, but if anyone (including the YC group) wants me to elaborate further I will.
I would pay for a spreadsheet that has these 2 features. A large part of my job is analyzing data in my customer's database. I can provide my customer with more value if the data input to spreadsheet is trivial as opposed to me billing for several hours performing the task by hand.
I prefer lightweight databases to spreadsheets, so my suggestions would be similar to what FileMaker says: http://www.filemaker.com/articles/database/new_database.html
In short: make it easy to present a set of information through different views, make it easy to share between users, make it easy to create and maintain complex data structures and validation. Presenting information from the spreadsheet through the web, with or without edit capability, would be good.
A round() function that isn't stupid, i.e. it rounds to a certain number of significant figures, rather than relative to the decimal point. Workarounds exist, but I want a no-work-around.
I suppose it's not a problem worthy of very smart programmers, but it still makes me wish for bullets-over-SMTP.
But seriously: take a gander at quantrix, rip off its features, slap yourself on the back for innovating, and go home.
Edit: the above is perhaps a bit too snarky to be helpful.
As a "power spreadsheet user" I moved on from excel to quantrix; this is something I can get away with b/c I'm not stifled with a closet full of legacy, mission-critical excel spreadsheets.
Quantrix is pretty much at the sweet spot of spreadsheet functionality: it's possible to imagine a more-powerful and more-general-purpose tool, but taking it even a little further would turn it into something not really a spreadsheet any more...you'd wind up back at R.
You'll find in Quantrix a mature, well-thought, and all-around "better excel".
2.) UI that values datasets over data points, or some sort of functionality that defines a dataset. Since most tasks deal with sets as a whole (and not individual points) this would result in a much cleaner, quicker interface. Also, you could start treating a dataset like a black box instead of a TON of cells with meaningless value, and thereby gain access to a lot of shortcuts not possible currently. This should allow easy data entry, dataset searching, and will keep all your scripting in your view. Best of all, there's no need to manipulate cells at all with a dataset approach.
BTW, I do my spreadsheets with a Von Neumann derivate of a finite state automaton.
HAI
CAN HAS STDIO?
I HAS A WITTEH
I HAS A KARMA
IZ WITTEH BIGGER THAN "O RLY"?
YARLY
UP KARMA!!1
NOWAI
DOWN KARMA!!1
KTHX
KTHXBYE
BTW "On-Topic: Anything that good hackers would find interesting."
BTW http://lolcode.com/This paper claims to prove that the authors' spreadsheet is Turing-complete in contrast to Excel:
http://web.engr.oregonstate.edu/~burnett/Turing/TuringMachin...
Actually, it would be more interesting if spreadsheets were not Turing-complete, given how much people are able to do with them.
Edit: Spreadsheets have no state. This is hard. If only I could delay evaluation :P
It should also have a real solver, so I don't have to work out formulas on paper first. If I can type in some equations (legibly) and it's possible to derive the data I want from the data and formulas I've given, then just do it.
(I understand Lotus Improv got this right. In fact, from what I've read about it, Lotus Improv got many things right. A modern clone of Improv would be cool.)
Also, it should know units. If my search engine can do unit conversions on the fly, my spreadsheet ought to be able to.
Better graphing. I'm not sure exactly what I want, but every time I try to make a graph in a spreadsheet, I end up with something that doesn't look at all like I wanted.
N.B., I've basically given up on spreadsheets. For lists, I use an outliner. For simple math, I use a HLL like Ruby or Lisp or Octave. I suspect if there was an OmniOutliner for Windows, Excel would die overnight.
findincolumn('john',a) scrollaccross(3) retrievedata
1. Multi-user experience - Better workbook sharing and editing.
2. Better scripting (already mentioned above)
3. More than 65536 rows!
4. Queries/Lookups - It may be that I'm not proficient enough, but it seems like VLOOKUP and pivot tables can be done A LOT better.
FYI our old company was considering buying a product to extend excel functionality. Probably a possible competitor. Check it out: http://www.businessobjects.com/product/catalog/xcelsius/
From the man (Dan Bricklin) himself ~ http://www.bricklin.com/nextvisicalc.htm
I remember Wil Shipley (of Omni, Delicious Monster) talking about how they originally developed OmniOutliner after noticing that most people were using Excel to make simple lists rather than complex spreadsheets, so there was a market for something less expensive than Excel and more tailored to the things people were actually doing with it. With a product as broadly installed as Excel I'm sure there's still under-served niches.
This could be adapted for the spreadsheet concept. Actually, it might be more appropriate there.
Pivot-tables would be nice as a core function to model data (see quantrix.com)
Make 'light databases' part of the architecture and not counter-design. something like, spreadsheets meets csv with a cli query component or similar.
Likewise, generating spreadsheets should be easy for 3rd parties.
I can't wait to see it.
2. create a mySQL Dump from the Table Data.
3. Other cool MySQL Optimizations.
That'd be sweet.
A1 = 0.1*A1
Can be useful if you need to convert values, etc., but don't want to create an entire new row/column