Archive for the Technical Blogs Category

Delightful Mobile Design practices

April 23rd, 2012 | Biz Blogs, Technical Blogs | Comments Off

OR How to create remarkable design that people would love talking about.

This is not mobile design best practices. This is about going the extra mile in developing an app that wows users and creates a superlative user experience. It may be hard to include all these ideas in every application one creates, but some ideas are really worth imbibing in practice. This is more about the UI design then the application architecture but it was hard for me to separate the two when I look at it from user’s experience. So, I’ve conjoined the two aspects of design under the same flow.

Exceptional/minority inclusion – Design apps for the users who are exceptional or in minority – old, disabled, visually impaired, color blind, left handed. You may allow user to set navigation option for left handers, create animated visual indicators or audio instructions for old and visually impaired.

Clear visual indicators of action points – the app should guide you on the next step. The ‘Save button’ to be clicked before going to next screen may turn green, or flash or develop a colored halo to indicate it is the recommended action. You may also add some audio indicators as they are unobtrusive.

Airbnb

Visual indicator for action item

No pop over – avoid popups so much that they occur only in exceptional or unavoidable cases. Instead of asking a delete confirmation over popup – make it two step.

Facebook

Could have done better with two buttons

Shortcut gestures – have an intuitive gesture as a shortcut to classic approach but don’t forego the classic approach. Include the classes but don’t forget the masses.

Store preferences, last inputs if possible – Nothing delights more than the idea of NOT having to input data again.

Offline mode – do not expect users to always be connected. Allow them to use the app offline, even with stale data. Also handle weak network, intermittent network loss conditions.

Economy mode – The app may suggest economic ways of consuming data – allow a switch between paid and free networks as convenient, may be automatically. Also some user may love economy of power and memory at a little loss of performance. You may allow adjusting screen brightness or do it automatically based on ambience.

Least interruption – other than popups there are other clutters one must avoid. Uploading/ downloading/ processing indicators should also be avoided as much as possible. A background process is best run in the background without hindering user interaction. If it requires user input it is #fail. If it is visible – it is distracting. Drop any visual indicators of a background process unless and until the user is ‘required’ to be aware of it or his decisions would be affected because of it.

Less clicks is more fun – Unless it is a game of tic-tac-toe or tap-tap-tap tapping on virtual buttons is no fun. Save/Sync the information automatically, save state before exiting and the users are compelled to say ‘Wow!’Path (12/2011)

Saves a click as the info is rite-on-the-page

Easter eggs – Now, this is not just about delighting the user. It also makes your application viral because users would have cool things to talk about, blog and share over the internet. In fact, hiding one of the awesome features for discovering later can bring wows, if done smartly.

There can be more pointers to a great design but I guess this is an age of “Less is more”.

Enterprise Mobility Software Features

April 23rd, 2012 | Biz Blogs, Technical Blogs | Comments Off

ESSENTIAL CHECKLIST!

Here’s a little drill down to lower level of enterprise software design. I’ve tried to list some smart features that are must have for any enterprise mobility solution. This can also serve as smartphone based enterprise solution checklist.

Secure- Two factor login, other secure login, encrypted data storage, encrypted data communication.

Monitor – logs usage in call, sms, data. Maintains a list of all installed software and running services. Keeps check on any data security breach. Analytics should be an important part of the main software – it helps you measure Usage patterns and ROI. It also becomes most important feedback for ongoing formulation of mobile strategy.

Backup – automatically syncs or allows user to backup data on central server

Anti-Malware – Protects the mobile device and keeps a check on any intrusive software or app.

Optimized – Optimized performance, memory and battery usage. These three factors are important for continued reliable usage on a small device.

Enterprisey – This is a list of features that are important for rendering an enterprise-like feel to the mobile software. Spell correction, drag and drop, version control for contents etc. help in making the software intuitive and easy for adoption.

Mobility – Consumer apps v/s Enterprise apps

April 9th, 2012 | Biz Blogs, Technical Blogs | Comments Off

OR Innovating Enterprise Mobility without using Consumer Tech

A lot of innovation and creativity is ignored in the name of developing enterprise solutions. Generally major share of the innovation, creativity and fun in software is attributed to consumer apps. There has been a huge historical disconnect between the two. The adoption of Mobility and Social Media by corporates is fast bridging the gap between enterprise and consumer applications. Most people see it as consumer tech inspired design more so because the consumer tech is built in to the mobile platforms. But here are pointers on how one can achieve innovation in enterprise software:

