April 10, 2010

The New State of Apple and Its Feud with Adobe

Apple has been in the spotlight a lot recently from developers because of the recent change in Apples SDK agreement that was likely the result of new features in Adobes Flash Professional CS5. In Adobes new version of Flash, they are including a new cross-compiler feature that allows Flash developers to export their Flash application to the native iPhone platform format using a runtime that Adobe has developed specifically for the iPhone. For those of you that are not technical, this basically means that people who create content using Adobes Flash can use this new feature to export it as an iPhone App and upload it to the AppStore for people to download. Adobe was all set to release this feature in the new Creative Suite 5, which is a suite of applications including Flash Professional, Photoshop, Illustrator, and many other useful creative applications, on Monday when Apple made this sudden change that included a prohibition on applications that are written in a programming language other than Objective-C, C++, C, or Javascript (which are all the languages that Apples native APIs use). This has, needless to say, caused quite a debate between Adobe and Apple and yet another story of two companies that were BFFs turned rotten. (Google and Apple being the first case I know of; over the recent lawsuits from Apple targeted at the Android platform and Googles Eric Schmidt resigning from the Board of Directors because of competition between Apple and his own company.)

Since I am both a developer, and an iPhone user since the very beginning, I have very mixed opinions on this situation. At first, I was very much in favor of Adobe and highly bitter about Apples increasingly closed platform (am I cool now?). But I recently read a convincing blog article from a fellow named John Gruber that made me look at this situation from a different angle. Therefore, I shall post this article in two different viewpoints: A Developer, and an iPhone User.

Developer Viewpoint

Apple is prohibiting development on its iPhone platform by limiting the tools that can be used to create iPhone applications and forcing developers to only use Apple APIs to create their applications. I dont like that they are forcing developers who have already been creating mobile applications for years using Flash and Java to learn a new framework and a new programming language in order to develop for the iPhone platform. Since Ive already written mobile applications for devices in the past using Java, why dont I just write applications for Android instead? They may have a much smaller marketshare when compared to Apple, but at least then I dont have to learn a new language and I can use whatever runtime or cross-compiler I need to get the job done. Furthermore, Apple already has a notoriously closed platform running on the iPhone, this just further tarnishes their reputation. Instead of Apple having complete control over their OS, developers should have control. Despite the fact that Apples APIs allow me to create very nice-looking and functional applications in a relatively short amount of time, Im very displeased that Apple doesnt trust developers enough to let us write even more powerful applications with APIs and languages of our choice.

iPhone User Viewpoint

Flash on the iPhone for me is a non-issue. A lot of statistics claim a highly optimistic use of Adobe Flash on the web, but most of it seems to be obnoxious banner advertisements and mediocre games. Video is a huge reason why Flash still exist on the web, but most modern web developers are moving towards, ironically, more open and non-proprietary standards like HTML5 to display video on the web. YouTube, indubitably the most popular video provider on the web, has dedicated viewing applications for the iPhone, iPod Touch, and iPad that even display video perfectly inside the web browser. As for developing Flash applications that run on the iPhone, cross-platform toolkits never produced quality applications especially ones that run on Apple platforms. I made a post earlier about how programs that are ported from other systems contrast sharply with native Mac applications because of how unique Mac OS Xs look-and-feel is presented to users. This is a simple fact that nobody can deny: applications that are written specifically for one platform are emalways/em better than ones that are ported from system-to-system just for the sake of widespread usability. However, I believe that a lot of iPhone users will be missing out on a lot of quality Flash applications that do exist, but with a phenomenally large application catalog, I dont think users will be missing out on much.

In the end, its all about perspective. I seriously doubt that Apple fans and long-time developers will be moving away from the iPhone platform and I also seriously doubt that Apple critics will be reconsidering their choice of platform even if Apple did allow Flash on their devices. Despite how conflicted I feel over this situation, nothing changes my feeling that users should be able to do what ever they wish on their own devices. Apple shouldnt be allowed to say what I can and cannot do on my phone, but this has been the standard of tech companies for centuries and Apple most certainly isnt the only one that is guilty of this. I just hope it doesnt get any worse.

April 4, 2010

How To: Sync All of Your Google Calendars on the iPad

