Wednesday, December 23, 2009

Zinc 3.0 versus AIR

Adobe AIR certainly changed the way we think about rich desktop applications. It was a real sigh of relief for me when the details of AIR came out during the initial days. We no longer had to battle with the Flash security sandbox while building desktop/kiosk applications. A lot of our dreams could turn to reality. It took a few lines of code and the power of Flex to build a simple Picasa desktop widget to display your Picasa album pics. The same code with a few changes can be ported to the web as well. Now, that's kewl!

As the human needs grow, we want more power in our applications, to not just build apps that rely on the power of the Flex SDK, but, to push the limits a bit further and talk more to the system, use DLLs built using .NET or other languages, configure the application easily setting numerous options, create screensavers, use the text-to-speech engine to make things more interactive, launch other applications and the biggest of them all – do no framework installation. A lot of clients just ask for a simple EXE which doesn't rely on other installations to run. Even though AIR 2.0 address a couple of necessities, it doesn't offer them all.

I am not against AIR and in favour of Zinc or the vice versa. I like them both. They have their own pros and cons and it is up to the requirement and the developer to decide which is best suited. I like Adobe AIR because – its FREE, you can create AIR applications from Flash Builder, Flash IDE or HTML, the certification makes it a secure way to distribute applications, there are so many things you can readily do because of the community reach that Adobe AIR has. Multidmedia Zinc 3.0 is expensive and so is new offering Inferno (I love the name!). Using Zinc, the amount of extensions you could use is really a big point to note. If AIR gives us some of these abilities, it would certainly be awesome!

At the end of the day, the technology we choose is established on "client requirements". The reason I have seen a lot of clients deviate from the use of AIR for deployment is because AIR needs the AIR framework installed. It is not too big a deal for us, but, in closed environments like at my workplace, where, computer users are "Power users" and would not have installation rights for software, AIR draws a big question mark. Most applications I have developed over the years are really simple little applications – Widgets, kiosk apps etc which have the big basic requirement – "Every user should be able to install the app on their desktop". This makes me go back to Zinc every time, even though, I, as a developer, would naturally prefer AIR.

Would Adobe have to worry about Zinc? I am sure it doesn't have to. With the amount of reach and community interest it has generated over the years, AIR is here to stay big time! Most certainly, AIR has a long way to go before everybody accepts it. Adobe took a big step forward with the new features introduced in AIR 2.0. Zinc fights a very good game. I wish the technology was cheaper though. J

Sunday, December 06, 2009

Branding 2.0 – The final part

Yup, "Tomorrow" took a few days to come. Anyway, here goes the final part.

When it comes to online/digital advertising, banners play quite a part! We see them almost everywhere – in all forms, shapes and sizes. The amount of money and research that goes into this simple form of creative is actually very large. Whether people actually click it or just turn a blind spot, it has quite a success rate at times. Good online real estate is expensive. A lot of companies (agencies) do some research on the site that would display their banner before actually mocking up the creative. The research would be on the type content, colour, speech tone etc that the site carries, other ads or banners displayed, user interactions they could make use of and a whole lot of other things. All this effort for a banner that may not be seen? Well, I am not a big fan of banner ads, but, I must say that it is really an effective form of advertising. If you have an interesting concept and it is interactive..well.. Moreover, the various sizes are displayed in various areas of various sites or various pages of the same site or various sites – a lot of "various" makes one big statement – "Just see me already!" or "Ok, I am a banner promoting a product. Keep me in mind. You'll see more of me around..don't forget to say Hi". In all its sense, it builds a brand! For example, on my tech sites I go to everyday, Dell banner ads keep showing up in various sizes and colours. Even though I have a blind spot to normal animated banners, these banners somehow don't seem to stay out of my sight. I don't really know what they say. All I know is, they talk Dell!

