JAJAH Development Blog

Blogs by JAJAH Developers

Archive for the ‘Opinions’ Category

Can OpenID be a honey trap in the hands of the wrong providers?

Thursday, May 28th, 2009
Last week Facebook announced it has become an OpenID relying party: any user with OpenID URI can seamlessly login and register to Facebook. After users link their Facebook account to GMail account, they will be automatically logged-in to Facebook after having previously logged-in to GMail. openid-largeThis move is very good for the user. By using OpenID URIs, the user needs only one set of username/password with which he sign-in to his OpenID service provider. From that point on, the user doesn’t need to remember other set of credentials. Yoohoo! Freedom from long lists of passwords at last! Single sign on (SSO) poses great advantages to users and web sites. Registration and login processes become much easier to both sides. Users will be more inclined to register to a site without having to manually type their details, wait for the confirmation mail, press on conformation links and so on. Emerging web sites will benefit from easing registration to new users. However, one has to wonder why Facebook, which already managed to have hundreds of million of registered users without OpenID, would spend resources on this standard. One might say that being open to the web, playing nice and live in harmony with the rest of the big boys is good enough reason. I certainly support this attitude. Sharing, collaboration and overall openness is definitely the direction the web should aspire too. Still, in the wrong hands, utilizing OpenID can have negative consequences. Maybe I’m paranoid. Maybe I’m missing something but for me, the easiness of registration can also be honey trap. When a user links his Facebook account to a GMail account, Facebook ask for the user’s email, contacts, language and country. That information is not required for SSO. Facebook can use this information to learn more about the user, customize  its offerings, match GMail contacts with Facebook accounts and suggest user’s contacts to join  to Facebook. Honey-Pot-Print-C10069558This kind of information is the bread and butter of many web sites. Web sites uses it for promotions, advertisements, customization and much more. Potentially, this information worth a lot for the web sites asking it. I wouldn’t be surprised if major players will start charging for that information crossing over. Maybe we can call it “Information border tax ”. What do you think?

People are only interested in headlines

Saturday, February 7th, 2009
High broadband speeds means abundant  information. However, time remains constant. Hence, less time to consume all this  information. Consequently, we become headlines-junky seeking immediate information rush but no thorough exploration. Not good. I’m not the first to say that but, hey, at least I didn’t take too much of your time reading this post, absorbing and moving to the next topic.

Big Brother monitoring

Wednesday, December 24th, 2008
One of the group sessions that were held last week in MoMo TLV was focused about Network monitoring and “Big Brother”. The group itself talked for about 15 minutes before we switched to other groups, but it was enough to raise some intriguing points. The demand for monitoring is triggered by two distinctively opposite sides: government and facebook-like users. Following 9-11 and local crime events, governments began to tap more and more on their citizens. Although we see many groups opposing it, I think that the fear-factor will overcome and we’ll see more monitoring on a bigger scale. Obviously, that includes mobile calls, SMS, IM and VoIP. On the other hand, there are those who freely give away information about themselves: GPS data of current location is uploaded to the web. Blogs, pictures and twitters are common ways to share friends but also complete strangers about our personal lives. That got me thinking. Perhaps there’s a business opportunity for these open-life people? There are already companies with contextual-oriented ads platform that can be used in exchange for free or subsidize calls. This is, in fact, a nice way to say that your calls are monitored so you’ll get ads that relates to topics you talked about. Let’s say you talk about how nice Rome is. Don’t be surprise if you’ll see an ad offering you a deal for a trip to Italy. Indeed, the concept is not new. GMail is doing this for several years now. I’m not sure people are giving a second thought about the fact that Google is going over their mails. Still, GMail demonstrates that free services in exchange for some privacy-compromise is working. This approach can be expended even further from saving money to making money. Perhaps Big brother-like shows where listeners subscribe to channels where people talk to their friends and family over the phone. This can be a phone-equivalent to web cams.

The Flop of Mobile VoIP

