Nook v1.0 on Android Emulator

I decided to check out the Nook earlier today; naturally it's not available in Ireland so I downloaded the firmware update from Barnes and Noble and set to work on getting it to run on something.

I didn't expect to get very far, but after a little hacking it was actually working.

To get it to run I had to:

• grab the firmware update using the tools at http://code.nookdevs.com/
• unpack the system folder out of the firmware update using said tools and gunzip
• replace lib/libaudioflinger.so with that from a clean Cupcake build of Android (took it from the emulator)
• disassemble the classes.dex file inside framework/services.jar using baksmali
• modify 'ServerThread.smali' to remove the line " if-lt v0, v1, :cond_483 " (it looped on waiting for eInk display)
• recompile the dex file using smali and re-insert it into the jar
• create a system.img from the system folder using mkyaffs2image
• replace the system.img of my Cupcake emulator build with the Nook one just created
• boot the emulator with a resolution of 480x944 (the highest I could get it; it's about 120px too thin for the eInk display)

This is by no means a guide, but it should hopefully point more capable Android hackers in the right direction if they want to get this booting. I'm pretty sure that's all that was required.

Networking is working fine; and the arrow keys on the keyboard control the page turning

Here are some screenshots!

UPDATE:

A video for you non-believers ;-)

Nook on Android Emulator from Steven Troughton-Smith on Vimeo.

Grace - Picture Exchange For Autistic Children

First look at Grace, our picture exchange communication application for individuals with autism spectrum disorder.

THE IPHONE is set to become a communication tool for children with autism, with the testing of a new application for the device.

The application is designed to be used in a similar way to the Picture Exchange Communication System (Pecs), which allows children to build sentences using a book of laminated pictures attached to a board by Velcro.

The application, which is being developed under the working title Grace, is the brainchild of Lisa Domican, a parent of two children with autism. She was inspired by O2’s marketing campaign for the iPhone. Before the launch of the device in 2008, the mobile operator ran advertisements on buses in Dublin. Ms Domican noticed the advertisements and realised the phone’s potential as an alternative to the Pecs books used by her 10-year-old daughter, Grace.

“You are constantly having to replace loose cards and make new ones,” said Ms Domican. “With the iPhone, the screen looks like a Pecs book. It’s ok to have a four-year-old walking around with a Pecs book; it’s not ok for a 10 or 12-year-old. They’re very personal to the kids; it’s their voice. The [Pecs books] really stand out, whereas the iPhone is discreet and always there.”

The idea is backed by O2 Ireland, which supplied the devices for the development and testing of the application. The mobile network is already involved with Irish Autism Action and it was through this link that Ms Domican got backing from O2.

Ms Domican linked up with Steven Troughton-Smith, a software developer for the iPhone who has created a number of bestselling applications.

Mr Troughton-Smith, a student at Dublin City University, took the description of what Ms Domican wanted and turned it into a working version of Grace.

He developed the application to look exactly like a Pecs book. So instead of carrying around a Pecs book, older children can use the iPhone to choose from a range of pictures and place them on a virtual strip of Velcro.

Ms Domican’s daughter Grace has become so comfortable with the technology that she adds her own photos to the application’s library using the iPhone’s camera.

The application is undergoing trials on five devices in three schools to see if other children, parents and tutors can use it easily. Once testing has been completed, it will be submitted to the iPhone App Store.

CIARA O'BRIEN The Irish Times

Orbit 1.0 - Week in Review

Orbit has been available a full week now, and has performed phenomenally in the market. It's about to cross the 50,000 users mark, and I thought it would be a good idea to share some statistics of the Cydia Store market.

Here's the device breakdown (of 45,254 devices):

It's interesting to note that the iPhone 3G and the iPhone 3GS are almost identical in market share so far (in fact, for most of this week the 3GS was ahead by about 4%, but the 3G pulled ahead at the last minute). Remember, the 3GS is only a couple months old.

So, with that in mind, what OS is everyone running?

As you can see, the majority are on the latest version of iPhone OS, although there is a significant number remaining on 3.0.

Orbit has been received positively in the media, too, although the highlight of my week was getting the great Stephen Fry to use Orbit. From his e-mail to me, he said…

"Smooth and stable and genuinely useful. It’s there on my dock, the first app ever to deserve a place there…"

I can't wait to wrap up v1.1 and push it out to all of you - and if you like Orbit, please tell your friends! It's only $1.99 on the Cydia Store, and you get free updates.

Orbit - bringing 'SpringBoard Exposé' to life

Early this month Ocean Observations posted a video on YouTube of a concept they dubbed 'SpringBoard Exposé'; a way to quickly navigate the multitude of home screen pages many of us have on our iPhones or iPod touch.

In chatting with Louie over at The Iconfactory, he 'suggested' I go and see if I could make it into a reality. After two hours of work, I had the concept up and running on my iPhone.

Simply tap the Orbit icon and you're zoomed to what I dub the 'Orbital View' of your home screen, from there you can tap any of the pages to zoom directly there. For anyone with many pages of apps, this will change the way you use your device, I guarantee!

Fast forward to today, its first day of release, and Orbit is a huge hit on the Cydia Store. Louie cooked up some awesome artwork with a little prodding from me, and the reviews across the web have been outstanding. For posterity, here are some of the reactions from users on Twitter:

"Very polished, works flawless for me"
"Just bought Orbit from Cydia. It kicks ass!"
"Just purchased, and installed Orbit!!! This is the best iphone app I have on my phone.. I works GREAT!!! Thank You!!!"
"Just installed Orbit... My life is so much easier now. Thank you! Probably the best thing ever for the iPhone."

Orbit 1.0 is available now from the Cydia Store at $1.99, but the story only begins here. There are many awesome improvements in the pipeline, and I hope you all enjoy Orbit as much as I have enjoyed making it. Please spread the word!

Orbit: Available on Cydia

'Expose' for iPhone

