5 Things CIOs need to know before mobile-enabling

Leave a comment

Webinar at Aspire Systems

Webinar at Aspire Systems

Join us for a Webinar                                                                         
Theme: 5 things CIOs need to know before mobile-enabling
Date: Thursday, June 2, 2011
Time: 11 AM PST / 2 PM EST

“More than 4 billion people around the world now use cell phones, and for 450 million of those people, the Web is a fully mobile experience,” according to the McKinsey Global Institute. This explosive growth of mobile is having a significant impact on B2C and B2B businesses.

Mobile-enablement, however, is more than just tailoring your website’s content to fit a smaller screen. There are several options and challenges involved in going the mobile route. Executives overseeing mobile initiatives need to be aware of the considerations – in order to get the maximum RoI from their mobile strategy.

Come listen to two experienced practitioners discuss key elements that will be crucial in your mobile strategy, on June 2nd, 2011 at 2 PM EST.

Some areas that will be covered include:

Native mobile apps Vs. Mobile web

Design simplicity: where less is more

Mobile as a new channel for growth

And much more…

Speaker Profiles

William Walsh
Senior Manager – Mobile strategy
Discover Financial Services

William is a pioneer and thought-leader in the wireless industry. He has created and driven development of mobile multimedia applications (now used on 100+ million devices worldwide) including entry into the emerging $13 billion mobile advertising market and $35 billion location based services market.

In his previous role as Mobile Product Manager at Walgreens, he successfully launched Walgreens iPhone, Android, and Blackberry applications. He defined the marketing message for Walgreen’s iPhone application and propelled it to No.3 in the iTunes Lifestyle category – the app also won in 2 categories of the Webby awards.

Vinod K
Mobile Practice Manager
Aspire Systems

Vinod is an IT practitioner for the last 13 years, with over 10 years working in the mobile space. Vinod understands what it takes to go mobile – the challenges, pros and cons of different approaches. He has consulted several Fortune 500 companies and helped them define their mobile roadmap.

Vinod has hands-on experience working on various mobile technologies, right from programming for Palm OS close to 10 years ago, to leading a 20+ member team for a Fortune 500 company in the retail space recently. Vinod led the team working on their iPhone and Android apps (the iphone was subsequently one of the top 5 apps in the iTunes Lifestyle category).

Securing J2ME Application

Leave a comment

Most of the mobile devices available in the market has Java support. The most important thing about Java mobiles or J2ME is that the applications created using J2ME has to be more secured and compact to install it in devices.

Following are the important point to check before testing the applications in any Java mobiles.

1. Application Signing

  • If our application needs any file to be read or write from device it has to be signed to avoid, that device keep on asks for the permission.
  • Some devices does not allow the unsigned application to install.
  • Once the application is signed and before installing it in a device we have to make sure that particular root certificate is there in the device.
  • Thawte and Verisign are the popular certificates available in maximum devices.

2. Obfuscation

  • Obfuscating the code not only gives security to the code but also reduces the size of the final jar file.
  • Obfuscating level may be from 1 to 9. Most of the devices accept level 8 obfuscation but it’s mandatory for Nokia high end devices to be obfuscated using level 9. If the obfuscation level is lesser than 9 Nokia high end devices throws “Authorization Failed” error while trying to install.

J2ME Basics

Leave a comment

J2ME is widely used platform for all java phones.Even though J2ME market has gone down most of the device manufacturers are targeting low-cost devices with Java platform.  Below are the steps to start J2ME development.

1. Download the Java ME platform SDK3.0 from the below link and install it(for windows).

http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html

2. Once the installation is done once can do J2ME project both in Java ME SDK ide or through Eclipse pulsar.
3. Eclipse pulsar is the best IDE for midlet development. In J2ME the projects are widely called as midlets. In eclipse import the J2ME by Windows -> Preferences -> Java ME -> Device Management and import it by selecting the J2ME SDK install location.
4. Once it is imported select the suitable phone model and configuration from the displayed list.


5. Now the set up is ready to do a J2ME project.
Now one can start the project by creating a new midlet project and can execute it as ‘Run as – > Emulated Java ME JAD’. Before executing the midlet the respective midlet should get added in to the JAD file of project Application Descriptor.

OSI: Go Greener with Open source

Leave a comment

Right from the moment I entered the conference hall, I was wondering what is the relationship between Open source development and environment. But once the session was over, I came to understand their relationship The session was handled by Venkat Mangudi.

I have given below, the crux of the session:

Consider you a open source developer.

