Wednesday, February 27, 2013

I want something new but ...

Everybody that is involved with anything creative or that uses a communication medium to get their information across to the masses inevitably asks themselves about how good what they are using really is. This isn't a bad question but the methodology for fixing the issue and moving forward generally falls into various levels of good, bad, foolish and downright ugly. I won't cover the idea as a whole but I would like to talk about websites and how people perceive change there from my perspective.

A few months ago, I started designing a website which I was going to use for my personal promotion. The site had a lot of defining parameters around it ranging from social media contacts, contextual navigation and some other little oddities. However, about two weeks into the process, I decided it just wasn't going to cut it and instead of looking at what was good and retaining it, I simply trashed the entire folder leaving myself no chance to ever get it back. Some people might say that this is a terrible practice and can only be afforded to people that have no contracts or financial responsibilities associated with a site. Others might argue that some critical design elements got lost along the way with all the deleting and trashing. While this might work in instances where critical data and design needs to be retained, I believe that total trashing is warranted more than 70% of the time. The reason I warrant such a big number to the idea of trashing is for the following reasons.

Most sites have no lexical backbone
Whenever I look at a dynamic or static site, I always ask myself what would happen if I removed all the fluff and the unnecessary elements from the page. Would I be left with a skeleton that could easily be dressed up to look human again? Or do I end up with a framework that will require to be coaxed and cajoled to look like something new? If the answer is the latter, I just trash it. Poor design requires a very crude handling because hidden inside the lexicons of poor design is something even more dangerous ... more poor design. I always try to imagine a website like a little child who needs to be dressed for different occasions. The child is always the same but the occasion is different and all that is required is the appearance and mannerism of that child. You change the clothes, the haircut, the height, the weight or even limbs (I am not a sadist) and yet the child is still the same person he/she was before you did everything you could. When sites have no clear definition of what they want to provide at the very core of their existence, this turns into a much bigger problem than hiring a bunch of people and asking them to make you something 'cool'. I have learned over time that if the base of my design is clear and the vision of what the site is going to provide, integrate and allow to scale are very clear then it doesn't matter if I have to change the look of the site or even adopt new technologies (within reason) because the base of the site will always be designed to do just that.

But we want to keep Function X because it was really very good
I love ketchup. I love it so much that giving it up almost seems criminal. But then I ask myself, would I eat ketchup with a really good ice-cream and then I start realizing that my love of ketchup is contextual. The same goes for site-design and more with site-redesign. When looking at revamping or redesigning everything, I like to think that the site never existed and focus on what the goal is versus keeping functions that existed on the old site. There may be exceptions here but I can safely say that even those exceptions are really never good enough to reintroduce themselves into the new design because they are also going to be completely redesigned. Sometimes, a site owner or a project owner will be adamant about these kinds of topics. I try and dissuade them from following this path because now the overall design starts to incorporate restrictions that forced the old site to get into a state of redesign. I also ask myself whether bringing in older functions is really necessary because if you are bring back something old then what does that do to your overall view or projection of how the site is going to function and feel.

Lets change everything all at once
This is generally a great idea but it also comes at a price ... time. If you've got enough time and can set good project deadlines then this works the best. However, in the real world, time is always a huge factor in any revamp project and tends to leave the door open for compromises to be made on various parts of a project. If time is a factor, I always recommend hitting the parts of the site that need the most work first and then slowly branch out to the parts of the site that are lower down the chain. Ideally, this wold never be the case if the site had a consistent flow throughout its design but with old methodologies seeing an exit from the design arena this does happen quite a bit.

I could go on more here but these three topics are what I feel start me down the path of trashing versus keeping and upgrading. In most cases, I see a design and really appreciate it until I start looking deeper and expose flaws that I would like to eradicate with tighter planning. I have been pretty successful in keeping my current design with these thoughts in mind but even I know how easily that could be changed.

P.S. The site goes up at the end of March and if you are on this blog and read it I would definitely love to hear from you about whether I managed to practice what I am preaching.

Thursday, December 6, 2012

Get it done - Why the OS doesn't matter

For the past three months, I have been conducting a series of experiments with rigs and VMs that have a multitude of operating systems installed for testing purposes. The reason for doing this is that I asked myself a very serious question sometime around the month of May after talking to a person at a wedding who stated that Macs were the way to go if you wanted to do any serious work. I then started asking myself what my daily tasks were and how impeded I would be if I didn't have Windows to do my work. The answer I found was also a path of work-enlightenment just as much as a clear view into how most people view their workstations.

I have pitted three operating systems against each other with a list of tasks that "I" (I can''t stress this enough without starting a flame war from zealots in either camp) needed to perform on a daily basis.

Operating Systems

Windows 7
Windows 8
Mac OSX Mountain Lion
Ubuntu 12.04 LTS

Tasks

Email
Chatting
Installing Software
Multimedia
Development

Email
Let's face it, everyone needs email and without it, most of us might not be able to get our work done. However, this task is no longer isolated to a single operating system or even a single email-client. I used to think Outlook was a gift from the gods when it came to connecting to email services and even setting them up. But, these days, I find myself more drawn to web-based email services and the ease of use they all offer. I use both Gmail and Hotmail/Outlook for my personal/work email and while we could say that these are poor examples of testing email productivity on an operating system, it is a reality that most people are flocking to free services and have been for many years. But, this doesn't absolve an operating system from still having nuances when it comes to using web-based emails. The clear winner here for me was Ubuntu. Why you may ask? Well, it just never hiccuped and was so fast that I never really felt it ever cause any lags or the dreaded "I clicked but it never did anything". The other OSes were sharp as well with both Windows falling to third place simply because no matter what browser I used on them, I always found dead clicks in my web mail. I find this rather odd because with Outlook/Hotmail, I'd expect Internet Explorer 9/10 to really show-up the rest of the web-browser community but sadly it lacked any punch.

