Tuesday, 15 March 2011

Daylight Savings Time Glitch Has Caused Much Grief for iPhone Owners

Daylight Savings Time has stuck again! A bug that reportedly caused the iPhone's internal clock to not adjust properly to Daylight Savings Time has resurfaced with the recent time change.

Two days ago, we told you about a glitch with the iPhone's clock not changing to the correct time for the DST "spring forward" of one hour. At the time of the report, no one was really sure to what extent this clock glitch was affecting users.

Complaints seemed to not be as wide spread as the last time there was a DST issue, but many people were (and still are) experiencing problems with their alarm not going off at the right time…

Apple's clock in iOS seems to be pretty broken. The iPhone's clock and alarm app have now malfunctioned on the last two DST time changes. The alarm app also broke on January 1st of this year.

There's still no way of objectifying the symptoms of this clock glitch, and many of you have voiced various types of complaints. We've seen issues with the iPhone's clock on various carriers, including Rogers and other carriers outside of the U.S.

The glitch seems to be an iOS issue, as the problem is also not restricted to a certain generation of the iPhone.

It seems that most iPhones with this clock glitch have reset themselves to the proper time, but some users have reported that their alarm is still going off an hour earlier than it's supposed to.

If there still seems to be something wrong with your iPhone's clock and/or alarm, we've heard several methods for possible fixes. A simple restart should reset the clock, and you can also try switching the Time and Date settings from Automatic.

We've also heard that switching Airplane Mode on and off could fix the glitch. When the iPhone goes into Airplane Mode, the device's radio transmitters are turned off. When Airplane Mode is turned back off, the iPhone will get a refreshed carrier update. That refresh should reset the clock to the appropriate time.

Apple has not released an official statement on this bug.

What is your experience with this recent glitch? Was your iPhone affected? If so, let us know your story below!

Times Square Video Billboards Hacked Using an iPhone?

The iPhone has been known for many useful things, but hacking Times Square billboards is a first.

A video has been posted on YouTube showing a man who uses his iPhone to hijack video billboards in Times Square. CBS news has commented on the video, claiming that they would assume it's fake, but if it's in fact real, they'll be the first to purchase one…

"First off I'm going to state that I do not know if this is in fact real or fake. My gut is telling me it has to be fake… but if it's real, I'm so going to buy one!

Here's some words from the hacker on how he did it:

The way it works is pretty simple: plug in my transmitter into the iphone 4 and play back any video clip. you can play it through the ipod feature or through the camera roll. the transmitter instantly sends the video signal to the video repeater and the video repeater overrides any video screen that it's being held next to. it doesn't matter what shape or size the hacked screen is because the hack video will simply keep its correct dimensions and the rest of the hacked space will stay black.

i chose times square for my demo because it has lots of video screens to try it on. it is also one of the most monitored and secured areas in new york city and that made it that much more fun :) . you can see in my video that the repeater is pretty powerful but the signal is not very stable yet. i'm working on that. i will post a new video later this week explaining how i made this prototype.

Honestly, looks like complete BS to me. I highly doubt it was that easy to hack the billboards. Check out the video yourself below!

Download Supastar for Free Today [Sponsored]

Game collection Supastar, containing 32 games and challenges, will be free for a limited time. Supastar features games like Crazy Rhino, Action Robot, Buggy dash, Asteroid Jump, Barrel Blast, and many more.

It is a collection of fun games and challenges starring a cute star character, known simply as Supastar. The current version contains 8 full games and 24 challenges. New games and challenges are added periodically at no additional cost…

Also included are high resolution Retina Display graphics, super smooth animation running at 60 FPS, Game Center integration, multitasking support, and music by Mathazzar Studios.

You can download Supastar on iTunes or via your iPhone or iPod Touch. Get it while it's free!

Is Apple Intentionally Handicapping Web Apps?

Whether you love them or hate them, no one can deny the success Apple has had with its iOS devices and the App Store. Although they are selling these products in record numbers, many still refuse to buy in due to multiple factors. The omission of Flash support, a technology used in many popular websites, is the first one that comes to mind.

