Software - Technology & Business
Wednesday, November 27, 2013
Saturday, January 1, 2011
Tuesday, July 13, 2010
Extremely Poor User Interface
Totally unusable buggy page from moneycontrol.com. Ads take up over 80% of what is supposed to be a data entry page. This is what happens if the marketing and sales guys drive the business and product development. On top of it, they must have employed extremely cheap labor in the development. I kept losing the data entered repeatedly, even after a delete or edit it didn't reflect.
Overall, I wish I'll never have to work with the people involved in such a product.
Tuesday, January 19, 2010
Doesn't the UI matter in enterprise applications?
[Posted first during summer of 2009]
IBM is not known for applications with good UI. I already blogged about DB2 installation a few weeks ago. When it comes to enterprise software that runs on big servers with green monitors, nobody would care about a nice user interface. But that was some 30 years ago, when most of the world hadn't heard of computers.
But Notes is an application for collaboration - that means real people will use it. Well, if the sales process is taken care of, real people will have to use it.
For those who do not know how Lotus Notes interface looks like, here are some low lights.
- The Window style and font don't conform to the ones that you are used to with other Windows programs. (Note: I'm not using the term standard. Standards aren't important as long as you can find the information you need easily.)
- To set an auto-forward, you have write some code. I'm not sure if that's VB Code. But if you have to write code to do something as simple as auto-forward, who cares if it is VB or Simula.
- If there is an easier way to set auto-forward, I couldn't locate it in the past two months - weekends included.
- The visual cue that you are used to in other email clients on whether it is an email or meeting invite are so poorly done that I end up missing some of the meetings.
- It doesn't remember any of the addresses you had typed. You got to add them to the address book for it to search.
- The default font is so clumsy that I'd prefer using a green console.
- The web interface for the app, called iNotes has a terrible user interface. It has the least useful default sort order. The earliest mail shows up first.
- The navigation is undefined when you delete a message in the message view. It would show a page with no context and you have to navigate to Inbox by clicking on the link.
- On deleting the message, the message would continue to show up in the Inbox with a trash can to the left. I don't understand the purpose as there is already a trash folder and why can't this mail be moved to that folder?
- Even on IE, there are usability problems. Pressing the up arrow within the editor will change the font. I didn't bother to try it on Firefox or Chrome which is my default browser.
- I didn't expect a Gmail like interface as the app might be a few years old, but Squirrel mail would beat iNotes hands down.
Overall, I'm glad that I didn't get to use it regularly so far and I don't have to use it in the long run.
My first major Java project
[Posted first during summer of 2009]
Fast forward to last month. I landed in San Francisco as an "architect" (implied meaning: architect who would give lectures and do diagrams and not much of programming) to kickstart a project. Circumstances forced me to get into programming in Java with Spring and all that good things Java world is proud of.
Usually environment setup pains slow me down when I start on a new technology. It was different this time. I got to a quick start thanks to Lenny and Denis who set up the basic things functioning. With the support of a good framework, my code was reasonably bug free until a change request came, when I tried to patch up the code in the last minute introducing a few silly bugs.
The typical development time issues I faced were mainly due to my C++ experience and MS conventions. I tend to not see the parenthesis at the end of an if statement. The operator = has an altogether different meaning. Little differences like these made the development interesting.
The boring challenge was to have all the spring configuration entries for prototypes and singletons defined properly. You miss one or misspell one, the application fails to start. From the time you complete typing the core code to the time you get it to run, there is a big lag - thanks to the spring configuration.
Though I wasn't hands on before this project, I was in touch with software development as a discipline and was glad to use tools like liquibase, splunk etc. These standardized tools make a programmers life a lot easier as compared to our home-grown solution for DB script management and log analysis in 2002. I should say life is good for Java developers.... but for one question.
Isn't the Java world taking MVC a bit too seriously? In an interview, I got into an argument with the interviewer on this. We both agreed on the need for separating out the data, business rule and presentation. I was fine having a separate function to take care of presentation details. The interviewer insisted on having a separate class for presentation. To close the interview on a smooth note, I listed the options in separating out the business logic from presentation.
Looking at the way Java applications are being developed, I wonder what Dijkstra would have said. Though we have crossed the LoC way of measuring programmer productivity, to me, Java community seems to love the complexity. Look at the packages and their nestings; look at the number of classes and interfaces created even for a small problem. And mindless accessor methods - a syntactic mess that C# carefully worked around.
I see design patterns, most importantly MVC becoming a religion preventing any rational design decisions especially on smaller projects. I used to deal with a lot of SMEs that had requirements for a few months of development efforts. Java projects typically got issues arising out of the complexity where the developers placed logic and presentation at wrong places. We could blame it on the lack of training for the developers. As compared to that, PHP as a platform for small projects worked exceptionally well.
Sometimes, it is hard to tell the customers that your religion won't work!
Subscribe to:
Posts (Atom)
