Thursday, September 29, 2011

URL Shorteners - Why should we care?

I have seen many (and also used some) sites offering the web service that provides short aliases for redirection of long URLs. They mostly use very short domain with a short top level domain of a country, like .ly of Libya and .in of India.

TinyURL, bit.ly, shorl, doiop, and lnk.in are some of them. These services provide us an easy way to share the links, when the space is limited. I have used tinyurl service to send urls to friends in SMS and in the profiles where space is limited.

t.co
"Twitter uses the t.co domain as part of a service to protect users from harmful activity, to provide value for the developer ecosystem, and as a quality signal for surfacing relevant, interesting Tweets." 

Here, t.co is a url shortener that is used by twitter by default, such that whenever we post a url, it is shortened by this service. This ensures that our tweets with urls fit into the 140 character limit. Since t.co is part of twitter and is not open for the public to shorten their links, no one can customize their shortened url's, unlike some other services like bit.ly. This might be a minus point, as it prevents the possibility of having descriptive urls such as http://t.co/mobileplatform, forcing everyone to use what is provided by default, like http://t.co/V99uVV3K. This also eliminates the misleading urls. For instance, http://t.co/mobileplatform needless to be a page on mobile platform at all. 

Funky one. Comes with ads, letting you earn a few bucks while using this service. But I personally do not like this one for professional uses. Who needs a few cents, than providing the users with the content immediately? Reader satisfaction is more important. Why waste their 10 seconds with advertisements? Mostly they won't click the link at all. Some of the advertisements often include broken links too, which I faced recently, also providing a never ending loop. So nothing earned either. Loss-loss deal. For personal or enterprise uses, I don't recommend displaying an advertisement before the content, unless advertisement is your major revenue, than the actual content provided.

bit.ly
Bit.ly provides the option to register an account and keep track of the url history for the user, providing options to track and monitor the clicks. It also lets us customize the url, instead of providing default random urls with meaningless text  like http://bit.ly/V99uVV3K.

I was just impressed by the way bit.ly redirects when a wrong url is entered.

Page Not Found
Uh oh, bit.ly couldn't find a link for the bit.ly URL you clicked.
Maybe one of the pufferfish ate it, or maybe there are some extra characters on the end of the URL.
Most bit.ly URLs are 4-6 characters, and only include letters and numbers. Manage your URLs
Try it yourself by clicking the link http://bit.ly/gmapfSG/

When I see something weird or meaningless text following a web url, I simply get to know that those will redirect me to somewhere else. There is a nice option in many of these services, where we are allowed to choose our own name to be appended, thus providing an option to choose meaningful names.

Till very recently I haven't seen the other side of these services, other than the links those redirect us to personal blogs. I had to think much on this when I received spams with messages such as "Really Interesting! Wanna have a look!!", with shorter urls, which direct us to shock sites. For these reasons, some social networking sites including facebook have banned the usage of some of these services.

Yes, I know we have the preview option before literally going to the site. But in reality, how many of us are ready to spend time on this?

Wednesday, September 21, 2011

Is that profile picture fake? Finding out is made easy with Google now.

Lately many fakes have started to misuse the photos of celebrities or some others to misrepresent them in the social networks. Given an image, it was almost impossible to find out the real person or the source of the image in the yesteryears. But thanks to Google, now we can search by the images and find the information regarding the image. You can learn more about "Search by Image" in its relevant project page, or try "Searching by Image" now.

However, not many people know the use of this cool new feature in isolating the fake pictures and the irrelevant use of them.

Let's take a scenario where I claim that the lady above is my friend, and has put that as a photo that I own. Now, if you want to find whether my claim is genuine, or the photo is simply stolen from the Internet, Google Search by Images comes quite handy.

1) Get the image url. In this case, https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg06f2VB2QLKDyPP0vLRKl4OKYhECmZ4FOAQCNqt2DZF8POsk0QuGCl9yuhuY3llscJmK_9e1ImdFFMugUgafYWCL1DNz5nhMH1PRureEowAAda_0vQuy6UgNSwhm7PelZbM_ROKnV1VtHO/s1600/len_std.jpg

2) Use "Google Images Search" and give the image url to search.

3) You might either get the exact document that has the image, or a message similar to the below.