But it doesn't stop there. Apple has also been attacked on its strict App Store policies, such as, denying applications for odd and unclear reasons. In fact, their unyielding control over their ecosystem is what leads many people to jailbreak…

It looks like Apple is at it again. According to The Next Web, Apple might be limiting the speeds of web-based applications in their latest version of iOS 4.3. Developers are reporting that web apps, launched from an iDevice home screen, load much slower than when opened within Safari.

Web-based applications get a fair amount of love from Apple. The new AirPlay enhancement in iOS 4.3 allows them to stream audio and video content to an Apple TV. A web app can also be bookmarked and saved as an icon on an iOS home screen, making it look like a normal application. (iDB even has its own nifty little web app.)

With web apps loading significantly slower when launched from a home screen icon, it's apparent Apple's kindness is running out. These apps are showing no signs of the new Nitro Javascript engine we keep hearing about.

Why would Steve Jobs and company want people to think web apps are lower in quality than apps from their App Store? If you think about it, it's pretty obvious. The more downloads and purchases that run through iTunes and the App Store means more revenue for the Cupertino giant.

Apple has declined to comment on the matter, but a casual stroll through their user forums will show this is a very real issue.

Will Apple fix this? Or are they one step closer to totalitarian rule over their products?

Qik Releases Video Connect App for iPhone

The popular option for video chat on Android handsets is now available and better than ever on the iPhone. Today, Qik officially launched its Qik Video Connect app for iPhone, iPod touch, and iPad 2 (although it isn't completely optimized for the iPad).

Qik Video Connect offers two-way video calls and also lets you record video mail. Qik's live broadcasting feature lets you post a live link to Facebook and Twitter, so friends can watch in real time as well…

The app includes all the basic features, such as, video chatting/streaming over 3G, 4G, or WiFi, in addition to recording in High-Definition (HD) video quality.

A new feature in the app includes the ability to leave a video voicemail. Users will be able to send or share video voicemail via text, email, Facebook and Twitter, to non-quick users as well.

The "plus" version of the app is available in the App Store for $2.99. The "plus" version includes seven real-time effects and filters, video editing tools, and support for high-def video. There will also be a free version of the app that excludes the effects for video chat, video editing, and HD recording. The free version is pending approval and will be available soon.

If you've purchased the app, do let us know your thoughts in the comments!

Saurik: What to And What Not to Expect From the Next Version of Cydia

In a recent post about the next version of Cydia, we got some great feedback from users about what features they'd like to see in Cydia 1.1.

The creator of Cydia, Jay "saurik" Freeman posted a long and informative response to our article that gave some insight into the current and future state of Cydia. He chose many questions posed in the article's comments to address key issues.

We're very grateful that saurik decided to share this information with us. He addresses several key topics concerning Cydia…

Features of Cydia 1.1 will include:

  • the ability to run and operate Activator, libstatusbar, and SimulatedKeyEvents while Cydia is running
  • an overall speed improvement, including the "Loading Changes" dialog
  • "much less" memory usage
  • a more advanced search mechanism with a new relevancy algorithm
  • better management of broken repositories

Here's everything saurik had to tell us about Cydia:

Multitasking

"This is simply not possible at this time. I realize everyone wants it, and hell: I want it, too; but everyone saying it is important doesn't make it possible. The reason Cydia doesn't have iOS 4 compliant multi-tasking is that, to make the modifications it makes to the system, it runs as "root", a user that has more permissions on the system than anything else, which means that SpringBoard, a lowly process running as "mobile", cannot suspend/resume it.

Now, this is something that /can/ be remedied, and is something that I've been thinking of how to do for a long time, but all the obvious ways people like to bring up for making Cydia's GUI run as mobile with only small parts running as root would make Cydia run slower, and speed is something that is primary on everyone's minds when they are using Cydia. Luckily, there are things I've figured out that may make this more reasonably possible, but certainly not for this release."

Leaving Mobile Substrate On When Cydia is Open

"If you did this you would find your system would suddenly become unusable. I realize that it sounds all nice and fuzzy that Mobile Substrate should modify all applications on the system, including Cydia, but again: Cydia runs as root. Almost all extensions in the ecosystem are NOT designed with this in mind, and when suddenly given root access start destroying the permissions of your configuration files and Media folders, making all normal applications unable to use them.

Therefore, with this release of Cydia, I've gone through the "big ticket items"–which seem to come down to Activator (what starts SBSettings), libstatusbar (adds notification items to the status bar), and SimulatedKeyEvents (injection of key events from Veency)–to verify with their developers that they will work correctly in an environment running as root. These extensions (plus WinterBoard, which doesn't work on root on 4.x but is harmless, and will be fixed in a future release) are what are available from inside of Cydia until Cydia is modified to run as mobile."