Saturday, October 4th, 2008
Analysts say that Mobile VoIP Market will boom around 2012 hitting more than $65B annual revenues. Many interpret this as a sign for investments in Mobile VoIP applications and services, thinking that consumer VoIP market will grow from nearly zero in 2008 to over 500M users in 2012. Every other day I read breaking news about VoIP Application for a new mobile device or platform. I think they are all wrong. I don’t think that by 2012 Mobile VoIP market will even exist as a standalone market. VoIP stands for Voice Over Internet Protocol - now which consumer really cares about what protocol is carrying his or her voice to the destination device? What the average consumer wants is a cheap and simple way to make calls, the protocol used is really least of the consumer concerns. Phone bill is though, but what does that have to do with Mobile VoIP? Would Internet Protocol make your phone bill shrink? I hardly think so. Phone companies need to make money so they can keep giving us a high quality service, keep their backbone, customer support, sales and other departments running requires money, and lots of it. Phone companies need to pay their employees, and these guys don’t really care if their dim comes from per minutes or per kilobyte cost. It’s not to say that I don’t think we’re over charged for making calls - we are - since most phone companies are just too greedy - but it has nothing to do with Internet Protocol per se. So unless we switch back to direct trading economy phone companies will continue paying their employees and this money will come from us either directly (us paying phone bills), or indirectly (by someone subsidizing our calls for some sort of benefit). Mobile VoIP application providers may temporarily ‘enjoy’ lower operational costs and thus provide cheaper calling, but it’s neither convenient nor a steady service going beyond the techies community - it’s not a long term investment. The reason I think Mobile VoIP market will never lift of, is that I don’t think it has independent existence from the mobile telephony industry. There are various providers (including JAJAH) providing all sort of mobile VoIP applications to make calls over data connection but those are not consumer ready for many reasons which I won’t count here. Mobile VoIP application can be consumer ready only if they are merged into the mobile device, either coming from the handset maker, mobile service providers or both. Hence it will never be an independent market. Mobile VoIP is a very misleading term. What I do think will happen in the next few years is that Mobile Operators will gradually shift their core infrastructure to be NGN-like and this is because audio is only one of the media types that will be pass over the air - it does not make sense to keep one infrastructure for voice and another for data - merging makes more sense. While this may potentially lower operational costs for mobile operators, it will not necessarily lower how much consumers pay - this has more to do with the core greediness of the operators than the core network architecture. Best, Amichay

MVC, Design Patterns and Real-Life

