Programming and general geekiness.

Posts tagged ‘mobile’

How Apple proved the importance of app permissions

There has been a lot of outrage in the past week after it was uncovered that some iOS apps have been ‘stealing’ the data in your Address Book and sending it all to private servers. The apps, such as Path, Instagram and possibly Twitter, then presumably use this data to help to obtain new users or to guide you how to follow based on people that are already in your Address Book. I can’t really imagine that they would really need to use the data for anything else and it makes sense that you could utilize the various APIs to send lots of addresses at once so that the server could then reply with the usernames of the users in your address book. However, some of the data may be stored on the servers.

Most people’s (or Congress’) problem with this is that all of this has been happening without the direct permission of the users. Any iOS app that you install is able to access pretty much anything on the system but on the basis that Apple has already approved the app it should be OK. Because Apple obviously can’t check through all the code that an app uses it is hardly a surprise that they didn’t spot that the apps were submitting this data.

In the future apps will now have to post a message to the user telling them that the app would like to access Address Book data however it will still be technically possible to access the data anyway.

What this incident has essentially highlighted is a major flaw in the iOS security system. Android apps require specific permissions to allow code to run to do things like write to the SD card, change the wallpaper, use the camera, use the Internet and access the Address Book. Examining the Android app for Path we can see that it does request some of these permissions which are granted by the user when they install the app. This means that Google have to do a lot less work reviewing apps and it also means that Android apps are a lot more sandboxed on the device.

I should imagine that this will leave Apple in a position where they need to start implementing permissions to ensure that users remain safe because at the end of the day they can’t pick up everything by using humans to review apps.

Semi-killer apps

I’ve blogged about killer apps and the Developer-User circle before but I’d like to extend those principles a little. Each platform, in the past, has had its own killer app that has brought people to the platform. The various design apps for Mac probably got Apple started whilst Office probably got Windows going. Today we don’t really see killer apps because there are significantly less platforms than there were in the mid-late twentieth century.

I would therefore propose the idea of semi-killer or version-killer apps. Assume you developed the best app ever for iOS but you only made it available for the current version. That would be instantly useful to millions of people that had a device running the current version but it would be useless for those people running earlier devices. The killer app may have been and gone for iOS however the people that can’t run the latest version are left under two pressures: social pressure and the pressure of need.

Assuming the app was a game and all of your friends had it but you couldn’t get it you would most likely want it so that you would be pressured to upgrade to a newer device. The circle may actually continue:

Which version of Android should you code for?

According to this diagram (correct from Wikipedia as of October 3rd 2011 so misses out Ice Cream Sandwich) Android has a very wide usage share, with more people using v1.5 that v3, the latest version for tablets. But which version of Android should you code your next app for? Clearly version 4 Ice Cream Sandwich is bringing a lot of new features, but there aren’t any phones readily available with it, so the potential business isn’t great.

According to the above chart, most people are using v2.2+, so clearly developing for anything above that would give you the best business opportunity. Here is another pie chart based on the top 24 current top paid and top free apps and the minimum version of Android required:

Clearly we can see from this that most of the 48 most popular apps are designed to run on at least version 2, which does make sense because that is the version that most people are using, however supporting v1.5 upwards seems to be popular, though not required because it does not have a large market share.

Ultimately, it is probably best to use the version 2.1 SDK because it’ll mean that you are still able to take advantage of modern libraries but maintain a wide user base. I am planning on coding some Android apps soon, and I’ll probably be using this version, despite the fact that the v4 SDK looks great.

Browser Success

The above graph from Wikipedia shows the top six methods for browsing the internet: IE, Firefox, Chrome, Safari, Opera and Mobile Web. Roughly looking at these graphs we can see that there is a steady pattern: Internet Explorer is losing users, Firefox and Opera are staying steady, and Safari, Chrome and Mobile Web are gaining users, Chrome is gaining rapidly. By mid-2011 I see it as fairly likely that Internet Explorer usage will have probably dropped below 40%, and by mid-2012 Google Chrome will have over-taken both Firefox and Internet Explorer. If you’d asked me six months ago I would probably have said that by the end of 2011 IE will still be the most used, but Chrome will have more users than Firefox.

