Some things I'd like to see in the next Windows

Just a few thoughts, and a bit out there. As we transition to WinRT, Microsoft has the opportunity to make a clean break with the past and create something radically new. As it stands, Microsoft has dramatically re-thought user interface, but many of the fundamentals remain the same. Could there be any benefit in changing something a little deeper, though? Some ideas:


Hashtags are not just useful for organising your Destial slash on tumblr. This should be the default method of saving and retrieving files in Windows, turning the folder structure into a legacy alt.view. How would it work?

1. You create an invoice for a client. When you save it, you just tag it: #clientname, #invoice, followed by the filename. Additional metadata parameters will be added automatically (like the date, author, the app that created it, etc.). It gets saved in your library depending on filetype. Your library is backed up to Skydrive automatically and will roam with you.

2. You need to retrieve that file, how do you do it? The open file dialogue shows a searchable/scrollable list of your tags in a separate pane. If you click or tap one, say, the name of this particular client, most of those tags fade out and disappear, leaving only the ones that have been used in conjunction with this particular tag. The text re-orders itself. In this case, you will be left with #clientname and #invoice. As tags are selected, the pane on the right, which displays files, is narrowed down. That pane isn't a dumb view of files either, and be quickly ordered by date, type, etc.

The legacy filesystem: You can easily browse the legacy filesystem because each part of a file path is a tag now. #system32 shows you everything in any folder named "system32". If you want just the System32 folder in Windows\, you select #system32 and #windows. Because tags are separated by a colon, you can allow spaces in your tags too.

But why do all this in the first place?

So many reasons. I believe this would be touch-friendlier than a drill-down explorer. I believe that the linear, hierarchical ordering of data isn't the best way of doing it - some data straddles two or more categories - sometimes I just want all my invoices in a given date range, sometimes I want all my invoices for a given client. I believe that once the shock of it has worn off, it would actually be easier for virgin users - organising data via tags has become common on the internet, plus there is less demand for an exact memory of some obscure tree schema. I think it's a good compromise between the complex desktop paradigm and the simple iOS paradigm where data can belong exclusively to a given app.

imo, tags are better for everything. The Verge should take note wrt this forum, so we would have less of people posting the exact same thread in Apple Core, Googleplex and Microsoft Tribe, but that's another story for another day.

2. Activities not apps

One of the innovations of Windows Phone was that it broke apart the silo of apps - the operating system could reach in to an app's data pool and pull stuff out at will. It's brilliant, but needs to be taken further. In Android, apps have defined "activities", which allows for complex scripting via apps like Tasker. Not the user-friendliest pieces of software, but immensely powerful. Microsoft themselves know full well the power of isolating individual actions that an app can perform - that's the basis of recording macros in Office, after all.

If WinRT apps are designed so that each function of an app can be called individually, it would allow Microsoft to kick the start screen into overdrive. How?

An example off the top of my head - Note-taking software. You could pin a shortcut to create a new note. You could pin a specific note, which would give it's own "live tile" like preview of its contents.

How would you access these "activities". Simple. Whenever you're in a WinRT app, you can pin your current activity to the start screen using the charms menu somehow. This would also simplify/make more discoverable the process of pinning websites to the start screen as if they're apps.

The real purpose of all this from a geek perspective, though, comes with number three:

3. Command-line switches for metro apps

I know, I know.

Hear me out.

Currently, you can launch apps just by typing them. But what if you could just type to perform actions or jump right into something. For example, from the start screen, typing EVERNOTE NEW would jump you into the creation of a new note in Evernote. This is a minor time-saving, you say. Sure. But what about:


This would be significantly faster than running through a GUI. An additional option would be to give apps aliases - lets say this hypothetical imageviewer can be called just by typing "i", then enter, or "i" then whatever arguments you want to add. A Twitter status update saying "wtf is a BASH??" could be created as by simply typing:

t new "wtf is a BASH??"

into the start screen.

4. Dust off the task scheduler

The task scheduler has the possibility of being one of the most powerful utilities that ships with Windows, but is effectively hidden, and its interface is terrible. If you could make it friendlier, you could do all sorts of things with it, especially in conjunction with the suped-up command line switches above. I remember a post on Apple Core where someone was asking something to the effect of, "How can I get the webcam on my laptop to take a picture every five minutes".

I don't have to tell you how a user-friendly task scheduler could make this blindingly simple. But how can it be made user friendly?

By just speaking commands to your computer while the start screen is displayed. OBVIOUSLY.

"Windows, take a picture every five minutes."

In it goes.

Of course, this voice command could also be used in conjunction with the arguments listed above, which would allow you to do practically anything by voice, wheras competing solutions like Google Now and Siri are somewhat limited to what their developers have baked in, so far. I'm not sure Siri can add a title to your Netflix queue for you, for example. But rest assured, Apple are working on it, Google are working on it, and the last thing Microsoft needs is to start working on it after those two have already shipped, yet again.

Anyway I've gone on far too long. Just some ideas yo.