Showing posts with label /Rant. Show all posts
Showing posts with label /Rant. Show all posts

Saturday, January 2, 2010

Android SDK install = the DaVinci Fail


As developers we've all heard about how open source product design is superior to the closed development model (a.k.a. Google versus Microsoft). Personally I lean much farther on this debate towards the closed source model; I find the benefits of having the support and QA tested products that the closed source model provides outweigh the cons.


Well anyways I've been working on installing the necessary files to start programming on my handy-dandy Android Phone for the last couple of weeks. And to put it lightly it hasn't been the peachy keen experience that you'd imagine.


Actually its been a horrible soul sucking experience that has almost, almost, turned me off completely from the idea of programming on the Android platform. What in the heck could go so impossibly wrong with something that should be so simple? Well let’s take a look at the steps needed to begin programming on the Android OS...


1) Install Java


2) Install a supported programming environment


3) Install Android SDK


That doesn't seem too hard; well at least not till you give it a shot, here’s what it actually took...


 


1) Install Java


First installation task, first draconian fail. I wen't to the Java download page via the power of Google and tried installing, aaaannndd my computer crashed.


Weird that shouldn't happen...


So a couple of minutes later and I'm back in Windows explorer, I click install aaannndd then CRASH.


Now my blood pressure is starting to boil a little, I by no means have a slow computer but it still takes a few minutes to be restarted so this is quite annoying. This time I gave it another try (I'm a glutton for punishment I know), I click install aaaaannnndd it works!


At this point I'm a bit befuddled, so I go to the Java page to check if it has indeed been installed properly and I'm kindly imformed by their website that it hasn't. At this point I'm starting to get pissed so I hurry over to my Google search bar and furiously look through the web until I found a message board poster having the same problem.


The solution? Install Windows 7 or downgrade to XP.


Well it just so happened that I had recieved Windows 7 from Jacksonville University as part of their Academic Alliance with Microsoft. Highly convenient but this situation is still irksome. So I backup my work and install the latest and greatest, now Java installs without a hitch.


 


 2) Restart Your Computer


  K'.


 


3) Install a supported programming environment


Turns out you can't simply use Microsoft Visual Studio to work on Android, that would be too easy, instead the Android FAQ's lists a few different open source development environments for you to Google and download.


Out of the few that are listed there is only one "right" answer. How would you find this out? If you guessed "Google which ones are still supported or in use" then your correct! And luckily this leaves only the Eclipse IDE as the only sound choice. Amazing work Google, why not just let everyone know off the bat that they should download Eclipse?


Well after you've figured out which IDE you need its time to go hunting for the respective download page and take a gander. Lo’ and behold you’ve got a plethora of options for Eclipse. What’s going on here? Which version of Eclipse needs to be installed? Common sense dictates to download Eclipse for Java since I just installed the Java environment in the previous step. But there is Eclipse EE for Java Developers and Eclipse for Java Developers.


Huh.


 Well after some more research I found that if you want to program on the Android platform you'll need Eclipse for Java Developers. How would anyone figure this out the first time? Through trial and error? Thanks Google that’s just swell.


By the way the Eclipse folder that you download from their site has to be placed (by you) on your C drive. Unconventional much? Why not just make a Install package that the end user downloads that takes care of this? Come on seriously?


 


4) Restart Your Computer


  Again? Well okay...


 


5) Install Android SDK


 Okay after that frustration all we have to do is install the Android SDK on top of Eclipse, so we Google “Android SDK” and get to the download page and grab the corresponding version (Windows 32bit). I then noticed that there is one more step awaiting me below the download link. So in reality this is a four step solution to programming on Android.


But before we get the aformentioned next step I had to install the SDK that I just downloaded, this was actually a painless process, huzzah!


 


6) Restart Your Computer


  Derrick Barra is getting tired of this...


 


7) Install the Android ADT Plug-in for Eclipse


The instructions for this are simple, you copy down a URL linked to on the Android installation guide and paste it on a menu option inside of Eclipse. Oh, too bad Google doesn't tell you to remove the "S" from the HTTP in the given URL since Eclipse goes bananas when you plug-in a address with a security protocol attached to it (HTTPS has security and HTTP is the standard URL transfer protocol we use every day). It took a good few minutes of Googl'ing this issue to find out what was going on. Bad Google Bad!


 


8) Restart Your Computer


 Are we there yet?


 


9) Start Programming


Assuming your Java and XML is pretty good programming in Eclipse isn't that unusual, its interface is a labyrinthy mess of options and windows that makes me long for Unity or Visual Studio, but it’s at least functional.


--------


Come on now, were all those headaches necessary? Every other IDE that I've used has been a pleasure with a simple one click install, this is the first time that I've actually wanted to punch a Koala in the gut for something so elementary, and to think this was just the install process...


Saturday, August 15, 2009

/Rant- G1 VS iPhone



In short, yes as a smartphone and a resounding "No" as a gaming device.


In terms of functionality, pricing, and developer support the Android ranks right up there with the ever popular iphone. The platform checks off everything the end user expects out of a smartphone (touchscreen, app marketplace, gps, 3g, etc), and Android phones are priced lower than their iPhone counterparts.


But there is one crucial thing missing from the Android initiative, something that most reviews of the platform failed to spot. Something so important that its amazing that HTC (developers of the most popular Android device, the T-mobile G1) could even think of releasing the first Android phone with an oversight this large. They have permanently damaged any possibility of the Android ever becoming as popular as Apple's cashcow.


Now what could possibly be so important that it would create an artificial ceiling on the platforms popularity, but be small enough for HTC to miss?


The G1 only comes with 70mb of space for applications and games, this lack of a large internal storage solution limits what updates the platform can recieve, and how many apps can be downloaded before hitting the glass ceiling. Since the G1 was released its quickly become the most popular Android device, therefore all developers hands are tied to adhere to the phones storage issues (not to mention any other limitations a first generation device carries).


This might not seem like an issue, until you consider that developers on the Android marketplace are fighting for your storage and money; so instead of the consumer being able to download what they want they are limited to cherry picking only the most essential applications, things that the G1 didn't ship with on the operating system (Microsoft Office viewer/editor, turn by turn GPS navigation, etc...). And then skipping out on the "discovery" that iPhone users enjoy; hearing about great apps from friends and checking them out for themselves.


Of course you might think that Google would be all over this problem with a patch to the OS, but according the development team there are no plans to bring this much needed feature to future updates, due to "piracy concerns".


Now of course most Android users won't mind this, they'll use their phone and enjoy its features and in two years (once their contract expires) they'll move onto whatever is hot at the time (whether it be another Android device or not), they won't feel compelled like iPhone users do to stay on the respective platform since they won't be making purchases that don't transfer to another platform.


/Rant