Better Looking Interface and Backup Option

"A backup function actually does not require pushing a new build of Cydia, but it requires time to figure out how to scale the users to support the kind of load Cydia has. Cydia is running with many orders of magnitudes more users than any of its competitors have, which means that a lot of things that people like to think "should be simple, X did it" are actually much harder to implement. I also keep privacy at the forefront of my mind while building features like this, and want to be 100% certain that no one can get access to your installed products list other than you.

As for a "better looking interface", I try hard to maintain something that competes with Apple's products. A few things rotted on 4.x (the positions and sizes of some buttons), and the various "black" interfaces (the black bar and the black screen) get mixed reports, but otherwise the main problem users have with Cydia is not Cydia: it is with repositories. Every time I've gotten actual feedback "this specific thing is bad", where that thing isn't something that Apple themselves do in their iTunes or App Store applications (which should be taken as the "intuitive model"), it is in areas of the interface I simply do not have any control over: the content shown for a package by the repository."

Confusion With the Term "Changes"

"Maybe I'm crazy, but I always thought of the word "Changes" to be a very non-geeky end-user term for "stuff that changed". It certainly isn't a technical term: it was not chosen because of some geeky desire to have the codebase match the UI, nor was it chosen because it had some esoteric meaning in Latin or Greek. It was instead chosen as it was a single word that immediately meant to the largest number of people I talked to exactly what that page did: showed you what changed. Regardless, "New Releases/Updates" certainly won't fit on a tab label."

Speed

"As with /every/ release of Cydia, Cydia 1.1 is faster than previous releases. In specific, it is faster than 1.0.3366 by a good margin, which itself was faster than 1.0.3222 by an even larger chasm. On this note, however, it is important to note that Cydia is tackling a hard problem: no other application I have seen on the iPhone, from Apple or any third party, is attempting to search index and manage tens of thousands of data items, on the client, in real time, aggregated from user-selected sources.

In contrast, Cydia has some of the fastest technology in existence with regards to handling this data, whether it be custom algorithms (Cydia includes a locale-aware string comparison radix sort, which AFAIK is the fastest sorting algorithm in any iOS application) or special on-disk data structures (new in 1.1 is "Cytore", a new way to store local metadata on packages that can be loaded nearly instantaneously from flash; for those out there who are technically minded, it is an on-disk memory mapped hashtable, which drastically beats out alternatives people like to try to bring up such as SQLite)."

Loading Times

"Despite myths to the contrary, the amount of data displayed in the Changes list does not drastically affect how quickly it loads. There /was/ a bug in many versions of Cydia 1.0 that caused there to be at least a little delay related to the number of items on the list, but this bug was already fixed as of 1.0.3366. The cost of the calculation is deciding what entries should be on the list at all (and specifically which ones are actually updates vs. new releases), not displaying them all at once. That said, Cydia 1.0.3366 moves the loading of changes until after you click the tab, which makes it more evidence how much time is being spent on this feature (which itself is, again, faster on 1.1)."

Memory Usage

"Despite Cydia 1.1 continuing to attempt to juggle tens of thousands of items in memory, thanks to Cytore, it uses much less memory than ever before. Other optimizations have been made, as with every version of Cydia, in order to decrease the memory usage of the app as a whole. Additionally, and in particular, Cydia 1.1 is much more conscientious of memory warnings, and attempts to throw out as much state as possible during these events.