Landing pages, EDMs have their say in the digital space too. Our email boxes are lie cluttered with many EDMs every day. I admit it that I haven't seen even 10% of the lots I receive, but, people who want to see will see and click. That is the way it works. It is kind of a trial and error if you think about it. What I am trying to say here is – these forms of assets maybe traditional, but, they still live and will live on. They will take new forms and formats, but they will live on!

There is also a Social media advertising frenzy that has picked up pace during the past few years and especially during the hard times of the recession. Brands resorted to people to carry their brand and product forward. Twitter, MySpace and Facebook became the major medium. Companies have their Facebook pages and invite people to join in. People are successfully building networks, promoting brands and products. In fact, even Human resource and staffing agencies have people on LinkedIn, doing searches, going through profiles and contacting candidates. This goes to show that if you know who your target audience are and what medium they use to network, you have got yourself a possibly profitable medium to reach out. Recently an acquaintance asked me if they allow advertising on Farmville. Neither of us had played FarmVille, but, the game is the talk of the town, and, if you are a maker of farming/farm products, what better way to advertise!

The success of a brand online depends on the fame among its users/viewers, interactivity, research, innovation, network and good catchy copy. The real question is – Are you building a brand or selling a product? Let us remember that the success of the product depends on its strong brand power! Banner ads, much like print or TV don't immediately prompt users to buy products. People buy stuff when they know for certain that it is well worth it and they have done enough research about it. Someone once asked me – "Should we have a "Buy Now" button on the banner or a "More Details" button on it? It isn't a very easy question to answer, even after considering all the messaging and creative line. Would you visit a store and buy a TV because a banner says they are the No.1 manufacturers or the TV has n list of features?

Branding 2.0 is about:

  • Doing your own research
  • Creating a whole network buzz
  • Choosing the right medium
  • Understanding the user and his behaviour
  • Right interaction
  • Building true brand without creating a hype

Build your brand! Make the millions!


 


 

 

Monday, November 23, 2009

Branding 2.0

I work in an advertising agency and often wonder if what life revolved around is really something of mass and matter. We build brands, giving a unique identity to products and companies. It takes a lot of effort in terms of thought, money, research, ideation, visualization, creation and development to build a strong brand.

Our fathers laid a strong foundation in print - carefully choosing visuals, colours, type and text to convince and put faith in people about the brand. I remember, as kids we used to swear by the big names – Levi's, Nike etc and became tribes which accumulated specific brands and not even look at other alternatives, which would have worked out cheaper or better. The foundation that the "fathers of advertising" laid down, were so strong, that, people became more "brand ambassadors". Each one of us held brand(s) to our heart and made sure it stuck that way. Did the brand become "personal"? It is a strange outcome if you think about it actually. On one hand, companies wanted to establish their identity and the identity of their product/service. They communicated with people telling them that the company A made product A and that product A was awesome! The people believed in product A so much, that, it won its own identity and got away from the company a bit. People knew Product A and talked about product A. Web 2.0 didn't change this even a bit, in fact, it became a medium. Anyone can get online on Twitter or Facebook and talk about a brand/product with opinions. People can contribute to these opinions and the actual company can do nothing about it. Marketing and PR agencies are kind of helpless in this respect and can do very little to actually change people's thoughts and feelings. A hundred million banner ads displayed every 15 seconds hardly has an impact. Tribe 2.0 believe in a more strong and interactive mechanism to build and affirm faith. That's where interactive agencies took their form. A lot of interactive agencies build brands using these medium. If you have more controls on things, they fail. Freedom of interaction and speech gives you that much more depth.

During the 80s and 90s, brands were product driven and customer driven. Now, it is all about the "Brand experience". The "total branding" seems to be just lying on the internet and print has become just a reinforcer. People search, people read, people blog, people interact, people experience..all on the internet. Before I went in to buy my old i-mate, I rushed to an internet cafe to actually read multiple reviews about it rather than read a 20 page catalogue that came with the product. I also went to the imate.com website to go through the various offers and support options etc, which, would finally help me decide. People review when they experience and people believe what people say their interactions.