It is hardly a surprise that Internet Explorer is rapidly losing users, it is struggling to stay ahead and despite that desperate TV marketing campaigns, it is clear that Internet Explorer is on the demise, with Google sticking a Chrome ad on pretty much every Google owned site, including Google ads. Firefox is also now the most used browser in Europe, but I think one day Firefox will also die a death.

As for Safari getting more users, that can only be down to more Mac sales.

Windows 8

This past week Microsoft began to release beta versions of Windows 8 to partners to help test it and, as always, at this point the first Windows 8 screenshots began to get leaked. There had, of course, been ‘screenshots’ of Windows 8 before this point, however these were generally Photoshopped versions of Windows 7. Windows 8 is going to be different from Windows 7, with a slightly modified UI, more features coming into play and ‘apps’ however it will remain with the same major build number as Windows 7 (6.x series, same as Vista). The internet has largely agreed that Windows 8 should be expected to be released in late 2012, three years after Windows 7 – which is a fairly average release cycle for Microsoft, but release cycles have been leaked from internal Power Points that show that Microsoft are planning on releasing it then. Finally, the name is something to also consider, and whilst it is pretty much respected to be codenamed Windows 8 at the moment, and that is also what Microsoft are calling it, I would not be surprised if Microsoft change the name at some point.

Microsoft seems to have a rather peculiar habit of turning the basic UI of Windows on its head with every new release. Windows XP brought Teletubbie land in, Windows Vista brought Gothic Aero and Windows 7 made Aero nice. Windows 8 seems to use a relatively similar sort of Aero design to Windows 7 and there are few major changes to note. The taskbar is remaining relatively similar, however the User icon has been placed next to the clock in the bottom right, and this is thought to use the standard User menu and will probably provide options to Switch User, Log Off, Change Picture, etc. The Aero Basic theme is also changing too, which was previously quite flat and boring, however it now seems to be better focused for the devices it is most commonly found on, such as netbooks and other low-power PCs.

Windows 8 is also going to be more aimed at tablets, with Windows being built for standard desktop architecture – also known as Intel Compatible or i386 – and also ARM, the chip set that is widely found in mobile phones, are more importantly, tablets. Microsoft is making suggestions that Windows 8 will be the first ‘tablet’ version of Windows, however in some way or another they have been aiming for this since XP, and in my mind there are technically enough features in Windows 7 to handle the touch requirements and interactivity of a tablet. There are appears to be another hardware change in Windows 7 in that the Desktop Window Manager, which handles all running applications and renders them, will be able to take advantage of hardware (GPU) and software (CPU) rendering, so that devices that have less powerful GPUs that normally wouldn’t be able to handle the Aero effect, such as netbooks and potentially tablets, would be able to handle it thanks to the CPU. This is a very relevant change, if true, because both AMD and Intel are looking at building CPUs that are essentially bridged CPUs and GPUs – AMD are dubbing these APUs, and AMD seem very keen to move towards this model after having rebranded all their GPUs from ATI to AMD.

The interface is also being geared towards tablets, with a new style of interface called Immersive, and the idea behind it is that an application may look like a desktop application on the desktop, however on a tablet it would have mobile app style controls. Microsoft seem quite keen to mimic many of Windows Phone 7′s features like this, and it is a very sensible thing to do. Apple are already doing some similar with OSX 10.7 Lion, which takes the principles behind OSX and iOS to create a more usable and interactive environment, and probably more familiar environment considering there are probably a lot more iOS users than OSX users. The interface is also further inspired by Windows Phone 7, with a similar ‘Lock Screen’ having been produced, and the ‘WP7 Font’ being used across the OS.