For matching images, try search by image
Your search - http://1.bp.blogspot.com/-_r20HSQBes4/Tno9N5dKBRI/AAAAAAAAA0w/DN4WHHoMwD4 ... - did not match any documents.
Suggestions:
  • Make sure all words are spelled correctly.
  • Try different keywords.
  • Try more general keywords.
4) Click the search by image option above, if your search didn't match any exact document.

Image size:
256 × 256
Find other sizes of this image:
All sizes - Medium - Large

It correctly finds the source of the image! Clicking the image found by Google reveals more images of the same person. From a small research on those images and web pages shown, we can identify that the image is originally of Lenna's which appeared in the Digital Image Processing texts.

So no one can fool anyone anymore with others' photos, thanks to 'Search by Image'.

The above use of the image of Lena/Lenna is for educational purposes only, and no commercial or other motives behind this.

Saturday, September 17, 2011

How to make your first mail attractive.. ♡♥

[PG-13. If you are under 13 in age, this post may  be inappropriate for you.]
An ice breaking mail is not that easy to write. Yes, you can type it as usual. What I meant is, writing it to fit the purpose and ensuring that it fulfills the requirement needs that bit of extra care.

Why is that so hard?
1) So many fakes out there.
If I get a business email from an unknown person, I usually consider it more of a spam, or even as one of those "enlargement" mails that end up in my spam folder.

2) No clear idea about the knowledge of the reader.
You might assume something reasonable. But it rarely works. The mail shouldn't be too long either.

3) Cultural difference
In foss, we use "Hi {first-name}." But it might be inappropriate to call a professor who is in academia seriously by her name.

Similarly, most businesses try to call the users, "Dear {Salutation.Name}". But that might be considered too intimate in foss communities. [On the flip-side, we have even stopped calling "Dear {first-name}" to even personal mails to our friends. All go with "Hi {first-name}" these days.

Let's break it down.
1) Some research
Before sending the first mail, an initial research on the receiver is mandatory. Google might help to get to know about her background, if you know the receiver's full name or her organization. If the (receiver's) culture permits (for example, a foss-culture), "Hi {first-name}" is much more appropriate than a mere "Hi".

2) No bot in the first mail please
Make sure to send the mail from a real email address. Not from a noreply@mydomain.com. Let the first mail be from a human, than an automated mail from a bot. Give the mail the respect and care that it deserves.

3) Be in the equal rank
For example, if you are sending a mail to someone in an organization, make sure to send it by a person with an equal rank, if possible. Junior executives may send the mail to junior persons, but if the mail is going to a senior person, make sure to send it by a person with an equivalent or an equally senior rank.

4) Introduce yourself
This is your first mail. So give a background of yourself and your organization, and a brief summary for the reason to draw this first mail. If the lede is written impressive, the reader will continue reading. Otherwise he will just ignore or even delete and mark it 'spam'.

5) Give enough background information
Before jumping to the content or the theme of the mail, give a short summary of the background. Keep in mind that your relationship starts now. That means, the first mail should speak for the days up to now. Thus the first mail should include an appealing summary of the stuff that happened up to know which leads to this particular mail. 

This is actually common to public speeches and lectures too. Unless you specify a limit for an audience (unless the target-audience is specified clearly beforehand), they may come from different backgrounds. If you suddenly start talking in your technical jargons specific to your product, they will be lost, and also will think you are insane and stupid. [On a related note: It is also believed that someone who used to sleep at the lectures, will make a boring lecture himself.]

Make sure that the mail educates the reader, and not just markets you, your company, or product.
6) I want to learn more 
It is always almost impossible to include all the required information in the body of that single mail. If someone is induced by your mail, she would like to know more on that, before responding. Hence it is better to provide links

Links should lead the reader to the appropriate customized landing page. Make sure that the landing page is not the home page of your company or your personal web site. Rather it is a customized page, specific to this particular mail. Make sure to copywrite the landing page carefully, possibly with the help of a professional copywriter. Other optimizations such as SEO optimizations too can be considered. Landing page may contain links to more pages and third party websites for further research.