That said, the amount of memory on even reasonably modern devices (anything past the iPhone 3G) available for running applications (not in total, but available after Apple's system applications get their share), is an order of magnitude greater: whereas on an iPhone 3G you were working with maybe 20MB of available memory, on an iPhone 3G[S] you have 150MB, and an on iPhone 4 you have 400MB available. So, despite Cydia 1.1 actually needing less memory to operate than Cydia 1.0, the pressure on memory is pretty much gone, and will not affect future users thanks to hardware upgrades."

Advanced Search

"Unfortunately, this device is simply too slow to provide "advanced search capabilities", and certainly not suggestions, given the constraints of "from user-selected repositories" "in something resembling real time". That said, Cydia 1.1 has a much better search mechanism, including an integer-arithmetic radix-sorted relevancy algorithm I managed to implement.

What would really be needed to have a truly amazing search experience is to not do searching on the client: to instead handle it on my servers. This is how products like the App Store, Kindle, or Netflix work: it is not at all common for services users are used to to attempt to manage the entire database /on the device/, doing local searching, rather than having the data and computation for that existing in offline-indexed search structures on a massive server in the cloud.

Unfortunately, the reason people use Cydia are varied, and many people are using Cydia with repositories that frankly they shouldn't be: whether the repository contains software that is dangerous (a niche community with tweaks receiving minimal testing, or using bad practices like on-disk file patching) or downright illegal (there are things you are allowed to do in your country that I cannot in mine), I am certainly not going to be acting as the centralized storage and indexing gateway for people to find and manage this content.

Instead, what keeps people coming back to Cydia is the fact that it acts as the fundamental alternative: that rather going to Apple, with their carefully curated set of centralized experiences, you go to Cydia, "the wild west of software", where software modifies other software in a kind of reckless abandon that is going to lead to pain even in the best possible scenarios, and in the worst possible worlds is going to lead to things that you will not be able to list on a default repository, and which Cydia may even warn you about installing, but which you should still be able to access and even search for using Cydia's search mechanisms."

Error Messages

"Errors from Cydia do not come from Cydia. If you type a URL into Cydia for a broken repository, that repository is going to be low-quality and is going to cause you problems. If it is offline, Cydia is going to tell you it is offline, and if it is malformed Cydia is going to get angry about that. Cydia is simply going to sit there idly while there are a ton of broken and offline repositories in your list: it will tell you all of the errors involved in the hope that you will remove the broken repositories and get on with your life (which is a very apt metaphor, as most third party repositories are very slow, and cause your refresh experience to take a very very very long time)."

"Rate" and "Review" Sections

"We actually tried this, and it was a miserable failure: more time had to be spent moderating the reviews, most of which were misleading, inflammatory, or downright inappropriate, than anyone got value out of this mechanism: it was even worse than on the App Store, which is notorious for bad reviews (people often rate down a package for inane reasons, making the data horribly invalid).

Given these issues, I attempted to put together a vision of how comments and ratings could work in Cydia, and even made a trial implementation (screenshots were even handed out at some points, and I did demos at a few conferences), but when word came up that I was even considering releasing it, I received strong pushback from some of the best developers in the ecosystem–the people you are most likely to want to give mega-good reviews to–that if I continued with that they would give up on the ecosystem, due to the issues from before.

And, to be honest, I am not certain that I would have solved those problems, and given subsequent experiences from alternative products, and looking at how people used the ratings, what people said in the comments, and how things finally got rated, I no longer believe that I would have: I believe the concept of the off-the-shelf "comments and ratings" to be a fundamentally flawed system that inherently leads to abuse.

Now, not all rating systems need to be "off-the-shelf", so something truly innovating and "actually solving the problem" is what I hope to one day provide for Cydia. In the meantime, however, I always do my best to avoid injecting seriously suboptimal tradeoffs into our ecosystem."

Improved Compatibility Listings

"Cydia has, for a while, contained numerous features that would allow repositories to help with this problem.

  1. a mechanism to specify firmware compatibility on packages (packages can Depends: specific firmware revisions).
  2. the Cydia Store lets vendors block purchases for specific firmwares (any paid product can register its compatibility with its repository, and then I will filter it to users who can use it).
  3. the firmware version is sent as part of the user-agent to the web pages for each product, allowing developers to display their own warnings.
  4. compatibility is even more specially able to be done by feature detection, allowing packages to say "I need voiceover support on a device with a camera running an armv7 CPU and a retina screen".

In essence, there is very little excuse for packages, repositories, products, or anything else in the Cydia ecosystem to be poorly specified in terms of firmware compatibility. That said, almost no packages in the ecosystem, and even very few products (where one would imagine this to be the most important), have this information included at any of these levels, which is rather disappointing.

So, Cydia 1.1 is not going to attempt to improve on any of these mechanisms, as Cydia 1.0 already has more than enough of them: the real onus is now on the developers and artists of specific items."

Removal of Dead Content

"I do not have any control over what content is available in Cydia. I mean, I can refuse to personally accept money for it, but I have almost no introspection over things that are either free or sold on the developer's website. For years I have attempted to get repositories to pull obsolete packages: they refuse. Instead of lobbying me, who agrees with you and is powerless, you need to be sending these complaints to the default repositories: BigBoss, ModMyi, and ZodTTD."

Clarified Install Requirements

(Tags saying if installation of apps/tweaks, etc. need a springboard refresh or if the device needs to reboot)

"While this is often stated, this is simply not how this mechanism works: packages compute whether they need a reboot or reload as they install, allowing packages to make optimizations like "I only need to reboot if the user is using this firmware version and has this other package installed with this setting specified". In fact, all of my packages that need features like this attempt these optimizations, and often you will not need as many reboots or reloads because of it.

Therefore, specifying this as static tags on a package would increase the number of reboots a user has to perform needlessly. That said, for packages where it is not obvious (extensions are going to require a reload, and MobileSubstrate is going to require a reboot), such as cases of MMS clients that require a reboot, it should certainly be best practice for the developer to put this information on their package information screen. This is even easier for the developer/vendor than modifying the package, and even then is very uncommonly specified: adding the tag therefore won't even change how often it is reported."

Repo Management

"With regards to repositories that did not add correctly, as stated by Ryan Petrich, Cydia 1.1 should no longer end up in situations where broken repositories are so unusable that they are also undeletable. That said, many users complain about repositories installed via a package: to delete these repositories you will need to remove the package that represents them.

(Due to some of these complexities, it is Cydia policy going forward that no repositories will be installable from default repositories via packages, and the existing ones under More Sources will be transitioned to a new mechanism for handling these that has been added that will allow more direct, simpler, and safer manipulation of repositories using a soon-to-be-revamped More Sources page.)"

Saurik's closing comment,

"Thank you all, by the way, for your interest in Cydia: the fact that you care at all about what features are or are not in Cydia 1.1 means a lot to everyone working on the project."

We want to sincerely thank saurik for his detailed and informative responses to our reader's questions. We wish he and his team the very best in making Cydia the best it can be!

Hopefully you learned a few things from this lengthy discussion. Feel free to discuss or share opinions about what saurik had to say in the comments below.

New Version of Mobile Substrate Adds ASLR Support

If you're one of the early birds who decided to jailbreak their iOS 4.3 firmware without proper Mobile Substrate support, we have good news for you.

A patched version of Mobile Substrate is available that reportedly addresses the issues with ASLR.

As you're aware, the current version of Mobile Substrate doesn't work with iOS 4.3, rendering many of our favorite jailbreak apps and tweaks inoperable on Apple's latest firmware…

Of course if you decided to jailbreak your iPhone with iOS 4.3, you had fair warning beforehand that such issues would occur. I'm pretty sure we'll hear more about this directly from Saurik in the near future.

This updated version of Mobile Substrate can be downloaded via your iPhone here, and opened and installed with iFile.

I've yet to try it personally, but let me know what you find, and if it works like expected.

Did it work for you?