2012.03.25

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.

comments

2011.10.06

Goodbye Steve.

Steve Jobs RIPIt took less than an hour before most of the world’s mainstream (and alternative) media posted their canned obituaries. This time it’s for Steve Jobs; his death a long time coming. Feared, loathed, inspiring and adored like few of his contemporaries, he led a life full of contradiction; from his early Buddhist ideas and bohème life, his romanticism and artistic side to product design to his unflinching strategy and vision, his ruthless management style, his arrogance, his passion and obsession with quality and detail, his epic turnaround of a company on the brink of bankruptcy to the most successful company on this planet. In a market of diminishing margins, ever deteriorating quality, commoditisation and the unbearable mediocrity of the PC industry, he dared to think different [sic] and proved that there is a better way.

Steve Jobs was not a saint, a ‘genius’ or a ‘brilliant’ inventor as many like to call him. His policies, his ideas, his ego, his intelligence were not unmatched when considered individually. He was, however, unique in that he combined all those traits that make for legendary leadership, exceptional performance and product creation: an extremely charismatic, visionary man with just the right amount of wit, vision, passion and stubbornness to effect significant change whatever he put his mind to. He had a keen eye and an obsession for quality, lovable and inspiring products and the strength of character to go above and beyond the protocols and limits dictated by the market to create and sell them. He also had an uncanny ability to gather great people around him to execute his strategy and vision; people that are, in the end, those whose work embodies all that is Apple, all that is Pixar. And he delivered as leader of a company more so than almost anyone in the past fifty years. And for that, and the products and services he helped create — the progress he seemingly forced upon the all encompassing, yet pathetic industry that computing has become — he will be sorely missed. For, sooner or later, in a world so dependent on technology, his absence will be felt, well beyond Apple and its community.

Goodbye Steve.

Steve Jobs image courtesy of Apple Inc.

1 comments

2011.04.21

Location and Privacy

Yesterday a story about Apple’s unauthorised logging of timestamped location data on iPhones running iOS 4.x versions of the system software was published in several articles in technical and mainstream media worldwide. This is important, not only because of the ubiquity of location-based services available to consumers worldwide and the significance of location in safeguarding the privacy of individuals, but also because of the differences in legislation in different regions, the lack of transparency in the organisations that do gather data and the complete ignorance of those users whose data is being collected both with respect to the fact itself and the uses that they undergo.

When we first introduced AthensBook, in early 2009, we went through the ‘hassle’ of researching (with the assistance of a small legal team that advise us on legal issues) the whole topic of privacy and location in Greece and the European Union. We also observed what manufacturers, be it hardware or system software, do. To our surprise we realised the following:

  • Manufacturers implicitly (and, in some cases, explicitly) ask for the users’ permission to use their location for one reason or another. Google, in its Android operating system, for example, asks for the user’s consent when he or she tries to enable Wifi/Cell-ID-based positioning. The message states that the service will anonymously gather data even when no applications make use of location services. This is Google’s way of maintaining and improving its cell triangulation and BSSID databases, important features of most modern smartphones that vastly accelerate the process positioning and, along with A-GPS, provide extremely accurate location data that would be impossible with off-line GPS devices of that size and power profile. There is no guarantee on what the company will do with the data, of course.
  • People have no idea that this is happening, in most cases. We’ve had Android users ask us about the data AthensBook gathers from its users and seeming very concerned about their location being ‘sent’ to a remote server. Those same people were totally oblivious of the kind of data Google is gathering from their devices all the time, despite the fact that they agreed to it when they enabled location services on their phone.
  • People are most likely to trust large corporations and be wary of smaller startups making use of location data, even if the latter have a published, clear and transparent privacy policy and terms of use.
  • Even within the EU there are varying levels of legislative control over how location is classified and what can application service providers can do with it.

There seems to be widespread ignorance among the population about what their devices can do, what the companies that manufacture and sell them do with their data and what applications do. It is easy to agree to a long text titled ‘Terms of Use’ or ‘Privacy Policy’ without reading it, but most of the time people are totally clueless about their rights and whether they have voluntarily gave them up when they agreed to use Google’s or Apple’s latest and greatest gadget.
»

3 comments

2010.10.25

The Saga Called Java and the Mac.

The Macintosh has always been unique in terms of software, ever since it came out in 1984. From the now almost disappeared ‘Resource Fork’ of MFS/HFS, the pascal slant of Mac OS releases up until the early 1990s, the multiple architectural and design transitions, the Carbon/Cocoa duality of early Mac OS X, ‘Classic’ and ‘Rosetta’, the irrelevant HIG, to the numerous, continuous self-contradicting choices that Apple has kept making throughout its development in the past twelve or so years that Jobs and Co. returned to Cupertino.

Apple has, ever since the mid-1990s had decent support for Java on its platform. For a long time the company has provided its own versions of the JRE/JDK. When Mac OS X came out the reason was simple: Sun wasn’t going to do it, it was already burdened with a number of versions and the post-bubble era was a tough time for the company, so Macintosh support was out of the question. In the early years of Mac OS, say until 2004, Java was a rising star in the OS X community; Apple was doing an relatively good job providing recent-enough versions of the JRE/JDK for its computers and most people were happy. The ‘Java bridge’ and the nascent — for Macheads that is; the technology was much older and extremely well-designed, for its time — Cocoa framework allowed beautiful, usable rich Java applications to be written for OS X, at a time when SWT was somewhat immature and Swing was, well.. Swing.