7) How to respond back 
It is silly to assume that the receiver should simply hit the 'reply' button to get back to you. You should better indicate the preferred communication media, which might include a reply email address, a phone number (office/mobile), or a fax number. An indication of the desire to continue the discussion would help too. Most readers just read, and they do not reply unless they are asked to. "Let me know, if I can get back to you" or "I would like to hear from you on this" might help. 

Second mail - If you didn't get a response
If the first mail didn't get a response, it is ok to reply or send a friendly reminder after a reasonable time, without resembling a typical spam. It is safe to assume that the first mail is left unread in this case, and include the reference to the first mail along with a summary of it. However make sure to leave a reasonable time. Most of the people do not read mail over the weekends. Better to mail on an ideal time, such as Thursday 11 am.

Second mail, once you got a positive response
Once the first mail received a positive reply, sending the second mail would be much more easier, as now you know the receiver better, and she knows you well too. Also the need to guess the background knowledge will be eliminated, as you can safely assume the background knowledge of the user to include the information given in the first mail. However this response from you may not be a mail again. It can be a phone call instead, if that is encouraged by the receiver. ;)

I personally don't like a third mail unless at least one of the two initial efforts was positively responded. It is silly to try thrice on anything after being ignored twice consecutively.

LATE

Getting late is inevitable in many times, though it sounds pessimistic to announce so. The impact can be a mere delay in attending an event or even failure to attend the event altogether. 

Digital - Analogue Analogy 
Digital-Late and Analog-Late
Some of the delays are often lead to an on-off scenario, which resembles a digital system. If you come late, you are fail (0). If you are on time, you are in (1). There is nothing in between. So one minute delay is as harmful as a delay of an hour or more in these cases. An ideal example would be being late to a flight. If you are late to a flight, you miss the flight. Let it be a minute or an hour. But some of the delays are analogue type. If you are delayed by a minute harm is less, where getting delayed by an hour will probably harm a lot. Attending a lecture can be a common example. Unless regulations restrict you enter the class late, getting late by a minute or two won't harm much, where a delay by an hour will make you lose the chance of grabbing the lecture for the day.

In Academia
Counter/Office closed - Digital-Late
Late submission in school assignments often results in a reduced score (often a 5% - 10% penalty per the day. Even a 5 mins delay is considered a day, and hence the penalty). During our undergraduate times, the online uploads are often come with a deadline at 11.55 p.m. In some of the cases, the upload button will be disabled at the exact time. That means, a second is delayed - no chance to upload, which often leads to a zero score. In school, coming late is often considered a half-day, which is marked as 0-1 (full day is marked as 1-1). So often, in the last minutes, we used to run to the classrooms to ensure that we enter the classrooms before the class teacher.

Mitigation
A proper timing usually help to mitigate the risks of getting late. Prioritizing based on the cost of getting late would help too. Seeking a less risky alternative may be a good alternative. For eg, missing a train might be too risky in Sri Lanka than missing a bus, as here long distance trains are not so frequent. In that case, if you feel that you won't make it on time for the train, better to pick the bus route instead.


Not too early though
However, the fear of getting late might induce proceeding on something too early, which may not be appropriate. Doing stuff too early is as bad as doing it late. Proceeding on something too early often would result in misunderstanding the requirements/expectations, environment, and the stake-holders involved. This often result in wastage of time, sub-optimal results, embarrassment, and even failure.
In case of a digital-like timing, it is better to be there an hour early, than being late. In analog-like cases, late is better than never.. ;)

Wednesday, September 14, 2011

WSO2Con 2011

‎~ Last year Sep̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̸̨̨̨̨̨̨̨̨17th, we were at Water's edge, Battaramulla marking the 5th year of WSO2. Now after almost 1 year, we are at the same place for WSO2Con 2011 - Sri Lanka. As an interesting co-incident, today I (along with 20+ of my friends) marked my first year at WSO2 as a Software Engineer.
WSO2Con 2011 started in style today (Sep 13th), with the flavor and cultural touch of Sri Lanka. [13th, 14th, and 15th of Sep - WSO2Con Plus 12th and 16th Pre- and Post- Conference tutorials.]

The session was also live webcast through OxygenTank. The event was also actively tweeted by the audience and the event's official twitter page. There are a series of blog posts around the talks by the presenters and the audience. The presentation slides have already been shared by the speakers.