[more in Part 2.0 tomoro]

Saturday, October 31, 2009

Why AIR is so kewl

Developers like me, who wanted their applications to look cool, must've surely passed through a phase when we used a Flash UI for a VB application and thought – "Wish Flash could do much more than just being a snazzy UI". It wasn't simple to make the UI look good. Every time you needed an extra bit of functionality, you needed to edit and re-export the SWF. It was also a bit of a mess when it came to the workflow. The VB developer and the UI developer had to keep making changes and pass on the list each time a change request came in. We used to call such apps – "FSCommand Splash". As the Flash versions released, we needed that bit more to help us make better applications. Component Binding was a blessing and so were the Data connectivity components. They certainly made tasks easier. Still, there was something we all wanted and tried to accomplish somehow – FILE IO. Of course, there were third-party applications such as MDM Zinc that gave us quite a bit of power, but, that was a separate investment and a different story altogether.

When AIR was launched, I guess it was a big turning point in most of our lives. We could do much more than just building applications with skins. We had something more powerful than that! Cross-platform and Browser-free meant we could build those "Rich Internet Applications" we always wanted to, whether you using a Flash, Flex or Dreamweaver user. AIR helped us use what we already knew and extend capabilities of our applications by harnessing the power of the internet and combining it with the power of the desktop. With built-in File API, well, it really pushed a lot of hurdles away. You also got a built-in database in SQLLite. We didn't need good ol' VB to do the job anymore. This was good in the business sense too. Not only could they give the client an application that looked great, but, they could also leverage their existing resources to build these applications, thereby, cutting costs. They could also cut costs by employing only necessary resources, eliminating the necessity to have other platform developers. Meaning to say, you team now only had a UI Designer > Flash/Flex/Web Developer > Tester with other platform developers as an optional. Previously this was – UI Designer > Flash Developer > Other platform Developer > Tester.

I think with the launch of AIR 2.0, Adobe would create a much bigger landmark. Reading about the new features made me and a lot of other people go "Wow". With new features such as – File monitoring, Volume monitoring, Asset caching, Native application support, online synching etc, AIR would certainly be a technology that needs no convincing.

For a more detailed list of AIR 2.0 features:

http://www.mikechambers.com/blog/files/presentations/fotb2009/advanced_desktop_development.pdf

It sometimes takes a lot to convince the client when he questions the choice of the development platform. It takes more convincing when you mention the fact that an extra layer needs to be installed on the user's machine to run the application. They don't really care about the development friendliness or the fact that we are using one or two technologies instead of using 4 or 5. A lot of times, we used to say that we are using Flex and keep the AIR deployment a secret. With the Installer doing the silent AIR runtime installation, nobody has to know. J

Saturday, October 24, 2009

“Best practices” or just do your thing?

The daily life of an IT professional is filled with "Best practices" and "conventions". Most IT organizations, these days, make sure that people follow what has been laid down strictly and have effective mechanisms to penalize bad and unorganized work. It is only when things are standardized that other people working on the project will understand what needs to be done. Some developers believe that "Free thinking" is lost when you follow things that strictly and coding becomes a "best practice" guide. Well, I used to believe that too in the beginning of my programming life, but, as the days went by, I strongly stood for these norms and conventions and even went far enough to lay down a system in my previous workplace.

We have "Best practices" for everything almost – design, development, UI building etc. I believe that "best practice" is a process by itself. It starts from design/layout and moves through development, testing and release. On many occasions, I have seen apps fail due to designs that don't follow these practices. To start with, Photoshop layers are not named or Flash libraries are cluttered with items that haven't been properly named. By the time the application releases, it would have changed from one thing to a totally different thing, far from what was initially visualized. I remember that we once had a hard time trying to change the UI (for adding a feature) of an application just before we hit beta. The structure of the design was such that it took us more time to actually figure out some of the layers and how things actually flowed. It is a simple best practice! But, most people blame "time" for doing a sloppy job, even if the final output is classy!