1.You dont not occupy a office space(most of them do it as a past time, hobby), so to build products that are open source not much trees are fallen than compared to the other. (You are going to use your home as your office)

2. You don’t require a special Computer for contributing to open source.(you use your personal machine)

3. You don’t travel just to develop open source softwares. Mostly you work from home or from your office space. (so no additional carbon foot print is contributed by you to the environment. very rarely Air travel is made for open source contribution)

4. Since you mostly spent time in your home, no additional energy  is spent as it happens in Office.

5. You don’t use a Plastic box or cover to distribute your open source softwares.(sometime you use CDs, but minimal compared to others)

6. For open source software distribution, there are no specific stores.( no space is occupied, no energy utilization)

And what you can do in addition to be environmental friendly is,

1. When ever you leave your office, or going for a long break during office hours, switch off your monitors with out fail.

2. Use LED screens instead of LCD. (It gain reduce energy consumption better than LCD)

3. Prefer Telecommuting

4. Avoid using screen savers. Screen savers do NOT reduce monitor energy use significantly.

5. Don’t have a question that “Does MY small energy use really matter in the big picture?”. Certainly  yes is the answer. Small drops make rain.

6. Power down the entire computer system (printers and other equipment, too) at night and on weekends, if you know you are never going to use it. (For office systems)

For More Info:

http://www.bu.edu/recycling/Waste.html#Computers

OSI Conference, Chennai

Leave a comment

I got an opportunity to attend OSI India conference in chennai which was conducted from 19 to sep 21 in chennai. Got to know lot o facts about Open source development. I planned to attend only sessions regarding Mobile development. Since the no of sessions on mobile were very low, I got an opportunity to attend some general sessions about open source development.

I got to know that OSI conference has been conducted for the past 6 years and it is the second time it being conducted in chennai following the last year’s overwhelming response. So got to know many people who support open source.  The opening ceremony was attended by Dr. Debesh Das , Minister-in-charge, Dept of Info.tech , Govt of West Bengal.

There were several panel discussions on different topics regarding open source development, four discussions on Mobile development and two work shops were planned and only iPhone workshop alone was conducted finally. Had a good lunch on all three days.

And I will share the experiences I had there in the following posts.

Mobile Native App or Web App

Leave a comment

While there is every one associated with Web App development and Native App development, discusses about this, it is our turn to give our views.

Advantages of Mobile Web App development:

1. The Mobile Web Applications can reach a broader audience on multiple devices and platforms and the cost involved to reach to such a huge audience across all platforms by developing Native Apps for all of them would be very huge to hold for an organization. Their strength is ‘Build once, deploy anywhere’.

2. And the time an native Application reaches the market(customers through App store) is never determined by us, but by the Platform owners. And Web is completely open.

3. Another advantage would be faster speed of development and much reduced maintenance overhead in Web Apps. In case of Native Apps, each Platform’s feature updates would be a nightmare to handle for all the Apps we have developed, in terms of cost . We need developers catered to all platforms and they have to be updated with each update to SDK.

But on the downside to Web App development, at least for now we have the following:

Advantages of Native App development:

1. Native platforms allow the application running on it to use the the phone’s features (Address book) hardware features(Camera). And as user every one find native app to be more appealing.

2. And another advantage native apps have over web apps is performance. But the scenario is changing in favor of web apps with the HTML5. But lets see, how HTML5 changes the scenario.

3. If you have site that entertains (a Game)user and you wanted to make it available for Mobiles, then the ultimate winner is Native Apps.

4. Real time alerts and Notifications works in advantage of Native Applications and this can make a big difference in user experience. This is where Web Apps completely fail. But this too is going to change with W3C’s formation of WebNotification Group.

But once the Data access is ubiquitous, as is now the case with the Desktops, and along with the HTML5 rise, the advantage of Native Apps would erode .

Finally it all depends on the nature of the Application and Audience you target.

Apps for multiple Mobile Platforms

Leave a comment

You must have guessed what this post is going to talk about. It is about developing an App for many mobile platforms at a single time or porting an existing App from one Mobile platform to another platform, say from iPhone to Android. What should you consider before getting in to the act?

1. First recognize the fact that, you can not bring the same UI look and feel across all the platforms, because each has its own conventions and notions to communicate to the user.(An iPhone user would be used to a Picker for data selection and Android user to the Spinner ).

2. You can share the business logic across the platforms, but not always the UI structure & logic.

3. Identify common shareable pieces of the App and start working on making them as general as possible, which would minimize the effort you are to put in.

4. When you target an app which is available already in one platform to another Platform, ensure that you never try to mimic the UI of first platform to the second. This is not guaranteed to be possible.