Cultural events and entertainment followed the technical sessions. WSO2Con proves that it is not a tech-only/geeky session. Rather it is a technology and networking event for the architects, intellectuals, technologists, researchers, entrepreneurs, and evangelists.

I summarize some of my favorite discussions from the WSO2Con 2011 below.

A Dynamic Telecommunications SOA platform - A WSO2 and 2° Co-creation

"A Dynamic Telecommunications SOA platform - A WSO2 and 2degrees Mobile Ltd Co-creation" was presented by Neeraj Satija, Software Development Manager, Two Degrees Mobile Limited, New Zealand, at WSO2Con 2011. It was one of the most interesting case studies from the users of WSO2 products, IMO. 2Degrees mobile has done quite an intensive research and has implemented lots of novel mobile services.

2degrees Mobile has 25% of the market of New Zealand. Neeraj started his session by presenting a brief history of wireless Telco Landscape in New Zealand and the 2degrees - WSO2 Alliance. Neeraj explained the rigorous evaluation and supplier selection approach of 2°. and how and why WSO2 was chosen among the other vendors including IBM, Oracle, and Mule, using a Capability Matrix.

The decision was to adopt SOA and light, flexible, scalable, technology stack - Hence the solution was Web Services and ESB. "Small company, open source, relatively newer, and from Sri Lanka - still had what is needed," Neeraj says ,"For us, WSO2 was the best among the all. Satisfied with WSO2, my trust and faith in WSO2 is justified. WSO2 is proved to be Scalable, light weight, and reliable."


Building a MobilePOS Solution with WSO2 Carbon and Apple iPod Touch

"Building a Mobile POS Solution with WSO2 Carbon and Apple iPod Touch" was presented by Thilanka Kiriporuwa, Head of Human Resources and Operations, Odel in the WSO2Con 2011, day-2. Kasun Indrasiri, Associate Technical Lead,  WSO2 joined Thilanka in this session. This session speaks something about ODEL which is one of the best shopping destinations in Sri Lanka and online. Hence it naturally grabbed most of our interests (as Sri Lankans).

In this session Thilanka explained how the MobilePOS application will be used in ODEL outlets, specifically the one in Alexandra Place, Colombo-07. WSO2 Mobile Application runs on Apple iPod touch and helps credit card swiping. The next time we go to ODEL, we will see this in action, providing improved user experience, eliminating those long queues during the busy Sundays.

On the other hand, Kasun was explaining the architecture of the Mobile POS solution, the technology behind it, and how WSO2 helped to achieve that. ODEL MobilePOS is exposed to the backend using JSON. The MobilePOS application was developed using Objective C. It talks to barcode scanner and credit card readers using APIs by LineaPro. Apple iPod is only the front end providing a JSON interface, where teh JSON is transformed into SOAP using WSO2 ESB. There is much more happening with the mobile gateway with WSO2 products at ODEL. Bar code scanning and credit card reading was supported by the iPod application 22 million sales have been done over the WSO2 Mobile Services Gateway solution at ODEL, so far.

"Even if you want to change the app to run on Android, nothing to change in code level for ODEL MobilePOS app, thanks to JSON," said Kasun, when answering one of the questions from the audience regarding why Apple iPhone was chosen over other mobile platforms such as Android. He also explained how the reporting component from WSO2 is used to generate various reports at ODEL. A white paper on this ODEL case study can be downloaded from the ODEL Case Study page in wso2.com.


Using WSO2 as a Mobile Services Platform

"Using WSO2 as a Mobile Services Platform" was a session presented by Simon Bilton, Head of Professional Services, Gödel Technologies Europe at WSO2Con 2011, which was yet another interesting user story of WSO2. In this session, Simon discussed how 'Transport for London' uses WSO2 ESB as the main platform for mobile services.

"Schematic of ESB solution with WSO2 ESB and WSO2 BAM as the core components..", Simon explained the architecture. Simon also showed a mini-version of the deployment diagram with WSO2 Components drawn on a paper, to the audience. He mentioned, "It is really huge to include all of them." Simon also foresees that WSO2 BAM2 will eliminate the remaining issues that the current system has.

