Adobe Hits Back at Apple’s Criticism of Flash

By Craig Buckler

Adobe vs FlashThe gloves are off! Kevin Lynch, Adobe CTO, has hit back following Steve Jobs’ accusations that Flash is buggy and Adobe developers are lazy. He makes several interesting comments on the official Adobe blog

Flash was originally designed for pen computing tablets, about 15 years before that market was ready to take off.

I hadn’t realized that. Flash evolved from SmartSketch, a drawing application for PenPoint OS — an early tablet-based operating system.

By augmenting the capabilities of HTML, Flash has been incredibly successful in its adoption, with over 85% of the top web sites containing Flash content and Flash running on over 98% of computers on the Web.

A 98% adoption rate sounds reasonable, but 85% of the top websites? I guess it’s probably correct given the top 20 will include YouTube, Facebook and several others featuring video and annoying adverts. However, Flash has a far smaller penetration when you consider global website technology statistics.

We are now on the verge of delivering Flash Player 10.1 for smartphones with all but one of the top manufacturers.

I wonder who he means?

So, what about Flash running on Apple devices?

Ahh, them!

We have shown that Flash technology is starting to work on these devices today by enabling standalone applications for the iPhone to be built on Flash … some of these apps are already available in the Apple App Store … This same solution will work on the iPad as well.

I don’t doubt it. Apple can hardly claim Flash is too slow for their platform when it works on less powerful devices.

Longer term, some point to HTML as eventually supplanting the need for Flash, particularly with the more recent developments coming in HTML with version 5. I don’t see this as one replacing the other, certainly not today nor even in the foreseeable future.

If HTML could reliably do everything Flash does that would certainly save us a lot of effort, but that does not appear to be coming to pass. Even in the case of video … the coming HTML video implementations cannot agree on a common format. With the ability to update the majority of Web clients in less than a year, Flash can make this innovation available to our customers much more quickly than HTML across a variety of browsers.

Well, he would say that — especially with Adobe shareholders listening — but Kevin has a point. HTML5, CSS3, JavaScript and other standards-based technologies have the potential to supersede Flash. However, the specifications are in a state of flux and cross-browser development is currently impossible. In addition, mature Flash tools are available which allow designers to create effects without programming knowledge. The same cannot be said for HTML5.

Open access has proven to be more effective in the long term than a walled approach, where a manufacturer tries to determine what users are able to see or approves and disapproves individual content and applications. We strongly believe the Web should remain an open environment with consistent access to content and applications regardless of your viewing device.

This is a good point. Apple want to provide a great user experience to their customers, but should any OS manufacturer be able to dictate which applications are developed for and used on their platform?

That said, Apple has made some valid criticisms. Flash is bloated and buggy on some systems, with the Mac OS X version receiving a high number of complaints. While Flash may be ubiquitous, it’s not an open standard — Adobe have their own “walled approach”.

But the public mud-slinging will not benefit Apple or Adobe. Users who agree with Apple now have a negative opinion of Flash technology. Those that consider Flash to be an essential part of modern web browsing won’t buy an iPad. Both companies will lose.

