JAJAH Development Blog

Blogs by JAJAH Developers

Archive for the ‘My Views’ Category

Saturday, May 17th, 2008

On January 2008 I wrote a blog entry about Google’s Android and Social Network API’s under the title ‘Developer is King’ . Recently a friend directed me to Google’s new initiative : . Google is actually not the first to provide and host a network based solution for developers, a well known solution is . But while Amazon provides Web Services for storage, payment and others, Google actually took this a step forward - Google is taking this way beyond Web Services and provide a full blown Application Engine running on top Google’s monstrous infrastructure.

I think this is quite ingenious on Google’s part, they provide a fully hosted application environment, allowing developers to enjoy Google’s infrastructure for storage, load balancing and scale, authentication and various other API’s. Google’s MapReduce and GFS probably serve as an infrastructure together with their monitoring, and hosting technologies.

Each application is running in it’s own secured Sandbox allowing distribution between multiple servers and distributed web requests. Currently only Python programming language is supported, but assuming this takes off more are likely to be supported.

This move on Google’s part should attract application developers to use Google technologies as well as create an eco-system around Google web technologies. This is a bold move that will probably take a while to mature but if you’re a web application developer this is certainly something to look at.

Thinking back, it was Larry Ellison, the legendary CEO of Oracle, who coined the term Network Computer (NC)  in the mid 90’s, while the initiative itself did not really take off it created a lot of buzz that later lead into ‘thin clients’. If Google will play this right, thin applications will emerge : applications that take into consideration their distributed and scalable nature, without worrying about the complicated setup, storage and hosting environments.

While it’s hard for me to know how strategic it is for Google internally, and how they intend to push this, if at all, I think this could make a difference in the constantly evolving  computation world. I can only bow to what Google as a software giant is trying to push. If I were Microsoft I would do some serious thinking, mostly since .NET - Microsoft’s leading environment is severally lacking an application engine, but I will leave that for a later post…

Amichay

Sunday, March 23rd, 2008

Kylie Minogue song (not that I’m such a great fan), third paragraph writes:

"you know it’s all in your head

You better put that business to bed

By your fair hands of design you met with

The monster in your mind"

when it comes to iPhone - this is so true! not that I think that Kylie is such a techno-prophet …

Apple did it again, and it’s all for the sake of the short sighed stock price and the word on the (Wall) Street. Though the writing is already on the Wall - trying to squeeze much of a platform for the sake of the product revenues is not a long-term-winning-strategy. Apple had a taste of that during the Mac-PC wars, and they lost even though their ‘fair hands of the design’ where all over the place. Google has already figured it out by targeting the echo-system, Apple however is taking a different approach. iPhone Bluetooth is blocked beyond using the headset, iPhone is locked to certain US carriers, iPhone SDK is limited.

Basically Apple is trying not to cannibalize their short term earnings from the iPhone and try to squeeze as much as possible from the product / buzz, but this is a short sighted vision. I would have liked Apple to take the lead not by having copycats grab concepts and idea from their iPhone product, but provide a winning open platform with rich API’s to really change the mobile world.

There are over billion mobile devices around the globe - aside the fashion statement iPhone’s target of 10M devices is negligible.

Apple please don’t do it again!

Amichay

 

Thursday, January 31st, 2008

I write this blog entry some 10688m above a place called Yakaterinburg , flying back from Tokyo. This is my third visit to Japan in the past few months, working with our Japanese partners. A lot has been said and written about technology in Asia, and particularly in Japan. "Everyone" knows that Japanese like gadgets, but in my short visits I’ve gained some more insights into Mobile technology in Japan that makes me admire the Japanese way of thinking. A quick comment before I start, one thing which fascinated me in Japan, and I’m quite aware that this could be just my personal conditioned experiences, is that influences of tradition are more "felt" in Japan than other places I visited. While Japan is clearly far off from the Samurai days, I could still sense some of the culture and history in contemporarily Japan. Unlike places where the cultural roots seems to have faded. 

Back to technology, here are some things I picked up:

