# Visio doesn't understand Aero Peek

• I have three visio documents open. Which one was which again?

Wait, what, they're identical? I click on the second one, then peek again:

Fucking Visio.

• How does an application even mess that up accidentally? Unless they are intentionally mucking with the Windows API to affect that, Windows should be doing its job fine there...

• Technically that's what I'll see if I click on the document... for a split second while it retrieves the proper one. It only shows one document at a time. .

• How does an application even mess that up accidentally?

same way excel doe it. IIRC visio is just like excel in that there's only one window, ever, but multiple task bars because rasins, and that messes with aeropeek

• I had no idea. What a horrible hack.

• Visio sucks ass. Thanks for triggering me.

I spent (part of) the last year developing a web application that creates and/or changes Visio files, lets the user manipulate them in Visio and imports them back into the DB for the next round.

We ended up doing it the wrong wayTM by using a third-party library (that's also shit, but in interestingly different ways than original Visio) with lots of .NET hacks to work around the shittiest bits AND running Visio unattended on the server with lots of COM hacks.

Don't ask. It mostly works now.

• Visio sucks ass.

Recommend a good alternative?

• Recommend a good alternative?

We looked. There isn't one.

Depending on your requirements you could roll your own connection logic etc., but we had the hard requirement that it needed to be compatible to Visio.

• @LB_ said:
How does an application even mess that up accidentally?

same way excel doe it. IIRC visio is just like excel in that there's only one window, ever, but multiple task bars because rasins, and that messes with aeropeek

And it still has that asinine limitation where you can't have two workbooks open with the same filename

• And it still has that asinine limitation where you can't have two workbooks open with the same filename

yes, yes it does.

i don't even want to know the reason that was added in the first place, but apparently backwards compatibility says they can't remove it.... ever.

• I've used Dia in the past. But then again I don't have a lot of need to do diagrams.

• @RaceProUK said:
And it still has that asinine limitation where you can't have two workbooks open with the same filename

yes, yes it does.

i don't even want to know the reason that was added in the first place, but apparently backwards compatibility says they can't remove it.... ever.

IIRC, it's because if they changed it, [spoiler]it would break cross-workbook links[/spoiler]

• I de-linkified it. It's easy enough to find on google anyway.

• it would break cross-workbook links

i knew that. what i don't want to know is why that's even a feature. because if you tell me i will need to punch somebody.... and that's not a nice thing to do.

• So what happens if you have C:\foo\foo.xls open, and you do a cross-workbook link from C:\foo\bar.xls back to it, and then you close foo and open C:\bar\foo.xls?

• because if you tell me i will need to punch somebody.... and that's not a nice thing to do.

Not even if the someone you'd punch is Donald Trump?

No, I don't know why cross-workbook links are a thing

• So what happens if you have C:\foo\foo.xls open, and you do a cross-workbook link from C:\foo\bar.xls back to it, and then you close foo and open C:\bar\foo.xls?

if i had anything to do with the design? either:

• the link would still be to C:\foo\foo.xls

or

• the computer would grow an arm, painstakingly fashion a shiv out of the nearest coffee mug and stab you in the kidney with it

• the computer would grow an arm, painstakingly fashion a shiv out of the nearest coffee mug and stab you in the kidney with it

Well that excelated quickly.<!-- Mostly pun failure -->

• Recommend a good alternative?

For just the graphical bits of Visio, there's OmniGraffle. But I'm pretty sure it's still OS X-only and it never had any of Visio's more advanced features-- it's just a vector art program with diagram templates.

EDIT: Yes it's still OS X-only, and charmingly the download link on their website doesn't bother checking/asking what OS you use so it'll happily just download a .dmg file on Windows. Great user experience, there.

• the computer would grow an arm, painstakingly fashion a shiv out of the nearest coffee mug and stab you in the kidney with it

Would be quicker to just smash the mug and use the sharpest fragment. Kidneys aren't THAT deep.

• Why wouldn't referencing between workbooks be a feature?

• Why wouldn't referencing between workbooks be a feature?

It shouldn't be depending on you having the workbooks open but only on the absolute file path.

• Because, if you have a data model that complex, you should really be using a database.

• Would be quicker to just smash the mug and use the sharpest fragment. Kidneys aren't THAT deep.

quicker, yes, but it would lose that personal touch.

• Why wouldn't referencing between workbooks be a feature?

wrong question.

remember, every feature starts at -100 points, why is referencing between workbooks a compelling enough feature to overcome the negative points and become a positive feature?

• It shouldn't be depending on you having the workbooks open but only on the absolute file path.

Yes. I wasn't debating that.

• It shouldn't be depending on you having the workbooks open but only on the absolute file path.

Now it's incompatible with roaming profiles. What it really needs is some kind of GUID stored in every worksheet, and a indexer service to look them up by GUID-- of course now you've tripled the complexity.

• Because, if you have a data model that complex, you should really be using a database.

It doesn't mean the data model is necessarily that complex.

wrong question.

No.

remember, every feature starts at -100 points,

Says who?

• ays who?

well Raymond Chen, for one.

I don't know about you but i trust him in these sort of matters.

you also didn't answer my question regarding why cross workbook references is a feature worth having

• @RaceProUK said:
Because, if you have a data model that complex, you should really be using a database.

It doesn't mean the data model is necessarily that complex.

True, but it does sound like something better suited to a DB nevertheless.

@accalia said:
remember, every feature starts at -100 points,

Says who?

Eric Lippert often talked about how C#/VB features start at -100 points, and they have to get to 0 before they'll be implemented. I don't know if that's exactly how the C#/VB teams actually decided what would be done, but it's a nice simple way of explaining the process.

• GUID

SharePoint DocId ... Because those will always work. Or not.

• you also didn't answer my question regarding why cross workbook references is a feature worth having

I've used it before to have different workbooks which reference the same data without keeping a copy of the data in every workbook. It makes updating the data easier. I suspect that's a few people's use case.

Microsoft won't have just implemented it for shits and giggles. Clearly they saw a benefit to it initially.

features start at -100 points, and they have to get to 0 before they'll be implemented.

What equates to 1 point? What equates to, say, 10?

This is just a silly way of rephrasing "do the benefits stack up" IMO.

• Also the limit is you can't open 2 files with the same name in the same instance of Excel.

You can have 2 instances of Excel open and solve the problem that way.

• @accalia said:
you also didn't answer my question regarding why cross workbook references is a feature worth having

I've used it before to have different workbooks which reference the same data without keeping a copy of the data in every workbook. It makes updating the data easier. I suspect that's a few people's use case.

Microsoft won't have just implemented it for shits and giggles. Clearly they saw a benefit to it initially.

Thinking about it, the feature probably predates SQL Server, which would lend a little justification I guess.

@RaceProUK said:
features start at -100 points, and they have to get to 0 before they'll be implemented.

What equates to 1 point? What equates to, say, 10?

This is just a silly way of rephrasing "do the benefits stack up" IMO.

It is a bit, but you can't deny it's an effective way of explaining it.

• you can't deny it's an effective way of explaining it.

I can unless it also explains what 1 point equates to.

• @RaceProUK said:
you can't deny it's an effective way of explaining it.

I can unless it also explains what 1 point equates to.

It's rather dependent on context, I think

• I've used it before to have different workbooks which reference the same data without keeping a copy of the data in every workbook. It makes updating the data easier

now that is a use case that would be valid.

Also the limit is you can't open 2 files with the same name in the same instance of Excel.
yes, but the default is to only have one instance of excel open, and the sequence of steps required to get a second instance open is far from discoverable.

from most practical points of view there's no difference between excel having the limitation globally and excel having the limitation within a single instance.

• now that is a use case that would be valid.

Exactly.

I'm not saying that implementing it the way they did from the start was the best way of doing it, but it is a useful feature to have.
I'm sure there are more people happy their stuff doesn't get broken by a new version than there are people who are annoyed they can't open 2 files with the same name.

the sequence of steps required to get a second instance open is far from discoverable.

You just open it again.

• @accalia said:
the sequence of steps required to get a second instance open is far from discoverable.

You just open it again.

Does that actually start a genuine second instance though? I'm fairly sure, last time I tried that, I got a new window in the same instance.

• How does an application even mess that up accidentally? Unless they are intentionally mucking with the Windows API to affect that, Windows should be doing its job fine there...
They've (correctly) got three entries in the Running Document Table, so it creates three taskbar buttons. The documents are all in the same window, so they (correctly) point to that window so the other half of Aero Peek (window shading) works correctly. They (incorrectly) forgot to set up a per-document thumbnail handler -- which also gets you the benefit of the thumbnail being the document instead of all the chrome around it -- so Windows creates one for it, et voila: three identical useless thumbnails.

TL;DR: missing WM_DWMSENDICONICLIVEPREVIEWBITMAP@Yamikuronue said:

So what happens if you have C:\foo\foo.xls open, and you do a cross-workbook link from C:\foo\bar.xls back to it, and then you close foo and open C:\bar\foo.xls?
Nothing, until you make a change to the cell in bar.xsl, at which point it uses the value in C:\bar\foo.xls. And the documentation used to call that out.@RaceProUK said:
No, I don't know why cross-workbook links are a thing
Summary/Details. You can use a workbook to do the monthly departmental report, hand it to Accounting, and their drones can open it and the annual all-company report and hit CTRLALTSHIFTF9 and all the figures magically update.@Luhmann said:
It shouldn't be depending on you having the workbooks open but only on the absolute file path.
That breaks cases where workbooks move between computers. Originally for access by multiple users, now also for roaming folders, nonstandard network shares, SkyDrive/Groove/SharePoint/WebDAV, etc.@accalia said:
remember, every feature starts at -100 points, why is referencing between workbooks a compelling enough feature to overcome the negative points and become a positive feature?
In 1980, the bar was -10 points, and "VisiCalc does it" was worth 20.

• This is just a silly way of rephrasing "do the benefits stack up" IMO.

The thinking is more like, "is this feature worth the foundation work we have to do for every feature, no matter how minor?" Things like documentation, localization, updating tutorials, usability testing, etc.

• @RaceProUK said:
No, I don't know why cross-workbook links are a thing

Summary/Details. You can use a workbook to do the monthly departmental report, hand it to Accounting, and their drones can open it and the annual all-company report and hit CTRLALTSHIFTF9 and all the figures magically update.

That just sounds like something that's better as a database with a few reports; that would also make the drones' job easier, as they'd only have to click a single button.

• That just sounds like something that's better as a database with a few reports; that would also make the drones' job easier, as they'd only have to click a single button.

you've never dealt much with oldschool accountants have you?

they don't trust computers, and will resist any and all efforts to automate their business process.

they're worse than bureaucracy!

• you've never dealt much with oldschool accountants have you?

Thankfully not

they don't trust computers

Yet will still use Excel

• Yet will still use Excel
yep. and will print out a new copy at least once a week, and manually reconcile it with the last print out to make sure nothing changed

• Does that actually start a genuine second instance though?

Yes.

• @RaceProUK said:
you can't deny it's an effective way of explaining it.

I can unless it also explains what 1 point equates to.

It's kind of not specific. Like...a metaphorical point system, Drax.

• i knew that. what i don't want to know is why that's even a feature.

Well actually, I made a little --

because if you tell me i will need to punch somebody.... and that's not a nice thing to do.

Oh... Well, um. I guess I won't tell you about AutoDeck then...
Might reserve that for a sidebar I think (NFC if I've talked about it before)

• You just open it again.

They've gotten smarter about that. What I have to do now is to lock up the first instance's window (by doing something simple like, display a message box, or leave the Open File Dialog window open), and then launching Excel again achieves the desired result. Otherwise, it DDE's in a request to open and the original instance receives (and processes) it and opens a new blank workbook in the original process.

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.