One of the core interface changes isn’t so much a change, more an idealistic move of progress by Microsoft. Previously the Ribbon had been used by many of the Microsoft applications, and it can now be used in 3rd party applications, though I haven’t seen many good examples. The Ribbon was created because there were too many problems with the older Drop-Down menus and toolbars, as people messed around with settings, lost buttons and essentially got confused. The principle behind the Ribbon was to create something that was ‘as-is’, so people could easily understand where everything was. At first, when it was emerged in Office 2007, the Ribbon was a little confusing to some people, and it frequently took a long time to adjust to the new interface, and even to this day I am trying to find buttons and options in Office that weren’t quite so hidden away in Office 2003. Microsoft is making a very radical move with the Ribbon and beginning to put it everywhere. It has already done this with Office and Windows Live, however the Ribbon appears to be included into everything down to Windows Explorer. The use in Windows Explorer worries me slightly, because at the end of the day Windows Explorer isn’t a particularly difficult piece of software to navigate. You have the core folders on the left, the current folder name at the top and the files and folders in that folder list in the area below – and there are bonus features like Copy and Paste. For most people, including myself, that really is all Windows Explorer is. Most people don’t even realize that ‘My Computer’ and ‘My Documents’ are in reality the same application.

Another change, that I am not certain about, is how the title bar in applications is going to be displayed. When the Ribbon is used, the title is centered (like in Word 2007) or gradually moved to the right of the Window by tabs on the Ribbon (like in Word 2010). However, when the Ribbon is not used the title is placed stubbornly next to the logo on the left hand side. On some, but not all, of the screen shots of Windows 8, it appears that the title is now centered. I will be quite pleased if Microsoft does go through with this, because it would be nice to have, and more importantly, would increase continuity with just about every other OS I have ever used.

The final thing that emerged today, and what inspired this article, is the Windows App Store. A screenshot shows an interface that seems to be a vague mix between Windows Live and the Mac App Store, and it appears that it will include an online store where apps can be downloaded and managed, which appears to be quite useful. I really hope that if Microsoft goes through with this, Windows installers will die. It will be nice to be able to install an application without having to worry where it is being installed, where shortcuts are going to be displayed, and which bit of endless license agreement I need to agree to. It will be nice to be able to click once on a link and instantly have the application downloaded and installed, just like on Mac or Ubuntu, which it itself has a very nice app management tool called the Ubuntu Software Center. I also hope that it will allow me to remove my applications with a click of a button too, because it is a nightmare trying to find the correct folder in the Start Menu, or having to go to the Control Panel.

I do have concerns about Microsoft making an App Store though. The first is whether it would be a commercial success or not. I am sure that many people would use it as a way of quickly downloading free applications, or finding them, but very few people actually pay for new software once they have bought a computer. They will generally buy a computer that comes with Office and Security software pre-installed, and then not worry about it afterwards. Another problem that may occur is an unwillingness to have to type in all the banking credentials into their Windows Live account, which is presumably what it will use, just to download something that costs about a dollar. Apple, of course, did not have this problem because the Mac App Store uses people’s iTunes accounts. Another concern of commercial success would be whether they make it backwards compatible, they are unlikely to make much profit if it is just targeted at one version of Windows, and I suggest that backwards compatibility to at least Windows Vista is required.

Overall, I am not entirely sure whether I am excited about Windows 8 or not. I am sure that, when the time comes, I will buy it, however at the moment I don’t think I need it, because Windows 7 is a perfectly good Operating System. If it was going to come out as soon as this Fall, I don’t think I would buy it, and I don’t think many other people would either. As of now, Windows 8 just doesn’t have enough (leaked) features to make it a viable purchase, however I think Microsoft could release it tomorrow as a Service Pack, and I would get it.

This slideshow requires JavaScript.

Follow

Get every new post delivered to your Inbox.