I was working on emulating apps directly [1] by translating API calls from iOS to Windows APIs using WinObjC [2]. Unfortunately, WinObjC got abandoned and didn't even contain as many APIs as I thought, so the result cannot emulate complex apps. But it was fun - lots of low-level stuff, patching 3rd-party code, etc.
This is some incredible work, and my personal hope is that it paves the way for proper archival of apps and games from the early iOS era. Early iPhone games in particular are at risk of becoming lost works as sometimes even era-appropriate hardware renders them unplayable due to OS updates.
Wow, incredible stuff. There's a real love to the craft that shines through with projects like this. I can only imagine the eureka moment of seeing Springboard launch for the first time.
Martijn's clearly more than capable of landing a highly comfortable industry job, but something drew him to Delft instead. The field benefits hugely from people like him, big respect.
Author here - thanks for the kind words! Both the moments I first saw the Apple logo rendered correctly (rendered by the bootloader) and the first time the Home Screen loaded were epic milestones indeed!
I treated this mostly as a side project but reverse engineering has always been a huge passion of me. However, I managed to combine some aspects of reverse engineering into my research work I've done in Delft, most notably by reverse engineering mobile banking APIs (https://devos50.github.io/assets/pdf/iom.pdf) and by deobfuscating strings in obfuscated Android APKs (https://arxiv.org/pdf/2104.02612.pdf).
I still have an iPod Touch 1G in the cupboard. Not my original (first production batch) sadly, as I did a warranty swap about 10 months in.
I've fond memories of jailbreaking (TIFF exploit at jailbreakme.com) moments after the exploit was published on IRC. Used Installer to install apps because Apple said they would never allow third-party native apps and that WebClips were the way of the future.
Fun story, that TIFF bug was one of mine (CVE-2006-3459), I actually found it in an audit sponsored by Google!
The same bug was also used to jailbreak the PSP and other random devices. For a few years I would occasionally get mail from people thanking me for helping them jailbreak their DVD player or smart appliance.
I've never actually owned an iPhone, I wrote an exploit for Linux/x86, then someone else (cmw) ported it to iPhone and made the jailbreakme website!
> iPod Touch 1G running the first iOS version ever released
My memory may be hazy, but I don't believe the iPod Touch was ever released publicly with iPhone OS 1.0. Arrived at my front door a few days before release in store and was running iPhone OS 1.1. Had encryption enabled where as iPhone OS 1.0 shipped to the iPhone 2G (that's cellular 2G) without it enabled for some reason. Whatever the reason that was a big help to the early jailbreaking community.
I also have ipod touch 1G in my drawer but instead of iOS it's running android (because why not). Or maybe it was dual boot, I can't remember. Android performance was pretty horrible and it was more of a party trick than actual usable system.
I was into web design at that time and I was seriously amazed by the design of the jailbreakme.com website. It asked you to slide to jailbreak much like the slide-to-unlock function and it looked just like the real one. Learned a lot of CSS tricks from it.
Ah, the original design. I must say I miss it. I don't think is pretty or nice, but it had a soul and was very easy to navigate. Pretty much like old windows (and apps) - quite ugly actually, but distinctive, well though and easy to use (mostly).
A week ago i first saw this word "skeuomorphism" used on HN and now i'm seeing it nearly everyday in the comments on HN. Is this Frequency Illusion [0] or does the word get used very often now?
You clearly weren't around 10 years ago, where the discourse was all about APPLE'S SKEUOMORPHISM IS SATAN and FLAT MATERIAL DESIGN IS THE ONE TRUE WAY all the time.
Alas[1], flat won, so people probably talk about it less.
[1] I know its a lot easier to fuck up skeuomorphic stuff, but now everything's boring shit...
I don't have anything to back it up, but I think "flat is easy" has a lot to do with how strongly it was advocated for and popularized back then. Skeuomorphism takes a great deal of skill to craft — technical skill in e.g. Photoshop, artistic skill to make it tasteful, and UX skill to make it usable. In contrast, anybody with even a passing understanding of HTML and CSS and can draw monochrome squares all day long, and the need for graphics software is minimized or in some cases removed entirely.
In a world where time to ship is everything (as it was at that point), flat was a natural choice for projects driven by technical types. Way faster and cheaper to slap Material Design on it and shove it out the door than it is to hire a designer to come up with a unique, eye-catching skeuomorphic design that set your product apart.
Weirdly enough, complicated graphics were all the rage when they were a massive resource drain and pushing the limits of the hardware at the time.
The second they became cheap enough to be actually feasible, they fell out of favor and were replaced by bland, amateurish design that could run fine on 90s hardware.
I guess they found other ways to make software bloated and slow and didn't need the UI for that anymore.
And yet: modern apps are so badly written that the computer struggles to render monochrome rectangles, while 90s hardware rendered buttons with bevels, obvious cues to interactivity, and shortcuts that were actually discoverable.
This could not be further from the truth. Steve Jobs and Scott Forstall were the ones pushing for the realistic icons (not "skeuomorphism" btw, Scott is on record saying he hates the word "skeuomorphism"). It was a cabal within Apple, lead by Jony Ive, that was pushing for flat. When Steve Jobs died in 2011, and Tim Cook fired Scott Forstall in 2012, that cabal all of a sudden had way more leverage. And so, in 2013, iOS 7 was released with the flat design. It's as simple as that.
For iOS/macOS specifically, yes, but the comment chain seemed (to me at least) to be discussing the trend towards flatness in the wider industry, which had been in motion well before Apple got on board.
That's not true either. The only notable example you can come up with is Google Chrome. And let's not sit here and pretend that Google was what all the designers were copying. Google's design has always been that terrible flat stuff. Google Chrome's icon, for some reason, used the "realistic" design for only 2 years before changing it to match the rest of the company's icons.
The "wider industry" was copying Apple. Tons of icons changed from "realistic" to "flat" in 2013, which was a direct reaction to iOS 7.
You're forgetting stuff like Metro, introduced with Windows Phone 7 in 2010 (then infamously Windows 8), and Android was getting flatter from around 4.x in 2011. The trend was definitely moving towards flat UI, and people really were criticising Apple for not following it. Apple wasn’t really a leader in this stuff, certainly not on an OS level.
To think the Metro Design language didn’t influence tech design would be a mistake. The evolution from Zune, to WP7, and W8 clearly influenced Material and other flat design.
It's amazing looking at the staying power of flat design. 10 years ago, some commentators on HN were calling flat design a fad. 10 years later, we only evolved to flat 2.0 with saturated hue on buttons and bit of shadow around buttons. Oh we got some cute superfluous animations.
Flat is a meme that simply will not die. People were posting on HN over a decade ago about how flat was over the hill and we’d soon move past it. It’s insane how it’s stuck for so long and still doesn’t have any real sign of going away.
I may not be the greatest fan of flat design, but how dare you besmirch the good name of Helvetica. It’s a good proper font.
The fact that every company feels the need to commission their own vanity font, which will inevitably be a generic soft humanist sans serif that is indistinguishable from any other company's generic soft humanist sans serif vanity font, now that is the true scourge.
I think it popped back up a lot this year with apple finally changing the settings menu in MacOS from the layout that went unchanged for a long time other than face lifts occasionally.
Please make sure you've decrypted them. The IPA files iTunes saves to disk have DRM and will become useless once Apple shuts down the relevant servers.
Not that I know of, sadly. But bear in mind it's only the executable file that's encrypted, the rest of the ZIP file (the .ipa) doesn't need to be copied.
2008. we were gifted an iphone 2G 32gig model somehow.
the shock/surprise/awe on my face is something i remember. by that point, i was a regular internet user who "had" heard about apple and iphones on tech websites and stuff (youtube was not even on radar, remember EDGE?)
so it was text for the most part on nokia N series phones. getting an iphone in hand felt like leaving a horse carriage and strapping on to a saturn V. fun times
I had the opposite experience in 2007, Nokia N series for me was miles better than iPhone OS 1.0 - it did a lot more than iPhone:
- GPS navigation in the background
- Chat applications - IRC, XMPP in the background
- Photos and videos better than compact cameras
- HSDPA 3G (3.6Mbps)
- Sharing 3G via WiFi - tethering
- Device to device file sharing
- Real 3D games using OpenGL ES 1
- TV Out
The (really important) things that iPhone had were:
- bigger screen,
- capacitive multitouch,
- better GPU acceleration
- a lot better input latency
>bigger screen, - capacitive multitouch, - better GPU acceleration - a lot better input latency
Yep. All Nokia fanbois (sic) omit what S-series were - a lagging, slow in the UI, cumbersome.
5800, which was a 'response' to iPhone was just a facelift with all the problems still there.
It's an impprtant lesson on how a better UX won with overall lessen capabilities (should I remind about MMS? Should I remind what it was effectivly killed by iMessage integration?)
can you imagine going from this brick to an iphone? maybe you had one of those communicators or meego whatever nokia was doing... those were good devices for the time but i did not have them
Great stuff. I can already see few use cases for this. However, I think having more technical details about how to go about reversing and implementing new hardware components for QEMU will be great. The destination may not be interesting to many, but the path definitely is.
Thanks! I got a bit busy lately and I don't expect to have too much time since I'm moving to another country soon. Hopefully I find some time to write a more in-depth article on some inner black magic of various peripherals. I think the NAND storage is particularly interesting.
Regarding the progress of the current iPod Touch 1G emulator: I'm currently stuck on a nasty bug where a piece of memory seems to be mapped incorrectly and the emulator crashes when trying to render the keyboard. I'm still not entirely sure where this originates from though.
The skeuomorphic YouTube icon always looks so chintzy to me. Does anyone know how/why that came to be? Did Google just not care enough about branding at that point to insist on using the real logo?
If I remember correctly Apple built the app in relative secrecy so that iPhone could open YouTube links at launch without supporting flash, and Google was okay with that because it drove growth in YouTube and Android was in infancy, but the arrangement ended in 2012:
I still have my first gen iPod Touch. It’s still hooked up to my grandmother’s early 1970s stereo. I even bought the upgrade to iPhone inbuilt apps. (Memory escapes me right now.)
iOS user interface was very cool back then - so simple and intuitive. It kind of reminds me the Windows 95 at its heyday. The same feeling of power and simplicity, a pure joy to use.
[1] https://github.com/ipasimulator/ipasim
[2] https://github.com/Microsoft/WinObjC