Showing posts tagged developer

Apple, What Are You Doing?

This is my thoughts about the new iPhone that Apple just introduced today. I’m writing this as I watch the keynote. (it was written yesterday at night so I decided to publish it today. I haven’t reviewed or modified it.)

iPhone 5

The name

Seriously Apple? I really loved that you called the iPad 3 the new iPad, which is a lot better for you and for the people since now most of what you’re going to do is just do some iterations like you did from the iPhone 4 to the iPhone 4S. Calling it the iPhone 5 makes no sense.

The bigger screen

That looked like a nice addition in the beginning, but it will become a hell. A lot of apps are going to have those crappy bars, could you guys do what Android does and just re-align the pixels? Most of the apps really have no reason to “take advantage” of that bigger screen. Also that aspect ratio is just the worst one ever. It will also start a little more fragmentation to the platform.

That back

Seriously that back looks like a generic chinese phone back. It is just so ugly. I would prefer if it was made all of the same color/material which would make a lot more sense.


Stock Apps

Shared Photo Stream

Haha, I had to laugh when I saw this. That’s really the worst thing ever. They forgot that today our friends have different devices, usually they are half iOS users and half Android users, also Instagram does this a lot better and in a lot better and more social way.

Siri

Nice new additions to Siri (I’m talking about the sports stuff). I hope that’s international because if that’s only for the USA you just made a stupid decision.

iTunes

The new additions to iTunes were really awesome. The new Mac app UI is really great. I loved the clean interface.


iPod

The nano

The new iPod nano is really awesome and a lot better than the current generation. If I didn’t used my phone as my music player I would buy it for sure. By the way I still can’t understand why someone would use the iPod nano to watch a movie or look at photos.

The touch

The back really looks like crap. It’s really thin and light, but the only market for that is kind of device is for children that their parents doesn’t want to give them a smartphone. Also I had a “WTF?!” moment when they showed that wrist wrap they are calling iPod touch Loop.


Conclusion

Sadly Apple haven’t got me back. I’ll continue to develop for BlackBerry, I think they are doing a better work to innovate with BlackBerry 10.

RIM is Doing it Right

Finally someone got it right! RIM is the first company that understood that there is no way you can be successful without having 4 things (and implemented all of those):

  • A good, stable and professional OS that fills the needs from teenagers to business people.
  • Beautiful interface that is everywhere and is extremely easy for developers to use on their apps.
  • Developer support/excitement.
  • Carrier support.

Impressions from The BlackBerry 10 Jam

I just got back from the BlackBerry 10 Jam São Paulo and what I saw there was just awesome! I’ve been developing for BlackBerry since I got my Torch 9800 (just for fun) in March of this year and as soon as I started developing for it I saw that RIM was really committed to developers. They provide all the tools, SDKs, frameworks and support for you to create the most awesome apps.

They saw that if you don’t have a developer community that is excited about the future they just can’t continue with their business since after Apple introduced the App Store consumers got addicted to apps and if a platform doesn’t have the apps the need/want they just go to another one. Everyone at The Jam was extremely excited about BlackBerry 10 and how innovative it will be.

I talked to some people there, from business mans that were there only to see the next step from Rim, to developers from other platforms that were thinking about migrating to BlackBerry. The business people were really excited about the new UI/UX of BB10 and how great it will be for multitasking. The developers were really excited too about the UI/UX, but a lot more about how easy it was to develop gorgeous apps for it.

One interesting quote that I got there was from a awesome Android/iOS developer that said: “I submitted a FREE app to Google Play. It made a good success there, but in about a month there was a exact clone of my app being sold on Google Play and other app stores for Android.” He was there because he loved how RIM really cared about developers (which is not true for Apple and Google).

The Dev Alpha

Another thing that RIM did right.

I was one of the lucky developers that was able to get a Dev Alpha (What is the Dev Alpha?). The idea behind distributing prototypes for developers is just amazing. I’m the kind of developer that hates emulators and only develop using real hardware. That’s why the Dev Alpha was a must for me, so I could start developing for BB10.

