Archive for the 'Systems' Category

iOS 6 Predictions

March 6th, 2012
Spencer Nielsen Follow snielsen42 on Twitter

It is always fun to try and guess what Apple is going to do next. You can guarantee that there will always be surprises and sure bets, letdowns and magical moments. The Apple rumor sites do a decent job of soliciting leaks, reading between the lines and making educated conjecture. As a developer, I often like to take a good look at where Apple’s technology is right now and make logical extrapolations as to where things are headed. Oftentimes, when Apple announces some new feature or technology it seems obvious in retrospect if we had only connected the dots. Based on 2011′s release schedule, it is a fair bet to say that Apple is going to announce iOS 6 at WWDC sometime this summer and distribute a developer beta. That means that in the coming months little trickles of information are going to get doled out to the rumor sites about what kind of changes and additions we can expect. Just for fun, I wanted to get my own predictions out in the open before any of that started. Here is my very developer-oriented prediction list of what we might be expecting in iOS 6.


UPDATE: WWDC and the iOS 6 beta have come and gone. Some of my predictions now have conclusions. You will notice however that most of the predictions have not yet been updated. That is because there is the potential for Apple to be keeping a few more surprises up their sleeve for the fall when iOS 6 goes GM. Inline below are the results so far.


UPDATE2: iOS 6 GM is here which means that the NDA has lifted! Check down below to see how well I did. (more…)

Death to .DS_Store

December 24th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

The “.DS_Store” file is an abomination and must be stopped. You know what I’m talking about. I regularly rant about how this annoying file gets in your way, dirties things up and just screws with your stuff in general. Today I decided to do something about it. Before we get to that, lets quickly review what it is and why it sucks.

What Is It?

The .DS_Store is a Finder metadata file created primarily by Mac OS X’s Finder.app. Because of the dot (“.”) prefix it is typically not visible in many file browsers and most Mac OS X users are probably not aware of it. It is regularly created when the Finder accesses filesystem directories. It contains directory information about icon locations, view options, silkscreen configuration and the like. The functionality that it provides is moderately useful, but becoming less and less relevant over time. In any case, a long time ago the horrible decision was made to store that Finder metadata in an actual file (.DS_Store) in the filesystem within the relevant directory. We have been paying for it ever since. Over time more and more metadata relating to files and the filesystem has been added to Mac OS X, but thankfully those have been stored in saner places (extended attributes, etc). For the time being though .DS_Store is still here with us and still causing trouble. What’s so harmful about the file you might ask?

(more…)

iPod Touch Server: iOS 5.0 Edition

October 12th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Achievement Unlocked: iOS 5 NDA

In a previous blog post I outlined my need for an iOS server. I had found a sufficient but non-optimal solution for iOS devices running iOS 4.X. I mentioned at the end of that article that I had found an optimal solution utilizing some new features in iOS 5. Now that iOS 5 has gone gold master and the NDA has been lifted I can outline in detail how to get your own iOS server up and running. To review, the three requirements for setting up a server in my situation are that it must:

  1. Be able to receive push notifications (so it can get it’s work)
  2. Have it’s display turned off (to save energy and avoid things like screen burn-in/fatigue)
  3. Require no human interaction (needs to be completely autonomous)

In the previous article I outlined why these were in conflict with each other on iOS 4 devices. However, there is some new functionality and behavior policies that allow all three requirements to be fulfilled.

(more…)

Exploring Airplay Mirroring Internals

August 20th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

AirPlay Mirroring was without a doubt one of the coolest iOS 5 features announced to the public at the 2011 WWDC Keynote. This amazing technology allows you to display the screen of your iOS device on an Apple TV 2. At the moment, the only supported mirroring device is the iPad 2 and the receiving device is limited to only the Apple TV 2. Airplay Mirroring is the latest in a pedigree of Apple media streaming technologies. The previous entry in the family was Airplay Video and is a slightly different technology that allows specific content to be broadcast from a variety of iOS devices and iTunes to an Apple TV 2. The precursor to that technology was originally called AirTunes and is used to broadcast audio content from iOS devices and iTunes to the AirPort Express and Apple TV (either 1 or 2). One peculiar thing that people noted about AirPlay Video was that it was wide open and unencrypted! This was surprising in light of the fact that AirTunes was most definitely not. Because of AirPlay Video’s relatively easy hackability, there quickly sprang up all manner of apps for both Mac OS X and iOS which would act as an AirPlay Video consumer.

So my thought process went like thus:

  • AirTunes – Encrypted
  • AirPlay Video – Unencrypted
  • AirPlay Mirroring – ???

(more…)

Play MAME On Your iPad/iPhone Without Jailbreaking

July 25th, 2011
Spencer Nielsen Follow snielsen42 on Twitter

 

 

