Tuesday, September 9, 2008

Java vs Flash - User Interfacing At It's Best

This month has been odd in terms of what's been hitting the market and the comments and questions flying around. The latest buzz on the digital-market is Google's entry into the browser domain. While I am still loyal to Firefox and would never stray from my bushy-tailed master, there have been some interesting questions about how browsers actually handle the information that they gather and share from users.

With the advent of more Java based webpages and Microsoft' Silverlight campaign, more developers are slowly learning the hard truths about UI on a webpage and what tools they have at their disposal to entertain such questions from customers. I have been using Flash and coding in it for nearly half a decade now and there is always one underlying problem - The bigger the SWF the harder it is to cater to audiences with lower bandwidth. Enter the realm of Java.

Now, while I know most people are asking the question, how do you expect to get high-quality videos and interaction in a non-Flash page, the real question to ask is whether high-quality video and Flash are required on every single page. It seems that more web-developers are going the Java way and coding their pages to handle concepts like AJAX and XML. Nifty concepts if you ask me and that's where the line needs to be drawn. 

Java Benefits
==========
I have never liked Java. I figure its better to be honest than lie about a coding structure that I don't really like but when it comes to the WWW and writing applets taht load in browsers to create a more functional page, this animal really flies. An applet can range from a simple search box or text field to full pages that load content like pictures and videos. This also tacks itself very neatly into XML and encorporates AJAX without any hassles. 

Flash
====
It's pretty ... Enough said? I hope not. There was a time when every high-power media company was running to Macromedia for Flash solutions to marketting and sales. These days, with the changes in management at Macromedia and the ever increasing speeds on the internet, the goal is not just a HQ demo but also one that offers more functionality. In my experience with the internet and looking at Flash-Developed websites, this cannot be taken away from Flash. Microsoft may claim that Silverlight is a better option compared to Flash but it simply isn't so. Many design studios and web-design schools still stress on the importance of using Flash to create dynamic webpages with some very creative UI. 

I know this isn't enough to even write the opening page of a book on Java vs Flash but the questions you need to ask yourself when you create a website and are toying with Java vs Flash is this.

  • How much bandwidth does your userbase have?
  • What kind of multi-media are you dealing with on the website?
  • Are you looking at cross-browser and multi-operating system scenarios for your website?
  • Can you afford an Adobe solution vs a Java one?
With these in mind, I think that the answers become pretty clear. Free isn't always better and that's the only advice I can give anyone trying to create smarter pages with more intuitive UI. Ajax is great but its not the only solution out there and if you can integrate Flash in a non-intrusive and more importantly non-memory consumption way, there is no reason why Flash can be better than Java.

Music Listened to while writing this blog - Metallica - Unforgiven III
Favorite Browser for crashing stuff - Internet Explorer 8 Beta 2
Question of the day - How in the world do you activate Vista? 

Wednesday, August 6, 2008

Searching : Finding Files Easily On Intranets/Portals

"Miracles aren't real . Poor understanding is the reality"