This is really a awesome idea that we don’t see very often: OEMs distributing prototypes for developers so they can start building their apps to make sure that when the platform is really for commercial release there will be a great selection of apps available on day one.

Monetization

One of the most awesome talks from the BlackBerry 10 Jam, in my opinion, was about monetization of apps in the App World and how it’s proven (by those analytics and research companies) that BlackBerry developers make more money than the average Android/iOS developer.

I totally agree with this because everyone knows that the piracy rates on Android are absurd and the fact that for some strange reason the average Android user doesn’t like to spend money on apps (even if it’s just 99 cents). On the iOS side piracy is a bit of a concern too, but less than on Android.

When we compare to BlackBerry piracy isn’t a big concern since RIM is very well-known for having the best security on their products, also as they showed on the conference the average BlackBerry user loves to download apps and think it is ok to pay for apps that are good and fit their needs.

Conclusion

RIM is really making their path into the future and will definitely survive this phase and get the 3rd place on the mobile market, since I really can’t see Windows Phone going forward with all these bad decisions from Microsoft, how they can’t get outside developers into their platform, and how they are having problems with OEMs to get onboard. (poor Nokia, no updates for you…)

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.

OAuth Broke The Internet

If you don’t know what OAuth is, it’s a auth process for cross-domain login, like Twitter or Facebook when you want to login/register on client apps, like HootSuite, Carbon or Tweetbot, or when you’re just logging into a 3rd-party site like Empire Avenue or Geeklist.

It’s a very secure system, the problem is that you break the user experience in the worst way possible. You take the user out of the web site or app just to login, the developer has to create a very bad system by embedding a WebView to the app or redirecting to the browser just to log the user in.

xAuth is good, but not perfect, at least you don’t need to take the user out of the app, the problem is that Twitter, for example, the developer must request the xAuth keys and wait if it gets approved, also it has limitations like no access to Direct Messages.

Users and developers should make some pressure on Twitter, Facebook, Google etc. to open the xAuth access without limitations or ask for a new and better authentication system.

To bootstrap or not to bootstrap

jenius:

Since the day Twitter Bootstrap came out, it has been immensely popular. And recently, there have been more and more posts that either go on and on about how great it is, or how over-used it is. Here are two I saw on the front page of hacker news today:

This is just a very small subset of the massive number of popular articles I’ve seen about bootstrap, and they all seem to come from one of two angles: 1) I am not a professional designer, and bootstrap is a lifesaver for me, and 2) I am a professional designer, and it makes me ill that it’s being used so often rather than a real custom designs.

Read More

(Reblogged from jenius)

Emacs Rainbow Mode

These things make me love to develop with Emacs… (I moved from TextMate to Emacs about a month ago)

heyemacs:


Rainbow Mode is a minor mode by Julien Danjou that displays strings representing colors (hexadecimal numbers, keywords like “red”, rgb values) with the colors they represent as their background.

A very useful and fun mode for those who spend a lot of time with CSS.

Get it here.

(Reblogged from )

RIM is The Only One Thinking About The Developer

Yesterday I made a decision based on how much the company cares about their developers. I bought a BlackBerry PlayBook because RIM (maybe because they are desperate for users/developers) is the only company that cares about there developers choice.

They are the only company that is really looking for and taking time to improve HTML5 app development,. Native support for Adobe AIR, so Flash games and Flex apps can be easily ported to their platform. And as usual Java and C/C++ support for existing BlackBerry developers and new developers looking forward to build fully native apps and awesome games.

Companies like Apple and Google are not thinking about letting their developers have choice, only the user can have it (usually on the Android side it’s causing fragmentation and on the iOS side is just selling older hardware for more affordable prices).

That’s why I bought a PlayBook and that’s why my choice for the next devices is going to be based on how the company cares about my hobby of developing apps for them.