Category: Apple, Gadgets, Google

Many people have been having some troubles synchronizing their newly purchased iPads with Google Sync services, more specifically, synchronizing multiple Google Calendars. By default the only calendar that syncs is the first calendar on your list. The solution on the iPhone is to visit the google sync services settings website and choose which calendars you want to sync and youre good to go. However, iPad users are met with a Device Unsupported message when trying to access this webpage. Im hoping this is only because Google hasnt flipped the switch yet for iPad compatibility, and not the pathetic bit of politics that are firing between Apple and Google right now, but I managed to find a workaround for this problem that syncs all Google Calendars to the iPad.

1. Setup Google Sync on your iPad normally through the settings application. This will add your iPad to your list of google sync devices.
2. On a Mac or PC, set your User Agent to be Mobile Safari running on an iPhone or iPod touch.
3. Disable Javascript on your Mac or PCs browser.
4. Visit http://m.google.com/sync on your Mac or PC.
5. Choose all of the calendars that you want to synchronize with your iPad.
6. Click Save.

Your iPad should now start synchronizing all of the google calendars that you selected.

Hopefully Google will fix this issue soon. It seems strange that iPad users have to do a workaround for sync while Google fully supports other sync services and even GMail optimized for the iPad.

February 22, 2010

Firefox vs. Chrome: How Firefox is Losing the Browser War

Category: Google, Software

Many of even the most casual of computer users should be aware that there is a distinct difference between all of the web browsers that exist today. Luckily, Internet Explorer has degraded to the point where novice computer users can notice its security flaws and speed issues. Furthermore, web developers all over the world recognize that Internet Explorer is also the least standard-compliant web browser as well. Despite many compatibility issues being resolved in later versions of Internet Explorer, it still costs companies a lot of money to have to pay web developers to develop their websites for every browser out there, and then spend the extra time working on Internet Explorer compatibility simply because it is statistically the most used browser today. Thus, it is clear that the popularity of Internet Explorer is declining rapidly and browser alternatives are manifesting just as quickly. My post is not about Internet Explorer, however, it is about what I consider the two main alternative browser choices that users are presented with when viewing content on the web: Firefox and Google Chrome.

Let me start of by saying, that as a Mac user, I am still bound to Safari as my main browser for most everything that I do on the web. Personally I would recommend Safari to all Mac users, because it is a fast, native web web browser based on the open-source WebKit rendering engine and the extremely fast Nitro Javascript engine. However, I see Safari as fighting a losing battle on the PC, because Apple software on Windows has never quite matched the quality of software on the Mac. Safari on Windows is quite slow to launch, and its user interface doesn’t look native on the Windows platform. What does that leave for PC users?  Many PC users are quick to install Firefox as their alternative browser to Internet Explorer. Firefox works well for a lot of people and its a huge order of magnitude better than Internet Explorer, but compared to Google’s emerging Chrome browser, it is far behind in terms of technological innovation and speed, and there are multiple reasons why. Firefox is very slow to adopt new web technologies such as HTML5 codecs and CSS3 (it supports it now, but it’s buggy). It is also has really flawed native JSON support and lots of Javascript security holes (although Safari isn’t much better). Another reason why Firefox is weak compared to Chrome is speed. Firefox is extremely slow to launch on practically any platform–even slower than Internet Explorer on Windows. A web browser is definitely a program that should be up-and-running the moment you’re ready to use it, and Firefox just doesn’t cut it in terms of reliability in that respect. Firefox is also poorly regarded in performance because of its notorious memory leaks which cause the entire system to slow down instead of just the browser. Another reason is its Mac version and its UI. Non-native Mac applications stick out like a sore thumb on Mac OS X and Firefox is no exception. Not only is Firefox slow on Mac OS X, it’s also extremely ugly. It breaks UI guidelines that are set by Apple to maintain conformity and it doesn’t use native widgets or elements.