Then some people at Apple decided that Objective-C was worth a revamp, it started working on Objective-C 2.0, which gave ‘managed code’ a new meaning among Mac developers, and — in the process — dropped the Java bridge; Jobs didn’t want people to code rich Java apps with Cocoa widgets on the Mac anymore, in the same way he didn’t want anyone to keep writing (let alone start writing) applications using the Carbon framework. Cocoa and Objective-C was the way.

The end of quasi-decent Java on the Mac was heading our way at breakneck speeds, but few would expect that Apple would stop providing newer versions of Java for its computers, without someone else picking up the task of doing so. Or would they?
»

comments

2010.06.25

A Mobile Phone. An Internet Communicator. An iPod. Great Design, Bad Engineering

When Steve Jobs announced the iPhone 4, admittedly a jaw dropping design of a mobile device, he talked about its antenna, part of the chassis of the device, calling it ‘really cool engineering’. What Steve Jobs, meant to say was ‘great design’, for the iPhone 4 antennæ are likely one of the worst engineering examples possible in a mobile device. It’s hard to have accurate explanations without circuit schematics — or an actual iPhone 4 — but touching the antenna might very well ‘detune’ it — fingers act as picofarad capacitors and for those frequencies they can mess things up considerably for the driving circuits; touching both antennæ might also have unpredictable results to both subsystems of the iPhone, although the issues seem to be there even when you simply touch the ‘left’ antenna.

It is bewildering why Apple engineering didn’t figure this out, but it wouldn’t be the first time they mess up something big like that. Apple has undoubtedly great engineering and amazing industrial design, yet being a pioneer comes at an expense and Apple has already dropped the ball too many times already in the past ten years: the flakey Titanium Powerbook coating, the original iPod battery charging issue, the unbelievable PowerMac G4 MDD noise, the pitting issues on early Aluminium Powerbooks, various issues (and subsequent recalls) with iBook motherboards, the PowerMac G5 Quad coolant leaks, the flakey white Macbook coating among others.

The list goes on, but one thing is certain: the iPhone 4 is a world-class device that will most probably succeed no matter what. Unless annoyed users become a really loud nuissance and hurt sales, Jobs and Co. will quietly fix it for iPhone 5 and those using the iPhone 4 will have to suffice to using a malfunctioning, badly engineered iPhone 4 and a blunt recommendation to “not hold it this way or get a case”. Sad, but that’s how Apple has been operating for years, even when it was much weaker financially, so there’s no surprise there.

Update: This could be due to a few faulty batches, as some people have reported that they don’t have any issues with their new iPhone 4s. It could also, in theory, be remedied through smart software management of the radios.

Update 2: Apple has responded! They claim it was a software error in the signal strength calculation that has been identified and corrected. If that’s the case it’s certainly good news for iPhone 4 owners. Sadly, I don’t think it’s a simple as they make it out to be — there seems to be a genuine, albeit minor, flaw in the hardware design.

2 comments

2010.05.13

Bye bye C4

I came to know of C4 after finding online videos from some of the talks there in 2007. Living in an — almost bankrupt financially, intellectually and creatively — land, the C4 videos brought a glitter of hope; like Google Video lectures, Microsoft’s MURL (now ResearchChannel), C4 presented a community, a world so rare in Hellas; interesting people, knowledgeable people, smart people working with fascinating technology, talking about their work and actually having interesting things to say. This was no ‘ordinary’ commercial conference; not an academic exercise in intellectual masturbation. It was hands-on, to the point and pleasant.

The next year we were starting AthensBook and Geo|Ads and I looked for videos of that year’s C4 (C4[2]), but they were nowhere to be found. Yet C4 continued and I had almost forgotten about it until earlier today when my customary visit to my feed reader informed me that C4 was no more; the reason: Apple’s continued world-domination-driven policy of restricting developer freedom, enforcing its own terms down their customers’ throats, but more importantly how the latter effectively accept it.

And while I — too — am concerned about the direction Apple has taken in the past few years (especially when contrasted with their policy, image and general position a decade ago, when they were weak and trying to restore their financial condition and technical standing in the market), I am not quite certain that discontinuing C4 is really helpful for the Mac, iPhone or wider software development community, or that it will have any significant impact in Apple’s decision making in the future.

2 comments

2010.03.06

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.

4 comments

2010.01.06

Nexus One. A Message to the World from Mountain View.

The Nexus OneIt must have been sometime near mid-December when I first actually saw and used — albeit briefly — a Nexus One. A Googler, the owner, graciously let me use it for a bit after receiving it as part of the Google corporate gift that the device got — more a publicity stunt rather than an actual trial in my opinion. More encounters with the phone, again owned by friends or acquaintances working for Google, let me get a clearer look at what widely became an online sensation over the holiday season, generating too much buzz, well before sites like techcrunch, gizmodo, engadget et al. started publishing early, unofficial reviews.

And what I saw was good, even great in some respects, although far from what Google tries to make it seem. The Nexus One is far from just another smartphone; it is a message and a demonstration. A message from Google to the telcos, that the company is seeking a departure from the status quo. A demonstration, to everyone, but mostly perhaps to manufacturers, and Google’s competitors, that the platform, in this crucial moment where expectations are high and the mindshare is there and the spotlight is on them, of the standard that Google is seeking with regards to device design and also regarding the control it has on the software that runs on those devices.
»

2 comments

Download Spinalonga's Podsafe rock music for your podcast. From Athens, Greece, with love.'