"Open Source to the Rescue!", Simon points to the pure open source nature nature of WSO2, and how it was extended to meet the specific needs of their enterprise. "Why think outside the box, if the box can think itself?" asked Simon.

Quality - The key to successful SOA

Charitha Kankanamge, Senior Technical Lead and Manager, WSO2 did a session on "Quality - The key to successful SOA" at WSO2Con 2011. The session mainly discussed about the differences between the traditional QA and QA for SOA, and the challenges faced. The talk was followed by an interactive Q/A, where the audience shared their opinions regarding the talk, and discussed them with Charitha. Charitha didn't fail to point out that unlike the traditional testing, SOA testing requires serious research itself. Azeez pointed out that this enables the QA engineers in SOA to switch to development easily, and vice versa.

"When defining a testing methodology for your SOA, you should have a good understanding of services, mediation, and composition." pointed out Charitha. He mentioned that the complexity of SOA should not let the quality to be compromised. "Your QA team and Dev team should work together for your SOA testing. Everyone is responsible for the quality". You need a proper unit tests, integration tests, and end-to-end tests, where some of them are automated, and SOA testing. Charitha also pointed out that there is no "automated manual tests". SOA testing over the cloud produces additional set of complexity.

"Discussing Testing is atleast a 10 hours task," Charitha announced after running out of time badly at his session, which everyone was actively involved.


Engineering to take over the world 
"Engineering to take over the world" by Samisa Abeysinghe, Vice President, Engineering, WSO2 was surely the best among the WSO2Con sessions, I would say. Samisa started his talk with a caution "This is just from my head and only from my head, and the definitions are not from Wikipedia or elsewhere." The talk was mostly the words of wisdom from his experience at WSO2.

Engineers are known for their analytical skills too, apart from the technical skills. I recall, during my level2, someone from the industry (sorry, I can't recall his name exactly) recommended engineers to follow an M.A in Economics degree. He suggested that only engineers can be good economists. 

We learn a lot of pure science in school and university. The applications of the science starts when we are at work. It is not just for engineering, I feel. It can be even marketing, sales, . You can learn 'Marketing Strategy' in school. But the 'Applied Marketing Strategy' starts when you apply the concepts and the theory in practice to the industry.

Samisa explained the support model of WSO2. As a pure open source company, WSO2 gains the revenue from the paid customers, who pay for the support. ""Feel their pain - Go to them; Listen to them; See what they do; Deal with what they deal," Samisa explained the secret of delivering the best support." "We do not just do what users want. Rather we invent solutions for their real problems." Users are not always correct. This was also mentioned in the key note of Sanjiva.

"One product - One build command - One team." We have the Carbon platform, and many products built on top of that. Also the products as services over the cloud, where Stratos becomes the cloud middleware platform. "One" is important. "It is one team with many sub teams. But the whole is greater than the sum" Samisa explained the synergy of the WSO2 team. We have the Team - "WSO2 Team", and we just have sub teams, and no departments. "At WSO2 we don't refer to the people as #resources. People are people."

"Our way is Apache way - Open - Passion & Commitment, Community, Respect, and Meritocracy." "In engineering, everyone can design, code, and test" Our inspiration comes from 'the team' itself. Existing and potential clients, academia, and competitors too inspire us. Samisa's talk was really interesting, with loads of photos taken from WSO2 and the team, giving a snapshot of the life of WSO2ers' life to the audience.
 

Wednesday, September 7, 2011

OGSA-DAI over WSO2 Application Server

Web Applications list - WSO2 Application Server
Open Grid Service Architecture - Data Access & Integration (OGSA-DAI) is an innovative open source data access and management solution for the real use cases, maintained by EPCC, The University of Edinburgh. It is developed with multiple presentation layers, where you can extend it to use your preferred presentation layer, let it be SOAP or ReST such as the presentation layers built using Axis, Axis2, CXF, Jersey (An open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services), or GT.





OGSA-DAI Services



I recently tried deploying a current version of OGSA-DAI with CXF presentation layer over WSO2 Application Server. It went pretty well. OGSA-DAI is often deployed on Apache Tomcat. Some of the screenshots showing OGSA-DAI/CXF deployed on WSO2 Application Server are shown here.





Web Application Dashboard (/dai)