Desktop computing has finally arrived in the 21st century, more powerful than ever! Only for Windows 10.
Desktop computing has finally arrived in the 21st century, more powerful than ever! Only for Windows 10.
Where are we today? PC users are impressed with the technology but they still reach back for the original excitement for personal computing that arrived on clouds in 1995. Would my younger self be envious? Don't be afraid to say it. We're doing good but we forgot something along the way.
The app that presides over all the other apps is called a shell, and I think a modern shell should be a larger, more complete interpretation of a desktop operating system than some cheap program launcher and file organizer. In searching for the killer app, we're missing golden opportunities to turn boring work machines into Hollywood-grade hacker hubs. The long grind to happy hour could be smoother! I say it could even be fun.
These pages of actual screenshots reveal unfinished but very usable applets that I designed and wrote as a starting foundation for the Asynchronicity Shell, a custom high-performance .NET library and completely multithreaded graphical shell environment for Windows 10. This integrated menu-driven suite will eventually replace well over half of the utilities that you depend on in your daily computing experience with tools from an alien timeline that look amazing, do more, and annoy you less.
Come follow me as I show you the awesome endgame of this vision. By the time we're finished I will have shaped your whole perception as to which OS owns the cyberpunk future. Oh yes. I went there. We're going many places, so get in!
(RAIN DELAY: The current build is ready and thirsty for demo but is still being prepared for license compliance. It can be shown privately to Kickstarter and others.)
Before we begin, we need to cover one of the main killer features that ties together the whole feature set of the Shell.
Every single one of the application windows shown in the sections after this participates in a templating manager. You can snapshot the user state and layout of any of these windows as a template and load back as many instances of it as you want depending on your needs.
In short, you don't get a mere Favorites list, you get something that helps you "favorite" entire workflows. If a window misbehaves, you can close and re-open it in place exactly as it was. That's actually a menu item! I have not researched it further yet but I would be willing to bet that this will mesh perfectly with Windows Timeline.
All user settings are auto-saved during idle periods and upon exit. I also added a per-window zoom setting so you don't have to mess with the system scaling setting if you don't want to.
If you will forgive my lack of an icon artist, let's see what we can use this power on...
Asynchronicity File Explorer
Explorer windows used to look something like this:
But we daydreamed about someday being able to do something like this:
Not so fast! Let's upgrade this daydream before we release it into the wild:
One day this will be remembered as the greatest file manager that ever existed before the machines took over. Even the machines will use it for a while.
- Total process isolation of the Windows shell namespace, meaning you can run 64-bit and 32-bit environments in separate tabs of the same window with full drag-and-drop. Now you’ll never lose the plugins from your favorite older software. And now your file manager might never crash again.
- Unlimited panes in any direction, and unlimited tabs per pane.
- Expanded variety of rich folder views that now include "[NTFS] Streams" and "Treemap" with a possible but not guaranteed "Console" view that syncs the current directory with the tree.
- Developer-sensitive tooltips.
- “Shell Change Notify Events” view to observe the update events sent by other system shell components.
Asynchronicity Media Player
Any device can "play an MP3 file". But when you have a desktop machine you want to be able to do desktop-scale listening.
Many of you will be very familiar with this look and feel and I hope you find deep satisfaction in the added polish.
- Full-trust managed code input plugin system that can run in-process, or out-of-process with choice of 32-bit or 64-bit.
- Full-trust managed code output plugin system that can feed multiple sinks at once.
- Will initially support Media Foundation audio and video formats and gradually add more with no planned limit.
- Will initially support WASAPI audio output (codenamed "Kitchen" as in "Asynchronicity includes the Kitchen sink").
- 32-bit/48K audio mixing buffer.
- Graphic equalizer with 10, 15, or 31 frequency bands. If you need parametric or customizable bands, I'm open to it.
- Spectrum analyzer.
- Milkdrop 2.0 visualizer support.
- The internal playlist engine is isolated from the UI. One media player window could theoretically inherit its running playlist from another window without interruption.
Asynchronicity Process Explorer
UI creation tools are extremely advanced now; we should demand more.
- Separate tree and list tabs for active processes.
- List tab of active TCP/UDP connections ("netstat -a").
- List tab of installed services and drivers and the current processes running those services. Finally someone made this easy.
- List of all recording and playback audio sessions with volume control and peak meter, and the current processes hosting them. Items on every tab are highlighted green if they're new, yellow if they change, or red if they no longer exist.
- Rich process tooltips available on every tab.
- System tray CPU usage icon with live graph tooltip showing the top N processes by usage and N most recent system-wide data points.
- The right-click menu for the system tray icon lets you access the whole Shell including changing the default audio device(s).
Asynchronicity Command Prompt
Neither PowerShell nor Command Prompt (CMD.EXE) can navigate the Explorer tree, so you can just forget about a seamlessly integrated shell environment. Unless...
- Uses the same process separation as the file manager so you can switch between 32-bit and 64-bit modes while remaining in the same folder. And recover instantly from crashes.
- The command set aspires to be a brave mix of the best of Windows and Unix, with some clever twists. For example, "dir" will list the current folder's contents as a shell folder, and "ls" will list the contents as a file system directory.
- UNC paths will be correctly recognized and converted to the Network folder.
"cd \\servername" will become a magical ordinary thing.
- Shell scenarios like drag-and-drop can be set up manually.
- Shell verbs and context menu commands can be explicitly used on items.
- Asynchronous console I/O model blasts text to the screen much faster than other shells.
- Although it is not a current goal, the media player could be embedded inside of this and run in the background for true minimalism. Each batch file could have its own soundtrack, not that anyone would try.
- .ACMD custom batch file extension because of inline commands.
Think about this: if you have a really good native Registry plugin for Explorer, you can now cd through the Registry tree like a fantasy. The extensible shell namespace at long last comes into its own.
Asynchronicity Registry Editor
The Registry is evil! Don't look at it! You will go blind! Hair will grow on your palms! We've heard it all before. But sometimes you have to do what you have to do.
- Breadcrumb control/address bar just like File Explorer.
- Unlimited tabs and panes.
- All discovered keys and values are shown. Nothing is off-limits. Right now I'm using Win32 to grab most of them but I am not afraid to use undocumented calls to grab the rest like Sysinternals.
- All keys where possible are actively monitored for changes and refreshed automatically.
- Sortable columns.
You’ll be tempted to call this Registry Explorer. Or perhaps Registry Studio? Registry Explorer Studio 2017. There we go.
Asynchronicity Clipboard Viewer
There are chat programs today that send a picture across the wire as soon as you paste it. That’s when you have to get it right the first and only time.
Between virtual machines, hardcore DirectX games, millions of websites and other examples of custom UI, sometimes important text doesn’t copy or paste correctly when you think it should. Without a clipboard viewer, how would anyone figure out where the problem was?
It's easy to visualize more of the advanced but common things the clipboard holds, like what happens when you highlight and copy files in Windows File Explorer. We can show live information about the window that owns the clipboard, and then the process that owns that window. Why not?
Asynchronicity Character Map
I had no intention of creating a Character Map ever, in fact I even said “I am NOT creating a Character Map”.
The next day, I got lost trying to find a character and created a Character Map. Knock your socks off and maximize this window on your 8K monitor for the typographic plunder of your dreams. The detailed tooltip will give you fast click-free eye scanning.
Asynchronicity Scientific Calculator
The original CALC had an amazing overlooked feature where integer values could be used interchangeably between programmer and scientific commands. This iteration will protect the legacy in an attractive style but can stretch out to show you your full input history.
Asynchronicity Create GUID
Even something "basic" and essential like Create GUID stood spiritual improvement. This iteration is flexible enough to add more formats with ease.
HoloLens support to come in future revisions. Maybe the next GUID in your code waits behind your couch? Kidding. Or am I, based on what you've seen?
Asynchronicity File Viewer
I usually view PDF or image files in sets of 2 or 3 relating to my current work. Using the window templating feature to always open them together on specific monitors is a huge timesaver for me.
Asynchronicity Sticky Note
There’s always text you need to shove in a corner somewhere. Furthermore, color gradients are always going to make a screenshot look good and this is no exception.
Asynchronicity Timers and Stopwatches
Everything on this page was born of necessity. In this case, I literally suffered one burnt pizza too many. There are many clever ways of using this window to combine timers and stopwatches.
Asynchronicity Text to Speech Sampler
This is a simple utility that verbalizes whatever you type into it. The original purpose of it was to test out status phrasing before using them in software. In a pinch it can give a comfort doll some real personality.
Asynchronicity Note Guesser
This is a priceless personal music utility that I included for selfish convenience, and it simulates one of the most important basic exercises for instrumentalists.
It plays one random MIDI note every few seconds and then verbalizes the name of it in concert pitch. Your job is to play the correct matching note on your instrument on the first try and say the note in your head before the window does. Every five minutes a voice announces how much time has passed so you don’t get fidgety.
This is an experimental toy. I don't have any plan to clone the current Start Menu and Taskbar because I think they are beautiful and perfect like a petunia, but that won't stop me from occasionally tinkering on a Plan B.
What I showed you is only the beginning! More windows will come in the versions ahead, although I have to emphasize that this project won't be about content creation. The end goal is strictly a better baseline computing experience without the different colors of tape. I am bridging that market-neglected gap between the raw OS and the specialty professional apps you make your money from.
The feature set won’t get stale because it was designed and written with the latest tools to handle years of intelligent revision and expansion. Because it embraces XAML, Asynchronicity Shell is at all times only one UX designer away from the latest new visual trend. The good trends, that is.
The development will follow this progression:
- Everything you saw above, updated until feature-complete and bug-free, without any spyware slowing it down. Asynchronicity helps you spy on your computer, not vice versa.
- Configurable global hotkey bindings.
- Universal plugin-based e-mail & messaging & calendar & social media client.
- Default plugin to handle POP3, SMTP, IRC. More will follow over time like IMAP and Exchange and other proprietary protocols.
- Universal Plug n Play (UPnP) A/V media player output plugin for facility-wide broadcasting.
- Universal plugin-based teleconferencing client.
- Default P2P teleconferencing plugin using open internet standard and/or encrypted IPv6 to remote Shell instances (signaled via IRC).
- Media Player will support input plugins based on internet URL filters and will expose live chat from each plugin through the Stream Chat pane. This means individual online videos or even entire online channels from participating providers can be added to Media Player playlists and played as single items.
- File Viewer panes will be able to embed video output from a Media Player playlist. The "video mosaic" concept can already be demonstrated with animated GIFs.
- Full internationalization.
- Finder clone/Miller Columns.
- Multithreaded regex/wildcard file & text search.
- Media Player sparse waveform timeline with mouse-selectable looping. Loops can be played at any speed and saved.
- Integrated secure resumable FTP/HTTP[S]/BitTorrent download client and manager.
- Full public plugin support for file manager, media player, communications, and possibly others like Spy# and the task manager. The plugin systems will be unsupported until the code is fully mature to this point. For plugins you can offer either a full-trust managed .dll assembly or a .NET source file (.cs/.vb) no build necessary.
Every single Windows 10 user can benefit from the finished roadmap of Asynchronicity Shell.
Your contributions of any amount, totaling $1 million, will fund the completion of Release 1 and make it free to everyone with lifetime bug fixes, and I will continue to dogfood it and make it my only software project until it is complete, with regular unofficial testing releases, and with or without good hired help. I am estimating that it will get done well within a year, and you'll get to enjoy all the completed parts along the way on an "as-is" basis.
Each additional $1 million makes the next sequential release also free, up to $4 million for all four. These are the only funding benchmarks being offered here and they will eliminate the R&D and privacy costs of licensing.
If you are a reputable and fair website forum host, and provide both a sub-forum for the product (let's "talk shop") and a download location for the regular builds, then I will let you have my official traffic and respond to relevant posts and suggestions. My development focus needs to be on finishing the releases quickly.
Release 1 has no expected roadblocks because the architecture is solid and all known bugs big or small have been accounted for. What I need most is a full suite of 16px icons to fill out the toolbars. I am also seeking (but I don't require) an expert C/C++-level security engineer, audio/video engineer, and Winsock/web engineer as mentors and/or future partners.
And there you have it. Good luck to us all, may the source be with you, may your accesses never violate, and may your segments be blameless, without any exceptions!
This presentation may contain "forward-looking statements" and humorous claims subject to regular risks but believed to be reasonable in the context of what has already been provably accomplished. Actual outcomes in those instances may vary. None of the third party companies or brands mentioned here have any affiliation with this project, explicit or implied. Any third party content depicted is purely coincidental and these screenshots are only intended to demonstrate this project's general features. Microsoft and Windows are trademarks of Microsoft Corporation.
Risks and challenges
I never attempt a project without having a plan for every single potential showstopper. That simple recipe spares me a lot of tears, busy work, and dead ends. What made Asynchronicity possible was years of skipping shortcuts and learning how to do the right thing faster than everyone else doing the wrong thing. Not all of the operating system interfaces are as well documented as they could be and I'm always finding edge cases (especially with pervasive multithreading), but that is the normal terrain for me.Learn about accountability on Kickstarter
- (30 days)