Showing posts tagged android

Getting Rid Of Physical Buttons: The Right Way

Three days ago a friend, which is a regular user, asked me about my opinion on the “new button-less phone that was just released”, he was talking about the Sony Xperia Z. First I explained him that those kinds of phones (button-less) existed for a long time before the Sony one, then I gave him a long explanation why I think the Android way of getting rid of buttons was just wrong.

If you really want to get rid of the physical buttons you shouldn’t replace them with virtual ones, since I still loose part of my screen to that piece of the past, so don’t get rid of them, I prefer to have something more “natural” than just an abstraction of it.

To get rid of the physical buttons in the right way you should first of all replace their place with pixels (shocking!), so I can see more content. After that you replace the button actions to be triggered by something that won’t take more screen space, for example gestures.

A clear example where a company made the transition perfectly is RIM, they came from a OS that was completely driven by physical buttons (BBOS) and went to a fully gesture driven OS (PlayBook OS and BB10). Another great example of how to use gestures is the awesome Ubuntu Phone which in my opinion is one of the best implementations I ever seen.

So, if you want to replace the buttons you shouldn’t just virtualize them, but really replace them with something different.

UNIX Fragmentation 2.0: Android

First of all, let me introduce you briefly to the UNIX fragmentation: Before Linux was around (1991 Linus released the version 0.01 of the Linux kernel) there was a huge problem on the UNIX-based operating systems, since they were all proprietary and each OEM had their own version of the OS. It was common that some softwares would not be able to run on all the UNIX variations which caused a lot of trouble at the time since if you were a company buying computers you had to know if the computer you were buying was compatible with the software you had to run. You can read more about the history of UNIX if you want. I’ve learned about the history of Linux and the open source movement from two books: Just for Fun and Rebel Code.

Now, if you look carefully and you’ll notice that the same is happening with Android, maybe less intensive since software may run on different "distributions of Android" (aka different Android versions made for a particular device) but it’s happening. In this article I’ll be talking about this new era of UNIX/Linux fragmentation in two main areas: UI fragmentation (skins), version fragmentation (OEMs holding the source code) and how Google doesn’t care about their app developers.

UI Fragmentation

One of the most visible fragmentation issues of Android is the UI fragmentation. OEMs are (still) thinking that Android is just the smartphone version of the old Java ME-based OS they used on their feature phones. They are skinning Android just like they skinned their feature phone OS.

These skins are creating a huge issue among consumers because since they are not geeks, like us, they think that Android is something like a platform that manufactures use to run smartphone apps, most of them don’t even know its built by Google. These customers also get a little confused when they switch to a newer smartphone, from a different OEM, and the skin of the OS is completely different from the one they were previously used to.

Skins are terrible for the Android ecosystem, but most of them added some really great features, for example the “slide to call/text” from TouchWiz. These improvements to Android UX in my opinion shouldn’t be embedded into these crap bloatwares, but instead should be pushed to Android’s tree (remember the Open Handset Alliance?) to be used on all Android-based devices since they’ll improve the end user experience with the OS.

Version Fragmentation

I don’t know which one is worst: UI fragmentation or version fragmentation, but I think it’s more likely to be the version one.

This problem is completely Google’s fault, even Google itself had problems with Android’s version fragmentation: Google Chrome for Android only runs on Android 4.0+.

Time passed and Google hasn’t come with any solution to Android’s biggest issue, and they know that the only way to correct this is by making pressure on OEMs to only announce new devices if they are running the latest version, and impose tight timelines to update all the older devices that are capable of running the stock version of the latest major release if they want to continue having access to Google Play on their phones. Don’t come to me saying that there is also the carrier problem because there isn’t any carrier problem, Apple updates their devices to the latest version from day one. You know why this is possible? Simple: Apple told the carriers to fuck off. They imposed to the carriers that their OS shouldn’t be bloated, so carriers couldn’t include their crapware with it. As I said previously: Pure stock crapwareless Android is always the solution.

Version fragmentation is extremely frustrating since all those awesome features (and UI) that Ice Cream Sandwich and Jelly Bean have are currently available (stock experience) in one single mass-market device: The Galaxy Nexus.