Working on this little [jailbreak] modification, hope you all get to see it very soon. Still trying to figure out a name for it (can't use Expose or Spaces, would be nice to have a name of its own). Haven't done any caching yet, so there are a load of speed improvements coming. But for anyone trying to navigate 11 home screens, even this as-is is really really cool.

Stack v3 Alpha 2 Released

Stack v3 Alpha 2 is now up for contributors; check here for more details.

Whatever you do, make sure to read the readme as there are some important gotchas!

New in Alpha 2:
• Multiple Stacks
• Dimming of screen when opening a Stack
• Reflective Dock support
• Support for iTunes 9's App Management
• Stack Update Notifications (notification when there's a new version available)
• New Grid View animations (temporary)
• Stacks are findable/openable using Spotlight

Bioshock for Mac

October 7 marks a key point in next-gen Mac gaming, as it marks the date that Unreal Engine 3.0 finally sees a release on the Mac. Feral Interactive have announced they will be releasing a native port of 'Bioshock'. I'm rather confused about the state of Unreal Engine 3 for Mac. I know well the port was well underway in 2005 when I contacted the developer, and at the time it was planned for PowerPC G4 and upwards. The desire was to make it Intel-only, but back then it wasn't quite feasible. Asides the obvious issues, also, at the time, bugs in gcc4's code generation were a big problem. Eventually Unreal Tournament 3 was announced for Mac in December 2007 by Macsoft, and Gears of War was also officially stated to 'be coming'. Neither game have seen the light of day as of yet, although Ryan Gordon posted screenshots of the Mac version a year ago. Unfortunately, this is what the native Mac gaming situation is right now; broken promises and many-years-late ports. I'd like to say that at this point the engine wouldn't be relevant or the most amazing graphics engine on the block, but I'd be lying. Even now, three years after Gears of War was released on Xbox, no developer has ported a game with graphics of that calibre to the Mac. Even so, I'm very excited to see Bioshock come to the Mac, and can't wait to play it. Here's Feral's press release:

DATE:

Thursday, September 24, 2009

On October 7th, prepare to descend to the depths of the undersea city of Rapture when Feral Interactive releases the critically acclaimed BioShock® for Mac. Developed by 2K Boston and 2K Australia, and originally published by 2K Games, BioShock introduces gamers to an exciting world filled with fascinating characters, intelligent enemies and complex moral choices that define the foundation of the game’s world. With its rich story, meticulous attention to visual detail, tense action and infinite replay value, BioShock delivers the perfect blend of storytelling and first-person action.

Barely surviving a plane crash, the player lands in icy uncharted waters and discovers the undersea city of Rapture, a failed utopia whose citizens had embraced genetic engineering before descending into pure anarchy. Power and greed have run amok and the city has succumbed to civil war. To survive, gamers must turn everything they find into a weapon, use their powers of observation to piece together what happened and make the difficult decisions necessary in order to escape a paradise gone badly wrong.

Fans have embraced BioShock’s mysterious world filled with powerful technology and creative gameplay. BioShock is also renowned for its rich visual detail depicting a gorgeous Art Deco world set deep beneath the sea.

“The look and feel of BioShock is breathtaking,” said Feral Interactive’s David Stephen.“Combined with the remarkable depth and sophistication of the storyline, as well as the pure adrenaline rush of playing, BioShock will set new benchmarks for Mac gaming.”

BioShock will retail in North America for US $49.95,£34.99 (inc. VAT) in the UK and€39.95 (inc. VAT) throughout Europe. It is currently available to pre-order from Feral's online store ( http://www.feralinteractive.com/?section=buy&language=english).

More details are now available at: http://feralinteractive.com/game/bioshock.

Minimum system requirements for BioShock include a 1.8 GHz Intel Mac, 1.5 GB RAM, 128 MB graphics card, DVD drive, 8 GB of hard disk space and Mac OS X v10.5.8 or later. The game does not support Intel GMA integrated video chipsets, but does run on the latest generation of MacBooks and Mac Minis.

EDITORS: Screenshots, logos and other essential graphics and multimedia tools for BioShock can be found online in the Feral Press Area ( http://press.feral.co.uk). Please use your assigned login recently provided to you. If you do not have a login, please contact Brad Gibson, Feral Marketing/PR Manager, at bgibson@feralinteractive.com.

About Feral Interactive

Feral interactive is a leading publisher of games for Macintosh platform founded in 1996 and based in London, England. It is responsible for such Macintosh hits as Black&White, Colin McRae Rally Mac, Lego Star Wars II and Tomb Raider Anniversary.

All trademarks and copyrights contained herein are the property of their respective holders.

CONTACT:

Brad Gibson at bgibson@feralinteractive.com

+1 918 691 3420

Palm Pre Launches in Ireland October 16

The launch date and pricing has finally been announced for O2's exclusive on the Palm Pre. It's pretty clear that the pricing was chosen to compete with iPhone, with the device starting at €99 on the lowest plan, and free on the highest plan. Virtually all the plans are the same as the iPhone plans featurewise. You're looking at €419 if you're wanting to pick one up off-contract, although you're still SIM-locked to O2 (although, to be fair, since the device is so open and hackable I wouldn't expect that to last long). It's also pretty damning that Android was announced in November '07 and there's still not an Android phone available officially in Ireland. It just looks like the carriers here don't want anything to do with it :-)

RSS State of the Union, 2009

A day ago I posted a quick survey to Twitter about the state of RSS on iPhone. Over a hundred people responded with pretty much the same answers:

There is currently no 'good' RSS application on iPhone. There's a clear demand for a really sweet looking, fast, and easy to use news reader that syncs with Google Reader. Those who said they don't use an RSS reader on iPhone said it was for want of an acceptable, native client.

Most people have settled on Byline as their news reader, and there are a lot that just use Google Reader through Safari.

Quite a few people mentioned that they want a news reader that is more like a good Twitter client (although, you could say the response base was biased).

Roughly $5 seems to be the general consensus regarding what a good RSS reader should cost, with some people saying they would never pay for an RSS reader and even some saying they'd pay over $10. Certainly interesting information for anyone pricing their applications.

Only one person mentioned they'd like feed searching, but the majority did specify that they want caching for offline viewing.

A built-in browser and attachment viewing is also ranking heavily among wanted features.

Interestingly, several people said that they would absolutely hate if the app adds an 'unread' badge on SpringBoard. I understand that myself, as I hate the unread badges, but it's nice to see I'm not alone.

Those whom mentioned a landscape feature said they'd want the ability to disable any landscape modes entirely, so that they can easily read when not standing/sitting up. Not one person said they'd like a landscape mode for reading.

Finally, Instapaper, Twitter and Facebook integration were mentioned several times, as well as in-app e-mailing of articles.

Useful results, and it shows a clear market for a fresh news reader. I can certainly add that to my 'ToDo' list of possible iPhone projects :-) Hopefully this data is useful to other developers and iPhone users.

