We already know quite a lot about Windows Phone 7, but there’s also a boatload of stuff we do not yet know. Dutch (oh yeah) technology news website Tweakers.net managed to get hold of a number of confidential internal Microsoft documents [Dutch] regarding Windows Phone 7, and they contain some intriguing stuff.
It’s called the Architect Guide for Windows Phone 7, and it’s from February 2010, so it’s likely some of these things will change between then and later this year, when the first devices will ship. The Guide contains a lot of information we nerds like to have, so let’s take a look.
As we already deduced, Windows Phone 7 runs on top of Windows CE 6.0, which has been out for a while but wasn’t used yet by Windows Mobile. It’s a major leap forward compared to previous versions of Windows CE. The shell and application platform reside in user space, while the kernel, drivers, file systems, network, graphics/rendering, and the phone update system run in kernel space. Since we’re talking a 32bit operating system, it can only address 4GB of memory – 2GB for processes, 2GB for the kernel.
Windows Phone 7 employs Direct3D 11 for 3D graphics – the whole nine yards. This is not some cut-down mobile variant, but the real thing, exactly the same as employed on the desktop. While Microsoft supplies the framework, phone OEMs will have to write the 2D and 3D drivers for their hardware.
Two file systems are supported by Microsoft in Windows Phone 7: IMGFS and TexFAT. IMGFS was already in use by previous versions, and holds the actual system and operating system files. TexFAT is an extended version of the FAT file system capable of addressing files larger than 4GB, and is used to store user files. Microsoft has opted for a unified storage approach, which means that applications and/or users can not distinguish between files in local storage or on a memory card. While this increases simplicity, it also means that crucial files may be stored on a memory card – removing said card will cause the phone to be restricted to making emergency calls only.
The Guide also reveals the specifics of carrier/OEM modifications. While previous versions allowed OEMs to pretty much alter the entire operating system, those days are gone now. They may alter the connection icons and carrier logo, supply wallpapers, and change the boot screen. They may also add bookmarks, change the default search engine (yes), and install a maximum of 6 applications in the ROM. These applications must be free – no trial software.
Updates occur using the Phone Update service, and even carrier updates (e.g., new icons or whatever) must be approved by and go through Microsoft’s update service. Small updates will occur over-the-air, while larger updates will use the Zune software and a USB cable.
These applications must be free – no trial software.
While I don’t like Microsoft I do have to admit they’ve thought things out pretty well with Windows Phone 7; carriers won’t be able to anymore disable some features of the OS just so they can charge their users to get those features enabled, carriers can’t anymore install trial-/crapware on them, and what’s important for the end-users is that now Windows Phone 7 experience should be more-or-less the same regardless of the carrier.
Microsoft really wants to provide a consistent user experience and they seem to be thinking about end-user comfortability. That’s very positive
Well as we’ve seen with the PC OEM space, there is absolutely no depth that OEM manufacturers will sink to in crippling people’s computers. And when they do overload it with crap, they’ll even charge you to remove the crap.
Yup, I applaud Microsoft with this move. The question is if carriers will be so hot to adopt it too, rather than move to something they can abuse easier such as Android.
If you want to get early access to new versions of Android or you want a Google logo or ad money than Android cannot be abused easily.
The FOSS version however, sure thing, you can completely fuck that one up, no problem.
It’s very Apple. Heh, yeah that was troll-like. But what I think is that MS is taking note of the things that might have made Apple successful (the tight-grip they maintain on their hardware/software). If MS plays it right, (an in my view they have already taken a few leaps and bounds over the past year with 7 and CE 6) they can reap some of the benefits Apple has with a consistent and somewhat controlled UI/product.
Also, as phone OSes and UIs become more complex (in their effort to be more simple to use) I think it is probably beneficial for some control to be exerted over what the OS can run on to be able to insure a good user experience.
If it’s true that neither people nor apps can distinguish between internal and card memory, then that’s a very bad decision. But I suspect that’s not what “unified file system” really means.
*nix has had a unified file system for decades, but that just means everything can be accessed via a straight-line path – e.g., “/” is the root of the internal memory (boot device), “/home/ricegf” is my home directory, and “/media/sd” is the root of the card memory. But you can easily tell if you’re writing to internal or card memory by looking for “/media” in the path.
Surely Microsoft has adopted something similar. Surely.
Unless the card is mounted somewhere else you mean?
The single root file system and all that mounting is a pain…
As opposed to what, drive letters? It isn’t as if the user would be exposed to the internal mechanics of device mounting anyway. Most modern oses except Windows use this mounting approach, and even Windows is capable of it though it’s not used by default.
I hope Microsoft means the SD card will simply be mounted somewhere (not that the user will know where, they’ll most likely just see a little sd card icon). Having no idea what ends up on the card and what is in the internal memory sounds like a recipe for disaster, especially since the idea of removeable cards is that you can know what content is on which card and swap them out when you wish. As dumb as Microsoft has been in the past, I can’t see them doing something *that* stupid.
Edited 2010-04-20 12:10 UTC
I think you are probably right. And yes, I love that I can mount my drives in a folder…
You mean inserting a card or USB stick and waiting 5 seconds for a file browser to open automatically is a pain? How so?
Or do you mean the last time you tried Linux in 1999, you had to type a mount command? In which case, having to upgrade Windows 95 to 95 SE just to access my USB drive is really a pain!
I always mount my filesystems manually (apart from whats in /etc/fstab obviously). When I plug my mp3 player in the usb port to recharge it doesn’t necessarily mean I want access the files on it…
why just not unmount it when the drive is mounted by the automounter. I know kde can show the drive without mounting it (dunno about nautilus).
Sure beats drive letters any day of the week. Not that you usually even have to worry about where something is mounted on a modern distro
What’s really wrong with drive letters? Other than the fact that there are only 26 letters in the alphabet, they’re pretty easy to understand for a typical user.
If you’re advanced you can make a drive appear in any (empty) directory using junctions or symlinks, so it’s possible to do it otherwise, but I don’t see why people scoff so easily at drive letters.
Because you’re never certain which drive letter some of your media will appear under unless you explicitly assign it. An example for you: I was loading XP on to someone’s system using an auto-install disk. This computer had an integrated sd/mmc card reader as many do, there was no media in the drive. Windows installed ok, or so I thought, but then I rebooted and come to find that Windows ended up assigning the i: drive to the internal hard disk for some odd reason. It had assigned the sd reader to c:, however, Windows still thought it had been installed to c:. You can guess what happened then, I think.
With any modern mounting-based os, you know where the automount is going to place your volumes. In Linux, for example, it’s /media/VolumeName (where VolumeName is the name of the filesystem). On OS X it’s /Volumes/VolumeName, on (Open)Solaris it’s /rmdisk/VolumeName, etc. There’s no questioning where things are going to end up, unlike with drive letters which Windows has an annoying habbit of swapping around without warning unless you explicitly go into diskpart and assign one permanently.
It’s time for drive letters to die the death they’ve deserved for twenty years. It was a fine concept when all you had to worry about was one or two floppy drives and one internal hard drive, but it has no place in modern computing. Just one of the endless backward-compatibility bits of cruft in Windows.
Edit: Come to think of it, I just remembered one other os that still uses drive letters: Symbian.
Edited 2010-04-20 18:57 UTC
What is TextFAT? Isn’t it “exFAT” instead?
I was thinking the same thing.
I’ve heard of ExFAT, never TextFAT
There are a few strange things in the article.
Another is the ‘user space’ and ‘kernel space’ monikers. You very rarely hear this in the Windows world, they’re unix terms.
Microsoft uses user mode and kernel mode. I’ve never seen the ‘space’ word used in official MS documents.
I prefer to use those terms. They make more sense than “mode” in my eyes.
I don’t know about unix but the term ‘space’ makes no sense in the world of NT.
The best I can come up with are the virtual address spaces, OS and process. But the kernel has access to the process address space anyway so it’s not really unique.
The processor runs 2 modes. The restricted mode being user mode and the unrestricted mode being kernel mode. Also known as ring 3 and ring 0.
This is the reason for these terms in windows.
Yea, it is ExFAT. It is not the only inaccurate detail.
-FAT32 can cover more than 4gb, with LBA on, it can do a good job even on 320gb drives.
-The file size limit is 4gb, not storage limit
-The file count limit is 4 billion
-The minimal file size is drivesize in bit * (1/4 billion)
Other wise, the only other real limitations of FAT is the lack of security and file system automatic recovery.
It’s not exFAT – it’s actually texFAT, where the “t” stands for transactional.
http://en.wikipedia.org/wiki/Transaction-Safe_FAT_File_System
Did you just go type that into Wikipedia, Thom?
Kidding of course.
Fair though but still, isn’t it about time MS put FAT to bed already.
Even with the additional transaction features (which don’t even apply to files copied from Windows, as the Wikipedia article suggests: http://en.wikipedia.org/wiki/Transaction-Safe_FAT_File_System#Limit… ), texFAT is still behind many other file systems optimised and/or created specifically with this kind of media in mind.
When so many advances have been made to portable devices and storage solutions over the many years – it’s such a shame to see that we’re still crippling our hardware with a 30+ year old file system.
I mean, if backwards compatibility was really that big of an issue (heaven forbid you include a file system driver CD with the phone instead of that woeful ActiveSync crapware) then why not push “pocketNTFS” (or whatever) with Win7 installs and XP/Vista service packs.
Sometimes I really do think Microsoft have a deep-seated phobia with pushing new technology and decommissioning the old.
Sorry for the rant, but I really do wish FAT would die already.
Edited 2010-04-20 16:24 UTC
On top of that, FAT is not really a good fit for SSD and Flash memory, it does not do any aging block relocation or moving “static in time” files to the most used blocks, so they can rest for a while.
By the way, just to put my original comment in context, the original file system was TextFAT, the article was edited.
Edited 2010-04-20 19:15 UTC
Well, I would say that “crippled” is a bit of an over-statement. It’s not like FAT partitions slowly erode the boundary between this world and the Warp by their very existence. I’d be pretty surprised if, say, either the I/O rates or the file-system longevity was more than ten-percent difference between texFAT and a file-system specifically designed for flash media.
And I’ve had enough fun trying to share volumes (either hard-disk partitions, USB drives or stand-alone devices that mount as hard-drives) between Linux and Windows, without having to worry about handling some new, obscure, MS-authored and not-well-supported-in-Linux file-system thrown into the mix.
If the rest of IT lived by the “why bother getting the most out of our hardware”, we’d still be entering BASIC instructions into our PCs to operate it.
The question should be “why SHOULDN’T we/MS be using more advanced file systems when we know that FAT is severely out-dated?”
But that’s exactly what texFAT is. It’s an MS file system that not even the Windows 7 supports.
The moment you copy across a file from Windows NT to Windows Phone you’ll lose all the extended features of texFAT on those files. This is quite a serious short coming when you think about how much data is likely copied directly from PCs rather than downloaded (eg music, movies, firmware upgrades(!) and so on).
So when not even Microsoft’s own desktops properly support this file system, it leaves you wondering what the whole point is.
To me, it would have made more sense to have a small partition on the phones firmware that had drivers for (and at the very least) Windows to support their flash fs (whether they choose to create a propitiatory one or utilise one of the numerous others out there).
Okey, firstly you can’t access filesystem on WP7 phones, NEVER! All content you move to WP7 is synced, not copied! It makes sense on security point and makes piracy much harder. I fail to see what NTFS information you would need on files at phone, access controls???
And we all know how well ActiveSync worked out in Windows Mobile.
How about journaling (i know texFAT has some architecture there, but not anything as sophisticated) and compression?
But more importantly, what’s wrong with JFFS and YAFFS? MS don’t even need to port NTFS as YAFFS is already available for Windows CE and is purpose built for flash memory.
However why use existing technology when you can reinvent the wheel – badly.
I give this answer only ones and it applies all those freetards always showing that “ooh we have this GPL shit that does same, use it!”.
1) Microsoft won’t have control.
2) Microsoft don’t have experience or experts.
3) Microsoft already have similiar technic.
4) It might not fit on this special purpose.
5) F U, we are making this!
1/ what the hell does licences have to do with this discussion? I couldn’t care less what licence is used so long as drivers are freely availably. In fact, the vast majorety of my personal data is held on non-GPL file systems – so I’m practicing what I preach when I state that I don’t give a toss about software licencing (though obviously I do care about legal distribution)
2/ Nobody was showing off. It’s a discussion about files systems so I’m making comparisons. If you don’t like that then perhaps OSAlert isn’t the right forum for you.
4/ YAFFS doesn’t just do the same – it does it better. I’m simply stating that there are already better file systems out there so why rehash an out-dated fs to do a poorer job?
So build a new fs based on NTFS then – or something entirely new altogether.
All I’m asking for is a 21st Century file system for my 21st Century devices. Everything else has moved with the times except for the fs so it’s about time that was addressed too.
They’re the worlds largest software house so I find it impossible to believe that MS don’t have experts in file systems.
Yeah, it’s called texFAT and it’s out-dated. Hence this whole fraking debate.
The file systems I listed were specifically built for flash devices. In fact my whole point is that *FAT doesn’t fit this “special purpose” anymore so we need to move on.
That doesn’t even make sense.
Because BUSINESS cares licenses!! FFS pull the head out of crack seriously. If I show project manager 2 possible systems that meet requiments for file system, other one is inside house system no licensing fees or problems and other one is outside whack job with possible license fees which one he chooses? The inside job ofc. It makes sense on business mind and it’s technically enough.
Sigh, because it costs more, textFAT is based on extFAT proven technique that just works. Just show benchmarks how YAFFS is better? I don’t mean that it has more features, it doesn’t mean shit since TextFAT already meets those requirements.
Go work, seriously go work. If I give list of requirements and ask you to meet those do I want you to see build Taj Mhal or dog house if both meet requirements? They took extFAT, added missing pieces and it works. Cheap, fast and already tested in real field.
Tadaa, perhaps they have better experts than some commentor in OSAlert. Congratulations you shot yourself on foot. Besides again, learning and implementing that new FS like JFFS would take time which is MONEY.
How it is? You already said they have experts there. So they give FS expert list of stuff it needs to have and asks can they do it. They say, oh we have extFAT which would do fine, lets add bit more resiliency against power cuts and we have TextFAT.
Again how it doesn’t fit!?! All those system has more stuff that isn’t needed by phone. They don’t need complicated ACL, it already has something similiar to journaling, it doesn’t need to accessable outside device, no other coders need to have access on it, it’s fast, it’s reliable enough, it’s based widely used technique so it has less bugs and limits are already known. You already admitted that they have experts and those experts said this is fine enough so F U rest.
You’ve missed the point. The earlier posted was accusing me of singling out GPL licensed code – i wasn’t.
How? It’s already developed and ported. texFAT wasn’t.
texFAT doesn’t meet those requirements though for the reasons I’ve already stated 2 posts earlier.
And as I’ve already stated, there were already purpose built file systems available for WinCE.
It would have been less work to opt for YAFFS than to build a new fs off the back of an antiquated fs that should have been decommissioned years ago.
I said they would have experts – I didn’t say management made the right decisions based upon the advice given to them from their experts.
My experience of software development is the biggest hurdle in development is trying to explain to managers why the best option is better then their preferred option.
I’ve already reeled off a list in early posts. I’m not going to repeat myself now that someone else has joined the debate and not followed the thread through.
As per above – see earlier posts.
It’s not just a phone, it’s a mobile computing device. It’s a games console, an internet browser, an mp3 player and video player all rolled into one.
All I’m asking is a little forward thinking rather than looking backwards constantly. If you’re so sure that the phone will never have data transferred to it directly (which I can’t see being the case given there’s removable memory cards) then there is ZERO reasons to use FAT as compatibility isn’t an issue.
Oh, and one more thing, you’ve repeatedly spelt texFAT wrong. It’s “Transaction-Safe Extended FAT” not “texTFAT”. I don’t mean to be nitpicking, but you were basically accusing me of not knowing what I’m talking about whilst referring to a completely fictitious file system
Edited 2010-04-22 09:51 UTC
I wonder if all of this from Microsoft is a too little too late with all of the other offerings available today.
I don’t think they are.
I think they have a shot, simply because of who they are, to infiltrate the market. If the phones are any good, they will pick up on their own once they manage to fall into a few peoples’ hands.
That’s not a given. Good products have fallen by the wayside many times over the years. But I think if they really have changed for the better (marketing and actually getting products out there) they have a decent chance to take a chunk of the market.
Well, if this is true, I’d have to say this could be one of the worst decisions any phone OS maker has ever made. This not only sounds stupid, it sounds idiotic. The very idea of allowing memory cards is for the user to be able to switch these cards around. Otherwise why allow a MC at all, just use internal storage and be done with it. The only other reason would be to allow a lower price for the phone with small internal storage and let the user buy a MC for expanding that storage [only once] but then also comes the problem of MC end-of-life: should the MC fail, you’ll be doomed to end up with a practically unusable phone.
Yeah explains why iPhone is so unpopular. Newsflash only geeks change mem cards. I give you fine example on mem cards, I have Nokia phone with ring tone on mem card but sometimes it rings with default tone, why because the freaking mem card isn’t connected all time because slot is shit!!
Your last argument is plainly wrong, if mem card is broken it can be repaired, nothing says you need to solder mems on phone just that user can’t access them. So go repair, takes 5 minutes to replace SD card behind some warranty trap, sync data from cloud, keep taking booty pics.
Let me give you list of problems with mem cards:
Lousy connectors(Nokia example).
Shitty performance, not all cards are fast, user experience ruined.
Ever seen 50 year old man construction worker install microSD card? It’s not even comical it’s just sad.
Cloud service means you don’t need the freaking mem so much!
Did you actually read his post?
He didn’t say the iPhone was unpopular nor that internal storage wasn’t a good idea.
He only stated the whole point of a removable storage is that you can remove it. If you effectively brick your handset but removing said storage, then the whole purpose behind that specific type of storage becomes idiotic as internal storage would have been cleaner – both aesthetically (no redundant sockets) and functionally (one example being that there’s no chance of the card pinging out accidentally if the phone is dropped).
I know plenty of non-geeks that whip out the memory card to transfer data to and from PCs as it’s quicker than using sync software and (if you have SD sockets on your computer which many people do) it’s often less hassle than digging out a data cable.
Granted the vast majority of time we’re just talking about copying a few MP3s (to use a ring tones and wake up alarms) and pictures they’ve taken from the built in camera, but the fact remains that removable storage isn’t just the realm of us geeks.
In fact, talking about pictures, my computer novice girlfriend was swapping around SD cards before I was as she owned a digital camera. She coped with that fine. To her it was just like using really small floppy disks.
So while you’re right that most people wont remove their memory cards often – don’t be so quick to assume that it won’t get used at all by non-techies.