Here are some best practices that designers must follow:

  1. Give proper names to Layers. If a layer contains a button, call it "Button" and not "Joe".
  2. Make sure that the final version (that goes to development) has all unused elements deleted and items optimized.
  3. Make sure that the design works in specified resolutions. Sometimes designers use a higher screen resolution while designing, whereas, the target screen resolution could be 1024x768. Here, the elements of the UI would look really large!
  4. Use folders to organize page content or specific related content. This applies to Library/layers etc. For example, all elements used in the Homepage of a site could be in a folder called "Homepage".
  5. Use Web palette colours where ever possible to make sure that colours are easily coded.
  6. Name files properly and organize it into folders.
  7. Use colours to darken/lighten text instead of using Layer alpha property (esp. in Photoshop).
  8. "Usability" and "flexibility" of the interface need to be kept in mind while designing layouts.
  9. Use system Fonts for dynamic text fields esp. For HTML pages.

..and the list goes on.

Best practices for developers:

  1. Every programming language has coding conventions that should be followed.
  2. Name your variables, functions, classes etc with sense and in context.
  3. Use functions and make code more reusable.
  4. Keep code in one place as far as possible.
  5. Comment code properly with proper descriptions.
  6. Avoid using "reserved" words.
  7. Make sure you test the performance of your code and optimize it before you release stages.
  8. Avoid those last minute "IF" fixes. These are mostly done before beta.
  9. Create a proper structure – for your code, for the application as a whole.
  10. Make sure your code can be easily extended, so that, if some additional features are requested, you can add functionality easily.

..this list goes on too!

Best practices for Managers/Leads:

  1. Make sure your team exactly understands what they have to do. Hold meetings/discussions that would help this purpose.
  2. Establish a proper workflow to enable not only easy management, but, a smooth functioning as well.
  3. Make sure the people get enough time for everything. The client says something has to be done in x amount of time, make sure that your team can handle it. If you are able to convince the client for an extension, it is most ideal.
  4. Establish a proper process to help monitor progress and workflow.
  5. Layout a proper project plan, which needs to be communicated to the team.
  6. Make sure all team members follow "best practices" and standards laid out.
  7. Have a system in place which enables code/design checks to help make sure things are going as per plan.
  8. Have a Management dashboard to tell you exactly how things are and communicate the good/bad with the team.
  9. Make sure that team members have a proper work-life balance.
  10. Showing your stress is a strict NO-NO.
  11. Never expose you team members to clients or involve them in remarks during discussions with clients. This will be your downfall.

..this list could go on too!

There is not real definitive guide to all these things. Most come by practice and with experience.

Sunday, September 20, 2009

30 years younger!

I should have typed this entry up a few days (today-10 Sept. Days ago) ago, but, my mind was full of other things and felt really tired and worn out after some travelling and a good deal of work.

Looking back at my life and also looking at the way things are at the moment, I should say it has been good going so far! I haven't achieved the ultimate dream as yet, but, getting there slowly and surely. Of course, the dream kept changing throughout my life – from being a luxury bus driver to an automobile designer to a chartered accountant and what not! Along the way, I did achieve some small victories, but, the ultimate dream - remains!

A few days ago, I watched some kids play cricket on the streets. I wished I was a kid once again, but then, I thought of Math and Algebra..YAAA! that shook me back to reality..I have a well-balanced life, a supportive family, a lovely sweet wife, a job in a good company, a brat of a pooch, an instalment (Fiat) of my dream car and what not. There always remains that urge to do better and do things differently. It can't be controlled. The good things of it, I have in my agenda the rest goes into the grave. At 30, these things come and go. It is too early to start those funny habits of middle-age crisis. I hope I am always as normal (yup!) as I am.