This is a very serious issue on Android because its making app developers stuck with their innovations, which doesn’t happen on the iOS side. Everyday we see awesome iOS apps, with innovations in UI and UX, getting released for iOS, but we don’t see the same happening with Android mostly for one reason: Developers need to make their app compatible with older Android versions.

Developer Relations

Google doesn’t care about app developers. A great example is how we don’t see a lot of official Android developer evangelists around the internet, another example is how there is only one language you can use to develop you apps: Java. HTML5 is the future of mobile, and desktop, applications and Google is just ignoring this. Developing a PhoneGap app for BlackBerry or iOS is great and you don’t have serious problems like CSS properties or drafts that weren’t implemented, but on Android this is completely different, the terrible CSS3/Javascript animation rendering issue that is still open and yet not addressed.

The only company that I see that is doing a great job on this area is RIM. They care about their app developers because they know that users want not just awesome smartphones, but awesome smartphones with a lot of awesome apps they can download. A great example of this is how they support natively Java, Flex/Flash, HTML5 and C/C++. They even created a awesome mobile UI/UX framework for HTML5 apps called bbUI.js.

Conclusion

Everyday Android feels a lot more like vaporware for me. I’ve stopped using my Android phones on a daily basis and I don’t think I’ll ever start using them daily again. I’ve stopped developing for Android and now I’m almost fully committed to the platform I’m loving most, and felling more comfortable, to develop to: BlackBerry.

Do We Really Need Choices?

My daily use gadgets + my iPhone that was used to take this photo

Disclaimer: If you’re a Android fan boy close this window right now.

I’ve been a truly Android fan boy for 2 years and a Apple hater for 5 years, but this year I did the impossible: Bought an iPad, a Macbook Pro and an iPhone. This acquisitions really changed the way that I saw Android and all the other platforms that I loved. On this article I’ll be talking a bit about the most used argument by Android users to say that their platform is better: Choice. They say that you there are a variety of devices on the market that runs their OS so you can choose the one you like most, also that you can customize Android, flash new ROMs and tweak everything you want of it. While Apple… Yeah, you know how closed they are.

I want to start this sentence by making you deeply think “Do we really need choices?”, I’m sure that if you think really deep on this you will end up in the same point I had. We don’t really need to have choices, all we need is a smartphone that has apps, games, email, phone, etc. (the same principles as the first generation smartphones like my old Nokia E61).

After thinking about this I realized that this got dramatically stronger with tablets. People are buying tablets and don’t even know what they will do with them. When someone asks me which is the best tablet from them I ask “What are you going to use it for?” and everyone is like “Really… I don’t know”. This happens on phones too, people just buy a new phone for no reason. And all this non-sense arrives at choices. No one really want a “different phone”, people just buy the phone that looks cool, don’t matter if it has a 5″ or a 3.5″ screen, if it runs Android, Symbian, Blackberry OS or iOS, they will buy it anyway. Do you really think that “normal persons” (which means people that aren’t tech savvy) will customize their Android phones? Of course not, they won’t install a new launcher, they will only change the wallpaper and add some widgets to the home screen and that’s all!

Apple is doing it right by restricting the users to the same screen size/ratio and keeping the design of their hardware and software almost the same since the first generations of their devices (this includes iPods, iPhones and Macs) is the best way to go. A great example of this on Android is the Nexus lineup, the “pure Google experience”. Those devices get the updates first and have the interface that Google originally made (which means no skins on top of it, just pure vanilla), just because they “locked” the user options into one line of (geeky) products that they can easily manage, which leads to the biggest problem that Android has today: Fragmentation.

All these “choices” are leading to awful experience on the software side and on the developer side. An example of the user experience side is that Dead Space works on the Verizon Galaxy Nexus, but it won’t on the GSM version, don’t forget that we are talking about a Nexus phone, which should be the less-fragmented experience possible. On the developer side it’s very very awful because you must design your app to work on all the different screen sizes/ratios, hardware and also skins that companies love to put on their devices.

If you’re a gadget freak, like me, that buys a lot of devices, you might have already felt the same as I’ve described on this article. We don’t need more choices, we need more standards.

This is an old article from my old blog that I moved to here

