Author:
Joe Hakooz
Category:
General
Although it has been presumed for some time, Steve Jobs finally went public about his war on Google and Adobe. Jobs declared Google's mantra "Don't Be Evil" as "Bulls**t", and accused Adobe of "Being Lazy". Jobs has vowed to defeat Google in the "phone business" and said Apple doesn't support Flash because "No one will be using Flash...the world is moving to HTML5". All of this on the heals of the recent iPad announcement. Personally, I believe Jobs may have just doomed the iPhone...
First of all, the only game changing web-enabled product Apple has is the iPhone. The Mac barely survived the past few decades and certainly no one will care about the iPad, an overpriced laptop sized iPod Touch. Really... what else could it possibly offer?
As an avid iPhone user, I am extremely disappointed in Apple's decision to not support Flash. I always thought the iPhone would be near perfect once they supported Flash player, but I guess they have decided to go the "less useful" route instead. And pissing off Google? Seriously Steve? Other than the number of 3rd party apps available, the best thing about the iPhone is it's nice integration with Google services like Maps, Gmail, and YouTube. Without that you're left with a cool looking device that barely operates as a phone. Let's be honest... the phone features of the iPhone are poorly implemented. The "5 click minimum" to make a call, the unusable speakerphone, or the "5 bars dropped call" are some of my personal favorites!
I also get a kick out of Jobs when he talks about the "closed" nature of Flash. This coming from the king of closed. Projects like Alchemy show that Adobe is at least interested in the idea of open source Flash technologies.
Surprisingly, the Linux community has come to Apple's defense citing poor Flash performance and the great coming of HTML5. Quick news flash... Apple has refused to collaborate with Adobe to improve performance on Mac. How can you improve performance on a platform when the platform refuses to let you in? And if Linux ever becomes a threat to an Apple product, do they really think Apple will give them a pass? It would certainly be a first. And finally, HTML5 sounds promising, and I don't know a Flash developer who disagrees, but it will be several years before HTML5 is widespread enough to be a viable development option. At that point, HTML5 "video" functionality will be 5 or more years old. Adobe Flash on the other hand will have evolved in ways we can only imagine.
With all of that out of the way, I have decided to give up on the iPhone the same way it has given up on me. Once my AT&T contract is up I'll be moving to a different mobile platform.
As a great poet once wrote... I know it was you, [iPhone]. You broke my heart. You broke my heart!
Author:
Joe Hakooz
Category:
General
For my first post, I wanted to address something very basic but dismissed by many developers. Basic optimization and where to apply it. Whether you are designing a Flash site, dynamic ASP.NET application, or any other type of website, you should always keep optimization in the front of your mind. Put it right there with layout and interface concerns.
Although Flash sites are often allowed to break the rules, since the audience may be considered "advanced", each and every website should load quickly and efficiently, which in turn will support more concurrent users. And even though the end user may not consciously appreciate your efforts, surely their experience will be improved and developers & employers will be impressed!
I plan on diving deeper into each of these topics, but here is a quick checklist of optimization musts...
- Take the time to optimize graphics. Maybe the homepage banner graphic could be 70% or even 67% compressed. It makes a difference and is worth a few extra exports.
- Replace rasters with vectors whenever possible (there are exceptions of course). Animators are notorious for taking the easy way out so please don't be that guy! Don't just copy vector images from Fireworks and paste them into Flash as bitmaps. Recreating them in Flash will take 2 mintues and greatly reduce file size. Flash is getting a bad reputation for producing bloated file sizes, which is simply not true. For example, I created a SWF and JPEG, each 500x100, with some text and a gradient. SWF = 3kb. JPG = 7kb (Go ahead... try it). It adds up folks!
- Reuse assets whenever possible. If you are going to use something over and over again, create a class or instance of that asset. Not only will you save file size, but you will greatly reduce bugs if you only need to update a single class/instance/etc... Not to mention your fellow developers will thank you for saving them time as well.
- Do the math. Although you may feel like you're wasting time optimizing every aspect of your site, you reap the benefits when your total page size goes from 600kb to 200kb. You can now support 3 times as many users!
- Really compress that video. If you are creating a video, render several 60 second samples at different bit rates. If the file is 15MB then you are requiring your users to download 15MB per minute just to keep up. Try getting the size down to 3-5 MB per minute of video to increase your target audience. Don't forget to tell your client that you increased your target audience by 300%.
- Cache is your friend. Although caching can cause a headache during development, make sure to allow caching for anything that isn't tied down when deploying to a production server. Although caching is a complex topic with many pitfalls, doing it well will be your greatest achievement.
Again, this is short list that many of you already know, but sometimes it helps to hear it again. As I mentioned, I plan on going into much greater detail about each of these in future posts.
Please stick around... I'm justing getting started...