Showing posts with label iOS. Show all posts
Showing posts with label iOS. Show all posts

Wednesday, June 12, 2013


We’ve looked at the reasons why your Android phone probably isn’t getting updates before, and one of the reasons why is because each carrier must subject each update to a testing process before releasing it — if they ever release it.
This causes Android updates trickle out carrier-by-carrier. But updates for Apple’s iPhone are available everywhere when they’re released — so what’s going on?

Carriers Control Most Android Phones

Android devices actually follow the established cell phone model. You get a phone from your carrier on-contract. That carrier has customized that phone, adding their own branding and software (often considered bloatware) to it. The phone itself may be a unique model only available on your carrier. Carriers have traditionally loved unique phone models — witness the way the original Samsung Galaxy S split into the Samsung Vibrant, Samsung Fascinate, Samsung Mesmerize, and so on. Each phone was a slightly different Galaxy S (or even the same), but had a different name so each carrier could have their own unique phone.
Your carrier exercises control over your device even after you buy it, preventing it from working on other cellular networks (by locking it to their network). They are the ones in control of the phone and the software it comes with, and they are the ones in charge of approving and rolling out updates. You generally can’t get these updates from the manufacturer directly — only from the carrier.
When a new version of Android is released, the device manufacturer has to take it and adapt their existing customizations to it. They also have to make it work on all their phones, including the carrier-specific variants. This is why many manufacturers haven’t bothered updating many less-popular or older phones.
The manufacturer then has to send out the updates to every carrier. It’s each carrier’s job to test all the different updates for all their different smartphones, and they may take many months to do so. They may even decline to do the work and never release the update.

Apple Controls the iPhone

Love it or hate it, Apple used the popularity of their iPhone to upset this established model. Apple informed carriers (AT&T at first) that they were in charge of the phone. There was just a single iPhone, not an iPhone variant for every carrier. Carriers weren’t allowed to install their own software or brand it with their logos. They weren’t put in charge of updates — iPhone updates come from Apple, not from the carriers.
While there are many Android phones and variants of Android phones, there’s just one iPhone — there’s no iPhone Captivate, iPhone Fascinate, or iPhone Mesmerize.
Users want the iPhone, so carriers want to offer it. Apple uses this as leverage to exert their power over carriers and insist on this model, and carriers can’t hold back iPhone updates for the same reason they can’t ship iPhones filled with bloatware or with carrier logos stamped across their fronts.
Carriers may want to block iPhone updates but be unable to. An issue with iOS 6.1 resulted in Vodafone UK and 3 Austria asking their customers to not update to iOS 6.1 before the issue was fixed. The carriers couldn’t block the updates, as that wasn’t in their control — they could only ask their users nicely.

So Why Are Carriers Holding Back Updates?

It’s undoubtedly easier for carriers to test iPhone updates and inform Apple of any problems than it is for the carriers to test updates for a wide swath of different Android phones, some of which only exist on that carrier.
However, that isn’t the only reason carriers hold back updates:
  • Updates Involve Work: When Samsung hands over a new build of Android for one of its phones, carriers have to do their own work to customize the phone. They’ll need to add their own branding and apps (bloatware) to the devices, which takes additional work.
  • Carriers Can Delay Updates: Carriers can get away with putting this work off or failing to do it.  They have the ability to delay update rollouts for months if they feel like it, dragging their feet. Apple will release iPhone updates with or without them.
  • Planned Obsolescence: Carriers don’t really want to upgrade a years-old smartphone and have it feel like new. As businesses looking to sell you a new phone and get you to renew your contract, it’s in their interest to make the new phones look attractive — and timely updates for old phones just cost additional money and make new products less tempting. Carriers have an incentive not to update their phones.

What Exactly Needs to Be Tested?

The carrier will need to test the phone’s software, particularly because that software has likely been customized by the carrier. They will need to ensure all their included apps work properly and that the phone’s specific software — which has likely had less testing than the iPhone’s software, which is the same worldwide — works properly.
Carriers also want to test the device to make sure it works properly on their network. They’ll want to ensure it doesn’t place additional load on the network, lead to additional dropped calls, or cause other problems.

Carriers Also Control Windows Phone

