Friday, August 31, 2012

The most annoying flaw of the Galaxy nexus

Don't get me wrong. I love my Nexus phone. Android jellybean is great, performance is great, Google voice and Google now rule, however there's one annoying flaw.
One of the reasons I got this phone was its form factor. The 'no buttons' concept and smooth, curved design really appealed to me. But being a long fingered man, I tend to hit the 'home' button a lot when typing on he space bar.
This is quite annoying, as you need to reactivate the app. This even happened twice when typing this post...
Well, no one's perfect.

Sunday, August 19, 2012

In vacation... Notes about devices.

Having the need to be connected even during vacation, I took an iPad (3rd gen) alongside my new galaxy nexus phone.
After using those two devices for a while, here are some insights:

  • Android has caught up with iOS. Jelly bean, google voice, google now and other touches (app swapping, the software buttons, a great, huge screen) make my wife's iPhone 4s seem old. 
  • Even the form factor of the nexus (and the new s3 as well), the curved shapes, the soft buttons - make apple's device look old. Apple better come up with a killer iPhone 5, otherwise they're in trouble.
  • Considering the fact that the next nexus device is also around the corner (rumored November), things seem interesting in the mobile market. 
  • I've finally understood the difference between the iPad 2 and the new iPad. I knew that the new screen is great, but only after moving from 2 to new, and working on the new for a while, you get to understand the meaning of a large retina screen. Everything looks analog. You can't see pixels. Amazing. 
  • I've played with the new galaxy note tablet, and though it's amazing fast, it's still no iPad. But android devices are catching up. Can't wait for a retina-like jellybean powered tablet. 
  • If the next MacBook air has retina, I'm in.
  • Still no word from iTunes store about my app - submitted 8 days ago. Waiting sucks. 

Wednesday, August 1, 2012

What to do with Google plus...

I stumbled onto a recent article in techcrunch, saying that Google+ is stopping new acquisitions into its product. Could it be the beginning of the end?
Google+ is actually a cool product. Looks great, has improved a lot over its 15 month life, but still doesn't seem to move people away from Facebook.
Maybe functionality and cool mobile UX is not enough? Though Facebook's UX sucks, both in website and especially mobile, what good is it if you can't find pictures of your girlfriend's friend wearing a thong in Thailand?
It's like Google has created the coolest theme park, but no one showed up, and those who came to the premiere out of curiosity, didn't come back. One of the main failures during the launch was the fact that I was unable to import all my Facebook connections in one click. That meant I had to start building my whole network from scratch - Why the hell would I wanna do that? (Or, even worse, build the network from my gmail, which had irrelevant connections, family and a lot of spam suggestions).
Another big reason might be because g+ is all dudes. That's actually a great article, saying that G+ was designed by, and for, Googlers, and Facebook was designed by, and for, college students (Looking to score...).

Now tell me, for real - Which network would you prefer?

