Showing posts with label developer. Show all posts
Showing posts with label developer. Show all posts

Friday, June 17, 2011

Web forms: Do it right, A DZone Story


Web is full of forms. Every day when you browse the web, you come across a lot of forms. May be to register to a new site or to write a comment on a blog which you liked. Over the years, building forms has turned an art, where designers put a lot of effort to make forms less boring and more intuitive and interactive to the users. But most of the time you will come across some of designs which drives you crazy .I came across one of those recently and this post is about it.
              
DZone is well known place to get great articles regarding technology. I am a regular user of DZone from a long time and I have never shared any links using it. But after revamping this blog, I thought let me share it on DZone. When I tried to add a new link, it took me to registration page, which is a standard form to signup. Everything looked normal until I hit with strange problem. Every time, I tried to signup, it failed with an error saying “First address is not correct “. I just started wondering how the system is evaluating the addresses. Does it have some magical map based address validation tool? The field was not blank. So there is no question of null value. I changed the country and all the other options but it kept on failing with same error. It started to drive me crazy. The error message was not giving any information about what might have gone wrong. After so many tries I thought of giving up. But suddenly everything worked and I was a registered user of Dzone. I thought of doing research on this mystery form. After a little poking in source I came to know that the field was expecting two characters “#” and any number, which is used to tell home number or street number. But how should I know that? May be, the developers who build the page thought that every address will have a number which may not be the case always. There are some addresses in my country that doesn’t have any numbers both for home and streets.
So after going through the crazy form, I thought its time to rephrase the rules to build good forms. So the following simple rules to make sure your form don’t suck.

  • Don’t make any assumptions. Because your site going to be accessed from different parts of world.
  • Keep the error message information as informative as possible. Even you can suggest example information to say how the field should be filled.
  • Use Ajax whenever possible rather than waiting till user to click submit 
So when you build your next signup pages, make sure you get it right. Users are becoming smart; they may not have the patience or would have very little interest in wasting time on your forms. So work smart, while building smart forms!



Tuesday, April 13, 2010

If Apple holds the future of Computing ,I dont want to be a developer

Software development is my childhood dream. I always wanted to be computer engineer and now i am very close to it . Only two months away from my computer degree .


But suddenly a question pop ups in my mind “ Do i really want to be a developer of the future? “ .After seeing current dynamics of industry, my answer seems to be no !!! . Let me explain.


Openness and Choice


The primary things drew me to the software field is its openness and choice. Software industry became very open ,thanks to open source movement and Internet. Its open in terms of code,process,entrepreneurship etc . There are millions of books,sites,blogs to help you in every step of journey . There are many experts to help you when you encounter a problem . We call this expert group as the community.


Software field is an ocean of choices . We have choices in platform , programming languages ,frameworks etc. There no one to force you what to use and how to use .


The openness and choice always results in innovation . If you look at the enterprises like Google , Facebook ,you will know what type of innovation can happen in open world .



Mobile is the Future


Mobile devices are in use over decade. But its potential reveled only after iPhone is released . Mobile is the feature . What we do today in the PC , we will be able to do in mobile devices . Mobile devices doesn't only refers to the smart phones , but they also include netbooks , tablet computers etc . The power of mobile devices growing day by day and its predicted that future generation will doesn't know what a mouse is !!.



Can we expect same openness and Choice in future ?


The openness and choice what we enjoying today is for PCs and web. But is same openness and choice will be there in mobile devices . By seeing current scenario I am afraid it will be not.


Apple is the leader in mobile devices . iPhone was named as Jesus phone and AppStore is De facto standard for mobile applications. They have more than 150,000 applications in the store and its a very large compared to second big store ,Android Market, which has only 30,000 apps.


From the above figures its clear that if you want to be developer for the future , you have to develop for the mobile and that too for iPhone . But do you think it will easy?


Closed platform and Closed minds


Apple is always a closed platform like Windows . But it will create no problem for a developer till they create great applications using the platform . But the iPhone Eco system is closed such that you will start to suffocate in it. The following are the reasons that make you suffocate


1.Develop in their own hardware and OS : To develop for the iPhone you need to own a Mac. Come on man , for developing for a mobile device you have to get a new system altogether? .If you are Mac user then there will be no problem.


2.Closed minds : iPhone SDK policies states that you cannot share what you are making with your fellow. If you do that,then its a offence . What??? is this way you develop applications in the past . We had great communities to help , but now we are helpless.


3.No choice in language and tools : Recent change to iPhone SDK TOS stated that you have to use Apple tools to develop for the iPhone . Which means their own language Objective-C,IDE etc etc. If you are expert in other languages ,you skill sets are waste . You have to learn new language and new tools or stay away.


4.Big boss has to approve your application in order to reach the users : Whenever you developed the apps in the past , there was no one to say “hey let me check the app ,if you cant please me you cant get users” . It was the users who made an app successful or failure . But in the case of iPhone , Apple has to approve the app in order to reach to the user .This means if you are in rival company you cant get your app in Appstore. Google voice is a good example.


Are we going to develop applications like this in feature. Sitting in the dark room, fighting with 80's language and waiting big boss to approve your app. I fear yes.


Still hope is there


Though current scenario looks like hopeless , there is a ray of hope in dark called as Android. An open platform which embraces the openness and choices in the Mobile industry . Though its not market leader , it will be in 2014 as projected by IDC.


I am desperate for Android to win, so that i can pursue my dream . There are millions of developer like me who want the same. If it is not going to happen , i will change my field rather than developing for platform like Apple. Whats your stand??