We’ve focused on Android here, but Windows Phone is in the same boat. Updates for Windows Phone devices must be approved by every carrier. When it was originally released,  Microsoft created an official website where users could track Windows Phone 7 updates on a per-carrier basis to see which carriers worldwide were failing to issue updates or issuing them too slowly.
However, Microsoft eventually took their “Where’s My Phone Update?” website down — perhaps because it annoyed carriers too much. Microsoft no longer provides information about the status of updates. Updates for Windows Phone 8 devices must still be approved by carriers before they roll out to Windows Phone devices.

Avoiding the Carriers

The only way to avoid the carrier control on non-iPhone phones is by going around them, purchasing a device directly from the phone’s manufacturer. For example, Google’s Nexus 4will receive updates from Google without any carrier getting involved. Users can also purchase other unlocked, off-contract devices and receive updates without carrier involvement — assuming the manufacturer releases those updates.
You can also go off the beaten path, unlocking your phone’s boot loader and installing a custom ROM like Cyanogenmod to get an updated version of Android, whether your carrier wants you to or not.
__________________________________________________________________

So why exactly do carriers hold back updates for Android phones, but not for Apple’s iPhone? Well, because they can get away with it — Apple can insist that they’re in charge of updates and carriers have to play ball if they want the iPhone. Other phone platforms provide a way for carriers to continue providing the locked-down, customized phones they love so much and continue exercising their control over them.

Monday, June 10, 2013

We’ve already shown you how to install XBMC on your Apple TV, now we’re back with specific tips and tricks to install popular media center software XBMC on your iPad (or other portable iOS device).
Although the final outcome is largely the same—you get to enjoy awesome and open-source XBMC on your device—the process is completely different and, because of the mobility of the iPad (as opposed to the fixed location of the Apple TV), requires some additional tweaks and tricks.

What You’ll Need

For this tutorial you won’t need much as, assuming you’re already in possession of a suitable iOS device such as an iPad, iPhone, or iPod Touch, you’ll just need some free software. You’ll need:
  • A Jailbroken iOS device running iOS 4.0+ (we’re using the iPad because of the spacious screen)
  • Cydia App installed (which, for 99% of the jailbreak hacks, it’s automatically installed)
  • Access to the internet from the iOS device
Unfortunately, jailbreaking is a must for this tutorial. XBMC directly competes with some of Apple’s core products and has been rejected from inclusion in the App Store. The only way to enjoy the awesomeness that is XBMC is to jailbreak your device and download it directly from the XBMC repository. Applying the jailbreak to your specific iOS device with it’s specific version of iOS is beyond the scope of this tutorial—hit up your favorite search engine to find out more about jailbreaking your particular device before continuing.
Note: Since we’re going to be working with an iPad throughout this tutorial, we’re going to simply say “iPad” instead of “iOS Device”. These instructions are perfectly applicable, albeit on a smaller screen, to both the iPhone and iPod Touch—specifically the iPhone 3GS and above and the 3rd (16/32GB only) and 4th generation iPod Touch).

Installing XBMC On Your iPad



After typing in the URL, click Add Source. You’ll have to wait a moment as Cydia checks your sources list, looks for updated packages, and then updates accordingly with the XBMC repository. It should appear on the sources list as “teamXBMC”. If you see it, go ahead and hit Done to finish editing your source list.

From the source list tap on the new entry for teamXBMC. Tap on XBMC-IOS to see the full entry for XBMC for iOS. Click Install and then Confirm to authorize the installation. Wait for the installation to complete and then tap “Return to Cydia”. At this point the latest version of XBMC is installed on your iOS device.

Configuring XBMC for the iPad