1. Unsophisticate - as compared to focussing on “Simplicity”, which is hard to achieve for enterprise solutions, architect should look to break down the solution in to smaller (more detailed) modules and de-complicate each one. It may involve cutting down features, removing the clutter from UI, adopting standard UI guidelines, letting go of the ‘Original’ look and feel. Many enterprise software suffer because they focus on maintaining the “Old” stuff while moving to new platform quoting easy adoption. Try weighting ‘Unknown but Simple’ with ‘Known but Complex’ – the former just feels right. Isn’t it?

2. Usability - An enterprise user is absolutely no different from consumer. It is important to consider this assumption and hold to it stringently unless exceptions are mandatory. A little effort on improving interaction experience goes a long way in enhancing the usability.

3. Smart features - Smartness factor indicates how well is your solution using the mobile platform and device capabilities. Is it location aware, does it prefill or track the correct time and location of use? Does it leverage usage of camera for attaching documents or scanning barcodes? does it allow taking voice or video notes to add with text?

4. Graphics - Enterprise design do not have to look dull. You may want it to look profesional but there are creative ways to keep it simple yet interesting.

5. Revisiting MDM and Security - Security is perhaps the numbero uno requirement as well as concern for mobile based enterprise solutions. Considering two assumptions:
1) Data available on the mobile devices would be extremely confidential.
2) A centralized system is continuously required for monitoring and managing devices accross the organization.
If any of the above is not completely true your security and MDM needs may be taken care of by existing infrastructure provided by mobile application stores specially Google Play and Apple appstore. Updates and cloud based push notifications take care of some of the MDM requirements. Login based access, encrypted data storage or regular server sync and token based security can completely immune the data from undesired access even in the event of theft/loss of device. Even when the above assumptions are true, the MDM and security for enterprise mobility can be made cost effective by including the suggestions made above.

Mobility – the changing game!

April 7th, 2012 | Biz Blogs, Technical Blogs | Comments Off

Initially mobile was perceived as an extension to internet and enterprise solutions. But, with advent of smart mobile platforms with higher form factors, advance features and apps based ecosystem and evolution of social media the game has changed. Many business models now require a reversed technology strategy. In fact, many do not realize that mobility and social media evolution is “ON” and the game is still constantly changing. There is a different angle with which businesses are strategizing today. Almost every business, regardless of its size or domain, is imagining tapping its share of the mobility advantage. However, it is important to chalk out a mobility strategy before going all in. Here are some key items to include in your mobility strategy checklist.

Going mobile is a business (not IT) decision: Enterprise Mobility aimed at enhancing productivity, efficiency and curbing cost and delays has significant impact on the way organization works. It is important to accept and understand that transformation and plan it in advance. It may require changes in organizational structure, processes, infrastructure and people. It may also open new business opportunities and induce new vulnerabilities.

Security and Privacy: As with every new technology implement, there are concerns of data security and adoption. Another important aspect that comes in picture with mobility is employee privacy concerns. With concepts like BYOD, security is a greater concern. Fortunately, mobility has solutions for all these concerns and one can effectively manage all relevant devices, software updates, provisioning, backups and information security.

Platform diversity: The mobility clearly has a split market share shared by iOS, Android, Blackberry, Symbian and Windows. Palm and Bada being minor players. Diversity of platforms is also an opportunity for tools that can produce platform independent solutions like Adobe (Flex), Appcelerator (Titanium), AppMobi, Bedrock (Metismo), Ansca (Corona), DragonRad, Kony, Marmalade, MoSync, Netbiscuits, Alcatel Lucent (OpenPlug), PhoneGap, RhoMobile, RunRev (LiveCode), Sencha Touch/jQTouch, Strobe/Sproutcore, Unity, Unreal, Worklight and Xamarin (MonoTouch/Droid).

Involve stakeholders: Any business transformation requires strong internal communication for smooth adoption. All stakeholders must be kept aware of what’s coming and when, also, how does the transformation affect or benefit them.

This series will also cover who Mobility is for, what the right way to go mobile is, and how to invest smartly in mobility.

Top 5 Questions about mobile development

December 15th, 2009 | Technical Blogs | 3 Comments »

Here are the five questions you should answer before you start taking your business to mobile.

1. Why do you want to bring your enterprise software to mobile?

Is your concept based on Mobile or are you bringing an existing business to mobile. If it is an existing business you should analyze how going mobile can help you.

2. Will it significantly affect the Product/ Productivity/ Profit/ Popularity?

Mobile development should significantly affect you or your users in one of the mentioned ways. It might make your product user friendly, make the users more efficient. Or It may increase your popularity and profits. Though investment is not big, taking account of the ROI is a good idea.

3. What smartphone devices will your users have?

Mostly all Smart phones provide similar features. Some basic pointers are if you want to access high-end professionals, business people, Doctors, CEOs, Vice-Prez they are mostly (RIM) BlackBerry and Windows Mobile users. While if you are looking at young populace iPhone and Android are gaining popularity. If you are planning to provide devices and software to your own employees or associates, you will need to consider other criterion based on your exact need and budget.