My Dream Reading Device

My dream device

Today I was reading some of the 109 articles saved on my Pocket account and I thought about something that I would love: A tablet running a fully customized (for stability and lightness) version of Android sporting a awesome e-ink display. As soon as possible I posted it on Google+, since I really wanted to philosophize more on this idea I’ve wrote this article.

Why e-ink?

First of all, if you’re going to read for long periods of time the LCD screen is just going to burn your eyes, that’s why e-ink is the best alternative. Second, if you ever owned a Kindle (I own the DX, and the new non touch screen version), or any other e-ink device, you know that the experience is incredibly great. I know the refresh rate is a con, but seriously there are a lot more pros and also this technology is still evolving.

What about a touch screen?

Maybe, but I would buy the non-touch screen version because on a reading device I prefer to navigate and switch pages using physical buttons, also be able to holding it anyway I want without worrying about touching the screen by accident.

Why not just root a Nook Simple Touch?

Yeah, the Nook Simple Touch can be rooted and turn into a “fully functional” e-ink Android tablet, the problem is fairly simple: The lack of Android e-ink optimized apps. That’s why if a startup start this trend and it gets some attraction of reading addicts I’m sure developers of big reading apps for Android will optimize their applications for this new category. Also the interface isn’t actually optimized, it’s just a lighter version of ADW Launcher with some tweaks, nothing drastically changed from stock Android, and for this kind of screen a UI with more contrast and less mid-tones is a must.

What’s your proposed interface for this device?

This is my sketch of the perfect UI for it, made with Paper (sorry for my terrible drawing skills):

UI Sketch

The interface is pretty clean and extremely usable (also it looks a bit with the Kindle interface). The status bar will only show the name of the user and a clock. Below the status bar is the app drawer, I thought about it as just a simple collection of the application names (scrollable if you have more applications than it can fit on the screen). The last piece is the actual running application itself.

There is market for such product?

That’s a difficult question to answer, but as far as everyone can see the eReader/eBook market is growing exponentially and I think a lot of customers would give it a try if it was presented to them.

What you might end up doing?

As I wait until this dream reading device becomes true I’ll buy a Nook Simple Touch, root it, customize the OS to make everything with high contrast, and start developing that launcher from scratch.

What are your thoughts about this dream device? Any suggestions about it? Leave a comment.

Apps I Can’t Live a Day Without (Android Edition)

This is the first article of a series I’ll be doing. Here I’m going to list the apps I can’t live a day without, in the various platforms I use on a daily basis.

I decided to start with iOS, which is the one I like most in the phone category, that’s why I always carry my iPhone with me: Apps. But then I choose to start with Android because in my opnion it’s a more productivity OS, also I’m  writing this article on my Eee Pad Slider using Google Docs.

Let me begin by listing the Android devices I own and use every day:

  • ASUS Eee Pad Slider
  • Samsung Galaxy Tab (the original 7” version)
  • Samsung Galaxy S

I also have a Motorola Milestone (aka OG Droid) which I only use to test the apps I develop for Android. So I think it doesn’t count as one of my daily drivers. Now let’s begin with the app list:

Google Music
The best way to listen to my library whenever I go. It syncs my iTunes library with all my devices using the awesome Google cloud and albums that I like most and want to enjoy don’t matter if I have a internet connection, with a single tap and they get downloaded to my device so can be played offline. With a stuning UI and great features it’s by far the best music player for Android in my opinion. If you don’t want the cloud features you can check out DoubleTwist which a great alternative for people that just want their music on the device.

Gaug.es
In my opinion the best analytics service available. It’s simpler than Google Analytics and everything happens in real-time. The app shows all the information you can have on the desktop version and also lets you have the awesome AirTraffic Live feature that shows you in real-time, on a map, the detailed traffic on your site. Since I love to check out every second how my sites are performing I can’t live without it for a day.

Wunderlist
This is just the best task manager app ever invented. With a set of apps for every platform you can imagine from desktops to mobile devices. I use it to manage all the tasks I have to finish regarding my projects and keep them all synced across my devices. Definetly a must-have app for people that must be productive.