Short update:
gmail just added hangouts to its chat dialog. Once again (Like in the good ol' buzz days), + is coming through the back door. Considering that gmail has ~400 million users, Google might already HAVE a social network. Sort of.

Friday, July 27, 2012

Mountain Lion, bits and updates


I am writing this post via Mountainlands dictation feature apparently this feature works quite well

(Mountainlands = Mountain Lion)

"I'm trying to use punctuation, feature in the month of life"

(Month of life = Mountain Lion)

Apparently, the only thing dictation doesn't understand in my accent is the name of the OS :)

App development is progressing well. Debugging and testing in my iPhone is really simple, as long as you've got the right XCode version/ iOS etc.
Registration of devices and the whole certification process takes a little effort, but also works seamlessly.
The next step would be recording some narrations, and then (Try) and publish the app.
I've opened up a page for the app on facebook - Come say hi.

Saturday, July 21, 2012

Testing the water with a new iOS app.

A couple of weeks ago, I was looking for a fun educational app for my kids.
I've found out that all related apps aren't free, and most are crap. Real crap.
Deciding that something which I can easily implement should not cost, I've started to fiddle with it, and built a simple web prototype in a couple of hours.
When it was nearly ready, I loaded the page on my phone, and gave it to my girl to fiddle with.
Looks like she liked it, I tested it with a couple of my friend's children, and decided to make it an app.

As it's a very simple idea, I've decided to keep it simple, with an entry screen for parents to brag in Facebook that their kids are playing with my app, and also decided to use phonegap (Just so that I'd be able to easily create an Android version, if I wanted to).
Phonegap installation and integration with xcode is very simple, and it also has a cute Facebook native extension, using either the native app, or the web interface for approving posts. (Though for iOS6 it won't be necessary, as Apple would have its Facebook integrated inside its SDK)

The next step was enrolling to Apple's iOS dev program.
Due to the fact that I live in Israel, and not registering myself as an american company, I have to fax (!!!) a purchase form to Apple, along with credit card info. I know, this seems ridiculous.

A lame start, but I'm determined to have my first app published!

I will post more soon, after I begin the app approval process with Apple.

Wednesday, July 11, 2012

Reading time #3

Once again, some nice reference stuff to read and enjoy.

First, a must read for every dev manager/ architect: I bet you over-engineered your startup - Try and read the comments as well - There's one I really like about backbone.js.

Here's something nice: An app for bullying reports. I think municipalities and local police departments should implement such apps, to see 'hot spots' of violence, and also make reporting a lot easier. A mobile phone does so many things, it's about time that it would help the community keep themselves safe.

My friend Moshe Kaplan from dSero with a nice article about SEO in Amazon AWS news.

Some new frameworks and tips:
- KineticJS makes 2d drawing easy, and is also pretty fast.
- A wonderful tutorial for creating clouds with css3. Opens your mind for lots and lots more ideas (Try use faces instead of clouds...)

Another useful UX related article: Overhauling a UI without upsetting the users (Thanks Itai:)).

And finally, a thought: The big tech companies have learned from the pharma industry: Since anyone can develop everything right now, and manufacturing is easy, intellectual property is the only way to make sure you have control over the market.
And unlike the pharma industry, you don't need to be a scientist, and spend years of FDA approval to get your product out there. Microsoft are buying patents from AOL, Apple is suing everyone, Samsung counter sues, and seems like the big techs' legal budget is going to be bigger than their R&D.

This is going to kill the small and medium businesses in the industry, unless legislation will somehow be able to protect them. Otherwise, we might as well give up our jobs, or relocate to China, where copyright rules are... More flexible :))

Saturday, June 30, 2012

Don't fall in love with frameworks

The javascript world is on fire!
You've got tens of frameworks, all made to enable making javascript and web development easy.
angular, backbone, less, _, GWT, wicket, the old and established extjs, prototype, yui, and jquery (To name a few) have become common names among developers.

Some frameworks are meant to make your life easier with dom traversing and manipulation and encapsulate javascript features (jQuery, prototype), some add UI functionality (extjs, yui), while others offer full application frameworks.

However, these frameworks come with a price.

Once you bind your application to a framework, it's very hard to get rid of it. It's very hard to change parts of your application, once your web application is fitted with the paradigm of a framework.
Binding UI to model is another problem - Some of these frameworks bind data to UI components.

While this makes your initial development easy, once your application surpasses some volume and features, programmers tend to break this model (Something which is quite easy with javascript).

Binding is also very hard to debug - Sometimes you'll get an impossible to understand and follow call stack, especially with frameworks which bind model to UI components via events.

Another reason is performance: If all you want is a 3 page application which loads json objects, parses them and presents them on screen, using a full fledged MVP framework is a little bit of an overhead.

... And now, for the worst part.
You've written a nice widget/ control/ viewer/ whatever.
Now someone wants that object in his legacy system.
It's very hard to integrate binded code.
You tell him you can't.
He asks you why did you use the framework, if your code isn't recyclable.
You say 'it is, but you need to rewrite your whole client'.
CTO approaches you with angry eyes.

The rest - You know.

So next time you consider using a flashy, 'easy' to use framework, please ask yourself these questions:
- Will you need to reuse this code somewhere else?
- How much overhead will the framework add? Is it really necessary?
- How intrusive is that framework, in case you want to replace it?
- How much time would it take your team to develop the features you need from the framework? Don't add a full fledged framework for the sake of a neat button!
- How cryptic is the code? (Angular.js is a good example - Great framework, but you need to go all the way with it in order for you to enjoy its advantages.)
- How easy is it to debug? I know some of them are really, really hard.
And, finally:
In 6 months from now, will it bring value to your system, or will you need a month of knowledge transfer just to get someone new to write features into your app.

Be responsible - Use new technology that brings value, not heartbreak...