Friday, June 20th, 2008
(This blog post was inspired from a discussion I had with Moti Gust earlier this week, Moti and I have been working jointly on various development projects since early 90’s) Model-View-Controller (MVC) is a corner stone Design Pattern that in recent years received more and more acceptance. MVC is a “solution” to various problems raised when presentation code, business logic code and data access code are mixed together. MVC separates a UI driven application into three components: View - the presentation code (which renders the contents of the model), Controller - translates between user actions (received through the View) and actions performed by the model and Model - representing the enterprise data / business rules that communicate with the data model. The following image (taken from here) summarizes the concepts in this design pattern: mvc-structure-generic There are some frameworks that endorse MVC as the proper way to build UI applications, such as MonoRail (part of the Castle Project)  and recently Microsoft has been looking into integrating MVC into the .NET Framework 3.5, lots of info on that around the web, one such link is this. MVC is a great concept, it provides away to separate between pure UI code, UI logic and application logic. The separation allows the UI developer to be de-coupled from the application logic, all he needs is a good, robust API and to separate between the graphical / rendering part of his presentation code (the View) and the link to the business logic (the Controller). It even allows another developer, who did not originally wrote the rendering part to tie between the model and the presentation. It gives a lot of flexibility. But Dragons be here - is that really the solution we’re looking for? Before going into the real-life example which flared this whole discussion, I think it’s worth a while to pause and think about Design Patterns. There are many ways to categorize and segment Design Patterns, I won’t get into all that, but if you look the MVC, Publish-Subscribe Design Pattern and Patterns like Singleton something very evident pops up : Singleton is implementation driven, it’s practicable (while some would argue that it’s overly used incorrectly [which I agree to, but we'll leave that for a later post, maybe]), its a technical way to write you code, it’s a tactical solution. While MVC (and others) are different, they are CONCEPTS, they are a way to think of information driven SYSTEM, it’s a strategical solution. But what MonoRail and Microsoft are doing is to endorse  MVC as a framework, rather than system’s architecture solution, and in my mind this falls short. If your development group is well disciplined and the design is good, you don’t really need a framework to uphold the rules - there are many other ways to address that. What is missing in my mind (and I’ll try to prove it with a real-time example) are system architecture solutions that address real-life application development & deployment cycles that address mid to large size projects with MVC. Instead we get some development frameworks suitable to a small group of developers working on smaller scale projects, at time it seems more of a university type of solution than issues we tackle in real life. So after all that, let’s get to the problem at hand. JAJAH is a medium to large size software project with a wide variety of  technologies, we’re also a global company with Marketing in the US and R&D, Operations and other departments in Israel. One of our hurdles is that content changes should be close to the Marketing team, while today every request has to flow to the R&D team and be part of the release cycle. This causes extra work (tidious, not-so-interesting work for our killer developers) on the R&D team, and does not provide quick enough response to the Marketing team. Hence we need some Content Management System where we can have a not-so-expensive HTML guy next to the marketing team making content changes. This is practically MVC. However, we need different release cycles, the View should be developed and deployed in a different way than the rest of the system. It’s not just separating everything to different projects, DLLs etc - it’s a whole different system. We need to QA the content, having it in a staging environment and have proper roll-out procedures. We also want to limit the changes that the HTML guy can make in the system, we don’t want to give the guy full control over all rendering aspects, just certain parts. We used to play around with Offermatica (recently acquired by Omniture), but while it’s a really cool tool, it’s mostly focused around A/B tests and is not suitable as a heavy duty content management system. MVC is cool, and it makes a lot of sense, but what we actually want is M-V-C, totally separating the components for that a framework is not enough. For that MonoRails is just not good enough since it keep everything together. What we need is some type of a Content Management System, coupled with a release cycle & deployment management, and same applies to the Model. The controller is a different story, at times we would like to couple it to the Model and times to the View release cycle. My point in all this is that Design Patterns should not be regarded as framework solutions pre-say, but rather as design concepts being applied to the high level system architecture and not necessarily at the development level. Amichay

IPhone II – The device that users really waited for

Monday, June 9th, 2008
Apple just releases the new IPhone. The first IPhone released in June 2007 and become a big success. The combination between a portal media player and a phone cause a lot of people to buy it.
The new IPhone has some new great features like: - 3G-capable. 2.8 times faster than EDGE. - GPS built-in - Thinner - Better battery life image
Today users are looking for one device that has it all: Music, Video, GPS and a phone. Users don’t want to carry several devices for these features and they want one device that delivers these features in good quality. The new IPhone give this answer and this is why there are so many people from all over the world waited for IPhone II. It’s seems like Apple hears what users really want and make sure it’s implemented for example: 3G, GPS, support in Microsoft Exchange (Will be available in Firmware 2.0) and ect. In my opinion the success of the IPhone II is assured and in the following year the IPhone market is going to increase dramatically.

Are we there yet? I don’t think so

Wednesday, May 28th, 2008
Technology is fast-pacing. It’s all around us. 3G networks are deployed world-wide (although at small percentage of overall networks) and the battle is already on for 4G between LTE and WiMax. The new annunciation of electrical cars is here as an answer for the fuel crisis. Digital photos and web-sharing has only recently (I’m talking years-scale) become common and now we witness amazing ways to combine the two and watch photos. Mobile and VoIP. Need I say more? These two technologies are always revolutionized. VoIP is becoming widespread  in more and more businesses, homes and various vertical markets. Mobile is constantly surprising us. iPhone, Modu, GPS-integrated phones. But still, we’re not there. Not from an innovation point of view.  It seems that in our vanity and ambition to become leaders in this technology race, we forget something. That something is stability and reliability. Technologies  are evolving but can the family next door use it? High availability of day-to-day infrastructures and commodities like water, Gas, PSTN lines, electricity and TV is perceived as self evident. We open the TV and "Lost" is on, we click a switch and let there be light.  Why can’t we have the same availability and reliability on more advanced technologies? Yesterday, was not a good day for me. I woke up late because the alarm in my cellular didn’t work. My other cellular, top of the line HTC TyTN 2 decided to quit charging for some reason. I picked up my laptop bag and found out it’s hot. why? my laptop  didn’t go to sleep mode when I shut it down so it continued to exhaust  the battery while in close bag. I quickly went down to my car, and… Yes, the battery is gone. And on top of things, the chess application on facebook was going through upgrade. High-level technology is just not there. Take for example a recent report that demonstrated that only 3 of top 20 most popular web sites achieved the mythical 5 9’s of reliability. At the beginning of the year 4 undersea communication cables were cut crippling international communication in countries like India, Qatar and United Arab Emirates.  These examples are annoying but not harmful (unless you just have to update the entire world on what you ate for breakfast). A much more alarming example of why reliability is important came just at the beginning of this month were a Canadian toddler died after VoIP 911 dispatched an ambulance to  the family’s former home, more than 2500 miles away. I hope that top-level technology companies will quickly realize that amazing gadgets and cool features are nice, but reliability is more important. Until than, we can only backup our wedding pictures and go outside to real friends the next time that our favorite social network is done.

Google Application Engine, Oracle and Distribution

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 App Engine . Google is actually not the first to provide and host a network based solution for developers, a well known solution is Amazon S3. 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

What Microsoft is doing RIGHT and why open-source is LOOSING

Thursday, March 27th, 2008
It had been a while now that I’m reading about how Microsoft is going down and open-source is going to rule the world. Lately I’ve been giving this issue some thought and wanted to share my conclusions, so here goes:
  1. Scattered resources - Microsoft has many(many!) developers\QA\design… people working for them while open-source projects which has the advantage of being able to recruit "all" the developers in the world actually has much much less than that working for them. What happens is just another example of human nature, when people are not told what to do, they will do what ever they want. This means that we end up with many open-source projects working on the same things. The problem of open-source is not that the resources are limited but that they are unlimited and scattered.
  2. Advertising - There isn’t much to say here which is not self implied, but still, remember that the power of advertisement when it comes to the general public is HUGE.
  3. Where used to it - I know many people trying out Linux or other open-source platforms, but no matter what, what they are looking for is the similarity to Microsoft Windows. Microsoft has us by the *alls here and we can all say "well if we won’t change it, it won’t change" but the poor truth is that people don’t like to try new things and evolve.
  4. Awesome IDE - admit or not, Visual Studio is an amazing program. I don’t think there is another IDE that will compare, that means the developers use Microsoft which means they develop for Microsoft and that means you get the old "I can’t switch to Linux, there are no programs…" argument which is not true but again, people don’t change.
  5. Community - At least when it comes to the community we can say that the BIG open-source projects have a community to match or at least be at the same league of the Microsoft community(the world).
  6. Evolving - We are witnessing the past few years that even a company as big as Microsoft can evolve, maybe not as fast as open-source but we are seeing the Live! Office coming to life and other new projects.
  7. Force in numbers - If you think about it, they’re so big that if you piss them off they can just sit on you.
This reasons and many others bring me to the believe that even though people don’t like Vista and even though it is cool to hate Microsoft we are looking at one big company that is not going anywhere and is actually going to win. What do you think? Nadav

Apple try to conquer windows

Sunday, March 23rd, 2008
If you have Quick Time or iTunes installed on your Windows machine it’s likely that you’ll get a gift from Apple very soon. Apple pushes its Windows Safari browser 3.1 as an auto update, even if you don’t have it installed already. The option to get Safari is pre-selected so non-watchful users might get it even if they don’t even know what it is. This act from Apple reminds the behavior of companies like Microsoft, and this is why the Mozila CEO is against it, with some valid arguments IMHO. Personally I don’t mind getting Safari on my Windows system as I need it for testing, but, anyway it won’t be 100% similar to it’s MAC twin, so testing will need to be done on the MAC OS as well. I kinda agree with this move from Apple, you know the say: "when in Rome, do as the Romans do", same goes for the Internet. Just remember Apple, if you wanna be a Roman then give us a less restrictive SDK and be more open to third party in general, as the Roman do ;) Safari_Update_3_1
Jajah is the VoIP player that brought you web-activated telephony.