Chrome, on the other hand, is noticeably faster than Firefox on every platform that it runs on. It also uses the proven WebKit rendering engine and it uses another very fast javascript engine called V8, which is also open source. Chrome also has a unique but native-looking UI that is configured to look native on all platforms. Its UI is also minimal which is important for a web browser because when web browsers are supposed to focus on web content instead of toolbars and extensions. Chrome along with the WebKit framework stays ahead of web standards and is constantly implementing new HTML, CSS, and Javascript features that are being newly developed. Despite extension support being far more extensive on Firefox when compared to other browsers, the truly useful extensions like AdBlock and bookmark syncing are already making their way to existing on Chrome as well (and already exist on Safari). Whether other extensions like NoScript (which I still have yet to find a use for besides making webpages look malformed) will show up on Chrome in the future is highly likely.

Many people say that computer users should just use whatever browser that they feel comfortable with. I strongly disagree with this claim, because there are some browsers (especially IE) that are actually holding back the development of new web standards and are preventing web technologies from moving forward. Furthermore, slow and poorly developed software is the main reason why Windows is so flawed and a faster browser is the first step to making computers more enjoyable for everyone. As a web developer and as a computer user, I hope that more people can start using a browser like Google Chrome so that users and developers alike can start solving these problems.

January 27, 2010

Apple’s iPad: A New Idea, Not a Big iPod

Category: Apple, Gadgets

The Apple iPad was announced today and it was met with some very mixed reactions. The iPad is Apple’s long-awaited tablet device that has been circulating on the rumor mill for ages. We found out today that it is a large multi-touch device (no surprise there), running iPhone OS with a 1Ghz Apple A4 CPU (Apple’s own chip). Most people saw this device as simply a huge iPod Touch with no convincing unique features to distinguish it from it’s smaller counterpart. Why would anyone buy an iPod Touch with a larger screen when the real thing costs far less and is more portable?

At first, I found myself in the same boat as everyone else–desperately trying to seek a reason to buy such a device like this, especially with no multi-tasking. I have an iPhone 3G S that is a very capable mobile device that runs on the same powerful platform that the new iPad does, and does all of the same things. My iPhone DOES email! It DOES web browsing! But… I quickly found myself using the same reasoning that I used back when the iPhone was first announced.

Flash back all the way to Macworld 2007 (wow, has it really been that long?) when the first iPhone was just announced. Now, being a loyal Apple user (not fanboy, I do not unconditionally love all Apple products, believe it or not) I greatly enjoyed watching this new device being announced. However, I had a very capable smartphone back then, a Treo 650. It DOES email! It DOES web browsing! In fact, my Treo seemed far more capable than this new device! The iPhone just seemed like a Treo 650 but with a larger touchscreen rather than a touchscreen with a physical keyboard. I loved my Treo’s keyboard, and I loved all of the programs that I used on it every day (including ssh and VNC which were not available on the first iPhone). I wasn’t just about to spend $500 on an iPhone that does far less. So my final decision was that I was going to stick with my Treo, and thanks Apple for making a shiny new device that doesn’t do much beyond looking pretty.

But… it wasn’t about WHAT the iPhone could do. Because in fact it could do a lot less than any other smartphone on the market (at the time). I eventually realized (through watching several videos and looking at many pictures) that it was HOW the iPhone did these things is what makes it so unique and profound. Lots of phones can browse the web–even the lousy flip phones at the time had a web browser built-in. But how often did people use those web browsers? They were buggy, low-resolution, un-intuitive and most importantly, very difficult to use. The iPhone has a fantastic browser built-in and still the best mobile browser that I’ve ever used, even despite it’s lack of Flash. The iPhone has a great YouTube app that almost renders Flash useless unless you really want to see banner ads and old websites. It displayed full webpages, allowed for really smooth panning and zooming, and featured a multi-touch interface that revolutionized the way we use mobile phones. Even the most extreme of Apple critics cannot deny that the iPhone has changed the way we think about mobile phones and in fact mobile devices in general. I ended up waiting in line on the first day the iPhone was released to get my own.

