Saturday, March 17, 2012

AppDev is hard, difficult and rewarding (mostly)

Software development in any environment is not easy. In enterprise development application development needs to deal with multiple technologies such as back end systems, networks, client platform, etc.  Think of the application development processes as an iceberg with only 1/7 of the work being the actual visible software interface, the piece that the end user actually sees and interacts with.

Development for a mobile client adds several new components and probably new skill sets that you will need to buy.  There is an expectation that a mobile app is going to work just like any other mobile app.  Specific icons mean the same as do the names of buttons. These UI standards are important for the acceptance of your enterprise app.

Building the application probably means an integration with existing data sources and systems as well as novel systems from internet API's that are available  (e.g. Google Maps, Facebook, Twitter, Salesforce.com).  Security is another concern. Will authorization be done both at the source of the data?  How will login credentials be handled?  What about the data on the device?  Encrypted "in flight" and "at rest"?  How about getting through the firewall(s)?  Will you use proxy servers or VPN connections?  Do you already have that infrastructure in place?  Will you use certificates to identify devices?  Is THAT infrastructure in place?

Now assume you solved all those issues, figured out how to interact with your back end systems, convinces Infrastructure to punch holes through the firewall and Goethe app through DEV. Now something strange is happening.  The app won't make it through the login process, at least not consistently. Where is the problem: latency in the network, a timeout or retry issue in the app, a bug in your logic, an inconsistency in how the back end API works?  It takes a full team to debug these and in all the cases I've seen thus far, there are NO good end-to-end debug tools. Gather your network, firewall, end user device, middle ware, back end and a project manager together to debug some of the issues you will see.

I don't bring this up to scare you, well maybe just a little. Really just to make sure you think about this going into a mobile app development project. These issues will be true no matter custom device dependent code, pure web app or hybrid container app.

Its not easy but the payoff can be well worth it for the business

4 comments:

  1. Salesforce is the best company that offers the efficient CRM service to the every entrepreneur in this world. Thanks for your content too. I would like to come back to this blog again in future.

    Salesforce.com training in chennai | Salesforce training institutes in chennai

    ReplyDelete
  2. Cloud computing is a technology in which the future Information technology is going to rely on for their entire process. This is a technology that is not going to disappear just like that or the craze for this will also never reduce(). Your worth able content is also insisting the same. Thanks for sharing this in here.

    cloud computing training in chennai | Best Institute for Cloud Computing in Chennai

    ReplyDelete
  3. Nice..Its informative...You have clearly explained about the concept..Its very useful for me to understand..Keep on sharing..
    Cloud computing training in chennai

    ReplyDelete
  4. Excellent post!!! In this competitive market, customer relationship management plays a significant role in determining a business success. That too, cloud based CRM product offer more flexibility to business owners to main strong relationship with the consumers. Salesforce Training Institutes in Chennai | Salesforce Training in Chennai

    ReplyDelete