In the modern world, there is a lot of complexity, and software is no exception. There's a hilarious xkcd that describes the splinter groups within hobbyist crazy straw fanatics, describing the fractal nature of such complexities.
One of the most annoying example of these comes with the complexity of publishing a polished high-profile mobile application. Within cameras we have digital cameras, within digital cameras we have the sports enthusiast market, within that market we have products like the GoPro. The GoPro announced The Hero 3 last year. WIthin the Hero 3 there are 3 editions. And for these editions there are mobile applications for both iOS and Android. The problem arises with the amount of effort it takes to launch applications like this.
In the 1980s there were hundreds of programmers working across the globe, in the year 2013 there are tens of millions of programmers working on building, rebuilding, and connecting software all across the globe. The net result is that there is a lot of software being built now, and it can be very hard to ensure it is all polished.
It's maddening to see applications where it's evident that a lot of time was spent, but then they miss some of the most basic details. This is the case with the Hero 3 Android Application. I haven't tried it out, but despite all of the time it took to design, build, test, and launch the application, the team responsible for putting it in the store completely failed.
"With the GoPro App you can now control your GoPro camera remotely using an iPhone, iPad, or iPod touch." This is one of the main descriptions for the application in Google Play, the Android marketplace. How much work would it have been for the person who copied and pasted the description to fix this? How much work would it have been to tweak 3 words at any point when working on publishing updates?
Perhaps this is irrelevant, and it obviously hasn't hurt their brand or their sales, but it's still amazing that oversights like this happen, propagate, and persist. If you try to look at how to prevent and fix this paradigm, constant minor incremental improvements are the only way. Every day, try to do better than the day before, and don't like with broken windows.
There is now a fourth player in the smartphone arena (and it's not RIM).
Today at 12:00PM CST, Canonical released a video recognizing the past, and announcing the future of Ubuntu. The future as proposed by Canonical's Mark Shuttleworth, is for Ubuntu to be a universal computing platform. Recognizing apps, content, and data as being universal, with customized interfaces for different form factors like Tablets, TVs, Phones, and Desktops.
This news is exciting, because being Linux and open source-based, multiple architecture and multiple device application development will be an easier dream to achieve. This would be a strong message to Apple, Microsoft, and Google that they have failed to unify all of the devices of a user. Ubuntu is a platform that I have used every day of my life for the last 4 years in the desktop space, taking that level of capability, stability, and power to other devices may be a winning combination.
In late 2012, Ubuntu TV was announced as the first extension to the Desktop Ubuntu experience. Shortly thereafter, Ubuntu for Android was announced. Ubuntu 12.10 was heavily optimized for touch and tablet interfaces. Now to complete the specturm, Ubuntu for phones is here.
The biggest and most exciting accomplishment has been the promotion of web applications as true applications. I've been predicting this from Google's Android for a while, but it looks like Ubuntu may beat them too it. Apps built using HTML5 for iOS and Android will work perfectly on this device.
Finally, Ubuntu has been working on intelligent and context-based menus for more than a year now. On Ubuntu phone they are exposing all of these interfaces via phone commands. Surpassing even Google's voice capabilities.
Support for Android-designed hardware is a part of the plan. This is a huge deal and something neither Microsoft or Apple could ever replicate. This means that any Android phone (and there are a ton of great ones) should be able to run Ubuntu. This means that all of the great Android hardware I've acquired should work very well with this new exciting mobile operating system.
The biggest challenge facing them is a lack of expeirence with heavy cloud applications. Historically they have relied on third parties, which could result in a fragmented or broken experience. This is exacerbated by the fact that the major service providers also have their own mobile platforms, so support may be slow coming or completely missing.
As of 1:00PM CST, their app development website is offline due to heavy load. This in interesting sign of the level of interest around developing for this platform.
Currently there's no plans for wearable computing, which will be an area for Google to innovate and easily exceed the capabilities of Apple, Microsoft, and Ubuntu.
I'm a huge fan of Android and Google's line of devices running the latest and greatest version of Android. In my backpack right now I currently have a Nexus 7 and a Nexus 10. In my pocket is the Galaxy Nexus. In the past I used Samsung phones like the Vibrant (USA T-Mobile version of the SGS1) and the SGS2, but since I received my Galaxy Nexus at Google IO 2012, I haven't really pined for any other phone. The Galaxy Nexus is a dual core device running the Android Jelly Bean 4.2.1. Compare this to the non-Nexus world, my family and friends on Verizon all use the Samsung Galaxy S 3 (SGS3). I have a huge amount of epxerience with other Androdi devices. Our company tests our software on a wide variety of devices, so I'm familiar with most of the devices available today.
With my passion for Nexus devices and my typical cycle of upgrading my phone every 6-10 months, I'm shocked with myself that I haven't bought the Nexus 4. Despite having been sold out almost constantly since its launch, I've had 4 or 5 opportunities to buy this device through friends and through brief periods of availability. The device itself is very exciting. With its glass back, bezeled edge, and improved camera, there are a lot of things to like about the device. It's a material upgrade in technical specifications, performing on par or exceeding the latest generation such as the SGS3.
The problelm with this device is that although its technical specs are more than a 100% increase from those of the Galaxy Nexus (my primary daily driver), it's only a 3-10% increase in user experience. What I mean by this, is that although its a supercharged device, it wouldn't really change my life very much. The version of Android it runs is the same as what I have today. It doesn't come with an inductive charger, and no official inductive charger or any sort of official dock has been launched to date. It lacks an expandable battery. I don't use an expanded battery in the Galaxy Nexus, but I feel like I could if I wanted to. Samsung and Apple are decimating Google with their accessory support, and its hurting the Nexus devices. In many cases a phone or tablet isn't a complete experience until there are quality cases and docks for it.
There have been two or three occasions when I really wanted to upgrade my device. The first is when playing Ingress. It would be really nice to hack portals more quickly, and for the appilcation to load faster. I've missed a couple of portals while driving around because I was waiting for my Galaxy Nexus to catch up. The second was on bootup. I run CyanogenMod 10.1, so some of this may be my fault, but I feel like from all of the videos of this device I have seen, the power seriously manifests itself on bootup. The Nexus 4 boots in tens of seconds, rather than in minutes. This material difference can be frustrating when turning my device on and off while travelling, or when flashing custom ROMs.
Overall, due to the lack of material improvements, I'm waiting on the Nexus 4. Perhaps I'll get one if my experience with my Galaxy Nexus to degrades, or if they launch a new Nexus phone in 2013, or if Google hands me a Nexus 4 at Google IO 2013.
All of a sudden 5 days ago my Nexus 7 would fail to update any application, with the error "Update for "Evernote" could not be downloaded due to an error. (Error retrieving information from server. [RPC:S-5:AEC-0])". I looked around on the internet for solutions. A lot of people recommended clearing data, enabling/disabling/clearing play services. None of these things worked for me.
In the end, I had to remove my main Google profile from the device, and add it back. Then all of a sudden the applications on my Nexus 7 updated perfectly. Hope this helps someone else.
Google needs to move faster with Android and adopt a fixed release cycle. The recent launch of Android 4.2 caused several issues for Nexus device users. Everything from experiencing new sources of lag and stutter in the user experience, to completely losing December in the contact application. Some may take this as an indication that Google needs to move slower with their Android releases and perform additional testing stagegates. My feeling is that this is the exact opposite of what they should do. Google, and modern software development in general, benefits from going faster.
What I mean by going faster is building more frequent rolling updates to the platform that do not require user intervention. Chrome for Windows/Linux/Mac is the gold standard representing this ideal. Chrome development happens in the open, meaning all source code for the application is developped using open source licensing, and is immediately availlable after developers commit it to the Chromium project. The Chrome team also has a fixed release cycle, meaning that every 6 weeks all of the users of the software will receive an update. Users can additionally opt in to what they call the Beta or Developer channel to get early access to features, in exchange for giving up stability.
If Android moved to a fixed release cycle, it would have many benefits. First of all, Partners such as Carriers, Manufacturers would be able to develop standardized processes around the adoption of Android. More frequent, smaller updates to the Android platform would force Google to improve their update capabilities. Right now non-Google Android devices are lucky if they are upgraded for a full year after launch. If these devices were build and planned with the expectation of a 6 week release cycle, Google would be forced to improve the robustness, speed, and quality of the Android update mechanism. Making this process transparent and irrelevant to users would be a huge win for the Android platform in general and would continue to encourage user adoption.
With Google's Android 4.1 - Jelly Bean release having landed at Google IO 2012, Google seemed to be poised to continue its strong market share growth in the US and internationally. A lot of users stating for the first time that Android as an operating system was good enough (read fast and smooth enough) to take on iOS.
Having been a huge fan of Android and the ANdroid philosophy for years, this was great to see. Android 4.1 was truly faster and better in a lot of ways. Google focused more on polish and stability than on new features. Having said that, it is now November of 2012, and we have yet to see Jelly Bean on more than 3% of devices. This metric is disappointing, but the blame can clearly be placed on the US phone carriers and on the manufacturers.
Now than Android 4.2 has been released as the latest version of Jelly Bean, Google seems to be shooting themselves in the foot even further. They are back at adding additional features to the platform, with major revisions to Google Now, Camera, the Play Store, and Gmail. They also have made several frustratingly minor updates to the UI of the platform, moving the Back, Home, List buttons from the lower left of the UI to center of the bottom of the screen. Allegedly this is to match how people really hold the device, but as someone that always holds my tablets by the corners, I'm skeptical.
Additionally, tons of user reports are coming in, myself included, that Android 4.2 is really slow on the Nexus 7. I notice that starting up the phone I experience tons of "Jenk" and lag before I can get in and perform actions. Even things like rotating the device can be greviously slow now, taking upwards of one or two seconds.
The mobile landscape is like a riptide. Across the public sector, Android is dominant across the smartphone market, and up-and-coming in the tablet world. Intel, ASUS, Acer, Samsung and LG are working on Ultrabooks to continue the desktop's legacy. In the enterprise, Apple reigns with the iPad. Microsoft, former champion of the personal computig world is a relative latecomer to the mobile space. With their Surface tablet, Microsoft is attempting to extend their former desktop dominance into the mobile space by consolidating the ideas of mobile and desktop into a single platform, and a single device.
Within hours of the launch announcement, I pre-ordered a Microsoft Surface with a cyan touch keyboard, and around noon on October 26th, I first got my hands on this new device. The following is a chronology of my feelings and observations with the tablet.
Overall now that I'm almost a week into the Surface, I find myself pulling out my Nexus 7 or Galaxy Tab 10.1 with keyboard when I really need to get things done. Whether it's missing a battery % indicator, or even just being able to see the time without touching the screen, the tiny details are adding up to a lot of frustration. I've gotten better at the keyboard, and I think that as a hardware device, the Surface is a piece of art.
In my time with the Surface, I've also experienced several fatal application and OS-level crashes. I haven't seen the Windows RT blue screen of death, but I've had several times where the system would become unresponsive entirely, or where the visual system would become corrupted.
Windows 8 RT is going to be a confusing disaster for consumers. With all of the downsides of a new empty mobile platform, and none of the benefits of the Windows ecosystem, I predict Windows 8 RT is going to flop. Users will be happier with a traditional Windows 8 device (possibly with a touchscreen or ultrabook), or an Android or iOS tablet.
The Nexus Q launched at Google I/O 2012 amid applause and confusion. Google is positioning this little device as the solution for "social streaming", a concept they are introducing that would theoretically allow anyone to visit your home, share their music and video collection with you, and then allow group control of the device throughout a gathering or party.
While the idea is sound, the execution is questionable. The device as-is today only works with Jelly Brean Android devices. As of July 2012, there are only 2 devices running Jelly Bean officially (Nexus 7 and the Galaxy Nexus). Second, the device only works with content streamed from YouTube or the Google Play store. This means that the applicability and usefulness of this device is extremely limited.
Nexus Q for Gingerbread
According to the Nexus Q guidebook (found on their website at http://commondatastorage.googleapis.com/support-kms-prod/SNP_2672134_en_v0 [PDF]), the Q is intended to support everything back through Android 2.3. While this is great to be stated in a guidebook, actual support for these devices has not been launched or scjeduled. If Google wants to gain any traction with the Q beyond a grand experiment, they will need to prioritize this process.
The one thing that can be said in their defense, is that they haven't actually started shipping to consumers. The only devices out in the wild are those owned by 2012 Google I/O attendees, 100% of whom own Jelly Bean Devices. This is great, but for a social streaming device to work, not just the owner needs the app, but all of his / her friends as well.
From June 27th - June 30th I was visiting the Moscone Center in San Francisco, California for Google IO. Google IO is the annual developer conference run by Google that focuses on its efforts with Android, Chrome, programming languages, maps, Google TV, and other products and services. Overall the conference was one of the best events I have ever intended. There was a huge number of great people, both presenting and attending. Sitting among that group of people, hearing about some of the most cutting edge technology on the planet.
Key announcements were made at the Day 1 and Day 2 keynotes.
- Android 4.1 Jelly Bean
- Project Butter - A project to increase the speed and responsiveness of Android overall
- Tripple buffering for parallel rendering
- Synced entire OS to VSYNC
- Prediction of touch events for more responsive touch prediction (predict where touch will be when screen refreshes)
- New Home Screen - Widgets and apps move icons, auto resize for easier maintenance
- Swiftkey-like native android keyboard
- Offline and local speech recognition
- Improved gallery for quick photo review
- Filmstrip view within gallery
- Android Beam - Send a photo or video by tapping phones together
- Pair and connect with bluetooth devices by tapping.
- Notifications (short and long versions, adding actions to notifications)
- Search - New UI, Voice Search, Google Now
- Search results in card format
- Google now - uses history, calendar, to figure out what you need and when
- PDK - Platform Development Kit to help carriers and manufacturers stay up to date.
- App encryption (in Jelly Bean)
- Delta Android App Updates - Fast updates of android applications by only sending APK deltas
- Android Push notifications evolving from C2DM into Google Cloud Messaging (Multicasting, payloads) free, no Quota
- Purchasing video instead of just renting
- TV episodes and series
- New Hardware
- Nexus 7 - 7 Inch Quad Core tablet for $200
- Nexus Q - Streaming Media Server connected to Google Play
- Nexus 7
- Galaxy Nexus
- Nexus Q
Additionally, each attendee got the opportunity to pre-order the $1500 Google Glass, launching to US-based IO attendees in early 2013. I signed up for these, as this is an extremely exciting leap in wearable technology. This years giveaways were great. I have since switched to the Galaxy Nexus (From the T-Mobile Galaxy SII) as my daily driver, due to high quality of the hardware and the quality of Android 4.1, Jelly Bean. Additionally, I have also started to carry around the Nexus 7 as my primary tablet and interface, rather than my Galaxy Tab 10.1. The speed, thinness, and lightness of this device are shocking, and make this one of the best tablets in existence.
Today Microsoft announced the Surface tablet. It's a relatively standard tablet with a 10.6 inch screen, but they are attempting to include greater computing power, a stand, and a new ultra-flat keyboard that is similar in size to Apple's smart cover.
There are really two things that tablets have thus far failed at, despite the best we have seen from Apple with the iPad and from Google with Android 3.x and 4.0.
The First Success - Tactile Keyboards
The first big win is the presence of a touchable keyboard on the new tablet. This is an absolute requriement for successful adoption of a computing platform. Half of what we do with a computer is highly repetetive, low-creativity data input. Human speech is faster than typing on a keyboard, but typing on a keyboard is still an order of magnitude faster and more accurate than typing on a touch screen. Human speech is pretty great on Android 4.0, but definitely won't replace typing in any meaningful way because of privacy concerns, as well as lower limits on sustained high-speed input. People aren't yet used to talking to their computers for 3 hours, but they are absolutely used to sitting at their keyboard for 3 hours.
I expected touchscreens with tactile keyboards to solve this problem, similar to some of the products announced at CES this year. Microsoft has gone a different way with building a tactile keyboard in the case. I should have expected this. Every day I carry around a Galaxy Tab 10.1 with a Logitech case that doubles as a keyboard. The keyboard makes the full tablet feel heavier than it needs to though, so Microsoft's solution is suprisingly elegant.
The Second Success - Multitasking
The second success in Microsoft's Surface tablet comes with the Windows 8 capability for multitasking. Android is capable of running multiple tasks simultaneously for users, but offers no interface for showing two screens at the same time. This is an absolutely critical feature for tablets to take a spot in the long term computing world. Countless times, I've wanted to type or edit a document while looking at an email. This is completely impossible on Android or iOS. I have even resorted to taking a picture with my phone, or combining my phone and tablet to achieve this effect in desperate situations.
Although they have not yet proven this feature, and the word is that it will require developer support, being able to show multiple applications simultaneously will win this tablet a solid place in the world of computing. Android has a huge opportunity to take the lead here though, because their applications are already optimized
for multiple screen resolutions. Imagine the email app running on 70% of the screen, and then phone version of 4 square running in the remaining 30% space. If Google had the guts and the brains, they would have already done this with Jelly Bean, and my fingers are crossed.
For the past week or so I have been running my SGS-T989 on the Ice Cream Sandwich rom called BlackEdition. This ROM takes the ICS hardware support from the Galaxy S II Skyrocket currently available on AT&T, and ports it back to our SGS II -T-Mobile. While it's very exciting to get access to ICS, the speed, the data monitor, and most of all, access to Chrome on my phone. There are still a few issues.
Media Scanner Issues
The media scanner in this kernel has some sort of major malfunction, as it will not stop scanning. What this means for me, is that the phone never goes into a proper sleep, and my battery just gets shredded to bits. As in, less than 6 hours from fully charged to dead. It also makes charging super-slow, so it's almost better to turn my phone off to charge.
Wifi Tether Issues
Initially when I went into the Android Settings to turn on the Wifi-Tether on which I have grown completiely reliant, the setting would not turn on. After experiementing and trying all of the different configuration options, I gave up. A few days later, I noticed that there was a configuration toggle in the top bar of the notification pull-down. I tried it out, and lo-and-behold, there was the Wifi-Tether that I had been hoping for so strongly. It now works great, although combined with the Media Scanner Issue, my battery can be shredded to bits in an hour or two.
About once every 20 or so minutes of use, the android core process will stop, freezing my entire phone, and preventing any operation for about 8-9 seconds. While not actually losing any work, or preventing me from being effective, it's very annoying.
In the past month or so, three new ICS ROMs have become available for the Samsung Galaxy SII for T-Mobile. These ROMS have their own issues and problems, and I don't feel like any of them are ready as daily drivers yet.
None of the ROMs worked "out of the box" for me, and I had to do some digging to get them to work. Each one entered an infinite boot loop that I had to pull the battery to get out of. Remember, if you want to boot into recovery, ensure the SGS2 is powered off, then hold volume up, volume down, and power until the Samsung logo appears. The solution for these boot loops was to do a more thorough wipe than the standard Factory Reset. There is a special tool called DARKSIDE.SUPER.WIPE that will fully erase your system, cache, and data partitions. Make sure you do a full Nandroid backup before doing this, as this will definitely erase parts of your OS.
Here are my notes on each rom.
This ROM was the first ROM I tried. After getting it to boot successfully, I attempted to make a phone call and discovered that there were no APNs included with the ROM for T-Mobile. Not wanting to manually install APNs, this ROM was not for me. I may come back to this one though, as it was the only pure Android ROM, without any TouchWiz, ruining the quality and asthetic of Ice Cream Sandwich.
[ROM] Skyrocket ICS Port
This was the second ROM I tried. This ROM had no APNs either unfortunately. This meant that for me it was unsuitable as a daily driver.
[ROM][cwm]-BLACKEDITION FOR THE SGS2 3-29-2012-ICS
Finally a ROM with APNs, but overall I am definitely not a fan of TouchWiz, and the continuing issues with autorotation and a general lack of polish across all of these ROMs prevented me from adopting it as a daily driver.
HexSLayer recently launched a few new versions. In the Android Marketplace (Now known as Google Play), HexSLayer 1.0.19 was launched, and in the Amazon App Store, HexSLayer 1.0.20 was launched. These may be the last updates for a few weeks, as there has been a major update to the packing system I use, known has PyGame Subset for Andoir. Both of the published versions of HexSLayer use PyGame Subset for Android (PGSA) version 0.9.3. This has been a great framework for me, as I have been able to write applications and games in Python, and then launch them simultaneously on Windows, Mac, Linux, and Android.
With the latest update of PGSA to version 0.9.4, there has been a change to how the system packages applications. Before, the system would copy over the raw Python source files (or .py files), but now the tool packages only the optimized and compiled versions of Python applications (the .pyo file). This means that if you come from an earlier version on Android and upgrade, you will end up having both versions on your device.
The problem with this upgrade path is that it leaves both versions of the files on your device, and the Python subsystem by default runs the old version of the application. That means that there is new code on your device, your phone will always run the old code. This has been the core issue preventing me from releasing HexSLayer 1.1.x.
I wrote to the author of PyGame Subset for Android, and discovered that he had a fix prepared that will allow me to continue using the old packaging method, while waiting for my users to upgrade to a version compatible with the new method.
As soon as PGSA 0.9.5 is release, I should be able to repackage and release the next set of features and bugfixes for HexSLayer.
Thanks for playing!
For many of us, retro-gaming holds a special place in our hearts. We grew up playing games on platforms like Nintendo, Super Nintendo, Game Boy, DOS, or even the N64. Emulating these platforms on desktop computers has been done for many years now, but with the rising place of smartphones and tablets as gaming devices, emulating on Android becomes quite important. Here are the my top 5 retro gaming platforms and how to emulate them on Android. Keep in mind that most of these have been removed from the Android marketplace, despite the fact that Emulators are fully legal. This means that you may need to enable non-market applications in Settings->Applications, and then checking the box "Unknown Sources".
Emulators are legal according to US law, but downloading game ROMs (the full game application and all graphics, music, etc) is of questionable legality, unless you own the hardware cartidge. For this reason, I won't directly link to any ROMs, but searching for "cool roms" will probably get you what you need.
Emulating Super Nintendo on Android
Emulating Super Nintendo is probably one of the best experiences on Android. Download and install the emulator APK, and launch the application. It will bring you to a menu with several options. Clicking Load Game will launch a file browser where you can select the ROM you want to play.
This Emulator supports up to 10 saved states for each game. Additionally, Snes9x EX supports a wide variety of controllers. In the default mode, the application will have an on-screen keyboard. For a much better experience, I recommend connecting a Wiimote to the phone. You can connect a Wiimote by opening the battery case on the Wiimote, and pressing "Connect", and then press "Scan for Wiimotes/iCP/JS1" on the phone. If you have bluetooth enabled, it should find the Wiimote, and allow you to game on your phone/tablet with the Wiimote. You can even connect multiple remotes to your phone simultaneously for some sweet multiplayer gaming.
Emulating Nintendo on Android
Nesoid is quite a nice emulator, supporting quicksave, 9 save slots, and an on-screen controller. Additionally, nesoid supports netplay, fast-forward, cheats. It also allows the user to use the sensor for the left and right keys, or allows the user to map the trackball onto one of the standard controller functions. The emulator uses Haptic (small vibrations) feedback to let the player know when they are hitting various keys. This is a very nice feature, as on-screen keyboards can tend to be a little difficult to use.
Emulating N64 on Android
The N64 is probably one of the most advanced console types that we are currently capable of emulating. To emulate more advanced consoles such as the PS2/XBox or even the latest generation of consoles, we will need devices with an order of magnitude more power, as emulation is an extremely overhead expensive process. This emulator supports saving to a quick slot accessible onscreen, as well as up to 9 additional save slots per game. N64oid also supports using the motion sensors on the device as one of the inputs, but I didn't find this to be particularly useful for any games.
Emulating Game Boy on Android
For the phone form factor, emulating a Game Boy probably is the most direct link between past and present. Gameboys were ubiquitous for children born in the 80s. From Pokemon Red/Blue, to Tetris and beyond, the Game Boy, Game Boy Color, and Game Boy Color ate millions of hours from children. Recover some of that old-school gaming feeling while in the bathroom, driving around in a car, or on your couch at home by trying out GBCoid. Using this emulator in portrait mode is surprisingly pleasing, despite not using all of the screen real estate of a phone. At least with many of the modern Android phones, the screen size and resolution is superior to the original devices.
Emulating DOS on Android
DOS Emulation is Not Good Enough for Normal Use Cases!
Despite not having standardized and dedicated hardware, DOS is probably one of the most prolific platforms for game development created. 20 years ago, DOS was the only option for game creation, and it held that status for several years. Today, many games are still floating around with DOS versions. DOSBox on Android is a little bit tougher to use than any of the standard emulators, due to the general difficulty of using DOSBox. With a very powerful application, comes a very complex interface.
To load an old game like Pizza Tycoon, I had to:
- Copy the game files to the SD Card
- Launch the application
- Enable the onscreen keyboard
- Black Magic
Android is a giant cluster of concepts, companies, and efforts. There are manufacturers, carriers, differing software versions, form factors, screen resolutions, roms, custom launchers, custom UIs, apps, and more. My intent is to walk you through some of these concepts, as they stand in March of 2012. This guide is intended for smartphone consumers, as developers and early adopters will likely already know all of these things.
Top Things You Should Know About Form Factors
- Android Operates on devices of any size. From a smartphone with a 3 inch screen, to a tablet with a 10 or 13 inch screen.
- Many applications are poorly optimized for tablets. The more popular the application, the more likely it will work great on whatever type of device you use.
- There are devices such as the Galaxy Note that support both phone and tablet use cases.
Top Things You Should Know About Android Software Versions
- Android 4.0.3 is the most recent version to be released and available on phones (about 2% of devices have this version).
- We are expecting Google to announce Android 5.0, Codename Jelly Bean in June of 2012.
- Android 4 or above is necessary to get access to the latest features, such as face unlock, or data usage monitoring.
Top Things You Should Know About Android Manufacturers
- If you are looking to take control of your device, HTC makes the most unlockable devices.
- Samsung currently makes the smallest, fastest devices, and is the largest manufacturer of Android devices.
- Motorola's Mobility group was purchased by Google, so expect tight integration between Android and future Motorola devices.
Top Things You Should Know About Android Carriers
- All US Carriers have Android devices, but each carrier has a different set of devices. Additionally, devices typically cannot be moved between carriers because of incompatible networks in the US.
- Verizon has the fastest, but most expensive network.
- Sprint has some of the most unique devices, including the 3D camera and display on the HTC Evo 3D.
Top Things You Should Know About ROMs
- ROMs are great if you have technical ability, and want to modify or take control of your device. ROMs are community-built versions of Android that often combine proprietary and open source features.
- CyanogenMod and AOKP are among the most popular ROMs for many devices, but each device will end up having tens of ROMs specific to that device.
- The biggest problem for ROM developers trying to release working software for devices is the proprietary drivers needed to interact with hardware. This has worsened with Android 4.0, as many of the previously-software components such as camera, now have large demands upon the hardware.
Top Things You Should Know About Tethering
- Both USB and Wifi tethering are built into the Android platform, but are often removed by Carriers.
- You can install the ClockworkMod Tether application on your phone to add tethering back, if it was removed.
- Tethering may be visible on Verizon or T-Mobile devices, but it may warn you that they want to charge you additional fees to use the feature.
Despite having no official registration date or information, I'm still extremely excited to attend. Part of me wants to see the show in person, meet the other developers, talk to Googlers, and live among those attending one of the hottest spots of innovation and technology around. Another part of me wants to attend simply for the gifts. The final part of me, with the announcement that there will be a coding competition for Google IO 2012, wants to prove myself as an adept developer and contributor to the world software ecosystem.
I've got the dates booked on my calendar already, and I'm checking the news feeds daily regarding news, and even going so far as to reach out to Googler's on Google+, but I have heard nothing so far. I'm frightened that I will miss the event like I did last year. In 2012, I found out about the registration 67 minutes after it had started. Unfortunately for me, tickets sold out in just 52 minutes, meaning I was 15 minutes too late to get a ticket. I'm was determined last year to attend, but I'm redoubling my efforts this year to ensure I'm able.
Past Google IO Gifts
In the past, Google has created a trend of gift-giving some of the latest technology. Here's a list of the past years' gifts.
2008 - 0 Gifts Google IO started in 2008, giving attendees only words and presentations regarding technology.
2009 - 1 Gift Attendees received an HTC Magic smartphone.
2010 - 2 Gifts Attendees received a Nexus S before the show, and an HTC EVO 4G during the show.
2011 - 3 Gifts Attendees received a Chromebook, a Galaxy Tab 10.1, and a Verizon Hotspot.
2012 - ?4 Gifts? It is unlikely the trend will continue, but with the increase of focus on developer attendence rather than open enrollment, there is likely to be some type of technology-centric gifts.
Today marks the launch of Google Chrome Beta for Android. This marks a reunion between Google's two main content delivery platforms, Google Chrome, and Android. Historically building and targeting one of these platforms nearly completely excluded the alternative platform. Today's release has not changed this yet, but this is a path along the way. To have a true reunion, Google Chrome for Android needs to support the Chrome Web Store and web apps. Doing so would allow companies and individuals to produce quality HTML5-driven applications, and connect them natively to mobile devices, in the same way they do with native applications published in the Android Marketplace.
This matches one step along a path described in My Prediction from January 2011, although my timing was off by more than a year. This also marks a key hallmark of modern technology, and an extension of the core idea of cloud computing. Whatever device, computer, screen, interface I start interacting with should automatically know who I am, what I have done and what I want. Being able to access your computer's tabs on your phone, in combination with tools like Chrome to Phone and NFC is going to make 2012 feel a lot more futuristic.
Although the T-Mobile Vibrant, a derivative of the popular Samsung Galaxy S, is an aging phone, it has recently received an important spark of life. Ever since the source code for Android 4.0 Ice Cream Sandwich dropped, the developers over at XDA have been working on getting a quality ROM containing Ice Cream Sandwich Working. I have been following the series of ROMs called Passion which were among the first to launch.
Passion recently launched Beta 12. Don't let the moniker "beta" fool you, this ROM is definitely good enough for a daily driver, and has been since at least version 6. All of the expected features work, internet, phone, sound, video, playback, camera, etc. It's much faster than the phone ever was with prior versions of Android, and looks great.
The only missing feature, which is due to a lack of hardware, is face unlock. It would be very nice to be able to see this feature live, but without a front-facing camera, this will never be available. Theoretically, they could make face unlock work with the rear camera, but I doubt they will spend the effort to do so.