Mobile Devices are bulkier than the small, round edges devices I’m used to (I am a big fan of Nokia) : Devices in Japan tend to be big, mostly because of screen size (see below). That took me by surprise, I always thought that Japanese customers prefer small devices.

  • Mobile TV - Japanese devices have the capability to receive TV broadcasts. To do that, relevant devices are equipped with a special antenna. People actually site down in trains and watch TV broadcasts.  Quality is very good. Apparently Location Based Services are also underway meaning that users receive certain local broadcasts when located in certain areas such as a community TV and others (there are some other interesting applications, but let’s leave it at that).
  • There’s an interesting feature to Mobile TV - and that’s connectivity to web based information. When I was in CES earlier this year, I saw all these science fiction home TVs where one day you might be able to browse the web while watching TV (side note: why do all these demo use cases always converge to watching "Sex and the City?"). While it may still be science fiction on home usage in the US, it’s a reality in Mobile TV in Japan. That’s really cool, you can see special links under the Mobile TV screen or relevant web based tickers.
  • I’m not sure why people would want to watch TV on their mobiles, on the other hand  I hardly watch TV at all (just too many things to do in real life), so I’m probably not the target customer. But fact is that this technology is commercially available in Japan makes them in my mind way more advanced than Western mobile users. I also think that Mobile Advertisement will likely to pick this up. Current Ad solutions I saw are not targeted, there’s an interesting market opportunity there in my mind.
  • Mobile Data connections in Japan are far more advanced than we be found in Europe and certainly the US. HSDPA of 7.2Mb is nearly five times faster than in my home country (it’s also different frequency), not to mention hardly any packet drops (and I checked…). I also found it interesting that WiFi networks are not as common as they are in the West, seems as if people rely much more on mobile data networks than wireless devices. This really caught me by surprise.
  • SMS / Text Messaging is uncommon in Japan, I saw large portion of the people in the Tokyo underground fiddle around with the mobile devices either playing, or writing messages, at first I was sure they are SMSing, but they are not - they are sending and receiving emails. While push-email in the West is mostly used by business people, in Japan everybody send and receive emails to their mobile phones. Always wired society.
  • While Japan is governed by huge corporations, I found the underlying VoIP infrastructure already deployed by Telcos quite advanced as well as VoIP capabilities I did not see anywhere else. Since dealing with large, heavy corporations I expected them to be some what laid-back when it comes to VoIP, I was wrong. But for obvious business confidentiality issues I can’t elaborate.

If you do get a chance - try visiting Japan. It’s not all about technology, the people are very welcoming, food is great, culture is interesting, service is superb and there are some great hiking places in the mountains (wish I could do more of that).

Till next time

Amichay

Friday, January 11th, 2008

I’m a big fan of Martin Fowler and his work. Recently I came by an interesting panel from InfoQ ‘07 about Modifiability in Agile development () . While I concur with many of the things said, one thing I would have expect to have in that panel, and did not hear - is focus on writing software which is easy to maintain and support.

 

A lot has been said about Test-Driven development and how important it is to understand the problem domain and start by writing the top-down test plans and embed it into the software development process. That is quite right, but the problem domain does not only covers the end-user, it also covers the people who need to maintain and support the software. Let there be "Operations Driven Development" an augmentation to "Test Driven Development".

 

Some background: JAJAH Operations team works 24 by 7 (some actually say it’s 26 by 8, but that’s a different story) with the sole purpose of delivering the best possible VOIP quality. This covers web servers, application servers as well as telephony and networking equipment. That’s kind of complicated, marrying all these technologies together and than make sure they all play nicely together. That’s where JAJAH NOC (Network Operations Center) comes into play, tracking every part of the system, around the clock, constantly. These hard working guys don’t care much about Modifiability, they care about Maintainability.

 

Hence, the consumer who picks up the bill is only one part of the equation when it comes to software development of mission critical system (and others as well). As software developers, we should not only think on how to make sure our software is tested according to the product understanding, but also how do we as developers bring out software that other can keep on running.

Developers should be well conscience about software monitoring, alerts, logging and error reporting. Providing good monitoring, error reporting and exception handling so other people can perform root cause analysis and react is not a science - it’s an Art. It’s also a sign of a mature developer.

 

I’ve been looking into error reporting Design Patterns and found surprisingly too few of those. I wonder why.

 

Amichay

Monday, December 31st, 2007

For me it all started back in 1998. I helped co-found a company called CyBook Inc, with three good friends; one of them is my wife, who since than decided to follow other venues, another currently works as JAJAH VP R&D and the last one runs his own freelance business now. We teamed up with an energetic fellow from the ‘Silicon Valley’ and together started to follow our dream: create a device that will replace printed books. While the topic of electronic books is interesting (and I will probably return to this in future blog entries) I wanted to focus on one of the three slogans I learned during the short livelihood of CyBook: "Brave New World" (BNW), "Not Invented Here" (NIH) Syndrome and "Customer Is King".

When I proceeded to my next venture, the concept of "Customer Is King" crystallized and formed our way of thinking, especially since we were in the Internet consumer business. Few years passed during which I closely witnessed the struggle of the titans: Microsoft, Oracle and SAP, and understood what makes Microsoft different than the rest of the pack: Developers, Millions of them, anywhere around the globe: so many people sitting around, hammering their keyboards, writing software on, with or for Microsoft environments. It is the developers who wheel the industry; not only the customers who consume the services and products we make.

When Google released “Android” a few weeks ago, I was puzzled and started to look deeper into both the platform and their motives. It was than that I realized that the industry focus has changed: we are no longer the knights who say "Customer Is King", we are now the nights who say "Developer Is King".

The era of API’s is here.

The new battle ground of the giants is now Mobile platforms and Google realized that the only way to sway around Microsoft strength is to attack their core: the developers’ community. "Go back to the source" sat the Architect(s) at Google while to releasing more API’s and trying to convert Microsoft developers into Google developers. It is not a coincidence in my mind the Google released two different development platforms nearly simultaneously: "Open Social" for the social network applications and "Android", a new Linux based platform for Mobile development.

It is without doubt that many companies are putting a lot of effort into releasing more and more API’s and putting more and more emphasis on the developers’ community - Developer is King.

Jajah is the VoIP player that brought you web-activated telephony.