Sometimes I wonder how different things would have been, if, I had really continued with my business studies and commerce. I guess I would have become the stock broker I wanted to be at that time. Successful at first, but, in pain during these hard times. I could have become a chartered accountant and done some serious pen-pushing, sitting in a cabin or one of those exclusive cubicles. I would have been damn serious about every penny and never got all those things I have now. Well, if I went ahead with my early dreams of becoming a bus driver or a vet, things would have been different too. The bottom-line always remains – Life, health and money. I started somewhere and ended up somewhere else. It has been quite an uphill climb to get where I am. To come in from a business background to computers and software is very tough. I guess I have achieved what many engineers haven't. It is a proud moment and I am really happy for it. Most people in the family and friendship circles think I've had it easy. Not so! I didn't really show it out.

As I climbed through the echelons, I discovered new passions and interests, but the focus has never been lost. I never wanted to be a guy in a cabin, travelling in a fancy car and getting a massive pay check. I've always wanted to remain with technology and people and not really dive to the depth of management.

As we grow up, we have those personal targets – get settled, get married, have kids..live it out! I wasn't really interested in getting married for reasons. All that changed when I met this girl (now my wife!). You could say that I was bowled over by her smile and her simplicity. Something in me said – "Dude, it is time to get married and live happily ever after!" I listened to that voice. It is now a year and Man! It's been awesome! We've both grown more responsible and stuff. Then, Mr. Snoops came in and things became more awesome. He has a big fan club and can become the president of the pooch club! And then came the Red Beast - the real Flash of Scarlet. Things now rock! We've had a few tough times, but, that a part of getting into the groove.

Friday, August 07, 2009

There’s a Catalyst in our midst

Adobe Flash Catalyst has been a part of the news among the Adobe community for some time now. Community experts and evangelists seem to fit Catalyst into a role very easily. They always seem to echo the common thought, which is something like:

"We worked with people in the industry to understand workflow and have brought in a product that would help the designer<->developer workflow much better. At the end of it, the designer is happy that his design is carried on exactly as he had visualized it. The developer is happy that he can concentrate on development, than having to work some extra hours trying to get the design right..."

Speaking to a few people (ranging from designers, developers and managers) to collect their thoughts on including this new tool into their workflow, I felt that workflow problems would still exist to a large extent. Some common points of view are as follows:

  1. New tool to learn: As easy as Catalyst maybe, it is still something that would need us to learn and train. It may take a day or a year, it is still time consuming.
  2. Impact on working cost: We have to buy catalyst. I don't think the company will.
  3. Already good enough workflow: In most companies, the designer gets his way even if he and the developer have to work longer hours, fight bigger battles. If the client wants it and if it HAS to be done according to the way things should be...well.. there is not much of a problem at the end of it.
  4. Designer or developer or someone else? Who will need to know Catalyst? It is easy for the designer, but he has to create so many designs per day. The developer has his hands full with the actual coding and implementation. Should there be a new position created called – "UI Developer/Catalyst developer". What would he need to be good at? Will my company allow it?
  5. Catalyst is cool. If my designs can become that much interactive even before the developer gets his hands on it, it is lovely! It is easy and quick.

Well, people say different things all the time. I think Catalyst will become an essential part of the workflow. From my experience as a designer, developer and a project manager, it brings in that missing connect that all of us feel. It saves a lot of time for the developer, who, not only can concentrate on his development work, he can also get a lot of the UI based (simpler) coding (like CSS) done automatically. Designers can reproduce his visualization. For the Project manager, life gets peaceful! Iteration loops can stay with the designer and only get to the next step when the design gets approved.

For the future of Catalyst, I think a project management component integration would be cool. You could have a Project -> UI Comps assigned to designers -> Versions -> Final approved version. The developer can do a check out of the final comp and integrate it into his project in Flash Builder or the Flash IDE. Time is saved as a result and people are happy!