If you have any general guidelines to porting an App, please share it.

Providing Better User Experience in Mobile App – Part 3

1 Comment

In this part, I will be discussing the best practices for overall mobile application development. This finishes this series of article.

Best practices for overall application development

If the application has login screen, provide automatic sign-in feature so that every time user does not need to re-enter the credentials again unless he specifically chooses to do so.

  • If the application needs to make lot of network requests to get data from remote server, make the design in such a way, so that, large chunk of data is downloaded during application loading time itself. Normally user will wait during application loading time and does not mind to wait for some extra time. So this is the right time to download the large chunk of data. Remember this extra time should be treated as premium and it may not be advisable to make it too long. Also the user wait will not wait every time the application is loaded. So cache the data whenever possible.

  • If there is some data to be collected from a form and submitted to the sever, avoid making network request every time, rather, collect all the necessary data and make one network request to submit the data to the remote server. This is particularly advisable in cases where the network connectivity mode is through paid services like GPRS or 3G.

  • Make provision in the design to have multi-level caching to avoid network request for any dynamic content to be retrieved from the remote server.

  • If the entire application look and feel needs to be customized, avoid using high-resolution images like “bmp”, rather use industry standard formats like “png” or vector formats like “svg” (if it is supported by the application framework).

  • Reduce the application start time using appropriate storage mechanism available from the particular platform once the data is available.

  • Update the UI with appropriate status messages whenever there is a delay in showing the data. For example, if there is some network request, instead of keeping the user from guessing, update the UI appropriately and keep the user informed.

  • Adhere to the particular application development guidelines strictly.

Ensure access control to the application and protect the sensitive data created by the user using appropriate encryption techniques.

Providing Better User Experience in Mobile App – Part 2

Leave a comment

In this part, I will be discussing about maximizing the UI real estate to present the information in a more intuitive and efficient way.

Maximise the UI real estate to present the information in a more intuitive and efficient way

Maximizing the UI real estate is one big challenge. Normally the challenge lies in presenting the information in an attractive at the same time more efficient way so that all the logical information is grouped together and the context is maintained. Following are some of the steps that may help achieve this objective.

  • Dedicate a separate page/form for each logical entity and it is important to pay attention to not to mark a boundary so that the controls will not overrun the boundary.

  • If there are more controls to be shown under one logical entity, review the UI design and in the extreme case, consider customizing group of containers which will hold a logical group which can be collapsed or expanded as necessary. This way the page can contain three containers at the top-level but when a container is expanded, it will show controls that are embedded inside the container and the container along with control will occupy the entire screen. Make the design such a way that, at any given time, only one container can be expanded and others are collapsed.

  • If there are multiple business functionalities, group the top-level business functionalities as tabs and associate a tab with a set of pages/forms which uniquely identify that particular business requirement.

  • If there is search functionality in any of the pages, show the search results in a separate page in a tabular format with the navigation to the previous page at the top of the screen.

  • Always have a settings tab (for configuring the application) even when there is no demand for kind of requirement at the initial stage of the development.

Providing Better User Experience in Mobile App – Part 1

Leave a comment

In this series of articles, I will be discussing about providing better user experience in mobile application in general. This applies to all mobile applications in all platforms in general.

In this part, I will be discussing about choosing the best layout for the given context.

1) Choosing the best layout for the given context

Generally choosing the best layout depends on the context of the application requirement. However there are certain steps that are common to all the applications.

  • If the UI is a replica of an existing app in some other platform, do not try to have the same components placed in the screen in the same way. For example, if the application is model of an existing web application, trying to create the replica may not be the right way to represent the application in a mobile context. Most of the times this would end up cluttering the limited screen space and would create clumsiness to overall UI appeal.

  • Make use of the UI controls that are specific to a particular platform. This will not only create the UI footprint of a particular platform but also may present the information in a better way.

  • Group the information to be present in a logic way and give consistent look and feel across all the screens. Making the UI look and feel consistent across all screens is one of the best ways to increase the overall UI usability intuitiveness.

  • Split the UI controls in separate pages so that each page present a single unit of information keeping the navigation among pages minimal. This way a logical context can be created in situations where lot of user input is needed before the next operation is performed.

  • Create a unique theme for the entire application and do not customize the native platform look and feel too much, otherwise it may be end up simulating a different user experience which is alien to that particular platform and may not be there in majority of the applications for that particular platform. Eventually users will fail to associate such kind of applications with that particular platform.

Older Entries

Follow

Get every new post delivered to your Inbox.