Fast forward back to 2010, where we are today. Apple announces a new tablet device that does most of the same things its iPod Touch and iPhone can already do. But, how does the iPod touch do these things? The iPad’s photo application is not simply a scaled-up photo app from the iPhone. It is a fully-featured, desktop-class application and very similar to iPhoto which is what you would see on the Macintosh. The iPad’s Calendar application, again, is not just a blown-up iPhone calendar application, but a very powerful and intuitive application that makes highly efficient and productive use of the extra screen real-estate and pushes it far beyond anything that’s possible on a mobile device like the iPhone. What I’m arriving at is that there is a space missing in the line of portable tech products that exist in the market today. We have our computer, which is great for getting work done, playing games, and doing just about whatever else we need it to do when we’re at our desk. We also have our smartphone (or iPod touch), which accomplishes most of the everyday tasks that we need to perform while we’re on-the-go, all while keeping us well-connected. What’s missing is a truly personal computer, designed to put aside the overload of functionality that our desktops and laptops provide, while at the same time accommodating the inevitable lack of functionality that a mobile device provides. Let’s say you’re an iPod Touch or an iPhone owner. How often have you found yourself sitting in your bed or sofa reading email, browsing the web, or playing games even though you have your laptop or desktop only feet away from where you are sitting? Being a laptop owner even–how comfortable is it, really, to relax in a sofa with your legs up and read a good e-book online? This is the void that I’m talking about. Netbooks have tried to solve this problem, but ended up failing at accomplishing anything. Steve Jobs was spot-on about this I believe. These netbooks were a risky set of new devices, but they ran the same software with the same operating system and used the same kind of input (lousy trackpad and tiny keyboard) for everyday use. With the netbook, somebody was already thinking about this void in the market, but they implemented it poorly. Now with the iPad, we have a new type of device for this market, and I think it’s going to perform a lot better.

Most people would probably disagree with me on this, but I am truly convinced that this kind of device will change the way we interact on a personal level with our computers. It may possibly NOT be the iPad or Apple that changes this for everyone, but I do believe that this device will start getting more computer manufacturers thinking about how they can solve the missing link in everyday computer use for the average consumer. That being said, I have decided that I will plan on purchasing the iPad some day (mainly because I am excited to work with my friends at school to develop cool applications for it), but also because I have already been proven wrong once before when I jumped to conclusions about the usefulness of the iPhone when it first came out.

January 23, 2010

UA Software Development Club Flier

Category: Design

If you’re a student at the University of Arizona and you love programming and computers, hopefully you’ve heard of our club. The Software Development Club started last year with a relatively small group of people that love doing cool stuff in their free time, including programming, hacking, designing, etc. Our club votes on cool projects in which you normally wouldn’t partake in a Computer Science class, and learns about actually creating these things.

We started 2010 with a new set of ambitious students and we’re always looking for more! So far I’ve spoken to three Computer Science classes on campus and have created this flier to hopefully get more people interested. Look for these fliers around the Computer Science building and other places on campus!

(If you’re curious, the code in the arrows on the bottom is from the Mac OS X Chess application’s source code!)

January 16, 2010

CES and Vegas Aftermath

Category: CES 2010, Gadgets

CES 2010 is over and being my second year going, I found this one to be a lot more entertaining than the last one. I was more impressed by the displays and new gadgets this year. One thing that was extremely popular at CES this year was the 3D television, which I thought would be the worst idea ever conceived–and I was partly right. While I was impressed at some of the displays, (especially video game demos where it actually did enhance the experience in that respect) I couldn’t stop myself from thinking that this is just another marketing gimmick to get everyone to buy a new TV again after everything went High Definition. One of my favorite tech writers, David Pogue, had a very interesting informational video on the truth behind 3D TVs which had me convinced that this was a bad idea from the beginning. Expensive glasses that darken the picture and everything else? Buying a WHOLE NEW Blu-Ray player especially for 3D content, not to mention re-buying all the movies that you want in 3D? Absolutely not! As I said earlier, I only see this taking off for probably the most hardcore of gamers looking to enhance the immersive environments of a video game even further, but even then there’s not that much gain. One 3D screen stood out (literally) from all of the other ones however, and that was Intel’s. Intel somehow figured out how to make what seems like a 3D image pop out at you without the need for any glasses at all! I did manage to see this at their booth, and was impressed when I was standing in front of it at the right angle, but too far away or too close ruined the experience for me which leads me to think that this might only work if you’re standing directly in front of the screen.