Unlike a traditional XBMC installation (which is usually installed on a machine attached to your television set), this XBMC installation is mobile. Wherever your iPad goes, it goes. The same cannot be said, however, for your home network. If you try to access your networked sources away from home you’ll get an error message. Worse, if you’ve configured XBMC  to synchronize to your home media server, it will outright crash when it can’t find the MySQL server. Both of these are less than idea solutions.
To alleviate the problems with having a media center that can drift away from home in such a fashion, we’re going to set up (at minimum) two user profiles for XBMC on the iPad. The first profile will be for use at home (when the shared media and media server is accessible) and the second profile will simply access media from the iPad’s media directories. One for lounging on the couch and one for lounging around in a hotel lobby. If you’re only using XBMC to access media then you can skip the at-home profile and simply follow along with the travel profile.
Enabling Profiles: First, let’s fire up XBMC. On first run you’ll be greeted with the option to select videos, pictures, music, or programs. We’re going to focus on setting up your video-watching experience but you can easily adopt the same techniques to also configure your photos and music.
Down in the lower left corner is a gear labeled Settings. Tap on it. Within the settings menu tap on the Profiles icon—again located in the lower left corner.
Within the Profiles menu you’ll see the default configuration. You’re logged in as the Master user and the login screen is toggled to “off”. Tap on the “Add Profile…” button to add your secondary profile. You can name the secondary profile whatever you wish, but for the sake of clarity in this tutorial we’re naming it Travel to indicate it is to be used away from the home.
After you create the profile you will be prompted to select a root folder for the profile. The default is /masterprofile/profiles/Travel (or whatever name you used besides Travel). There’s no need to change it, simply click OK. Once you OK the location, you’ll be prompted to fill in additional information about the profile. You can add a profile name or customize it as you wish. The important thing is that you leave the profile directory alone and you leave the “Media info” and “Media Source” as “Separate”. We want each user profile to be distinct. Click OK. You will be returned to the main Profiles page and prompted again. When asked if you want to start with fresh settings or copy from default click “Start fresh”. If you just installed XBMC then everything is fresh as fresh can be but if you’ve already played around with the app it’s best that we start the new profile completely fresh.
At this point we have the Master user profile (which will server as our at-home profile) and the Travel profile (which will serve as our away-from-home profile). The final step is to toggle the “Login screen” option to On. We want to be able to pick which profile we’ll use each time the app starts.
Configuring the Master (at-home) Profile: To do simple configuration of the at-home profile you’ll need to navigate back to the homes screen (of XBMC, not of your iOS device). Tap on Videos. You currently have no video directories enabled so tap on Add Videos to add a folder. In our case, our home media is stored on a media server utilizing SMB sharing so we tap on “Windows network (SMB)” to search for our media directories on the server.
If you’ve already prepped other XBMC units in your house you can easily copy the sources files from those installations to your iOS device by copying the sources.xml file from the profile directory of the existing XBMC computer to the profile directory of the iOS installation (which is located in /private/var/mobile/Library/Preferences/XBMC/userdata/ on the iOS device). You can access the directory, since your device is jailbroken, using tools like iFile or by just SFTP’ing into your iPad. Note: you only need to copy the files if you intend on syncing your XBMC iOS installation to the media watched on other XBMC devices in your home.
Regardless of whether you went the simple route or the whole-house syncing route, you should now be able to access your media off your network source from within the Master profile.
Configuring the Travel (away-from-home) Profile: For this profile you need to exit XBMC and launch it again in order to select the alternate profile. Repeat the steps of tapping on Video, tapping on Add Videos. From within the source selection menu tap on Browse and then tap on Home folder. Because you’re on a jailbroken device using a jailbreak app, you can navigate the actual file structure of your iPad. If you wish to watch the video that you’ve already synced to your iPad via iTunes, navigate to /var/mobile/Media/iTunes_Control/Video/to add the iTunes-controlled video into XBMC. If you want to use a different directory for media you personally add to the iPad, you could (using a program like iFile or SFTP’ing into the device) create your own directory in the /var/mobile/media/ folder like /MyVids/ to store your video in.
Regardless of the location of your local files, add the folder as you would with any local XBMC installation.
Now that you have both profiles pointed at the correct media files (networked and local, respectively) you can go back and—as you would with a regular installation of XBMC—scan your sources and enjoy all the cover-flow goodness you can handle.
__________________________________________________________________
If you’ve followed along with both sections, you have two distinct profiles. One that accesses the network media in your home (and if you went the extra mile with the MySQL server, it also syncs your watched media and other flags) and another that is focused on device-stored media. Now, whether you’re at home or away, you can enjoy the slick interface and smooth video playback of XBMC!