In my opinion, Apple should let their users decide. Permit Adobe to produce an iPhone/iPad Flash player and allow anyone to install it at will. They’ll soon uninstall the software if it’s bloated, buggy or slow. Whether Apple are eager to give up their App Store monopoly is another matter.

  • iChris

    This is a good point. Apple want to provide a great user experience to their customers, but should any OS manufacturer be able to dictate which applications are developed for and used on their platform?

    Yes! Of course they should be able to. It’s their frickin OS. If you don’t like it, go use a different platform. This isn’t freedom of speech or anything. There’s still plenty of choice. If you don’t like it, vote with your $$ and use a different platform.

  • Wow, Steve Jobs is such a ****head. Adobe, has done great work with Flash, Apple is just trying to sell a product.

  • @iChris
    Many would argue it’s your OS – you bought it and should be able to do whatever you like (legal and copyright issues aside). By determining what software you can run, Apple determine what you can do on your device.

    But what would happen if Microsoft did the same with Windows? People would abandon the OS overnight and anti-trust lawyers would wet themselves with excitement!

  • Jordan

    In response to chris’s point I have to disagree. Users of any plateform should be able to chose if they want flash or not.

  • iAnon

    @Jordan Amen! I mean serioulsy, will it kill Flash? Probably not, after the initial hype of the iPad has passed and the users have become bored of this shiney new (soon to be out-dated) product, which lets face it will be redundant in 6 months and they’ll “NEED” to buy the iFad2.0.16 which will still fall short of expectations and still lack the functionality promised, you will still hear the faint call of the Apple Junky craving a fix!

  • icd

    I liked flash better when it was under Macromedia

  • simonbanyard

    First of all, this story is a week old, why chime in now? Since Kevin Lynch’s post, Emmy Huang, a Flash product manager (someone that actually knows the issues) posted this, essentially confirming what Jobs said! As to “choice”, Apple are right not to allow flash onto the platform. It is inherently insecure and it is inherently unstable and on a data sensitive device (don’t forget that iPad could potentially have a mobile connection and iPhone does) would be irresponsible. Apple have done the right thing on both counts; continuing not to support Flash on the platform and publicly calling Adobe on it. Adobe needs to, no, has to do something about the state of all their software on all the platforms that they support; this problem isn’t exclusive to Flash…

  • iAnon

    Actually that should be iJunky. And before all you Apple iJunkies get your quills all ruffled in need of a fight, I used to use Apple when it actually had something to say, with the old G4 and G5 machines, it’s now just an overpriced Intel Machine these days.

  • krdr

    It all came down to developers. Adobes revenue comes from selling developing tools, not players. CS5 will give me to ability to make iPhone/iPad apps. Taking in account that Tamarin runs JS in Firefox and AS3 in FlashPlayer, maybe best road for Adobe to take is to add “File/Publish/HTML5” option in Flash CS and Flash Builder.

  • simonbanyard

    @Craig Buckler

    Many would argue it’s your OS – you bought it and should be able to do whatever you like (legal and copyright issues aside).

    You cannot put “legal and copyright issues aside”!!! You own a license to use the software, and that is a very important distinction to make and recognise and not hard to understand or explain to the lay person. That license is subject to certain terms. As iChris said, don’t like the terms, don’t buy the device! I hate the “if Microsoft did/tried this then x…” meme with a passion. It’s lazy. Whose to say. What with the existence of Silverlight, it’d certainly complicate things, but so long as they don’t leverage their market position in OS’s then there would be no charge to answer. Microsoft have been charged previously for breaking the law, and have either been acquitted or settled out of court. No-one here is breaking any law.

  • WebKarnage

    Other people develop things for the Mac without Apple’s help, yet I hear Adobe complaining that Apple aren’t helping them improve Flash on the Mac. Overall, it’s not helping either company as pointed out. Flash isn’t efficient on the Mac (not come across much Adobe that is efficient on the Mac) so I don’t use it for anything critical. Would Flash apps hurt the Apple App store much? No, not really. It’s more about battery life and responsive behaviour on the iPad IMO.

    It’s not as big a deal as all that in the end. Both will be with us and strong in 5 years time.

    with best regards,

  • @simonbanyard

    You own a license to use the software, and that is a very important distinction

    Yes, you own a license to use an OS which should let you run other software … unless Apple says you’re not allowed to. That’s Apple’s choice, but at what point would you say they are leveraging their position? Apple have a healthy percentage of the smartphone market and, by blocking Flash, they are preventing development of competing applications.

  • Anonymous


    …which should let you run other software

    Why. That is entirely dependant on the terms of the license, and as I said, don’t like the license, don’t buy the product. Apple’s share of the Smartphone market is less than a quarter and in terms of;

    …preventing development of competing application.

    How so? There is an SDK available for the OS and Apple don’t make any products that compete with the Flash runtime, so I fail to see how Apple are leveraging any kind of market position. Be under no illusion, Apple are doing this because of the issues with Flash, as well as other Adobe software. Let’s not forget that Apple’s original model for 3rd party apps was as web apps that run in Safari, which still completely bypass any Apple vetting. I don’t like this notion that Apple must conform to how A N Other conducts their business; for instance Microsoft’s business model is not the only way to sell and distribute software. I’m not picking on Microsoft BTW, Sunacle and IBM have differing models too. Ultimately it comes down to to this; Flash is a plugin runtime. It is not a standard. It is not essential to the running of apps or the OS itself and it’s entirely up to Apple, Microsoft et al if they support it in their OS or apps. The claims that it is needed to surf the web properly are simply not true! In fact I have been running Flash blockers on all my machines for quite sometime and I can say hand on heart that my daily surfing experience is in no way hampered; quite the opposite, it’s improved. I’m sorry, but this whole ‘consumer choice’ argument is strawman. If the device crashed or security was comprimised because of Flash, who would the consumer blame? Not Adobe; and that is the problem. Adobe’s software is dreadful as a result of it’s monopoly, as Job’s said, they are lazy. The wholesale purchase of Macromedia should never been allowed.

  • Anonymous

    I have been a long time fan of Apple, even bought their products dating back to the 1st generation ipod, but I am growing tired of Apple’s idealistic attitude “its my way or the highway”

    Apple has no idea how many people they are screwing with.

  • Matt Wilcox

    They’ll soon uninstall the software if it’s bloated, buggy or slow

    But they won’t, and that’s Apple’s point. The ordinary person doesn’t know it’s Flash that is causing jitters, slow down, or crashes. All they see is a device that’s slow and crashy. Flash is transparent to the average end-user, so the blame gets pinned elsewhere. That’s bad for Apple. That’s why you won’t see Flash on an Apple mobile device any time soon.

  • Sorry mate, but the technical arguments are entirely moot and a total smokescreen. Apple are refusing to implement Flash for purely commercial reasons, to avoid any possibility of web-based Flash content being able to compete with their own.

  • GhostXX

    Both companies should consider their long-time core roots are planted with professional designers who have loyally loved both Apple and Adobe products, these two go hand-in-hand for many of us … Now quit with the BS and work out this silly spat.

    A couple of additional notes … I can tell you as a Flash developer, Flash is popular because 98% percent of the market has some version of it. It’s widely used because it hits so many users, no matter what the OS, and runs on many different browsers. An easy developers choice for hitting a very wide audience.

    I also remember when Flash video hit the development market … it was instantaneously clear that the compression quality was high, streaming is easy and the file sizes are much lower than any h.264 I’ve ever been involved with. Flash video also let professionals quit fooling around with the lousy RealPlayer and WindowsMediaVideo formats, for a one solution for all approach.

  • @anonymous?
    Flash competes because it allows developers to produce fast games or iPhone-like applications which bypass Apple’s SDK and strict vetting policies. Web applications compete too, but media-rich apps such as games are more limited.

    Is the iPhone/iPad slower than any other mobile device? Adobe’s software may be buggy but is every iPhone app well-written?

    This really isn’t about Adobe per-se. Apple have used arcane reasons to prevent a number of individuals and companies releasing iPhone software. It’s worrying Apple have that much power and the opportunity to abuse their position.

  • Oh this is rich, some of these posts seem to defend Apple using the same arguments that got Microsoft in trouble back in the 90’s for anti-competitive and monopolistics practices.

    Why shouldn’t we have a choice of what software we choose to run on our systems? If the vendor is happy to make the software why should it be reasonable for the maker of the OS to bar entry? Is there another solution available that does the job? No there isn’t so now we surf to the NYT page or some other site and we get the missing plugin icon. The Flash is bloated argument is laughable… Where’s your proof?

    BTW: I’m typing this on my 27″ iMacintel while synching my iTouch so I’m a bit of an Apple fan just not the exclusionary practices and ideals Mr Jobs seems to be pushing.

  • Apple should let their users decide.

    Ding, ding, ding! We have a winner folks! And if they did that, guess what… Almost everyone would probably choose to install Flash. I bet most people would rather have that theoretically buggy Flash player on their i* even if it did cause the browser to crash every now and then…

    This is looking more and more like a move to force people through the profitable app store.

  • simonbanyard


    Oh this is rich, some of these posts seem to defend Apple using the same arguments that got Microsoft in trouble back in the 90’s for anti-competitive and monopolistics practices.

    Bull! Absolute rubbish! Microsoft got in trouble for forcing Netscape out of business. Since, and pay attention now, Apple do not have a competing product, how on earth are they repeating Microsoft’s mistermeaners?! Besides that sort of argument is a red herring. This has absolutely nothing to do with anything Microsoft have previously done. To suggest otherwise is frankly stupid.

    Why shouldn’t we have a choice of what software we choose to run on our systems? If the vendor is happy to make the software why should it be reasonable for the maker of the OS to bar entry?

    Because it’s not your system, per se. Yes the hardware belongs to you, but the none of the software belongs to you. Not even GPL’ed, unless you obviously wrote it. Its all subject to a restrictive license of some sort. that is tru of embedded OS’s too. All software is subject to a license. If you don’t want to agree to that license, the don’t use the software. Debian, do not allow several software title in their repositories becuse they do not agree with the license. Should they be subjected to your rules? What about Nintendo? I have a Wii and I want to play Halo on it. Why can’t I play halo on it? I DEMAND HALO ON THE WII. It’s exactly the same.

    @craig; Sorry that anonymous was me.

    Flash competes because it allows developers to produce fast games or iPhone-like applications which bypass Apple’s SDK and strict vetting policies.

    Not as fast as native apps. JIT runtimes will always have a disadvantage in term’s of performance, not forgetting the quality of the connection. Yes, they could be downloaded, and here is Apples point; Adobe’s products on Apple’s other platform just isn’t secure or stable enough.

    Is the iPhone/iPad slower than any other mobile device?

    Don’t know the processor specs for the iPad, other than it’s an Apple (read PA Semi) ARM based processor, and PA Semi are masters of squeezing a lot out of not a lot of silicon! The 3G is fast for a device of it’s age and the 3GS is fast enough!

    Adobe’s software may be buggy but is every iPhone app well-written?

    Sorry, that’s a red herring! It’s irelevant. The problem is with and unstable and insecure JIT runtime. Not the way the individual apps are coded.

    This really isn’t about Adobe per-se. Apple have used arcane reasons to prevent a number of individuals and companies releasing iPhone software. It’s worrying Apple have that much power and the opportunity to abuse their position.

    Are you suggesting that Apple are doing this to protect a revenue stream? Would that be the same “revenue stream” that CFO Peter Oppenheimer said in the last financial report was operating “just above break-even”. I’m sorry, but this is yet another strawman.


    Sorry mate, but the technical arguments are entirely moot and a total smokescreen. Apple are refusing to implement Flash for purely commercial reasons, to avoid any possibility of web-based Flash content being able to compete with their own.

    Based on what exactly? Come on! Ante-up! Where is your evidence? Apple, by their own admission make next to no money from the App Store. Talk is cheap, there is no evidence to support the suggestion that Apple are blocking based on profiteering and actual verifiable sources suggest that they are indeed omitting Flash support over security and stability concerns. More importantly, Apple do not provide “online content”! It doesn’t matter how you put it, a strawman is still a strawman!

  • moneymark

    @ awasson

    How is the argument of Flash being bloated laughable? Are you basing your statement on anything even remotely tangible? Flash places a heavy load on the CPU, which in effect causes poor performance and significantly decreased battery time. Apple has decided to block Flash because honestly, it should not be needed at this point and it will ruin the user’s experience of their product and possibly lead to poor reviews. If people are testing applications using Flash and experience poor battery life or performance it may directly impact sales. Flash is the scourge of the internet and will eventually fade into nothingness as HTML5 takes over.

    I’m not an Apple fan boy or a Microsoft fanboy, I’m just a web-application software engineer that is sick and tired of flash ruining user experience and incompetent people who argue for its use.

  • p3x984

    First all when a application is created in ActionScript then ported as a iphone application. All the classes are put into one mega Objective-C class which is garbage. Adobe is trying so hard to make flash work on any mobile device. Also if flash is ported to the iPhone it would be very limited not with the full set of features as the desktop version.

  • @Simonbanyard: Where do I start… Netscape vs Microsoft wasn’t the problem it was a symptom of the problem and only one of the many that were revealed during the trial. The problem was that Microsoft was using its influence to force users of their operating system to make choices of what software they could and or can use even though other products were available. …and that’s exactly what Apple is doing. They are preventing their user base from using Flash even though it can be supported by their operating system.

    Your licensing argument may stand up legally but should it?

    Software licenses should protect the vendor (Apple) from their user base copying and profiting from their good work but they should not tie the hands of the purchaser (me) from using software that is capable of running on their system. If I want to run a piece of software on my computer that is widely available on other systems and technically can run on mine why should I be prevented from using it? A legal answer won’t cut it because I don’t think this has been tested in court yet. It might prove to be an interesting case if it went to court to decide if the end user has rights that cannot be circumvented by the EULA as is being done by Apple.

    @moneymark: My argument is likely more tangible than yours… Flash does not load up the processor any more than refreshing a page does. In fact there should be very little cpu activity invloved in running a Flash enhanced page than that of a static HTML page unless they are moving lots of large sprites around the screen but even then it should be manageable.

    Poorly written actionscript can load up a page but so does poorly written Javascript and there is much more poorly written Javascript floating about the internet than that of Flash. As an “web-application software engineer”, I would expect you to have observed this but perhaps you’re new.

  • Alex

    Flash is a security-flawed lump of shit that hasn’t had any fix for years. Microsoft Silverlight is far better than Flash.

  • the final paragraph sums it all up for me… let the market decide what is good and what isnt. I dont like when anyone makes decisions on my behalf… this confirms the yuppy crazed iLife is not for me.

  • markfiend

    Microsoft Silverlight is far better than Flash.

    Are you on crack?

  • EastCoast

    Flash runs perfectly well on my 400mhz Nokia 5800, it’s neither buggy or drains the battery. Unless you browsed all day on flash heavy sites and left the browser switched on in the background (unlikely on a single-tasking device) then I’m sure the 600mhz+ iphone would cope well.

    Interesting to note that a mature, reliable and proven technology over many years on mobiles, java, is also banned from the iphone. I’d like to see what convoluted reasoning apple zealots use to explain that one away.

    The argument put forward that ‘apps make no money’ based on a casual comment in a live financial report is also weak and doesn’t stand up to real analysis (there were no hard figures along with the statement). Like any business, there’s an initial start up investment to recover, so it may be the case it’s about ‘breaking even’ now, but once those costs are recouped profitability increases substantially. Have a look at some of the figures/discussion at

  • RogerV

    Your last sentence hit the nail on the head. The real reason Apple doesn’t want the Flash Player on iPhone/iPad is that then users will be able to use Flex Rich Internet Applications that potentially come from any web site. Flex is a web application programming technology that definitely rivals desktop applications in terms of capability and user experience. A developer would ask: why code my app in Objective C and lock myself into iPhone/iPad exclusively when I could achieve my app in Flex, and it would then run on 100s of millions of computing machines.

  • RogerV: That may well be the reason as I understand that Apple is quite leery about competing platforms (read Google’s Android) and have banned Apps that mention the term Android in their descriptions.

    I too have been hopeful for a Flex direction for iPhone application development. It’s been discussed a fair bit over the last 6 months but I guess it’s a non-starter now.

  • moneymark


    You have to be absolutely joking. Flash consumes the same amount of resources as refreshing a static HTML page? How about you go and google “flash cpu usage” and let us know how many hits you find supporting my observations, then come back to me with some empirical data supporting yours. Javascript can absolutely slow down a system but it in no way has ever impacted a machine’s performance like the countless examples I’ve seen in Flash. Scripting is not the only source of poor performance with Flash. It’s also a horrible container for streaming video. There is a reason Flash is starting to finally support hardware acceleration and it isn’t because of the astonishing performance you are claiming without it. Go play an HD video through flash and compare the hit when played from an HTML5 enabled site…. but hey I’m just the “new” guy.

    What I find interesting is that I’ve never run into any talented developers that actually feel Flash is a good thing. Why are you so invested in defending a poorly designed platform?

  • @moneymark:
    I am a bigger advocate of HTML/CSS + Javascript than of Flash but I believe Steve Jobs is misinformed or is being dishonest in his reasoning for not supporting Flash on the “iPhone/Touch” platform.

    Googling isn’t a very reliable way of getting the facts about anything. It will likely bring up a long list of opinions and special case observations. You know what they say about opinions… But seriously, with any technology, there are at least half a dozen ways of achieving your goals; some methods work well, others just barely work. Can we agree on that?

    With this in mind, I could build a Flash based site that has everything stuffed in one huge SWF, crammed with multiple timelines doing motion tweening, etc… with a big fat preloader and it would suck the processor right out of your quad core machine before anything happened or,… I could create a well defined website, game or application that only loads resources (clips, code, files & graphics) when they are needed. I have built some interactive Flash based websites that only animate when necessary and if you load them while watching you resource monitor you will barely see a blip of CPU or memory activity when they load up. Then when you click an item, only that item is called upon to react and the CPU isn’t taxed. The same goes for JavaScript; you can create very elegant low memory/CPU JavaScript or a spaghetti ball of code that sucks up CPU cycles and doesn’t release them until the page is unloaded. Due to the ease of entry (no expensive IDE) and the many, many years that JavaScript has been around, I would wager that there is much more bad JavaScript lurking on the web than bad Flash.

    If all Steve Jobs is concerned about is protecting his userbase from running into bad code, should Apple prevent JavaScript as well as Flash from running on the iPhone/Touch platform?

  • EastCoast

    Moneymark, why are -you- so invested in criticising a platform you don’t have to use or have to display?

    I suppose if you spoke to any developer of any site on e.g then they’d have a different opinion on whether flash is a worthwhile platform than your own presumptuous world view.

    Awasson is correct in that it’s possible to construct swfs that use 0 or 100% of cpu, it’s down to the developer to make the necessary choices in what they include, how they optimise and embed.

    It’s probably fair to assume that a fair amount of flash ‘developers’ come from a design background so aren’t au fait with best practices, and whenever I do encounter a high cpu swf (which to be honest is very rare though I understand OSX has its issues) it can often be down to inadvisable practices such as animating large and extremely intricate vectors, massive bitmaps or rendering lots of filters – things that would consume high cpu in any technology.

    Chances are, in the years to come you’ll see similar abuses of browser capabilities within html5 once casual web designers start using more complex animated and interactive content, and IDEs are available for them to easily access and create this kind of content.

    I’d personally like to see Adobe add a CPU ‘cap’ parameter controllable from an embedding property similar to how they have the allowscriptaccess and allownetworking parameters, which would eliminate possible abuses where the created content is out of the sites direct control e.g ads, game sites etc

  • Anonymous

    @ EastCoast

    I believe it is quite apparent why I am so invested in “criticising” (sic) a platform that has spawns such browser plugins as flashblock. As I stated before I feel it is a very large source of performance issues and greatly impacts usability of mainy sites on the net. Poor design, poor usability, poor execution, all bother me. I never claimed that all Flash causes 100% load, I simply balked at such a strong statement that it should not be causing load greater than refreshing static HTML. It’s a meritless claim and yes surprisingly I dislike misinformation still.

    You do however make a good point that HTML5 could potentially become misused by casual designers. The standard however is at least a step in the right direction. I strongly dislike applets as well if that makes you feel better.

    Flash may have it’s purposes but it is widely abused across the net. If something can reign in those misuses from being proliferated, I’m all for it, just as I was when people stopped using HTML Tables for formatting. Tables have their place, Flash arguably does as well, lets just try to help people stop using it as a swiss army knife and start making usable applications again that do not rely on plugins.

  • @Moneymark: I don’t know whether it’s worth debating as you don’t seem open to reasonable discussion. You claim that you don’t like disinformation yet rather than exploring any of the statements that offend you, you make blanket statements attacking those who don’t share your point of view. Can you see the irony? Furthermore, have you examined a reasonably well developed flash enhanced page to see if there is a massive load on the CPU or are you just parroting your opinion that my claim was meritless?

    My “meritless” argument was that Flash in itself isn’t the problem and that a Flash object embedded in a page won’t load up the processor any more than a static page refresh will. I elaborated on the argument stating that it is poor developers who have sullied Flash’s reputation just as poor JavaScript developers have tarnished the reputation of JavaScript which if we follow Steve Job’s current line of thinking should also be banished from the iPhone platform (yes, I am being sarcastic).

    As a developer I have looked at this issue in practice to see how the average Flash enhancement will affect memory, processor and thread usage and in my observations Just embedding a Flash object in a page will have no affect on CPU cycles or memory use. It’s there, the browser sees it but unless it’s doing something, it won’t load the CPU or memory. If you move large sprites around the screen it will start loading up the processor but so will loading a stylesheet, javascript files, images or for that matter anything that a page will download and once the animation is over the processor is released.

    Your statement was that Flash is bloated and that it loads down the CPU which causes poor battery performance. That in itself is misinformation as it is poorly developed Flash that is the problem as can any poorly developed web enhancement. To put it simply, it’s not Flash it’s Flash applications that have been developed by poor developers and in this day and they are fewer and further between.

  • I Love IPhone

    Will never go to buy new ISh*t…

Get the latest in Front-end, once a week, for free.