More stuff I saw at CES were a lot of upcoming PS3 titles at Sony’s booth which was a treat for me! I managed to play a little bit of God of War III which is coming in a few months. As expected, it looks quite astounding and it was very fun to play. I also saw but didn’t play this upcoming title called Heavy Rain which looks really fascinating. The game is really special in that it’s really unique from anything I’ve ever seen. According to the Wikipedia article about the game, the story line is extremely dynamic and many of the character’s actions can affect the storyline in a profound way. Being before it’s actual release date, this game is very mysterious in nature and I’m looking forward to checking it out when it’s released. This year definitely seems like the year of the PS3; I think now that developers have realized the full potential of the PS3 hardware, there will be an ever increasing amount of awesome exclusives that should place the PS3 well above the Xbox 360 in the eyes of many consumers. I also like the PS3 way more as a media center. My brother and I have no trouble using our PS3 as a central media hub using it to watch movies, TV shows, and listen to music.

Las Vegas was also very fun to visit again, it always is. Even though I was under 21 years old, my group still found a healthy amount of activities that kept us busy, including this weird trampoline arena where it seemed like nobody was over 13 years of age. At least we kicked their asses at trampoline dodgeball!

January 5, 2010

CES 2010

Category: CES 2010

My brother and I will be leaving for Las Vegas tomorrow, we should arrive sometime Wednesday Night. I look forward to getting my gadget on at CES again this year! Last year was a blast and now this year we have even more people coming with us. I’m very angry that I missed the Palm Pre’s introduction last year, so I’ll be sure to plan ahead this time. I’m also hoping that we’re not going to stay in a cheap lousy hotel again as well. Apparently you need to be 21-years-old at least in order to stay at a relatively nice hotel, because none of the large hotels like people who can’t gamble. I guess the best I can hope for is a nice-looking “family” hotel.

January 4, 2010

The Google Phone and Thoughts on Android

Category: Android, Gadgets

There has been a lot of news going around about the new HTC-developed, Google-marketed Nexus One Android phone. While I am a loyal iPhone user (bias warning), I am pretty impressed with this phone and I think it’s going to push the Android platform one step further. According to Engadget, the phone is supposed to have a 1Ghz Snapdragon processor and 512MB of RAM. That’s pretty crazy especially considering the iPhone 3GS which has a CPU only running at 600Mhz. I did see some videos of the Nexus One, and despite it’s speedy animations and graphics, a lot of the experience is lacking when compared to the 3GS, especially when it comes to web browsing. The device is also extraordinarily plain-looking! I was honestly expecting something that would be a little easier to show-off to friends (like the first-generation iPhone was when I first got it!) Also, no multitouch? Come on now, this should be standard on a touchscreen smartphone by now! Even the damn Pixi has multitouch. The Nexus One lacks a physical keyboard as well, and no multitouch capabilities can make typing a chore when using the onscreen keyboard. The Droid is supposed to have multitouch as well, but it’s functionality was apparently removed in the software because apparently Motorola was concerned that they might get hit with a lawsuit from Apple. Why does both of Palm’s WebOS devices support it then? Those devices are sold in the US as well!

While Android devices continue to be getting better, I think the platform still has a long way to go before it really catches up with the iPhone OS. Android still seems extremely slow in comparison with the iPhone 3GS, and I have yet to see a device with a web browsing experience that beats the iPhone’s. Simple things like list views and gestures are frequently sluggish while iPhone’s are consistently smooth. Furthermore, I find the iPhone’s User Interface to be quicker and easier to use, while also being very aesthetically pleasing. However, since my first smartphone (first cellphone actually) was a Palm OS device, I am still accustomed to the idea of a menu being available in every application which is something I really appreciate about Android.

So I’ll stick with my iPhone for now. I am still waiting to see if my next smartphone is going to be the next-generation iPhone or a next-generation Android phone, but I’m very excited to see what happens this year.

January 3, 2010

Hello World!

Category: Uncategorized

Greetings! Hope you all like my new website. I decided that a boring contact page for my website was getting pretty old (and rudimentary!) so I decided that my New Year’s Resolution was to redesign it and add some new features. I’m super excited about having a blog again, and I’ll probably be posting here regularly about my various activities. I doubt people will subscribe to my blog or check here regularly, so I’ll try my best to link this to my Twitter Account.

-Charles