As a partial follow up to my previous article “Play SNES Games On Your iPad Without Jailbreaking” I have now made a similar patch to the imame4all project which will allow it to build for non-jailbroken iOS devices. Everything appears to be in order except that I havn’t figured out a way to get the BTDaemon to run on a non-jailbroken device. This means that it can’t currently use Bluetooth controllers like the Wiimote. Digging into the btstack source it looks like you can configure it to talk with a BTDaemon process even if it is running on another machine like a Mac. I havn’t had time to fully investigate that yet though.

How To Get It Working Yourself

I have created a patch and script that will create everything for you automatically and set you up so that you can just build, run and go. Like the SNES-HD- patch before, you are going to need a current copy of Apple’s Developer Tools (tested with Xcode 3.2.6) and a copy of the iOS SDK (my changes assume the 4.3 SDK). You will need to be a paid iOS developer with Apple and have correctly configured your development machine and iOS device so that you can sign code and run said code on your device.

(more…)

iPod Touch Server

June 11th, 2011
Spencer Nielsen Follow snielsen42 on Twitter


Top-down view of the Aoren Software datacenter in the living room corner.

Why, you might ask? In my case the answer is simply because it is my only alternative. In development of my game Cannonade there quickly arose a need to be able to replay my user’s completed games and validate the results with exactness. In order to obtain that level of exactness, my games must execute with complete determinism. Unfortunately the implementation of floating-point match according to IEEE754 can actually vary somewhat between x86 and ARM processors. This means that if I replayed a game that two of my users played using iOS devices on an x86-based server, the results of the replay would very quickly diverge. Thus I am left with no choice but to set up a dedicated iOS device to wait for notifications of the matches that it needs to replay and validate (a process I call judging). An iOS server you might say.

(more…)

Play SNES Games On Your iPad Without Jailbreaking

May 23rd, 2011
Spencer Nielsen Follow snielsen42 on Twitter

Apple gets a lot of flack over its curated app distribution model. No matter what your opinion on the subject is there is no doubt that for Apple’s model to have any sort of success it needs to be the only commercially realistic distribution avenue on the platform. This leads many people to jailbreak their devices for a variety of different reasons. Lets examine just the motivation of wanting to personally use non-App Store approved apps. The argument is then almost always framed as a dichotomy. I can jailbreak and get access to apps that Apple cannot or will not approve but risk damaging the device, violating warranty/support expectation, losing the ability to directly update to the latest OS version and introducing instability. Or I could keep my device in a stock configuration that will ensure stability and a clean upgrade path but miss out on some truly awesome and useful jailbroken apps out there. People don’t often remember that there is actually a third way to load apps onto your iOS device that has its own set of unique pros and cons. Apple fully supports loading apps on stock devices outside of the App Store through its developer program.

(more…)

Neo Geo cart hacking is still alive and well

October 16th, 2010
Spencer Nielsen Follow snielsen42 on Twitter

A couple of years ago I wrote an article called Neo Geo Cart Conversions which detailed a cool hobby project that involved turning a Neo Geo game called Metal Slug from an MVS (Arcade) version cartridge into an AES (Home) version.  The primary reason for performing the conversion was to save the thousands of dollars it would take get a hold of an authentic AES cartridge and experience the original game at home legally (plus, doing the actual conversion was tons of fun!).  A few years later I decided that it would also be fun to do a write up of my experiences and share my findings for others to enjoy.  Over the years people have occasionally emailed me about the article with compliments and questions about the article.  It has also been especially satisfying to hear about people who have successfully performed their own Metal Slug conversions by following my article.  So far there have been four people that I know of who have done so, the latest of which is Akira Van who sends this image of his finished product:

It just goes to show that despite the end of officially produced Neo Geo carts, the wide and cheap availability of Neo Geo games in virtual console/compilation form and essentially the entire video gaming world moving on that there is still a vibrant and thriving community of enthusiasts and hackers dedicated to this great platform.

Language Aid is on MacZOT!

December 2nd, 2008
Spencer Nielsen Follow snielsen42 on Twitter

For today only you can purchase Language Aid for half price (US$10) through a promotion at MacZOT! To take advantage of the promotion pricing, buy your copy of Language Aid through MacZOT and once the promotion is over you will receive an email with an application attached to it that will configure your computer for Language Aid registration. All you have to do is run the application and then click the “Register” button in the Language Aid preference pane. It will be fun to see how the promotion turns out.

iTunes 8.0 supports the Accessibility API!

September 17th, 2008
Spencer Nielsen Follow snielsen42 on Twitter

That means that Language Aid can now grab text from it and perform lookups. It has been a long time coming and it a significant enough change that Steve mentioned it in his keynote at the music event. This is somewhat less significant these days because there are two other ways independent from the Accessibility API that Language Aid has to grab text from applications. However, the fact that iTunes was a first party app made it quite a big omission. To its credit I suspect that this was due to the entire interface being implemented independently of any OS frameworks to allow for easier porting to Windows and higher consistency in behavior between the app on the two platforms.

There are a few major apps that still do not fully support Apple’s Accessibility API fully (Office, Firefox, I am looking at you…) but every little step helps.

Entries (RSS) and Comments (RSS).