4. Will your application be Native or Web-based?

Native applications are applications that are downloaded on the device and are accessible by clicking the applications icon on the device.

Web application on the other hand are simply the Websites optimized for use on mobile.

You need to carefully understand the differences in the two types and decide on one or both. Typically if you would just want to extend your website to mobile you can get it optimized as a web app. If, in the other case, you are convinced that having a Native app will affect your Productivity/Profit/Popularity.

5. Which smart phone feature(s) can you leverage?

Smart phones have features like Camera, GPS, Touch Screen, WiFi, eMail, USB and VGA Connector, accelerometer. You should acquaint yourself with these and try to find out how you can leverage some or all of these features to your benefit. For example GPS can provide you with your location and speed with which you are traveling. Accelerometer can jazz up your application by utilizing quick movements of user. Touch screen can be used to implement various gestures and make your application pleasantly interactive for the user.

Introduction to Mobile development

November 25th, 2009 | Technical Blogs | Comments Off

Wow! After a huge gap of being able to add something for the ideakosh, I decided I would resume my tech and Biz blogging with a series of posts on Mobile development and particularly iPhone development. Enterprise software are now going mobile and everyone wants to do their work on-the-go. I don’t know what they will do sitting in office then. Jokes apart, it is a huge facility to be able to gather information in real time and particularly in most usable formats. A user using Google Maps on iPhone to take driving directions to reach the most happening place in his neighborhood is unaware of the hundreds of satellites running around over his head, and the thousand-splendid-not-sun engineers that created the hardware and softwares for iPhone. But he is still empowered to use that intuitive interface to check availability and buy tickets for that event on the go. If he is not sure about conveyance, he might as well search for nearest mass transit stations, or even car pooler’s pick-up point. Then on his way back he may upload the pictures and videos he took during the event and share them with his online community- or the world. Behind that empowered user, are the empowered developers like me who are now able to create that state of the art applications. What you can think, you can create. Almost. So as every software development requires, mobile applications also require an organized development process.

Should I go mobile or should I not?

Mobile development is not a cheap exercise. If not planned properly it can be a really costly affair. A typical iPhone application using server components for data storage and processing can cost you around USD 20000. Though it can be as low as 2000 USDs and as high as 100000 USDs or more depending on your need and budget. Before you can think about bringing your enterprise software to mobile, you should be asking yourself a few very important questions about the business need, added value and ROI. If you are convinced to go mobile you should analyze your clientele to decide what mobile devices and technologies serve your interests most effectively. Then you can decide if the mobile application needs to be web based or native. And so on and so forth until you get into the intricacies of application. Because of limited processing and storage ability of Mobile devices, Mobile application generally requires a server side component to be prepared so that the data storage and processing can be done on huge and fast servers. This is an added but compulsory cost and is often ignored while planning for mobile applications.

To conclude the introduction, I would like to aver that taking your enterprise software to mobile can work wonders if planned effectively, making informed decisions at every step. You can leave your concerns and queries as comments, I’d get to them within a day.


Create living websites!

June 23rd, 2009 | Biz Blogs, Technical Blogs | 4 Comments »

Many businesses have dying websites. Though it is a grave concern, the frequent updation of their websites is either too tedious or too costly. Most of it is because when they set out to create a website, they didn’t have any long term plan in mind. Anyways, here are a few pointers that can help you create websites that breathe, interact and earn for you! Since you might not make your own website, you can still get better results if you are aware of what you can get. 

 1. Plan ahead: Do not go contented for simple HTML websites with state-of-the-art graphics. Always get an admin interface created. Ask your web designer to enable you to add/edit some part of the text and some of the images via an interface. If it costs a little more, it’s an investment. Try tossing terms like content management, wordpress/joomla to sound IT-aware. 

 2. Feeds: Your website should get regular updates from your blogs, tweets, facebook – as you may like. This makes the website quite alive. 

 3. Gadgets: Add a few dynamic widgets like visits counter, quote of the day(if relevant), Quick-polls, Weather, news and many others or you may even build a custom gadget.

 4. Contacts: Always add a section/page to enlist all the contact details. All the ways in which you will like your visitors to connect with you (includes Twitter, Facebook) Address, emails, phone-numbers, fax. You may also provide a facility where visitor can make you VOIP call, or leave a message. You may include live chats, so that visitors can contact you directly when you or someone in your team is online. 

 5. Security: All the places where you may have to display emails, or where you expect the user to fill a form are susceptible to spam attacks. Ensure mail-hiding and captcha

RoR Outsourcing Checklist