When it came to email clients however, Ubuntu got relegated to the back of the bunch simply because Thunderbird was never going to cut it for me. Windows 8 and Mountain Lion moved up the chain but  I'd give a bit of edge to Windows 8 simply because I had fewer clicks to get to my destination and the services choice with Exchange support came natively with the Pro package. Let me state for the record that the Email client on ML was superb from a usage perspective but getting started threw me off a bit and while they all really did the same job of connecting to a service and auto-updating my settings to get the data in, I found Windows 8 to do a far better job of mail management and presentation than the Mac.

Still, you'd be hard-pressed to find a modern-day operating system that didn't offer email support that could meet your needs. Ubuntu is a big challenge but if you have services like Gmail or Outlook this doesn't really make a difference and the browser will be far more snappier.

Winner : Ubuntu 12.04 LTS
Runner-Up : Windows 8

Chatting
This is another difficult task to really gauge on all the platforms I worked on but with Google Talk being the roost winner here and other services also going to the web, this turned into a browser war again and really wasn't worth the effort. I did however, explore chat options across multiple platforms and came back pleasantly surprised with what I had found. The Mac I was using ran Adium and it did what it was supposed to do, offered me chat. Similarly, on Linux, I was offered Pidgin which has been around for a long time but really does need a little bit of tweaking to get started with Google Talk services. And then there was Windows which really just blew the competition away in terms of functional richness in chat-clients. I did try to be unbiased here but after working in Windows 7 with the chat clients I use on a daily basis, the W7 OS came up on top. Windows 8 moved down the tree to the bottom of the list because it just never offered enough to connect to chat services most end-users would really like to, Google Talk being the most important of them all for me.

Winner : Windows 7
Runner-Up: OSX

Installing Software
Now, this is one place where as a long-term Windows and Linux user, I can truly start to appreciate Macs. The ease of installation and the additional ease with which the UI moved me from download to installation was the best I saw across multiple platforms. I'd put the Windows 8 Store in there but I don't think my installation of common applications on Windows would compare to what the Mac had to offer. When it came to complexity and full control however, Ubuntu just blew everyone else away but also required a PhD in understanding the entire OS to get what you wanted specifically. Linux users don't seem to mind this and I don't either but a person with no knowledge of permissions or directory structures could find themselves lost at just getting an application to install. Updates were also easier on a Mac and while Windows 8 has gotten better, I found that getting to the Update screen wasn't all that intuitive. Linux did a better job here but the Mac just seemed more polished in its approach to installations making them easy enough for a novice to an expert to handle.

Winner: OSX
Runner-Up: Windows 8
Special Mention: Ubuntu (Most flexible)

Multimedia
I love listening to music and watch the occasional movie on my workstation. That said, my experience with music applications on all systems generally left me with a bitter taste in my mouth. OSX and iTunes 11 strayed away from a very good iTunes 10 which would have left me crowning OSX as the clear winner but iTunes 11 was choppy in its performance at best. Windows 8 and the Xbox style music center was no better and didn't offer me intuitive controls to get to my music easily. Furthermore, the folder browsing was god-awful and I wouldn't recommend letting it play your music unless you really have a need to pull your eyes out. Ubuntu was just so short changed when it came to a proper music organiser that I couldn't even bring myself to using any of the options I was presented with simply because they just didn't live up to my expectations of finding tracks and organising them to my satisfaction. As a note, all my music is tagged and has their information downloaded and stores as meta-data because I buy a CD and then just burn it locally for dispersal to my iPod for listening.

When it came to movies it was also a very cagey affair with all platforms offering VLC and the proprietary variants. OSX's QuickTime is a great movie player when it works for me but it couldn't handle certain Xvid rips I had thrown at it. Linux just gobble everything up because VLC is really that good. Windows 7 did the same but the native Windows Media Player is another example of something that could have been better. Then came Windows 8. I was shockingly surprised that it just played anything that I threw at it. In fact, it even outperformed VLC in the load times and content playback. Shocking I know.

As far as clarity went, I could go out on a limb and give Macs the upperhand here but that becomes a hardware issue and not really just a software one. So I am going to say that they all perform rather well once things are setup correctly. The only exception to the software-side of movie rendering falls on Linux where I was able to actually squeeze more power out of the OS by using VLC which I find strange because i'd expect the same power to be squeezed out of OSX as well but it never happened.

Music Winner : No one really
Movie Native Player Winner : Windows 8 (Native)