Today, I spent nearly an hour trying to find something on the internal network at IBM to install and to my disgust, I was just not able to find it. I was looking for an Executable file that was needed to install an application (for reasons of confidentiality breach I can't say what). That's what this blog post is all about ....

Everyone, at some point or the other, has had the extreme misfortune of looking for something they cannot find. This can happen due to many reasons.

  1. They don't understand the taxonomy with which the data is organized
  2. They don't know what the keywords of the product/information are
  3. The search engine was not able to give them the options they 'thought' were necessary to find what they were looking for
  4. The information was genuinely not available but the search engine still gave them the best possible results to the nearest match ( Kind of like when your parents pat you on the back and say 'You gave it all your best' even though you really didn't)
  5. They didn't really know what they were looking for
I am only going to stick to searching for files in this post because if we opened up the discussion for what we can't find on an intranet, we could be here for days. I had a general idea of what I was looking for but could not find it because no one had tagged the page correctly. I finally did end up asking someone from the team that developed the product about where I needed to go and find the product and lo-and-behold, it actually had a whole website dedicated to it.

Now, I'd like to think that I do know what I am looking for. Infact, when I did finally browse through the webpage, I found the same keywords that I was looking for and it wasn't a new page but a page that has been around since last October. So where did it all go wrong? I could go ahead and blame the search engine (which is really basic but does its job as designed) but I think it might be better to take this case scenario and talk about how searches should work.

File repositories
-----------------
Every big company should really invest in a single repository (maybe a cluster environment in the background) for delivering a search option to users for files they need to find. I will say that in some intranets, I have found the search option for document file types like PDF, XLS, DOC, etc. However, there may be a need to look for stuff like ZIP, EXE, BAT, COM files as well because someone will need to install something and if they can't find it within the first two pages or even the first page, they may just walk away discouraged. I know that if I had an option to set the search type and if the browser was allowed to remember my preferences (a simple cookie issue) then I could safetly improve my search by atleast 70%.

Ideal Scenario
---------------
If I chose to search file repositories and asked for a product, eg. Google Talk. Then I would like to see just the files that came up along with a short description maybe two lines explaining what the file was. Instead of a link to a website only and then have to hunt for the file. The downside to this is that any disclaimers may be bypassed but that can simply be fixed by having the link point to the disclaimer/information page first and then a link to the file either at the top in a frame or at the end of the page.

At the end of the day there will be loads of problems with this structure and many companies would have to change the way their pages are made and deployed. People want the most easiest way to deploy their webpage and content. This can of course change over time if the team that is responsible for managing these deployments makes a good template for how they want the information and how the final page will be deployed. Lots of hurdles on the way but I will write a test case to analyze a scenario and see how it can best be tackled.

Thursday, July 31, 2008

Information Architecture Concepts - An interseting article

Today, in my research, I came across an interesting article that appends stuff to the Jakob Nielsen structure and its delivery of the concept of an Information Architect. After reading it I have some interesting thoughts about the subject but I will be posting them tomorrow after I use my case-study to bring to light problems that have plagued the project I am working on considering an IA was never involved in the first place.

Information Architecture Concepts Link

Referenced from IBM Developer Works - Thanks to Thomas Myer for giving us this information. He can be reached at tom@myerman.com

Wednesday, July 30, 2008

Searching for Information

Every good IA understands the necessity of incorporating a simple-to-complex search engine along with the final product delivered to a customer. Search engines can range from a simple text field to a variety of choices and pull-down menu for power-users. In my experience working on the project at IBM, most users like to avoid going too deep unless their job really requires them to do so.

Being simple, however, does not negate the fact that the back-end needs to support highly complex algorithms for handling even the most ludicrous search strings. Most search engines we encounter today offer error-correction using technologies that can range from word-suggestions(based on the repository), to simply putting a list of items on the screen and allowing you to modify your search from there (Google is the best example here). What you don't want to forget at this point is that the search engine you are developing should cater to the needs to the audience it is being given to and not just the client needs.

While the search functionality in Notes is not one of the best in the industry, it does offer concepts like fuzzy logic and web-syntax searching to let the masses stray away from the age-old Boolean search methods. Sites like Google go the extra distance and even tell users that they do not need to use Boolean operators like AND and NOT to do searching as the client already takes that into account.

Dictionaries are a new concept that have seemed to crop up in projects as many of them are going cross-geography. The choice of American vs British English is something that should not bother users as the choice of words ultimately depends on the end-user and not the search-engine developer.

Content Structuring also plays a very important role in developing a search engine because it helps developers understand how the search engine needs to perform a search when a user has a simple/complex query. More often than most, search-engines should bring up the most relevant result (unless instructed otherwise by the client) in the top ten results on the page.

Lastly, but not least, a help-bot is always useful to guide users in a non-intrusive way to getting their results faster. Examples of this are already covered above when we talked about suggestive words and even correcting spelling mistakes automatically.

For now, these are the few things that I can certainly point out from my experience and there are of course many more things that actually help in the searching process and I will try and catch them as I read about them to bring them to light.

An Introduction

When I first started working with IBM, my goals weren't very clear. It took a while before I finally settled down on what I wanted to finally become and that career path decision came about two years later when I attended a seminar on storage services in IBM. The presenter was explaining how the hierarchy works in storage systems when I happened to look into the concept of becoming an IT Architect.

Prior to attending the seminar my goal was to move into Content Management Systems and I figured that IBM was the place that was going to get me where I had to go. After learning about IA, I started doing some more research and to my joy I have now found what I want to finally become once I have settled properly into my new career which deals with content deployment between two geographies (North America and Europe).

This blog will showcase some of the experiences I have come across and will come across in my journey to reach the final goal of Information Architect. The field is relatively new and with Web 2.0 and other Mash-Up technologies this field can only get better.

I hope you find something useful in here and if you've got something useful let me know either by post or sending me the link to your blog. I don't mind promoting good material and even helping you find information if I can.

With that said, on with the posting ...