March 21st, 2009 | Biz Blogs, Technical Blogs | Comments Off

Again someone asked a great question on LinkedIn and it inspired me to blog my opinions here… :-)

So the question is “Should you look for anything in particular when outsourcing a RoR project?”

And my answer goes like this … 
Yup! one should look for at least these things in particular : 

1. Obvious one, Company has enough expertise on RoR. Should have successfully developed and deployed a few RoR projects. Having said that, I would like to state that if you are technical guy Or you have extreme confidence in your outsourcing partner you can still get your RoR project outsourced to even first timers. That’s exactly how I got my first one. 
 
2. Company has sound experience in Web 2.0 – Coz RoR is mostly not a standalone solution. The team should be well equipped with other open source technology experts like Linux (scripting and admin), MySQL, Repo mgmnt, Issue tracking and PM tools, JavaScript, Ajax, Flex etc. You should make sure that these experts are available to help/assist the core RoR development team part time. 

3. Company has sound experience in Agile methodologies, otherwise it wastes a lot of time to get them out of conventional ways of development. 

This along with normal outsourcing checklist should complete your analysis before outsourcing your IT. 

Happy Outsourcing!

Creating a knowledge portal

January 9th, 2009 | Biz Blogs, Technical Blogs | Comments Off

Here is a quick take on why creating a knowledge repository is vital for an organization (of any size) or an individual, and what are essential features the knowledge repository must have. 

So it’s an information savvy world we live in. If you have the information, you have the edge. We all have been in situations where we need some potentially vital information which probably has already been acquire.  More often than not, the constraint is not availability of information. It’s there somewhere, the real issue is accessibility. Do you have immediate access to that information is what matters. We all have some information that can potentially be vital to someone else, probably in more of an emergency. With these thoughts organizations usually initiate the knowledge share among employees through various means. But I have seen in most instances, such repositories are often under utilized. There are several reasons for such attempts not being successful.

Here is a list of reasons that i think cause the trouble.

 Lack of motivation for employees to share: An employee is motivated to share only when he sees a benefit in sharing. When someone finds it useful, then only he would be motivated to contribute. One should understand that those who are not used to using such a repository dont “get it”.  
 Lack of internal marketing: most of the employees are unaware of such resources. Organizations start such initiative at large scale but gradually the momentum is lost in the mundane activities. And as we know that people wont use it initially until its a part of their regular activity.  

So now if these things are taken care of by the organization, there would still be a need of a few essential features that would make the repository actually useful and effective. These features will actually help employee addicted to using such a repository and also to contribute to it.  

Here is a list of features:

 Search: all information should be easily searcheable. If the search doesnt yield relevant results the entire venture of creating a repository goes at a toss.
 Label: Information should be available for tagging/labelling so that it can be searched and sorted easily. A user specific labelling/rating can also be a nice feature. 
 
Add: It should allow very easy interface for adding information. It should necessarily allow copy paste from a Word document. Generally available text editors make it quite difficult to add images. 
 Edit: Again a simple interface for editing should encourage users to add their dots to the master-piece.
 
Alert: User should be able to receive alerts if the information he has been searching for becomes available some time later. Also follow up comments on his contribution and tracebacks can keep things live and interesting. 
 Comment/Rating: User should be able to comment and rate the information so that other users can decide upon the relevance of information faster. This is as important as being able to add information. 

If you don’t have all these features you are surely missing something in your knowledge repository, which means Your users are not happy. It calls for a quick check.   

Pitfalls to avoid for Ruby-on-Rails start-ups

December 16th, 2008 | Biz Blogs, Technical Blogs | Comments Off

Here is an important question from Micky. (Account manager at Ruby-people.com.) And the question he put on a linked in group is What are the main pitfalls to avoid for Ruby-on-Rails start-ups? After I answered him there it occured to me to put it here for everyone to review and discuss:
 
Here is my take:

1. RoR is not “replace all” solution: It is highly recommended for database driven small and medium sized Web2.0 based web products. If you want a content based website you dont need RoR, a lot simpler solutions are available. Its not fit for any Real time use too.

2. Continuous evolution: RoR is evolving quite fast and any startup need to keep up pace with the latest.

3. Only paranoids survive: Keep a strict watch on performance, scalability and security. Ruby has its own vulnerabilities and that can be (should be) taken care of.

4. Complete skill set: RoR is a part of the Web product’s big picture. It should help any startup to have MySQL, Linux (shell scripting) and UI(Flex/JS, Ajax) experts on-board as well.

5. Look for niche: For a start-up it would help to look for a niche area in developing RoR (RoR still has a huge scope of improvement) as well. Being a part of product or services clan may not help much until you really have an excellent out-of-the-world product.