Google Docs
The most important app on my Eee Pad Slider. Everyone knows this app, if doesn’t know at least the service you should know. I use it on a daily basis to write my articles and long texts for work or school. I stoped using any office suite, this includes iWork and Microsoft Office, after switching to Docs last year. Don’t matter where I go I can view and edit any document I want.

Read it Later
I choose it instead of Instapaper because of the official support for Android and iOS. I love this app because I can keep all the articles I want to read offline and synced. Really a must-have for people that like to read a lot of articles on a day.


That’s it, if you have any other app you think is awesome please share on the comments.

I Don’t Want an iPad Running Android

The tablet market went crazy since the launch of the original iPad. A lot of tablets running Android came to the market between 2010 and this year, I bought the original iPad, the original Galaxy Tab and recently I got a ASUS Eee Pad Slider. That’s the main reason I’m writing this. All the 10” tablets that went on the market, running Android, since the original iPad were just mere copies of Apple’s concept, just a big version of the phone, but running a tablet-optimized OS.

The beauty of Android is that it started as a mobile OS project that OEMs and developers could change, improve and was possible to run on any kind of hardware. Android tablets are just like iPads, but without tablet-optimized apps, and most of them aren’t running Ice Cream Sandwich, which is a lot more stable and better than Honeycomb. So what can make a Android tablet differ from an iPad? The answer is hardware.

The only reason why I bought the Eee Pad Slider was the keyboard so I won’t have to carry a tablet and a keyboard dock with it, otherwise I would just buy the keyboard dock for my iPad. So OEMs should rethink about their tablets and start to differentiate on the hardware, that’s the only way to attract people to buy Android tablets instead of iPads.


This article was written on the Eee Pad Slider.

Tim Cook’s gripes about UI/UX of Android tablets

android-gripes:

Apple CEO, Tim Cook, griped about Android tablets in his keynote introducing the new iPad

He gave two examples, Twitter and Yelp, and compared them side by side. There are not just these two. Simply speaking, many apps on Android tablets is just a stretched out version of its Android phone version, which already looks worse than its iOS counterpart.

Twitter on iOS

Twitter on Android tablets

Yelp on iOS

Yelp on Android

Sad truth

(Reblogged from android-gripes)

The First Impression is The Only One That Matters

So this week while I was travelling to New York I bought a BlackBerry PlayBook because of the importance they were giving to developers. The problem is that the first thing I noticed was that the device had a lot of stability problems. Apps were constantly crashing and even the 2.0 version OS had lots of bugs and was very slow some times (for no reason).

All that wasn’t disturbing me a lot. What pissed me off a lot was the boot problems. I had to restore to factory defaults 3 times in 2 days because of OS corruption. Some times, even with the battery fully charged, I tried to turn it on and it was displaying the battery drained alert.

After 3 days with it the OS doesn’t wanted to start anymore, it was stuck on the boot screen forever. I tried rebooting, letting it a time off to calm down and restore to factory defaults (the desktop software wasn’t recognizing it so it was impossible to do something). Nothing worked.

In the 4th day with it I took it back to the store and exchanged it for a ASUS Eee Pad Slider. The PlayBook was my first BlackBerry device, and the last. The first impression is all that matters. They had their time with me and they ruined my opinion. I was really hoping that they could be back as a great tech company, but now I know why they are on this bad situation.

This article was written on the Eee Pad Slider inside an airplane.

It’s Time For Google To Take Advantage Of Motorola Mobility

So yesterday the US Justice Department approved the Google acquisition of Motorola Mobility and in my opinion Google must take advantage of Moto. I’m not talking only about patents, but about the situation where Motorola is at right now.

The only company that is truly succeeding with Android handset sales is Samsung. Motorola is putting the worst skin, ever created, on their phones and making lots of mistakes with their consumers, the best example is the Droid RAZR Maxx released one month after the Droid RAZR, and the development community, by building a phone for developers that is exactly the same as the RAZR but with an unlocked bootloader.

Google should start to use Motorola to make phones without any skins and just like the Nexus line. Pure stock Android, unlocked bootloader and all the awesome stuff the community wants. This might attract users too since they can advertise them as Google certified phones, just like they do with the Nexus line.