Hobby project
MobileShell
BRIEF: Windows 10 shell doesn't support very small displays, and since we managed to port Windows on Arm on Lumia devices, this project was born.
Initially, the project was written in C#, but because of the missing arm64 .NET runtime at that time, I decided to rewrite it in C++ for optimal performance. The shell is simple per se but the usability is clearly superior compared to Windows 10 shell in tablet mode, which, of course, wasn't meant to be run on such small devices!
Design choices
Since many inbox apps (e.g. Mail, Calendar, Messaging, etc..) are pretty the same in both Windows 10 and Windows 10 Mobile, I decided to make a shell that mimics W10M's shell so you'd not be able to visually distinguish between these 2 OSes. Another two reasons: familiarity and simplicity. The design is pretty direct and clean. Of course, it follows MDL2 (Modern Design Language 2), which is Microsoft's design system used before Fluent Design.
MobileShell is composed essentially of two parts: Status bar and Navigation bar.
The status bar is where device status icons are, like wifi/cellular signal strength, battery
charge, Bluetooth, notifications, etc... Pressing on any area will open Action Center.
The navigation bar has basically 3 buttons: back, windows and search. Pressing back will
navigate back in the currently opened app, holding it will open Task View.
Pressing the Windows logo will toggle start menu visibility. Pressing search will open Windows
Search (Cortana on older versions) ready for your queries.
Shell in action
Limitations
Due to some limitations (that I managed to overcome in Dynamic Shell) some options weren't viable for me. For example, you couldn't swipe from up to down to open the action center nor swipe down to up to hide/show the navigation bar.
Download
The project is open-source so you can find it on Github. You can also download it ready-to-use from the Microsoft Store.
BONUS: I was interviewed about MobileShell and WoA (in Italian).
BONUS 2: I made some design concepts in mid-2019 for a hypothetical MobileShell final release. To make it short, everything was swipe-based. Anyway, this was superseded by Dynamic Shell, my next big project.