On Device Identifiers.
Mere hours after pressing ‘Publish’ on the previous mini-article concerning walled gardens, an article on TechCrunch, this morning, clarified the situation we have more or less been suspecting for a while now: that Apple, after deprecating UDIDs (one of the things they truly did well in iOS from the beginning), they will start rejecting apps after the backlash caused by lawsuits, noise and a few rogue developers that seemed keen to take advantage of their users and use their private information in ways they didn’t agree (and which are illegal in more ways than one).
The situation with unique device identifiers is an important one. On one hand, user privacy should be the number one concern of platform owners/builders like Apple, Google and Microsoft. It isn’t, for their software can do pretty much whatever it wants with the users’ private information, as we have seen several times these past few years. On the other, developers have many uses for an immutable, unique identifier for devices; from providing metrics for their own use, understanding the patterns of use of their applications, improving ad targeting, enforcing proper use of their applications and communities among others. Of course, it can also be a tool aiding in unsolicited tracking and profiling of users, of a range of personal information violations etc.
When Google came out with Android, they failed to provide any sort of unique device identifier of any significance to their developer community. They did provide several ways for developers to get some seemingly unique identifier, but those were easily modifiable, sometimes were not set at all or set to the same value across all devices sold by an OEM. In addition they would get reset after a factory wipe, etc. Developers resorted to DIY identifiers, scoured and composed from several unique component identifiers available to them by the system, such as the IMEI in phone devices, or the MAC address of the WiFi network interface in others. Then Google released Android 2.3 which included a unique identifier which, while better than the previous ones, was still not 100% robust.
Microsoft has belatedly joined the new-walled-garden era, first with Windows Phone 7 and now with Windows 8. The ‘new’ API and model for applications, Metro, goes one step further by not providing any single unique device identification capability to developers (there are some exceptions, but they are truly exceptional and as of right now undocumented). The only thing close to user/device authentication is ‘Microsoft Account’ (formerly Windows Live, Passport etc. etc.) integration which is probably useless for 99% of the cross-platform applications available out there, that have a need for some sort of unique identification of their users/devices.
It’s the permissions stupid.
The whole situation boils down to botched design in terms of permission control, abuse by advertising, analytics and developers and extremely late regulatory and social reaction to the above, perhaps combined with a pretty simple way to raise barriers to entry to the competition while ‘solving’ the issue of privacy. All platforms have some sort of privacy/permission control, but none have a good one. Android has a pretty comprehensive permission system that assumes that before installing an application each user bothers to read a silly list of permissions (many of which they will probably not understand) and once they accept they will perpetually want to grant all those permissions to said application. There is no fine grained permission control post installation, no possibility to grant or revoke individual permissions to applications before they are launched (something like “I would like to allow App X to use my network connection, but not my location or my address book data”). iOS is also similarly badly designed: there is no explicit permission asked or required for using the network connection, a slew of personal data, several APIs, storage etc., except for location, where iOS does a much better job than Android, probably because of the high-profile exposure that their data-collection ‘functionality’ took a few years ago. At the same time, both platforms actively transmit information gathered by your device, be it nearby BSSIDs (the identifiers of wifi networks, akin to ethernet MAC addresses) or Cell IDs (the unique identifiers of nearby cellular transmitter/antennae) so that they improve their ‘network-based’ geolocation service. Google fares better in this respect, as they allow you to disable this; Apple doesn’t, as far as I know.
Then comes Microsoft, the ailing software behemoth that only recently decided that Balmer’s rhetoric about the iPhone’s failings, the iPad not gaining any significant traction etc. was totally wrong after all, and that they should jump on the tablet bandwagon, not in the way they’ve been trying to do for about a decade, but the way Apple did with their own version of a walled garden, doing away with the desktop paradigm and providing a dumbed down, simpler interface that does away with compatibility, file-systems etc and uses a locked down, app store/marketplace based model to ensure software legitimacy and boost profits. So Windows Phone 7 and Windows 8 provide new sets of APIs and a new ‘application environment’ called Metro. In the Windows 8 version, the æsthetics borrow much more than its name from Windows Phone 7, the company’s revamped operating system for mobile phones that, while a decent effort, doesn’t seem to be doing that great on the market. Metro on Windows 8, however, is not a finished product by any means, and probably won’t be ‘finished’ (that is of a sufficiently high quality) until Windows 9 is released in a few years from now. Metro on Windows 8 also has permissions, like Android, but does away with unique device identifiers and any sort of meaningful API to get any sort of replacement of one. It also allows the user to revoke a permission (say, for the location), but only after the application has be executed, which kind of defeats the purpose.
My experience with the ‘next-generation’ platforms I have programmed on until now strongly suggests that the companies and people designing them have no idea about the implications of their work. They are experimenting, releasing APIs, platforms and products without thinking them through, or the impact their software has on the users, developers building applications using them or the overall social effect of their design decisions. In the case of Android, many more developers have access to IMEIs, MAC addresses and other, arguably much more sensitive information about devices and their users than they would have, had Google paid some attention and provided a unique, immutable pseudo-random unique device identifier from day one. It is also surprising how bad their permissions system is, given that they at least went through the trouble of designing one in the first place. In the case of Microsoft, the complete lack of such a mechanism, may eventually play its part in hurting the company’s efforts to enter the game (they already are extremely late). And finally, Apple, the market leader that did so many things right in the first place, is risking pissing off everybody from small independent companies that helped build the platform, to its greatest non-platform owning competitors that can see through the excuse of legal heat from regulators and the government, their hypocrisy on protecting the users’ privacy and who may call their action as an excuse to block them out of their platform. At the end of the day, the three big players in this market still get all your information, and their expansion into advertising, mobile payments, e-commerce and every single part of the software ecosystem possible means that they have the greatest incentive to (ab)use it.
In the end, all of the privacy problems that location, unique device identification and access to other personal information may give rise to are easily solvable by a modern, smart permission system that gives the user the power to deny, revoke or grant permissions to individual applications post installation, including system software/applications, thus creating a level playing field where the user would decide what kind of access to provide to whom. That would be a clear demonstration, on the platform owners’ part, that they truly care about users’ privacy and not just creating barriers to entry to the competition and their bottom line.
Bing and OpenStreetMap
Bing, Microsoft’s portal/search/mapping service has announced that they will start providing OpenStreetMap (OSM) data, as an optional layer, in Bing Maps. OSM data will be downloaded from Microsoft’s fast Azure CDN, as opposed to OSM’s ‘slow’ servers.
Now, there’s nothing wrong with Microsoft using OpenStreetMap data. That’s why it’s Open. But then again, I am surprised how Microsoft can be so obtuse as to not give something back to OpenStreetMap, be it in technical services, financial support or just mapping data — as a token of appreciation for their work. Yahoo did, since 2006, when they allowed OSM to use their (somewhat dated) aerial photography to enrich the database. Many organisations, including Google and Multimap, have in one way or another supported OSM, in parallel with their own commercial mapping activity. Countless smaller organisations and individuals, including us, contribute to OSM whenever possible (I first wrote about OSM here, in late 2007).
On the other hand, Microsoft, one of the world’s largest corporations and — arguably — a leading ambassador of mediocrity — both technically and in terms of marketing — suffices to an announcement that they’ll make use of OSM data in their product, without giving back anything. Clearly because they don’t have to. Also because they, most probably, fail to understand what ‘community’ means. Most certainly because they don’t realise how good any support to OSM, be it technical, financial or just in terms of data, like Yahoo did some years ago, would do to their tarnished public image and their dwindling mindshare among the people that matter, both within the industry and beyond. Quite sad as their support would probably mean a lot to both OSM and Microsoft in its effort to redefine itself in the post-PC era.
Microsoft Courier.
If its anything like the demo video Microsoft’s Courier is the closest device I’ve seen to Apple’s — now classic — demonstration entitled the Knowledge Navigator. See the resemblance?
From the few images and videos around, the device seems beautiful, but that’s not the point; as the Mac and then the iPhone have demonstrated, it’s all about the software and Courier seems to have a great combination of writing recognition using a stylus, a great touch user interface including multi-touch support for hand gestures and a great visual and ergonomic user experience paradigm to manage it all.
Most of the concepts and paradigms found in the Courier were introduced by Apple, yet Apple recently introduced the iPad, a device definitely more limited — from what we can tell without having used either — than Courier1. Apple introduced a great ‘touch’ interface with the Newton and then redefined the whole industry with the iPhone. Apple Inc., the pioneer, is effectively doing all the applied research work for Microsoft — something I’ve also argued in earlier posts; concepts that the company comes up with and realises in the form of amazing products are, a few short years later, found — sometimes successfully, others in more kitsch, mediocre and definitely tasteless versions of their former self — in Microsoft products and technologies. At the same time, the one, single segment where Microsoft is truly and firmly leading the pack is basic research, the kind of stuff that is high risk, that may not lead to profit in the next five years, the kind of thing that costs a lot, that startups don’t have the money, need or desire to do, the kind of thing that idiots waving their MBAs would probably dismiss without a second thought, but — ultimately — the kind of stuff that changes technology and as a consequence the world we live in.
If the Courier is anything like what we see in the video (see below) then I think they’re on to a great product and I’m very interested in seeing how it’s going to play out between them, the various Android and Chrome OS devices coming out soon and of course Apple, the company that everyone uses as a point of reference and that which will most probably will continue to surprise us all in the coming decade.
1. Of course Courier is merely a demonstration while the iPad is a real device hitting the Apple Store[s] very soon.
Æsthetics, Usability and Determining Who’s Boss.
Æsthetics and usability go hand in hand. Because many people are visual beings, they function better when they work in a beautiful environment. And that extends to computing. So those two go together.
In typography this is pretty obvious whenever you’ve got to use (even for a short while) a Windows machine: Cleartype, now the default anti-aliasing technique employed by Microsoft, is a hideous, ugly and largely unusable (to me at least) hinting/anti-aliasing technique used by Redmond that’s supposed to make text more legible. I’m writing ‘supposed’ because it doesn’t (at least for me); it never did, but in the process it does succeed into making text look extremely ugly.
What’s surprising is not that Microsoft is not ‘getting’ it. No, that’s pretty well known; it’s no accident that Apple has gone with a much more reasonable approach in OS X (which is, to my eyes, equally legible, but far more beautiful). Which is why you can actually have far superior hinting and still retain the original glyphs, as is evidenced by Adobe’s Reader. Which is why even freetype provides excellent anti-aliasing [even if it's still bugridden and at the same time many linux distributions insist on turning on full-hinting, probably the worst choice they could make].
What is really surprising here is this:
Microsoft Office and Internet Explorer will default in some cases to using ClearType rendering. Some applications that use fonts tuned for ClearType and not bi-level rendering may choose ClearType rendering to maintain the benefits of the font designs. Some applications need higher precision glyph widths like sub-pixel positioning or “natural width ClearType,” and would reflow if they were changed to bi-level or grayscale rendering. Other applications like Adobe Reader have their own built-in text rendering engine that is independent of the Windows graphics platforms. Likewise, platforms like Java on Windows also use their own rendering techniques.
Ok, so you can have applications that have their own rendering engines and don’t want to do anything with ClearType (understandable). But having everyday applications such as Internet Explorer or Office applications being capable of overriding user preferences, only because Microsoft insists on doing simple things in such a complex, backwards manner is perplexing. It’s one thing being clueless, inept, having an ingrained, institutional one might say, sense of kitsch æsthetics, creating fonts for a totally inferior technology and in the process creating a bunch of problems throughout your platform and it’s a wholly different thing when those things turn into an inability to honour user preferences. Totally mad design decisions and a poor system design on the whole.
Having said that, up until lately Apple had its fair share of problems with typography on OS X (incomplete support for non-roman characters, OpenType issues, etc.) and linux is in a laughable state with pango, fontconfig and friends failing to provide a solid foundation that would support high-end uses in the publishing industry (a nice example would be the total clusterfuck that results when you try to use commercial fonts with many styles). But at least there no one pretends that they know better; they move forward, try and fix what’s wrong and create better software; Microsoft, on the other hand, seems to be doing exactly the opposite, at least as far as typography is concerned.
I’m not sure if this is a political stunt by Microsoft, or if they are really going to go forward with it. If they are it is insane: By not giving Europeans the capability to upgrade their operating system, like it has done for more than twenty years and at the same time trying to put the blame on the European Commission for doing so (while not providing any specific reasons for doing so), Microsoft is really shooting itself in the foot; from a PR point of view it’s a pretty bad strategy that’s almost certainly going to backfire. At any rate, I feel so sorry for all those people that are going to want to upgrade from a poor OS like Vista to a mediocre one like Windows 7 and having to do a full reinstall [let alone pay the premium of getting the full version].
Straight from Microsoft’s Rulebook.
Apple’s rumoured upcoming software crippling ‘segmentation’ for the iPhone stinks of Microsoft’s ‘Windows Vista SKU’ nastiness. But then again Apple is no stranger to controversy or bad decisions.
Just The Same, If Not Worse
The OLPC project started with the best intentions of bright people. It got hyped beyond reason, first by some of its leaders (viz. Negroponte), then by gullible politicians and — at another level — by gullible idealists that failed to see what was in front of them.
Throughout its history the OLPC was flawed; flawed relationships with corporations, flawed marketing, flawed software. The intentions may have been great, when Negroponte rejected Steve Jobs offer for Mac OS X, because ‘it was not open source’, but a few years down the road, with the OLPC project laying off half of its staff, with Sugar having become something different entirely and many of the key people behind the original laptop out of the project, with Windows XP being targeted as the de facto OS for the second version of the laptop, due in some years I guess, it seems ironic, it seems stupid, but most importantly it proves that the OLPC XO-2 will be nothing if not just another ‘netbook’ device, with no particular focus on education, the open source and free culture/information movements and so on.
»
Mary Jo Foley, Microsoftphile and tech writer (since the company’s early years) writes, when asked about the future of Microsoft’s leadership once Bill Gates retires:
There’s always been this dichotomy between “Bill’s guys” and “Steve’s guys.” Steve’s guys have MBAs and their roots are in sales. Bill’s guys have been traditional technologists. The people who are more like Steve will probably get more power and will run the show, so I wonder who’s going to be the tech champion for Bill’s guys. I think that’s going to be a big cultural and noticeable change once Gates is out from his day-to-day duties.
That’s funny. Microsoft has been pretty much excellent in marketing and sales for many years, but mediocre (or even poor in some cases) in engineering and technology. If “Bill’s guys” have been running the show all these years, how will “Steve’s guys” help Microsoft overcome its pretty obvious technological problems without squandering its strategy?
I’m guessing if Steve Ballmer is going to stay — which he probably is — Microsoft will probably move a bit faster, but still quite gradually, towards irrelevance. It’s not salesmen and marketers that make or break a company like this. It’s not technologists either. It’s visionaries, pioneers and innovators. Microsoft never really had many of those in positions of power, and it desperately needs them to compete in today’s market. Innovation and a solid vision for the future have always been at the fringes of corporate policy at Microsoft or in Bill Gates’ books and lectures. Sadly, I doubt the ‘MBAs’ and ‘salespeople’ that are going to run the show in Redmond for the next few years have any clue as to what any of that mean.