The Cider Portability Engine

I want to spend a blog post gushing on a technology, in particular, Cider from TransGaming Inc. In the past, games companies porting titles to the Mac had to either rewrite a game to run, or they had to rewrite a game to work with their own DirectX compatibility layers. This process takes a lot of time and money, as you can imagine. Cider changes the game completely. Cider is a wrapping technology that runs the Windows versions of a game in an 'emulated' form, essentially translating all the Windows and DirectX specific stuff to run directly on the Mac. The way it works is essentially simple and very easy for TransGaming to adapt to new titles; it literally encompasses the entire Windows folder structure including the game, and runs the actual Windows binary (.exe) as if it were a Mac application. This provides you with a double-clickable Mac game that, to the end user, seems just as native as any other Mac game. Naturally, there is a performance penalty (which differs depending on the game) but it's often not that much worse than an actual native port of a Mac game. Because a Cider game package is so simple, fans and hackers alike have taken it upon themselves to try and wrap other, existing Windows games in Cider wrappers. Naturally this bends all sorts of licensing issues at the least, and is piracy at the worst, but the potential is there to flag a list of popular games that will work with minimal effort using Cider so that TransGaming themselves may try and court the developers and see if they want a Mac port. Cider itself is ever-evolving, and today boasts much better performance and compatibility than a year ago. It leverages features of OS X like multithreaded OpenGL, and is a self-contained bundle (there's no user-facing directory tree for a game, just the game itself you can drag and drop anywhere you like). Naturally, as Cider itself improves, so do all the games it works with. For many games, making them run is a simple case of tweaking configuration files and replacing the internal Windows game folder with that of your choosing. Other games require more poking and often require no-cd versions of the Windows binary. Other games don't work at all. But those that do include such impressive titles as: • Assassin's Creed • Dawn of War (and expansions) • FarCry • Elder Scrolls: Oblivion • Half Life 2 • Grand Theft Auto 3 (and Vice City, and San Andreas) With the latest version of Cider (included in the Warhammer Online free demo), even Fallout 3 now launches to the main menu (although the actual game part doesn't yet work). I'm optimistic that a future version of Cider will run Fallout 3 perfectly. Naturally, in the official scene, EA, among others, is making massive use of Cider. Some official games that use it are: • The Sims 3 • Spore • Command & Conquer: Red Alert 3 • Warhammer Online • Battlefield 2142 I did some unscientific tests pitting the native OS X (Intel) version of Doom 3 up against a Ciderized Windows version of Doom 3 (that I hacked together for the purposes of this blog post) on a last-gen MacBook Pro. The Cider version performed about 50fps, on average (60fps being the standard maximum refresh cap on Doom 3). It looked identical to the Mac version, and performed just as well at the same resolution. Doom 3 (id tech 4) is one of the most graphically demanding engines that Aspyr (arguably the premier native Mac porting house) has ported to the Mac. That the Windows version of the game, using the Cider portability engine, is able to run just as smooth is certainly a sign. I believe that there's not much future for native Mac gaming, and Cider is the future. Cider games are performant, and can be released on the same day (in same box) as the Windows versions. Contrast that to the native Mac porting scene: • Black and White 2 was released in early 2009 for the Mac, four years after the Windows version • Call of Duty 4 was released a year after its Windows counterpart • Gears of War and Unreal Tournament 3 were promised for (and mostly ported to!) the Mac, still haven't been released • SimCity 4, ported by Aspyr to the Mac in 2003, even as a Universal Binary and Intel-native, _still_ does not run smooth on the latest Macs. Long live native Mac gaming. You won't be missed :-)

Google’s Response To The FCC

Techcrunch has Google's response. Interestingly, Google is the only member of the three to have redacted portions in their letter.
"The redacted information relates specifically to private business discussions between Apple and Google regarding the Google Voice application and, as such, it constitutes commercial data 'which would customarily be guarded from competitors'…"
Hmm…

AT&T's Response to the FCC

AT&T's response to the FCC has also been made public.
"…we plan to take a fresh look at possibly authorizing VoIP capabilities on the iPhone for use on AT&T's 3G network"
Possibly the most interesting tidbit from the sixteen-page document; if AT&T relents and begins to allow VoIP services such as Skype on their network, it bodes well for Apple allowing iPhone VoIP apps work over 3G worldwide.

"Apple Answers the FCC’s Questions"

Apple today published their answers to the FCC's questions regarding the Google Voice rejection issue and it contains some very interesting information about the App Store.
"There are more than 40 full-time trained reviewers…"
Merely forty full-time reviewers for 65,000 applications and counting. Crikey! As far as I know, most, if not all, of them are based in Cupertino, so AT&T's network terms-of-service is law when developing your app.
"…at least two different reviewers study each application so that the review process is applied uniformly"
This makes sense, but it clearly shows why reviews for the App Store take so long.
"…roughly 20% of [apps] are not approved as originally submitted"
Interesting statistic; Apple does mention that the majority of rejections are for bugs and QA issues, and developers are free to fix and re-submit. No figure is given for completely denied apps.
"In little more than a year, we have reviewed more than 200,000 applications and updates."
If I didn't think those forty people were overworked before, I certainly do now.

RE 'The Android Opportunity'

John Gruber over at Daring Fireball has posted a great article about Android, detailing what he thinks handset makers should do to prevent Android from becoming an also-ran. He also writes:
Emphasize that Android apps are background-capable, and that there is no centralized App Store under one company’s ironclad control. There are no tales of rejected Android apps because there are no rejected Android apps.
Seems like he's forgotten that Google actually do remove apps from their marketplace:
Google has reportedly pulled tethering apps from the Android Market. According to at least one developer, who contributed to the WiFi Tether for Root Users app, Google are citing their distribution agreements with carriers as the prompt for removal: “Google enters into distribution agreements with device manufacturers and Authorized Carriers to place the Market software client application for the Market on Devices. These distribution agreements may require the involuntary removal of Products in violation of the Device manufacturer’s or Authorized Carrier’s terms of service” — Google Developer Distribution Agreement
An unfortunate addition is that Google restricts developer phones from being able to download or buy paid apps from the Android Market.
Google is denying those developers access to copy-protected applications sold in the Android Market because developers have a higher level of access to the G1 phone than regular users, and could potentially break the copy protection on those applications…
Not a good way to treat your developers, I would think. If you submit a paid app, you cannot even see it on the store from your developer phone; you have to buy another Android device to test it or see what it looks like on the store.

EeePC 901 + Snow Leopard

I found this article earlier explaining the quickest way to install Snow Leopard (10A432) on a PC box, so I decided to install onto my EeePC netbook to test the theory. It works! Alright it isn't as simple as that. Here's the status right now with just my simple mods: As you can imagine, the trackpad issue is bothering me just a little… You'll have to do a bit of hacking to get to the state above, however. I cannot, and will not, provide copies of any of the hacks performed below; I have given a reasonable amount of information so that others can do that for you. Please don't ask as I won't respond. Keyboard Support You will need to compile yourself a Snow Leopard version of the VoodooPS2 drivers from http://chameleon.osx86.hu/. This is relatively straightforward, but means you need a working Snow Leopard machine with a working 10.6 SDK. You will need to switch compiler to GCC4.0 for one of the drivers to prevent a compile error, and you will also need to edit a line ('private' to 'public') in an OS header to convince something else to compile. Theoretically, this driver should enable the trackpad too but it hasn't for me, but someone with more experience may fix this (please do! and send me the working one!). Graphics Driver You will need an Eee-compatible copy of Natit.kext (I used the one from the EeeMac driver set) and you will also need to hex-edit the AppleIntelGMA950 and AppleIntelIntegratedFramebuffer kexts to accept your graphics card (find and replace all instances of 8680A227 with 8680AE27 in both). You will need to edit the Info.plist of both kexts too to add your card's ID (0xae278086). Bluetooth You will need to add your Bluetooth device/vendor IDs to IOBluetoothFamily.kext's BroadcomUSBBluetoothHCIController.kext. Audio You will need to install CHUD from the Developer Tools included on the Snow Leopard disc. You will also need Audeee. Follow instructions on the EeeMac blog for Leopard to see how it works. Other Follow the rest of the instructions on the EeeMac blog that don't involve replacing extensions. A lot of the hacked extensions that worked on Leopard will fail to load on Snow Leopard and may render your machine unbootable. If you want to experiment, at least know what you're doing.
After doing all that, you'll have a mostly-working Snow Leopard install on the Eee. :) I haven't done any performance testing, as it's a pain using an external mouse for the moment. Everything feels snappy, and I played a 720p trailer (of Bolt) from the Apple website and it was watchable. Happy hacking! I cannot, and will not, provide copies of any of the hacks performed above; I have given a reasonable amount of information so that others can do that for you. Please don't ask as I won't respond.

iNdustrial Design

Lately I have been subjecting my Twitter followers to photographs of (…pause…) Apple hardware. Specifically, older Apple hardware designed by Jonathan Ive and his team. Apple has always had design foremost in their product planning, but it was Ive who infused Apple's industrial design with an energetic and youthful vibrance. Apple often mentions their major product innovations, with milestones set at the original Macintosh introduction, the iPod introduction, and the introduction of iPhone. You could argue that the original iMac was of the same calibre in its impact on the world of computing. It made such a splash because it bucked conventional thinking about the design of devices from the inside out. It was that inspiration that redefined Apple. Apple was pushed towards a new, youthful market, whereas before the original diehard Mac fanatics were trending towards the older age groups. It was this youth that pushed Apple towards OS X's UI, music, iPod and iPhone. You can see it in all of Ive's designs too, with their translucent plastics and beautiful curves. He was just past 30 when the iMac was released, but you could tell he was still a twenty-something at heart. Apple, including Ive, has grown up since. It's a very different company from that which inspired me to enjoy computers. While I really like the current design trend (Silver + Black), I still have a special place in my heart for the older designs. I've made it my duty to lovingly collect and preserve as many examples as I can, so as of late I've been scouring everywhere for people getting rid of older Macs and inspiring hardware designs. Word-of-mouth (and eBay) is great, although the biggest problem so far is shipping (computers tend to be heavy). You can keep an eye on my Flickr if you're interested to see what I pick up, as I tend to photograph everything. :-)

Retro-envy

With all this talk of an Apple tablet in the news recently I was overcome with nostalgia (or, as I call it, 'retro-envy', considering I wasn't even five when the original Newton came out). Digging out my Newton MP2100, I determined to pimp it out with storage and some networking ability. I had a key hurdle to overcome before I could manage this: I didn't have a serial cable with which to install packages onto my Newton. After a little scrounging, I found an ancient EigerCom 33kbps PCMCIA modem that had been used in an old PowerBook 1400cs. Assuming this would 'just work' with my phone lines, I hastily plugged it into the Newton and into the wall. Fortunately, the Newton recognized and could use this card off the bat (handy!). The only problem was actually dialing up! Nine out of ten times, the modem would complain that it couldn't find a dial tone. In the end, I switched the modem to the 14.4kbps mode which allowed me to dial in every time. Getting WiFi working isn't too difficult, if you do it right. If you do it wrong, like I did, you'll spend hours scratching your head wondering why it won't work. I followed the great howto on the 'My Apple Newton' blog and installed everything I needed. I also installed the 'More WiFi Cards' package, thinking it may be useful in the future. Big mistake! Apparently, if you install the 'More WiFi Cards' package, it stops the standard accepted WiFi cards from working. It took me several hours to realize this, after purchasing a cheap Lucent Orinoco Gold 802.11b card from eBay and trying to configure it with my network. The good news: it works without problems on the latest Airport Extreme base stations (if you have b/g compatibility turned on). Here's a quick shot of my MP2100 on Twitter: I have since ponied up for a working serial cable and used both unixnpi (command line) and NCX to install packages. NCX also allows you install packages over WiFi, which makes things a lot easier and faster. Considering the MP2100 was released in 1997, two years before 802.11b even existed on paper, I think that's quite a feat. :-) While browsing eBay for Newton-related items, I came across this MP120 in perfect condition for a mere £21. I placed a bid a couple days before it closed, fully expecting to be outbid by a large amount. Amazingly, I wasn't, and today my beautiful MP120 arrived. Definitely a steal! I have a few more retro goodies en route to me, ranging from ATA flash storage for the Newton (now possible thanks to the recently-released ATA driver) to an eMate 300, also a steal. Will post more about them when they come!

Palm Pre SDK != 'Web Apps'

Palm opened up their webOS SDK for the Palm Pre on July 16th, allowing anyone to check it out and start developing applications for the Pre. However, some developers are finding problems that prevent them from bringing their applications to the device. Craig Hunter, an iPhone developer, writes:
In my quest to re-experience the early days of app development on a new mobile platform, I didn't rewind one year like I was hoping -- I went back two years, back to the days when we could only develop web apps on the iPhone. I wrote this piece back then, bitching about the limitations of web apps on the iPhone. It seems we're right back in the same boat with webOS.
He specifically laments the lack of OpenGL|ES support and the accelerometer data being too inaccurate (currently limited to four readings per second). He raises some important points, with the above major stumbling blocks for those thinking of writing games, but he's wrong in saying that the Pre is akin to iPhone's web app 'SDK' as it was presented back at WWDC 2007. Palm's apps aren't web apps; yes they use javascript and HTML, but they tie into the system services with such. There is no other 'native' API; all applications, including the entire system shell, are built the same way and have the same capabilities. Really, Craig's found out that the Pre has (in effect) a sandbox for applications, and, if you think of it, it's not unlike the iPhone SDK sandbox. Bloggers lambasted the original iPhone SDK for providing only a baby subset of the actual features of the iPhone. Has it stopped growth, or a booming 65,000 app market with 1.5 billion unit sales? Of course not! Palm's lack of developer access to certain functions is a mere by-product of the immaturity of the platform. The reason there is no OpenGL|ES support on the Pre is because the Pre doesn't have an OpenGL|ES graphics driver. Currently the entire OS is using software-based drawing and animation (using directFB I believe). This is why webOS isn't as smooth as the iPhone in its animations or scrolling. But this is merely a software limitation, which will no doubt be improved upon with software updates. Palm has also proven that they're a much more open company than Apple in all their dealings with the Pre hacking community, which has impressed me to no end. I fully expect them to keep adding great features to their SDK and listening to the developer feedback. I do believe the accelerometer issue above to be an oversight; it's far more likely that Palm only envisioned game developers using the accelerometer at higher refresh rates, and the Pre wasn't initially designed for gaming, more being a re-imagining of Palm's canned Foleo project. That's not to say the Pre will never support gaming; the GPU in the Pre hardware is a damn good PowerVR SGX 530 chip, of the same family as that in the iPhone 3GS, just with a lower maximum polygon/sec count. As soon as there's a proper driver in the OS, and WebKit is re-tooled to use the GPU for its rendering, we should expect some really awesome updates to webOS. It's just a matter of time…

No promo codes for apps rated 17+

People are only now finding out what 17+ apps and rating systems entail; any application rated 17+ is refused the ability to have promotional codes generated, so you cannot send out review copies, etc. TUAW writes:
Apple specifies that any application that may contain high levels of offensive language, violence, sexual content, or references to drugs or alcohol receive a rating of 17+. But, according to Apple, apps that feature an embedded web browser or provide access to 3rd party content also automatically require the 17+ rating, regardless of the application's content or intended audience.
Marco Arment provides a little more detail:
Assuming Apple applies their standards on what constitutes “unfiltered internet content” somewhat uniformly, this will affect, among others, any subsequent versions of: Instapaper Every Twitter and Tumblr client that can show others’ content Every RSS reader Every Flickr client Every instant-messaging client (remember, text profanity counts) Every social-networking client Most ebook readers
However, it's worse than that. If you set a rating for an application before you've finished it and uploaded to iTunes Connect, there is no way to change the rating afterwards. So say, for example, you edit the application to remove offensive content or, as mentioned above, remove an inbuilt browser, you cannot change the rating for your application back to sane levels, thus preventing you from generating promo codes for it! Until recently it was even nastier: If you had even a single 17+ rated application entry on iTunes Connect, whether it had been uploaded/finished or not, you were forbidden from making any promo codes for any of your other apps, even if they were rated 4+. I fell into that trap by having my (unreleased) Doom port listed on iTunes Connect as 17+; for months I was unable to generate promo codes for my other apps until I contacted Apple with a 'WTF?'. Fortunately, you were able to modify the rating at the time, unlike now. I really hope Apple sort out this mess soon, because when the App Store system works it works really well.

SameGame v2.0

Coming Soon…

Speech Synthesis on iPhone 3GS

Posted this on Twitter a week back, but maybe it's of some interest to blog readers; here's how to do simple voice synthesis on the iPhone 3GS (3GS-only, I'm afraid). It's a private API, but hopefully if we file enough Radars they'll make it a public one.

To enable the following code to work you'll need to link the VoiceServices.framework (from the PrivateFrameworks folder of the SDK) in your app.

NSObject *v = [[NSClassFromString(@"VSSpeechSynthesizer") alloc] init]; [v startSpeakingString:@"All your base are belong to us"];

Apologies for my lazy 'NSObject' define above, but you get the idea :-)

With that, you have simple speech synthesis for your application (obviously you cannot include this when you submit to the App Store as it links to a private framework, but you can use it in your internal applications). It requires the 3GS because the Speech stuff just isn't in the firmware for the older devices.

Obligatory video below:

Quake 3 on iPhone 3GS

I posted these to Twitter, but I'll put them here too for posterity. Here are screenshots of my newly compiled version of Quake 3 running on the iPhone 3GS on max graphics settings. I made my own icon for it as I didn't like the original. Do note that the frame rate generally dips by 10fps when I press the screenshot buttons, and it runs really smooth on device! No special hacks used when building; I did turn on auto vectorization and NEON in the compiler settings.

Stack v3 Alpha 1 : Video Demo!

Here's a quick video of how (the unreleased) Stack v3 works. I think it's much improved - check it out:
Many thanks to all who've donated (and received their alpha version of Stack v3 in return) - I really appreciate it!

Stack v3.0…

Yes you read that right. In going back to make sure Stack v2.2 would work properly on 3.0, I had a horrid idea… A couple hours later, and I'd got it working. And man is it awesome! On a whim, I'd rewritten Stack to actually be an icon in SpringBoard. It can be moved anywhere, has all the same positioning and reordering abilities as any other icon, it doesn't interfere with other apps, and is generally the cleanest and best way I could ever implement Stacks (yes, with an 's', there can be more than one now!). It took an awful lot of hacking around and programming blind to pull it off, but I think it's gonna work really well. I have no idea when I'll release it, but it will (likely) only be for iPhone 3.0 and above (running out of 2.x devices here to test against for compatibility!). Also please note that I'm now taking donations as an incentive for me to continue working on Stack (as long as I can), so if you have anything spare to give I graciously accept any amount!
Here are various screenshots to just get you interested:

Stack v2.2 'release candidate' for iPhone 3.0

I held Stack 2.2 (my final release) for the launch of 3.0 as it made sense to make sure it still ran on the newer firmware (as I won't be able to update it from now on). Without further ado, I direct you to my 'new' Stack website! http://www.steventroughtonsmith.com/stack/ Hope this helps out all those who've been missing Stack and/or yearning for the cool new stuff in version 2.2. IMPORTANT NOTES: • Should work on iPhone OS 2.0 all the way up to 3.0. • Has issues on 3.0 as regards showing on top of videos (there's a technical reason for this, they removed something I was checking for in 2.x which allowed me to fade out when not at SpringBoard. Will try and find a workaround for 3.0) • Is not available in Cydia. This is a Terminal-only install, for political reasons. Sorry if it makes things difficult. • This is still a prerelease binary - there are some bugs. Let me know about them in the usual ways (email, Twitter) • As always, any of those Extended Preferences-alike mods will likely prevent Stack from showing in Settings NEW IN STACK v2.2: • Custom positioning - drag the Stack to reposition it horizontally • Display mode: image (customizable), single-icon, or cascaded icons (3 icons) • Optional Item-removal prompt • Grid View theming (Grid View images are fully modifiable) • Much-improved performance and memory usage

Trading Card Games

One thing I've learned during my life: people never grow up.

When I was young, Pokémon cards were all the rage, and that eventually turned to Magic: The Gathering in mid to late teens. Trading card games have naturally existed for many many years before that.

Today, it's the exact same with business cards. You go to conferences and events and try to trade as many as you can, to collect some in all sizes and colours. Nab yourself an Apple or Google business card and you're really proud of it. I'm pretty sure if people weren't too embarrassed to 'battle' their business card against others they would! I particularly liked the Realmac business cards (I wrangled one each out of Danny and Keith).

I must have been the only person at WWDC without business cards, so mid-week during the conference I decided to design myself a set I could order from Moo.

Today, they arrived! I'm really proud of them, being my first ever business cards, and I really enjoyed every bit of the design & ordering process with Moo. The Moo packaging is very nice too, with heavy duty holders.

I should also invest in some buttons, as quite a few people were sporting those too…

Tour of the Valley

Had a crazy day today with Chris McClelland and Philip Strain touring all the cool places in Silicon Valley (Google, Apple, Yahoo and Palm). Eventually ended up at Stanford, Tapulous and the WWDC Meltdown meetup. Can't say much about it except it was *awesome* :-D Funniest part of the day was when we saw the Tapulous offices and Chris decided that we should go in… Several seconds of shocked silence and priceless looks ensued before we introduced ourselves.

WWDC+Palm Pre = Rollercoaster Week


Haven't blogged in quite a while thanks to exams and whatnot, but this week I've been in San Francisco for Apple's World Wide Developers Conference with a sizable group of other Irish developers. And wow what a week it's been.

Asides the obvious Apple awesomeness, there's been even more cool stuff happening: at Monday lunch time Symbian held an event in Jillians just across from Moscone West, where the first 100 attendees got a free Nokia 5800 Xpress Music and t-shirt (as well as food and drink!):



Very nice move by Symbian I think; I would never have even bothered looking at Symbian even for making sure my websites run on it, but now with a free 'high-end' phone I have an excuse to do so. I'd also be really interested in writing S60 apps… except there's no Mac-native SDK. If Symbian actually wants to attract iPhone developers, as they seemed to at the event, then they better MAKE A MAC SDK!

On Tuesday, I decided to be adventurous. I was able to buy a Palm Pre from a local Sprint Wireless store without activation or a contract (apparently I hear it's very hard to do? $602 including tax), so I instantly ran off back to my hotel room to see if I could A) hack the activation out of the OS, and B) get it working so I can develop apps for it and run them on device.

Well, success :-) I gave up Tuesday eve because I couldn't get the device into restore mode no matter what I did, but on Wednesday morning I figured it out: you have to hold the volume-up button while the device is off before plugging it into USB, and from there you can use Palm's firmware flashers to do whatever you like with it. As the device can run unsigned firmware (!!!) I was easily able to hack out the activation check, and get up and running and enable the root shell. In that respect, I may just have the first jailbroken Pre in existence.







I gotta say; this week at WWDC I've used my Pre more than my iPhone. It's not better than the iPhone in any respect, BUT it's as-good-as for most people. Everything 'just works', whether it be syncing with iTunes or even using the iPhone headset with the Pre. It's a fantastic device and OS, and I really wish Palm well with it.

But man, for a hacker, the Pre is incredible. As mentioned, it runs unsigned firmware and has a root shell over USB when in developer mode (you can use the Konami cheat code to enable dev mode, too); you can do whatever the hell you like to the OS! The entire UI and all the apps are written in javascript, which in essence means the source code is available for you to modify at will, without recompiling anything. Even better, you can write C/C++ native Linux apps for it that draw directly to the framebuffer, as the recent Doom port shows. The specs are impressive, it's a ~600MHz ARM Cortex A8 with 256MB RAM with accelerometer, GPS, WiFi & Bluetooth, or, put another way, almost the exact same specs as the iPhone 3G S (bar the compass, afaik).

After revealing my exploit of the device, I was invited to a small Palm meetup nearby where I got to chat with the actual WebOS engineers, thoroughly validating my efforts :-D

Staying in San Francisco 'til Tuesday next, so hopefully I'll get some more free stuff somewhere (I'm *such* a student). This has seriously been the best week ever.

Lights Off - Ad 1

Made a simple ad for Lights Off using the awesome Kinemac (part of the Macheist bundle). Check it out below in HD! Grab Lights Off on the App Store!

The Last Word - TodayFM

I was invited on for a few minutes with Matt Cooper on TodayFM's Last Word last week, and the piece was broadcast last Thursday at 6.30. Topics include: • What's an 'iPhone App Developer' • What sort of apps I make • How I got into development • What's attractive about the iPhone • What's the attraction for people to download apps • How do I get applications on Apple's store • Apple Test Process • How hard is it to find apps • Pricing / Income • Is the iPhone the way of the future • Touched on iPhoneOS 3.0 announcement • Value for money • How difficult is it to write apps for iPhone
In a completely unrelated note, it appears I have 'won' the internet. All your base are belong to me? Thanks Andy Ihnatko!

Pre-iPhone 3.0

We're about thirteen hours away from seeing the new iPhone 3.0 software, and excitement is running high. Lots of rumours are saying that Copy/Paste is a certainty. I think they're right. What else could iPhone 3.0 bring to current iPhones? Here's what I think: - A new SpringBoard? A SpringBoard redesign to better handle multiple applications would be nice; multiple categories of apps, with a shelf at the bottom and arrow buttons to navigate through the categories with animations similar to Time Machine. The usual Dock would be visible with a swipe on the center dot in the status bar, and is grown to accommodate two rows of icons. - Background Apps? Possible background apps, up to three; they 'minimize' to the shelf. Here's a Photoshop mockup of how I'd imagine 3.0 to look (drew this myself): - Copy/Paste? Kevin Rose seems to know his stuff; a doubletap on a word would bring up a roundrect loupe with quotation marks that you could drag around a selection and copy/cut. I think it will only work in certain applications, however. - Developer APIs? It would be nice to see a Maps API; although if there is one I'd be pretty sure it's not Google Maps and instead Apple's own renderings due to licensing. A Search API would be possible too, as would Core Data and Cocoa Bindings. There is definitely to be a digital compass in the next iPhone, according to whispers, so CoreLocation will sprout magnetometer support. - SDK? The iPhone 3.0 SDK will likely require Snow Leopard to run, especially if new language features like blocks and GCD come to 3.0. I'm guessing Apple will release a beta SDK for Leopard tomorrow, but only the beta SDKs will run on Leopard, not the final. - Codename? Hearing the word 'Kirkwood' bandied about a bit. Take that as you will… I'm really looking forward to seeing whether any of my wish list above comes true; I have St. Patrick's Day to worry about instead, but hopefully I'll be able to tune into Engadget's liveblog of the event.

Media Coverage

I've been lax in blogging about my recent media coverage; ever so sorry! I've been in the Irish Independent and GadgetRepublic a couple of times thanks to the lovely Marie Boran. Check the links out: Playing to win big on the iTunes App Store App Store secrets: what they know that we don't In Programming Mode Also I might possibly be on TodayFM (100-102MHz) in the next couple days; I'm heading over to their recording studios tomorrow afternoon so that should be fun! In other news, I just redesigned my website so that it's a little more visual now. There are some issues with Internet Explorer (that I just haven't bothered to check out as I don't have a Windows machine), but it works great in Safari/Chrome/Firefox. Check it out if you get the chance!

Nuker v2.0 - new UI

I spent this evening redesigning Nuker for its 2.0 release (used Louie Mantia's latest awesome work on Convert as inspiration). Firstly, I had to redesign the input mechanism. Apple do not supply a keyboard for inputting IP addresses, instead you must use the full keyboard. I went ahead and coded up my own, similar to what I'm planning for the Android version (as sliding open the keyboard on the G1 sucks bigtime). As an added usability bonus, you can now shake the iPhone to erase the IP address instead of using the delete key. Nice time saver that no-one will ever use! For those who aren't sure how it works, I've embedded a demo video of the app in action below. Remember that it only works against the original Windows XP release!

New Monitor - Dell S2209W

Last weekend I decided to go and order myself a 'proper' monitor for my varying devices and design work instead of putting up with the ancient flat panel I'd been using for the past ten years. Looking around a bit, I found that Dell offered the 1920x1080 beasts that I desired; I wanted to have native HD instead of scaling it to 1920x1200. I went for their budget HD monitor, the S2209W (a 6-bit 21.5" widescreen). When I saw that it was only €185, I just had to go for it. Well it arrived today, and it's simply awesome! The screen quality is good, better than you'd expect for a 6-bit panel - it's hard to notice but you might see some dithering in static images. It's much lighter than I expected - all monitors I've handled up to now have been heavy, but this one is light as a feather in comparison. It doesn't include any special features, no USB, no HDMI, simply a standard VGA and DVI connector, supporting HDCP, naturally, so you can use it with PlayStation 3. The image quality is amazing due to the high pixel density; 1080p movies look really beautiful on it. I can't wait for Bolt's release to Blu-Ray, as I really want to watch it again on this. It's funny, having a HD monitor (or any HD screen) just makes me want to re-enjoy movies I've seen before, if I can find them in HD. It makes even the worst film ("White Chicks" anyone?) seem worth watching! ;-) All in all, I'm really happy with it. It may be a budget monitor, but it just feels great, and is certainly cheaper than Apple's 24".

Speed 1.1 - Update

I'm planning a minor update to Speed at the moment, version 1.1. I've had a lot of feedback saying to bring back the leather stitching, which I'd removed to try and make the app design more cohesive (the app itself matched nicely with the icon), but if it's what you want I'll do it =) I'm also working on other bits and pieces, making the display more legible, and hopefully getting some improved artwork. I'm planning on including an option for warning when you pass a certain (settable) speed - I think I have a nice way of doing that that will not interfere with the streamlined look of the application. Also, just for those interested (aka rwillis3427), Speed v2.0 is planned for late June / early July (and will be dependent on the next version of the iPhone OS), and will be a free upgrade to all existing users of Speed. There's a lot going into the 2.0 release, so keep an eye out for sneak previews on Twitter every now and then. Here's an interim screenshot of Speed 1.1:

Apple Consumer Bonanza

Today Apple introduced/refreshed seven products at once: • New iMac • New Mac mini • New Mac Pro • Updated MacBook Pro (speed bump) • New Apple Keyboard • New Airport Extreme • New Time Capsule I can't remember the last time so much was introduced at once, but the company is certainly not the Apple Computer of yore! Random notes: • The baseline iMac now has been demoted to an integrated graphics chip (although it is the acceptable nVidia 9400m) • The Mac Pro and high-end iMac are using the nVidia 9500 and 9600 graphics cards, rebranded the GTS 120 and GTS 130 • The Mac mini can now drive the 30" display (and is a powerful little machine!) • Mac Pro comes with 3GB RAM by default, with only €139 needed to upgrade to 6GB. Seems relatively cheap to me? • Disappointed the black+aluminium theme hasn't come to the Mac Pro or mini All throughout 2008 I was hoping to get the next Mac Pro refresh, but in the end I don't think I will; the graphics card is a generation behind already (I'd fancy a GTX280 in it, naturally) and the design is dated. It's also a lot more expensive than from when I priced my spec machine last year. Oh well =)

The 72 Hour Lights Off Sale!

Update: SALE NOW ON! Now extended until Sunday! Starting tonight at midnight GMT (4PM PST), Lights Off will be available for 99¢ (79c) for a whole seventy two hours, ensuring that everyone who's been interested in checking it out but couldn't justify the price before can now do so! Here's a sample of user reactions from the iTunes App Stores worldwide: "This game is soo addictive :) if you're looking for a good timewaster, here's your game. It can drive you balistic, but also is a lot of fun. Great sound effects, great gameplay, what more could you want? Ps if you played the jailbroken version...this one pwns it :p" "It's an amazing game. Great graphics and sound. It keeps me entertained forever! Even my friends love it. I convinced my friend to buy it for her iPod Touch, and she hasn't stopped playing it. Great work Steve and Adam. " "Vraiment ce jeu est très addictif! Je le recommande à tout le monde! Bravo pour le design bien évidement c'est ce qui fait son charme! :)" "Lights off is a really slick version of the classic game. The overall polish is really what makes what would otherwise be a very simple app. Responsiveness is excellent and the beautiful graphics really set it apart. It would be nice if everything in the app store had this much attention paid to the details. " Don't take my word for it, go out and check Lights Off on the App Store - if you like what you see, make sure to grab Lights Off later today!

Free XNA Creators Club Trial License?? Count me in!

Was reminded about Microsoft's DreamSpark recently, and suddenly realized that DCU students had full access to the DreamSpark programme. Even better, DreamSpark includes a one-year trial license to XNA with the ability to deploy my apps/games on my own Xbox! Signed up, downloaded Visual Studio '08 and the XNA suite, and set up my 360. All on the Windows 7 Beta - works perfectly so far (no crashes). Had never used Visual Studio or C# before; it's large and clunky, but having my code running on Xbox is worth it. Controller input had me stumped for a while (was too fast), but I figured out a throttling mechanism. A good eve's work! I had been semi-planning a HD version of Lights Off, for AppleTV. Now, fortunately I can evaluate Xbox and see if it's worth releasing the game through the Creator's Club. =)

I was on TV last night =)

Fame at last? Not quite, but I was on the national news (RTÉ News on Two) on TV last night at ~11.15PM. Had a scare after the 9PM RTÉ News on One when I realized I'd been dropped, but fortunately they still ran with it on RTÉ2. I was interviewed by Laura Fletcher (and cameraman Paul!), which was basically my first time ever on the receiving end of a video camera. Scary stuff! It looks alright in the video, but I had a spotlight shining on me and could barely see a thing! Very intimidating, though Laura's constant smile helped offset that.
As expected, I look a total prat on telly, but I'm really happy about how this went down. Going to have to turn off my phone for a few days so I won't be bombarded. =) Watch the full News program on the RTÉ website (http://www.rte.ie/news/2009/0218/newsontwo_av.html) (RealPlayer required), or just my piece above in high quality on Vimeo. Slight Correction: I go to DCU, not DIT. Doh!

Stack 2.2 - Display Option - 'Image'

The final display option in Stack 2.2 is 'image', which simply shows a resource image from the /Library/MobileStack folder when the Stack is empty. Since you can replace that image, you'll be able to customize the Stack exactly how you want it. Here's how it looks by default:

Stack 2.2 - Display Options!

Coming new to Stack 2.2, the ability to have the Stack display as a single icon, cascaded icons, or an image (the image will be user-customizable, just replace the PNG on disk). There are only a couple more 2.2 features to go before it's releasable, so if you have any last-minute requests make them now! High Quality Video is on Vimeo, although as of right now it's still converting. Should be ready soon!

Stack 2.2 - Movable Stack!

I think I've really excelled myself this time =) It's not finished, but I think it's a good representation of what the finished Stack 2.2 will look like. Check out the video! Basically you'll be able to drag the Stack to switch it to 'move' mode, then reposition it across the Dock and then tap anywhere on the main screen to confirm. What do you think? (Also proud of my home-made wiggle animation) High res video here!

Stack 2.2 - Item Removal

In Stack 2.2 I've improved the removal of items with two minor features - now you must drag further to remove an item from the Stack (so less accidental removals), also there's an optional warning dialogue when removing an item. This allows you to cancel it if it wasn't intended.