Development
If you are a hard-core open source fan then Windows is really not your OS of choice when it comes to developing those kinds of solutions. I still find myself struggling to get JBOSS and Ruby to work well in Windows while on Linux and OSX, its a rather painless process (it's never totally painless). Then comes the more OS-restricted development tools such as .NET and Cocoa. Microsoft have gone the extra mile with VS 2012 and I have to say that overall, it is the best IDE you will ever use on any system for building an application. Type-aheads, project creation and even plug-in integration were smooth and seamless leaving me with a feeling that no matter what I wanted to install for augmentation to a project, I could just find and install. With Cocoa and Xcode, this wasn't the case as is with most applications in a Linux/UNIX environment. I didn't think it was terrible by any means but it just lacked the kind of overall polished feel I got with Visual Studio but it is the only place you can develop Apple Store Apps and for what it claims to do, it does it very well. Coming to cross-platform IDEs, Eclipse was one I used to test and Linux blew the rest of the competition away comfortably. I was able to connect to servers and create Java/Android projects easily while on OSX and Windows it seems to be less responsive. I did try and go back to OSX to see if there was anything I had done wrong but considering the install process for Eclipse is really just drag and drop, it didn't really need any tinkering, nor should it ever.

Still, in a world where open-source technologies are making strides both from a server-hosting and thick-client, Linux just showed enough to me for a clear warrant as the most versatile OS for development out there. Windows has .NET and OSX has XCode/Cocoa but I'll be honest in saying that if I really had to single out one IDE that was the best in overall development needs, I'd go with Visual Studio because it really has come miles from the closed shell IDE it used to be.

Winner: Linux (Overall)
Runner-Up: Windows 7/8
Best IDE: Visual Studio

Closing Notes
So, after all of this what you really want to know is "Which one should I get?". The answer is really not as easy as it sounds and the comment made to me months ago holds absolutely no truth at all. In my opinion, it doesn't really matter which platform you choose because the ultimate end-product is whether you are productive or not and if the platform can meet your daily needs.

A lot of people bash Windows because it crashes too much and has no real place in the open world because it is a piece of junk. Some of that might be true and while it does crash a lot (I haven't had a crash in a while), there are some very redeeming qualities. It has any software you can imagine out there, comes with a slew of help online about DIY projects if you have any and in most cases runs applications and connects to devices with as much ease as anything you'll get out there. It also offer the rig-builder's dream of upgrading because drivers are easily available and everyone has a Windows variant.

When it comes to Mac people praise them as being easy to use and I agree with this statement. If you are just getting into computers and want something that gets you running with daily tasks and easy-to-understand interfaces then this is the right OS for you. A netbook might do the same these days but when you say Netbook, all the cool-kids might not invite you into the circle even though you are a minimalist that is able to perform all the tasks they can (joking). Also, I like iPods and if you own one, this is the OS for you. The compatibility is outstanding and the software just matches that (when Apple leaves iTunes 11 that is). Multimedia feels a bit richer and browsing and the care that Apple has put into simple web-tasks like creating calendar invites through the OS and notifications are noteworthy. Is it a clear winner? No. That would involve making it perform every task I could throw at it without a hiccup and there isn't an OS out there that does this ... yet. Development made me feel a bit encumbered at times and while they do offer great support for Open-Source development, Linux does the same and in some respects does it faster.

Lastly, Linux, where do I start here? If you're the kind of person that wants to tinker and just be on top of everything your OS does then this is where you need to be. It's free, offer multitudes of desktop and IDEs to play from, has a burgeoning development community which offers some of the best, if not the best support when it comes to Q+A and it is the only OS I found that wouldn't care if you were running it on a 5 year old machine versus a brand-spanking new one. The issue with Linux is the complexity it has been trying to mask for many years. Sure there's Ubuntu and other variants but it's still not polished enough for my taste considering what you can get as a closed-option (OSX) or a integrated-option (Windows). If you're the kind of person that does everything in their browser and doesn't play any games go with Linux because honestly its fast enough to not make you want to wait and it has so much documentation for tinkering that you'll probably want to start writing your own scripts and making your OS do what you want it to do when you want it to do it. The learning curve is certainly steep but the rewards at the end are staggering. It also happens to be the best OS for hosting and with over half the world running Linux Servers its easy to see why this OS is clearly for the garage-shop user.

Personally, I like Linux myself. I've only run into development issues with having to write applications in Xcode or .NET and then having to switch to those platforms but as an OS it is a joy to work with and I can't see myself tearing away from it as a daily OS until I really need to. It runs my Media server the best out of all the OSes I tried, offers me enough support for development and has some of the best memory management for Virtual Machines I have seen out there. But, I do switch between other OSes just to see what's new and how they are attacking User Experience as a whole on their platforms. Macs have their plus points but so does Windows 8. Whatever you choose, the real question isn't whether its the best OS out there, it should be what can it do for me? Once you answer that question the name of the company, the brand of the hardware or even the nuances of the OS will not matter because you are really getting shit done.

Merry X'mas everyone.

Sunday, November 4, 2012

A Day with Windows 8

Yesterday, I made a thrifty decision and decided to install Microsoft's new operating system Windows 8 on my desktop at home. I had wrestled with the decision for a while as my Windows 7 ultimate instance has been running very well and the old saying of "why fix what isn't broken" deterred me for a total of 10 minutes before I went ahead and tried to obtain a copy of Windows 8. I will walk through my experience with it all and I have to say the experience was not as bad as any other Windows Operating System I have ever installed.


The Rig

  • Processor: AMD Phenom II X6 1055T
  • RAM: 16GB Corsair
  • SSD: Crucial M4 128GB
  • HDD: 500GB WD
  • Mouse: Razer Black Adder
  • HID(Other): WACOM Intuos5 Medium
  • Monitor Res: 1920 X 1080
  • GFX: nVidia GeForce GTX 460 SE

The Pre-Install

If you visit the Microsoft Windows website, mine was windows.co.in, you will be shown all the nice little features that Microsoft has to offer with their new flagship OS but what I was really interested in was getting copy of Windows 8. I clicked the link for a INR 1,999 upgrade to Windows 8 and was asked to download a file (The Windows Upgrade Advisor). 

After about 10 minutes of the file running, it tells you what is on your system and what can make the transition over to Windows 8 safely without any harm. It will also tell you what applications have available updates and how you can go about getting them. After choosing the OS I wanted (W8PRO), the advisor then took me to a simple form to fill out my CC details and it also gave me the option of ordering a DVD for delivery to my address. I opted out of the DVD and I will tell you why later. Needless to say that purchasing Windows 8 was easier than I expected. However, some reading on the internet might prove useful to anyone making a purchase and wanting specific OS options (32bit vs 64bit). For e.g., if you own a 32-bit version of Windows 7 and run the installer from your hard-disk, you will only get a 32-bit version of Windows 8. Sneaky? I can't really say but having an option for what you wanted to download from Microsoft might have proved useful in both the install and download portion of the Windows purchase and install process.

One thing I do want to note and thank Microsoft for is that after the power department in Bangalore failing and taking my rig with down not once, not twice but seven times, the Windows 8 download and installer always resumed from where it had stopped. Yes, my OS was halted by a power failure but the OS downloader just carried on from where it had last stopped and this is after executing it from a pen-drive save of the Advisor.

The Install

Now, I was ready to start my install with the download done and Microsoft has made it a lot easier to manage how you want to go about doing the install. For a quick run-down go to the link below because I could not have explained this portion any better.

http://www.soluto.com/knowledgebase/how-to-install-windows-8

The Pros

  • You are given three choices ISO, USB and Install from hard-drive
  • The process is very quick on an SSD and for that matter pretty fast on a regular HDD as well
  • It runs in the background downloading everything and updating what's required on the HDD without leaving you with those god-awful little snippets about what the OS is about to do and what it can do
  • I was done with my entire install and started using the OS in less than 30 minutes and I could only make a coffee, eat a candy bar and chase my dog around the house
  • Allows a delayed install from the hard drive (In the event that that bathroom break becomes a bathroom marathon)
The Cons
  • If you are on a terribly slow internet connection, fork over the INR 1,099 and get the disc delivered otherwise its going to be a long day to get Windows 8
  • If you do not choose the ISO option or the USB one, I have no idea where the files are stored on your HDD because it never shows them to you. A Google search might reveal where it is but oh-well.
  • It does not do parallel installs with Windows 7 and you have to be partition savvy to do this. In this regard I give Ubuntu a high-five, it actually asks you how you want to manage your current OS and lets you keep it. Funny that Microsoft can't take better care of its older kids.

Windows 8

After getting in the first thing Microsoft does is ask for a Windows Live/Microsoft Account, I used my age-old hotmail ID that I have had for years and it started importing all my settings. A note here is that if you were using the Developer or RC Previews, all your settings from those are easily ported over to your current installation and things will set themselves up accordingly. Don't have a Microsoft ID and don't want one? No problem, there are options for a local account although you will be reminded that nothing syncs over (shrugs shoulders). I recommend using a Windows Live account ID because the experience if you do is completely different from using a local account and with all my social networks linked to my Microsoft ID it became simpler to connect all my services together.

The User Interface
I'll go ahead and say that what Microsoft has done for it's front-end is not for everyone, the tiles are well suited for someone that has an eye for grouped orientation of applications but for someone that wants a clean desktop as a workspace and then having to pick their options its going to be a nightmare. I don't really hate it and the more I use it, the more I feel that this was the right way to go for an OS that is built around an App Store for the front-end. But it is fluid and it screams in terms of how long it takes you to switch between applications. The Windows Key offers the functionality of taking you back to the Home Screen or switch back to the application you were in (W.KEY + D) for the keyboard shortcut savvy folks out there. I sometimes felt that the tiles were a little too close to each other but a little click and drag made me feel a bit more comfortable with what I was seeing. 



Contextual menus options now come in the form of a bar at the bottom of the screen on the homepage and in some application as a bar at the bottom and top. I will go ahead and applaud Microsoft for using this approach because as a mouse, touch-pad and WACOM touch interface user, it can get a bit annoying when you have contextual menus show up near objects when you want them for the entire screen space that you are in. That said, the old little context menus do show up near objects as well if you only intend on performing operations on those objects. The entire Windows 8 experience primarily resides in the four corners of your screen, moving the mouse cursor to the top right brings up the screen master contextual menu (can't remember what they call it) and from here you can change your PC settings, search, share and connect to Devices. Window switching works like it did in Windows 7 with Alt-Tab cycling through Windows in a little box telling you which window you are in and the WKEY-Tab offering you what looks like an Android-esque ribbon with all your windows neatly arranged.

Miss your old Desktop? Well don't worry its there for all those non-friendly Windows 8 applications (everything out there right now) but it did feel a little crippled. Gone is the Start button that everyone has gotten so used to and it is replaced by a Task Bar with a pinned IE and a File Explorer icon. If you are coming to Windows 8 from older versions of Windows, this is where you might feel comfortable the most before going back to the front-end but trust me if you don't ever use the front-end then you are missing the best part of this new OS. Using the keyboard to just type and find applications was quick and recommendations to install applications were almost instantaneous. I went looking for a Google Search application and was extremely pleased when the search box on the right actually told me that there was one in the Store for installation.

I could go on about the UI and how certain aspects like the mail manager, the calendar manager or the people and messaging management were just too fluid to believe but I think it really can't be explained till you install the OS for yourself.

The Mouse, Your sweaty palms, Touch-Enabled devices
This is the one place where everyone is going to have extreme opinions on what Microsoft should have done and what is going to be done. The HID (Human Interface Device) choice is what will make or break your Windows 8 experience. Before installing W8, I was a bit skeptic of how they were going to translate a finger to a mouse because lets be honest, our mice are better than our fingers (joking). I was however, very pleased with the fact that Microsoft has done a good job here. Using a mouse doesn't make you feel encumbered and after a bit of struggling to find out how to move between articles in a feed, I finally realized that the scroll button was the way to go. The rest of the contextual mappings in the UI like bringing up the settings or deleting items all worked as my mind had expected them to, with a right-click. 

I never got to use my fingers on my screen (soon), but what I did get to use was a WACOM touch-board and now I am thinking that I will never use my mouse for anything but precision work. The board connected to W8 with ease and the drive installation as a matter of telling the OS to go ahead and download what it needed to customize the driver specs for my device. After that, it was a matter of swiping with my finger and using my hand to do all the things that W8 was meant to do. Was the experience different? Try eating a chicken dinner without using your hands. Messy? Yes. Not enjoyable? Up for discussion.

Getting Connected
I'll be the first to admit that email accounts should not require special tinkering to get started because if you have your ID and password then everything else should be done by the OS. Microsoft seems to think the same way and does a pretty good job of allowing email setup to be a breeze. It even setup Facebook, Twitter and LinkedIn based on my choices during my use of the DevPreview. Messaging came online in seconds and allowed me to connect to all my friends via Facebook and MSN but for some reason getting the Gtalk or IRC interfaces into the mix seemed to be a bit troublesome. I don't doubt that someone will soon release an app to get Gtalk working because I think it would work really well with the new messaging interface that Microsoft has.



The Photos application even allowed me to connect to other devices (Win7) on my network and share their pictures and videos with just a single HomeGroup password (available on Win7 too). This coupled with SkyDrive and my ginormous account size there made sharing files between non-windows devices easier as well.

 I'd say more on this topic but there are plenty of YouTube videos out there for you to go and look at.

Too Good To Be True
And now everyone that knows me is wondering why I haven't written anything bad? Well, there are some things that are rather annoying about the new OS and here they are. 

Sometimes, when you are working in application A and you want application B to come to forefront with a warning message application B just goes about showing the warning and gets completely suppressed. E.g. Installing Java SDK 7.0 was a bit confusing at first because I started the install but the install screen never came to the front. Why MS did this makes a bit of sense considering that you are in App A and don't want to be bothere by App B but unless I knew that I had to switch to the Desktop to get to App B I would have probably been clicking the file to install all day long.

The file system needs an actual File Explorer application on the home page. This will be one of the biggest cribs that seasoned Windows users will bring to the table. Why not allow a W8PRO user to browse the files or the file structure on their HDD from the home page? I mean we made a choice to use PRO right? 

The Music application is nice but I'd like a way to import my entire music folder instead of just selecting single files and then having to do that process or create a playlist with all my files everytime I wanted to load my entire music library. 

Creating a local account was super easy but when I tried to change the permissions of the local account and then switch to it, the entire UI just got completely mangled on front-end and I had to move boxes around to finally get what I wanted. I figure there has to be an easy option for setting up all the local accounts on the system with a button that says "mimic user XYZ".

A better tutorial for mouse users on what to expect on the system and how to go about making your mouse into the Master and Commander of all things W8. I didn't have any issues because I like playing around with the system but if someone who wasn't computer savvy came on-board then things might have been a bit hairy at first. I think Microsoft did this intentionally but I can't be totally sure.

My Favorites

The Sport App
Gone are the days where I need to check on my favorite football team (Liverpool). Now, W8 gives me a total breakdown of fixtures, match-timing, roster lists, etc. and its all neatly organized in the application. Furthermore, I can see sports news from around the world with just a click of a button.



The Travel App
I like checking flight ticket prices for destinations around the world and the travel app from Bing Travel is actually very good. What I would like here is to integrate more service providers into the system so that I can actually choose my service provider instead of relying on Kayak to show me tickets and their availability.



SkyDrive
I like Google Drive A LOT but Microsoft SkyDrive just gives me more and actually does a better job of space management and sharing. 


Closing Comments

Windows 8 isn't for everyone. The flush UI doesn't really appeal to everyone on first run and most people will read the internet articles and make a decision based on public opinion (we are human after all). But if you take the time to actually use the new OS and start working with it, there is a lot to appreciate with how MS has gone about trimming down all the fluff and actually offering something that is very robust to an end-user. My big gripe with this is that developers will come to it and not feel geeked-up enough to want to stay around long enough but that will change once they start putting the useful features that devs need to stay on top of their day-to-day tasks. I like the new UI and the new direction MS are heading in. I feel that the Desktop should stay the way it is because it forces everyone to change the way they think of an OS and additionally forces people to actually use the applications out there to make their daily tasks easier to handle. The Store needs more content but that will come with time because everyone is updating their content to work with Windows 8. More services for connecting to other popular sites like Pinterest, 500px, LinkedIn, Gtalk, etc. should make their appearance soon as well because having a few services is good but its not there quite yet. 

If you are a developer/system-admin then you can get around most menial tasks by using the old Windows 7 features but if that is the case then why upgrade. Microsoft offers enough accompanying software to suit the dev-geek in you (Visual Studio 2012 is an absolute treat) along with a rich UI that can be adapted to suit anyone's needs.

So, that said, I say go out and get a copy of W8 today to play around with. Whether its in a VM or as your actual OS, you will get a brand new experience and if you don't like it then just revert back to what you were always using. For now, I like it and I plan on forcing myself to use it as my only OS for the next few days (barring my work OS) till I see if I really like it not. One look and touch is not enough to make a decision on this OS and I am going to give it the time its asking for to see whether it sticks around or not.

Wednesday, January 4, 2012

Is one browser really good enough?

I would like to start this first blog for 2012 with a Happy New Year message to anyone reading this. With that aside, today's topic of discussion is how efficient having a single browser on an OS is for the end-user?

My answer to this question is to never use just one browser. In fact, the use of multiple browsers not only negates the possibility of having incompatible websites run on a machine but also doesn't limit the user in their choices. Sure, there are web-standards out there that most web-development houses should be following but the problem is both with the developers as well as the browsers themselves. Everyone wants to do something different but that being said, the amount of testing for a cohesive experience across all browsers isn't nearly as enough as it should be. Couple this lack of cohesion with the timely demise of flash and its succession to HTML5 and we are once again back to standards that are never really followed. I suppose the big culprits like Internet Explorer and for some reason Google Chrome will probably be the biggest players in the problems users will see when using the Internet.

A good example of a problem I recently ran into was when I tried to use the ICICI website with a Chrome stable release version on my netbook. An errant QuickTime plugin forced the browser to create a full-screen blue layer that wouldn't allow me to get to the login page. My only option at that point was to switch over to Firefox and get my work done. This however is a situation that was easily remedied and I then found myself asking the question about what Chrome OS users do when such a problem arises? There really is no way to install another browser and there is no way we can run an IE variant on the OS so the user is essentially stuck with their browser and no way to get to their site.

The solution in most cases is to not use a non-multiplatform/browser plugin and its getting better everyday but only to a certain extent. Most older systems will still plague single browser users and not having an option to use the browser of your choice to get your work done makes it even harder for end-users to have a pleasant browsing experience.

Browser Ranking (Personal choice)

1. Firefox [As heavy as it may be, this is still the number one browser for me across any platform. It has a large extension library, doesn't really choke too often on any websites and also offer hardware acceleration where possible]

2. Google Chrome [Flaky at times, as seen in my example, but overall a fast and easy to use browser]

3. Opera [Best browser functionality experience that allows you to search content within pages, Dragonfly is much better than Firebug from a debugging perspective but with such a low usage, its probably never going to make it into the top two anytime soon]

4. Safari for Windows

5. IE9 [Far too cluttered and way too much user-intervention to make decisions on things that should be done seamlessly in the backend. Microsoft dropped the ball here but lets see what they do to make up for it with the next IE release]

 It used to be a matter of speed versus choice once upon a time and now its a matter of which browser covers enough standards, has enough of plugins to make no site crash and which browser offers the most seamless experience. I hope you aren't using a single browser and if you are my strong suggestion is to start using a secondary browser to rid yourself of any problems you may run into with your primary browser. Good luck.

Tuesday, November 8, 2011

Asking Why

Someone once said that your home should be the most comfortable and nurturing place because it is the one place you spend the most time at. While this may be true there is a place that we spend far more time in within our limited lives that is far more important than the houses we live in ... our minds. What always amazes me about the brain is its ability to decipher what is good and bad either by social conditioning or adaptive circumstance. There may be other methods governing preference, survival and comfort but these two probably rank high up in the chain if not at the top of the list fighting for the number one slot.

The reason why I have even bothered to put this post up here on my technically inclined blog is to ask myself and any readers that come here about why certain concepts work and why others simply fade into the night sky? I was never really inspired to ask this question because, to be honest, its something we do involuntarily every time we see a pretty site, buy a new gadget to integrate into our existing slew of gadgets or even when we pick up the phone and call a friend. But lets forget about our social dispositions to preference for a minute and talk more about the technical aspects that truly amaze us. A few years ago, the Nintendo corporation stuck their necks out with a console that was specifically built around the concept of motion sensing. What happened? People went wow for a bit and then it slowly died down till everyone else in the same sphere realized it was something that was still raw and unpolished, waiting to be taken and refined for better use. So, up steps Microsoft, the idea is converted to Kinect and before you know it they are showcasing their upgraded feature with all the marketing pzazz that goes along with the circus show. What happened? Nothing exorbitantly different from when Nintendo did the same thing.

Most people see the problems but not many people see why it all happened in the first place.  Was there enough insight? Was enough market research done? Was there a clear direction on the product development? Notice where I am going with all this? While all the above questions always give a clear indication of profit to be made, they never really answer the question of whether the consumer is going to come back to you with arms wide open asking for more (in some cases on their knees too but that's another blog and certainly not welcome here).

And so enters the one word, which when coupled with a question mark almost always stirs the pot and demands answers of the most toughest nature, "Why?". Some people I know generally run away from this question but there are others, very few, that seem to thrive on this word like vultures on a dead carcass. Most people sign up on new sites because their friends are doing or because the rest of the population thinks that it is cool and great to use. After some time they find it cumbersome but they stick with it and why? Because everyone else is using it or it has the most information they need. Very few people personally relate with the products they use in the commercial environment and even fewer do so in the corporate work-space. Bridging this gap clearly makes for a true winning product. Some companies like to think they have the winning formula by either removing certain user demographics from their product goal or by simply knowing that users can't go anywhere else (you know who you are). While this may make for great profits it certainly doesn't make for a killer product that is never going to be replaced. When you start throwing questions like why do they need this? why should we be doing this? why aren't we doing this? why is this working so well and why is it that no one is really leveraging it? Then you can start the creative process of finding the next step in the chain to make things easier.

When building a site/product the questions generated  by asking why instead of what are the ones that take the top of the heap. Sadly, most people never ask this question due to time constraints or because the overlord known as the boss simply won't allow it. I encourage most people I know to ask this question because until it is asked you are merely following and not leading.

Is there something you are currently working on that needs a why instead of a what? Post in the comments section and perhaps with a little bit of collaboration we can all help each other.

Tuesday, November 1, 2011

You and I - Breaking traditions - A browser experience

In a world rampant with emerging technology, the end-user finds themselves tasked with making some very difficult decisions. What's good for me? Is this going to last me a long time? Have I invested wisely? Will this work for everyone I know? Can I share this with everyone? Is this really the direction I want to go in?

Most of these questions are asked by users around the web whenever they first sign onto a service or pay for a service they have been using for free and wish to upgrade to. The questions are very valid and while they usually end up being rather simple for the end-user, they generally end up being tasking for development houses. Why? Cross-browser compatibility. This ugly gremlin has been plaguing the internet ever since the introduction of the worlds second browser. What that browser is I have no idea but I can say this, the introduction of browser variants into the internet ecosphere has created new and exciting challenges both for web-developers and consumers alike. As a developer, I am often asked whether a web-application will run on all the current browsers that the market has to offer. While the answer in most cases is yes, I do run into the occasional miscreant that will not play well with its other internet brothers and sisters (yes I think browsers have genders and ages too!).  The biggest non-compliant browser out there is the entire line put out by Microsoft. While this may sound difficult to digest by a large majority of the population, it isn't hard to imagine it being the most used browser simply because it comes with every known flavor of windows post Windows 98.  Internet Explorer tends to be extremely difficult in the one place that the W3C has tried to do the most work over the past decade ... Cascading Style Sheets. Internet Explorer 9 offers some relief from the madness but I fully suspect that it too shall go the way of its older counterparts very soon. The reason? There are four versions prior to it still in use and this means that every end-user/service user/web developer needs to keep that in mind while writing/using/deploying web applications and services. Sounds fun right? Not.

But the purpose of this blog post isn't to bash IE because for all its misgivings, it truly set the standards for any other browser to succeed and very few have even if you think that having three options is more than sufficient. Furthermore, every known browser out there has its own set of quirks that we have to learn to cope with everytime we visit a webpage. I find that Safari and Opera are the twins of terror here because while some things work exceeding well in Safari, Opera sets the pace for adopting whatever is new in the internet without the blink of an eye. This is good in some ways but can lead to very taxing issues as I realized while working with iFrames and the everlasting tables issue that Opera will never get rid of. Firefox and Chrome seem to be well behaved but they too run into their own little issues when it comes to generating pages and getting them to work right. Although the challenges are many, a lot of developers have since overcome these issues and are now safely in the forward motion when it comes to web development on any of the current browsers this generation has to offer. You can find code strewn with exceptions for browsers and CSS using all sorts of trickery and magic to fix issues that would have otherwise made your browsing experience a salty one.

With all these little modifications in place, most browsers will render a web-application to the end-user with the accuracy required to accommodate a homogenous User Experience (UX). But why should it be like this? Why can't every browser deliver the end-user a UX that is browser-specific? Is it too hard to ask development houses to write code for browsers based on the strengths of a browser? Is it too hard for browser development organizations and companies to expose functionality that makes their browser king of the roost? I certainly think not. What if the web-page you designed was able to deliver a different but similar User Experience based on the browser that the user had? It might make more sense to think of this in a much larger context. With smartphones and tablets flooding the market-place, webpages are no longer rendered on the traditional desktop environment. Developers created specific mobile application pages to cater to this need and I don't see why leveraging browsers strengths/faults cannot be done on the same lines.

I'd love to give examples here but that might take all day and would certainly not benefit me in any way because it pays to get paid (oxymoronic I know). The thought I would like to leave you with however is this. When you develop your next web-application don't think about the application as single entity with one face but an application that offers users different experiences based on the browser they are in. While this might turn your management's face white with fear I can almost guarantee that it will start a thought process that will either end in a much cleaner and more realistic requirements-set or a totally radical idea that will set a much stronger trend than we currently have for web-development. The web isn't getting any smaller or easier, leveraging everything we are giving for free is only going to make things better for everyone in the longer run.

Melroy Coelho
Web Developer and UXD Fan

Saturday, January 30, 2010

Chromium OS

So after a lot of thinking and contemplation, I decided to finally take the plunge and start using Chromium OS on my laptop. Most of what I have learned over the short span of using it has been good but there are some small hitches that I have found in the Operating system that have left me a little bitter about the 'Net Book' experience.

For anyone that has ever used Google's browser, the Chromium OS interface should look pretty familiar. There really is nothing called an application but with the introduction of Extensions for Chrome, the experience of using an OS built completely on a very quick browser has been pretty good. I loaded things like Firebug, a tab organizer, a Google Wave notifier and a Gmail extension.

Any Microsoft Windows user who is used to the Start button will like that Google has gone ahead and followed a similar philosophy with Chromium OS giving users the ability to see applications in a neatly nested rows. The only problem I really see with this is that the applications listed are nothing but bookmarks and could probably have been organized a bit differently. Perhaps giving users a drop down instead of a whole page might save screen and page real-estate. Then again what I am mentioning is probably from my bias with using Windows and Linux for a long time.

Lastly, the one thing that Chromium truly excels at is the speed of loading and it took me a total of 4.5 seconds to get into the OS and start using it.

I don't see too many people adopting this as the OS for research, mail browsing and the general chatting using GTalk. But, the way most people think these days and the speed with which applications and services like SAAS are growing, Google needs to step up to the plate and offer users an experience that is completely different from installing Chrome OS on their Windows or Linux machines instead of just rehashing the Chrome browser and calling it an Operating System. Its a good move by Google but it certainly requires a lot more work before I would treat is as a good Operating System.



Monday, June 29, 2009

Web Browsers as Application Hubs (A Primer)

The world is changing quickly and along with this change comes an exponential increase in the "I Can't Wait For It" factor. Companies lose out on the wow-factor when they release applications too late and miss the deadline while their competitors swoop in and steal he initial user-base. I recently read an article on Cloud Computing and it got me thinking about how the hardware and software industry is going to change if and when this becomes the defacto for computing world-wide. If you haven't done any reading on Cloud Computing, I suggest going to the following link. The underlying concept of Software as a Service (SaaS) raises some very good points about software deployment, its use and its longevity.

Imagine an OS where you only had a browser and it provided you all the collaborative servicing you needed to get your work done. Additionally, imagine a service on the browser that provided you with the ability to do everything your operating system did without having to waste precious hard drive space to do so. The trend of making larger pieces of software is slowly wearing down the generic user and is more-so wasting space on a users hard drive as they never use the entire functionality of most software packages. The answer to this is to simply install the function or component when its needed but the underlying problem of having it sit there is still the root problem of unnecessary use of space.

Things that are already available through cloud-computing services worldwide.

  • Documents and collaborative services (Google)
  • Widgets (God these have been around forever)
  • Java applets that are server sided (too many to name)
  • Media players that are applets on the system (can be server sided too)
The benefits are wondrous and would even negate the necessity for someone to go out and shell cart-loads of money on a system that is over-powered for their needs. The only thing that needs to improve is the speed of connectivity with the ISP and the base system used for this. The service providers will also need to setup a server capable of handling the large-scale requests that users will require when working with the software but that is just a formality as there are large data centers worldwide that already do these kinds of things.

To conlcude, I can't even beging to explain the benefits of never installing software on your hard-drive and only calling the software functions you need when you need them. It gives the end-user the flexibility they require, it reduces the cost of using an application and you only pay for what you need when you need it, the customizing component of the applications truly allows for a universal deployment anywhere and the hardware used will not matter anymore. Alas, I can see companies fighting against this because no one wants to see a Linux OS outdoing a MS OS or an Apple OS and at the end of the day we are private beings with an over-developed sense of possession. If all this wasn't true, the 'future' would be now.

Music listened to while writing this blog - Need Somebody - Kings of Leon
Mood while writing this blog - Optimistic

Friday, May 15, 2009

Managing your E-Life

Its May 16th, 2009 and while the rest of the world slumbers in anticipation for their next day, I want to take this opportunity to talk about an internet problem that has become a common problem for many people that I know and interact with on a daily basis ... How in the world do I manage all the sites that I work with everyday?

The most common sites that people visit on a daily basis will range from Twitter, Facebook, Orkut, Myspace, etc. down to your favorite Football club playing in a remote location in Africa. Yes, the internet has become that large and it seems that everyone wants a piece of the pie. The answers are multitudenous as the effort to manage one's E-Life becomes more complex. People have resorted to RSS and Twitter to stay on top of the game while some other people have decided to write portlets that they push out as XML on services like iGoogle that allow portals to manage your mail, news, etc. I for one have tried a few solutions and to be honest, no one solution really offers everything I need. Is it simply because the services I want to have integrated just aren't all availible in one tiny box? Or is it more related to the fact that there is just too much to digest in one sitting?

The most common application features one would need should contain the following features.
  • Regular notifications of whats going on
  • Site updates
  • Chat functionality
  • Message reading functionality
  • Ability to latch onto sites and pull information based on Groups/Forums as RSS Feeds (Still haven't found an application that does this yet)
  • In-built picture management (Still haven't found an application that does this yet)

Someone out there is going to read this and say "I think that's literally impossible" but the real truth is there are tons of applications out there today that perform most of the basic functionality already listed with some modifications on how they handle each of them. The smartest way I have found to manage everything is to simply integrate everything as extensions in Firefox. While this might not be good for all those other browser users, I find that Firefox actually offers a certain level of neatness in its approach to handling extensions and the support and on-going improvement with the evolution of E-Societies is handled rather well.

Whatever your choice is, just remember, if it has everything you need in it don't take that as a sign that you have found the application to end all your worries. Chances are the service your working with is growing in the background and the application developers are not able to meet all your needs. Off I go to spend the first thirty minutes of my day checking posts.

Music while writing this blog - Here Comes The Sun - The Beatles
Mood - Optimistic (It's Friday)
Favorite Technology at the moment - XML

Sunday, March 22, 2009

Browser Wars ... Again

This week, I had the unfortunate and pleasant (seems strange I know) experience of upgrading my Internet Explorer version from the Release Candidate version to a full blown Internet Explorer 8. While I will say that Microsoft have gone through the hoops and actually put out a very quick browser, what it makes up for in speed it certainly lacks in overall compatibility. The Acid Test for this browser was just horrendous and with coding getting standardized across the board, Microsoft have gone back to their happy niche of saying 'if we didn't make it, we don't care about it'. This however, beckons another discussion based on what I wrote in my previous post about universalizing languages on browsers.

I wonder how many web deployments take into consideration browser requirements for an end user other than the current favorites - Internet Explorer and Firefox. Now, this could be argued with by saying that if the work is done on a Mac then Safari automatically comes in the picture but the boys at Apple and most Mac designers have pretty much got it right when it comes to making webpages for the general masses. I have seen some horrendous deployments in my time that have taken absolutely no consideration about browser-usage statistics and the end users who eventually have to use the system. Some of the browsers that I like testing with for the total web experience are

  1. Firefox 3.X
  2. Minefield
  3. Internet Explorer 6
  4. Safari 3.X
  5. Opera
  6. Internet Explorer 7.X
  7. Chrome
  8. Internet Explorer 8.X
This list is in order of preference with Chrome coming at the bottom for the most obvious reason, its just not enterprise ready yet but maybe one day it will be.

Some of the common problems I have seen in deployments are mentioned below

  1. Deployment of plugins
  2. Table alignment
  3. Content delivery using Java and ASP.NET
  4. Load times
  5. ActiveX
Barring the last one in the list all the rest of these problems show erratic behavior based on your preference of client. One of the biggest mistakes most IAs make in the process of designing a web solution is that the operating system is a Windows-based one and we will worry about any others later on. Unfortunately, this leads to differences in the deployments and some value-add specificaitons are dropped due to incompatibility between two systems. ActiveX is a Microsoft only service and hence doesn't play well on any other operating systems (OSX or Linux); yet, some developers think that because we are given these tools we must develop in them as they are the only way to get the product out to the masses. Sadly, this may be considered a successful deployment from a WinX POV but at the end of the day its a total failure on the side of the other operating systems. Java and ASP.NET are two more troublesome deployment considerations that most people sweep under the rug as 'end-user' issues when the problem is clearly in the deplyoment and not with the end-user. Lastly, plugins are a nightmare for any Firefox or Safari user on a WinX system simply because most web designers/developers rarely take into consideration that not everyone out there uses Internet Explorer as their primary browser. Its not a bad browser, its just not the safest thing the web has to offer right now and with a lack of compliance on nearly 80% of the new standards, I can't see any power user in the enterprise environment considering that as a primary browser.

Some thoughts I always like to put into practice when I am developing or working on testing web solutions.

  1. Have I covered all the major players ? IE, FF, Opera, Safari
  2. Am I unnecessarily adding functionality in the backend that won't work cross-platform?
  3. Is it important to use what I am given in the tool-set that it comes packaged with or can I simply extract the information and manage it in a browser differently?
  4. Is Flash/JAVA-AJAX really necessary for the web-tool to function properly?
  5. Who is my audience?
  6. Do I want my audience to grow?
  7. What are the implications if the browser with the best results doesn't do the job?
In my experience, most users don't like changing the browser that they work with. I have been using Firefox for a very long time now and its only recently that I am giving Safari a chance and it has failed on many ocassions due to backend compatibility but that I am sure is something that can be fixed with a little bit of time and tweaking of the java.

In conclusion, the end product of any web deployment or design should encompass a 'wholesome' experience unless the user-base is a niche community that has access to all the tools being offered. I certainly don't want to make a product that passes 20 tests and fails 80 but it seems that alot of things I see these days are following this trend. Only time and a better understanding of world-wide accepted standards will fix this. Till then, pick your weapon and make sure it can stand the test of change ....

Browser used to write this blog : Firefox 3.0.7
Mood : Happy
Music Listened to : The sound of Diner Dash 4.0