Thursday, February 10, 2011

I'm A CT ? What the heck is that?

Here's something I found on wunderman's blog (http://www.impactful-conversations.com) on creative techs :

The Creative Technologist - A new role in an agency near you


It got me thinking … Who are they? What characterizes them? And how do they fit in the ad agency environment?

Creative Technologists are a new type of breed. The Creative Geek (or “Creek” for short) has a very unique and mixed profile. It’s a profile where the left side of the brain meets the right side. Creeks are logical, rational, analytical and objective which are all qualities coming from their technical background and left side of the brain while equally they are random, intuitive, synthesizing and subjective which are all qualities coming from the right side and creative side of the brain. They have this unique blend that looks at the parts as well at the wholes.

Left brain, right brain[image taken from WIRED.com]

Daniel H. Pink said once “Logical and precise, left-brain thinking gave us the Information Age. Now comes the Conceptual Age - ruled by artistry, empathy, and emotion.” and while I like his views I find that in reality it is the merging of the logical and conceptual that produces the best experiences, and therefore giving us instead the "Experiential Age". The best illustration is the iPhone. It’s a work of art where incredible engineering mastery is equally met by amazing finesse and artistry which as a whole produce this unique ‘emotional’ bond that owners feel with it (just observe how people react when they drop the device on the floor).

In an agency you will find Creeks in various team whether in Creative, Technical, Planning and Account team. Creeks have also various level of seniority. It’s actually an interesting dilemma, how do you judge the level of seniority of a Creeks. Is this someone who’s more creative than technical ? Is it the opposite ? Is it the one that’s been doing the role the longest ? The most awarded ? Also where does the Creek really fit in an agency. I quite like the idea of being the third member of the creative team (Art Director, Copywriter and the Creek). But practically does it work ? However to be a good Creek you’ve got to keep up with the latest innovation (well the best Creek not only keep up with innovation, they innovate themselves) so this means working very closely with the technical developers.

The reality is that there’s no strong rule on where the Creeks should sit. If they sit in a creative team they have to work very closely with the developers and if they sit in a technical team they have to work very closely with the creative team. It’s also critical for the team leads to leave the ego at the door. CTOs and ECDs must pair and form the most senior creative team in the agency and lead by example. The best agencies have understood this a long time ago. The most successful ones have not only those teams located physically near each other, they also have processes that take technical input earlier in the project lifecycle and more importantly they create a culture where technology is as much celebrated as creative thinking.

Obviously the best work doesn’t always co-depend on technology. A great tagline is still a very effective advertising technique. Having said that one can argue that it is in fact completely co-dependent as the alphabet is one of the best technology the human race has ever created.



Wednesday, December 1, 2010

Oracle .... :P

Well, gotta admit it. Oracle has a great db but everything else ? Sucks ... big time. 11g for UCM and Webcenter : lots of stability issues and require lots of patches to be applied post installation.

Weblogic Portal ? Being phased out but licenses still being sold.

Personally .... I would build my portal apps with Liferay 6 running on Oracle db 11g ... or Postgres .... hmmm .....

Monday, September 20, 2010

Oracle UCM 11g ?

from liferay to oracle ucm 11g ? I'm not a traitor to open source but i'm just going with the flow that feeds me for the time being. ecosphere is on a prolonged sabbatical somewhere in the southern hemisphere ... semantics doesn't actually put food on the table in this country ...

Monday, March 1, 2010

Tuesday, December 22, 2009

Will Java and .NET continue to tough it out ?

.... something else I was reading at Tech Republic :

How will Java SE 7 will fare against the .NET CLR?

Looking at the Java SE 7 feature list, it looks like a good advancement for the system. Is it a game changer? I don’t think so. The JVM and the .NET CLR have been through a ton of changes in the last few years; both have enabled developers to do a lot of things that used to only be the realm of very advanced programmers. While the JVM and the .NET CLR do not always implement the same ideas at the same time, the best ideas in one end up in the other fairly rapidly — we’re seeing this even beyond the runtime level. Hibernate is a huge hit for Java, so .NET got NHibernate. .NET’s closures have made a lot of developers, and it looks like Java will get them too (yes, that’s a language feature, not a runtime feature).

Will one runtime beat the other in the foreseeable future?

While the JVM and the .NET CLR are similar beasts at a technical definition level, both have their own markets, neither of which is very agile. It’s not like someone who has built their infrastructure around .NET servers and IIS can wake up tomorrow and move everything to Java or vice versa. Even if a company did decide to move its development from one platform or the other, it would require replacing the entire development team (or retraining them from the ground up). Even then, there would be severe skills shortages; after all, a senior .NET developer cannot suddenly become a senior Java developer after three months of training. In addition, they would need to keep the current staff around to maintain the existing code base. And do you really think that the staff is going to sit by and watch as their jobs are either about to go away, or their skill set is about to become useless (or less valuable)? Of course not. Making a wholesale switch from Java to .NET (or .NET to Java) would be suicide for an organization. At best, there could be a multi-year project to retrain folks. You still have shops moving from VB6 to .NET, and it has been about eight years since .NET was released.

Is Java development cheaper than .NET development, and, if so, will people move to Java to save money?

If you look just at the tools, my answer is “yes and no.” Yes, you can run Java on a fully open source stack if you want. You can take the Linux/Tomcat/MySQL/Java stack, or the SpringSource stack in the server room, and use Eclipse or NetBeans on the developer’s machines. But let’s say that, for whatever reason, you are not a fan of the open source alternatives (I am not saying the alternatives are not good); in that case, the Java tools are very price comparable to the .NET stuff and, in many cases, more expensive. And judging from the business that companies, including Oracle (through its acquisition of BEA) and IBM (the Rational toolset), are doing, it is clear that many companies see a need to pay for proprietary Java tools. As far as pricing goes, Microsoft is almost always the least expensive enterprise class vendor in any given marketplace.

Plus, you have to look at how much money companies would save compared to the cost of the switch. A copy of Visual Studio costs less than a week’s salary and benefits for a mid-range developer. It will certainly take much, much more than a week for the same developer to learn Java and become as good with it as he was in .NET.

For the sake of fairness, this analysis goes the other way too. The cost of the tools is inconsequential in comparison to the pain of a switch. There are two exceptions to this scenario. The first exception is in the case of a new company (or someone choosing between one or the other), and there is no cost of switching. In that scenario, Java still isn’t any cheaper, since Microsoft gives away free copies of Visual Studio (the Express editions), and if you are a new company, the BizSpark program is a way of getting three years of MSDN and Microsoft licenses for free — that’s not too shabby. The other exception is for a company that has a really high server-to-developer ratio (think Google or Yahoo!). This type of company might have a handful of developers working on an application that runs on thousands of servers. In that situation, the developer tools are not where the savings occur — the server room is. For a company in that situation, Java (and other open source technologies) can have a decisive cost benefit.

How many scripting languages would a Java developer need to know to be as effective as they would be in .NET?

First off, are you doing any Web development work? If so, you will probably need to know some JavaScript and get familiar with the frameworks out there for them, depending on your plans. For the backend work, knowing a dynamic or a scripting language is not mandatory or necessary. That being said, there are a lot of great choices in the Java world for that purpose. As someone who is not currently a Java developer, I do not have any hands-on experience in these, but I have heard nothing but rave reviews of Groovy and Scala. If you are looking for something with a bit more mainstream exposure, JRuby and Jython are excellent options.

The JVM has seen an explosion of non-Java languages in the last few years, and developers can now choose from a ton of options. Learning one of these options will certainly make you a better developer (even if you do not use them for an actual production project) and give you another arrow in your quiver for tackling tough projects.

Will Java displace .NET? Not any time soon. And .NET is not getting rid of Java either. Both ecosystems have advantages and disadvantages. I believe that which one you end up using will depend mostly on personal preference and local career opportunities.



10 Things To Consider About Open Source

I was thinking of argumentative points for a client on Open Source when I came across this article in Tech Republic :

1: Are the open source license terms compatible with my business requirements?

Open source is mainly protected by copyright law, and the license provides the basis for the rights you have on the software. To be classified as open source. any product needs to adhere to the four freedoms: to use, to study, to redistribute, and to improve. However, licenses often include other terms that might be incompatible with certain business models. For example, the popular GPL license asks that any improvements and derivative works you create also be released under the same quid pro quo terms.

While this seems like a reasonable condition and will be not an issue for generic enterprise use, it can be a deal breaker for a proprietary product company that wants to include a GPL component in its product. Thus, it is important to make sure you understand the terms of the open source license before you adopt a component into your enterprise. The Free Software Foundation (FSF) and Open Source Initiative (OSI) serve as guides to open source licenses, and both have pages that validate and catalogue open source licenses.

2: What is the strength of the community?

An open source project is not just about the code, but also about the open community surrounding and sustaining the project. These communities can range from the lone teen developer to a single organization to complex diverse multi-entity communities, such as found in Linux and Firefox.

A well known open source law demonstrated first in Linux is that “with enough eyeballs all bugs are shallow.” What this means is given a large enough critical mass of people in the community testing, maintaining, reviewing, and fixing the code, bugs and security vulnerabilities become less of a problem. A large active, diverse, and responsive community is always a key indicator of the health and sustainability of an open source project.

3: How well is the product adopted by users?

The test of any open source project is how well it has been adopted by various user groups and organizations. Many of the mature open source projects showcase various clients who have adopted and are using their product. This gives you some assurances that the product will deliver on its promises, especially if you find an existing client similar to your enterprise.

Probably the best insight you can get into a product is from another user who has been using it for a while. The best projects have a rich community of users with a dedicated mailing list, where you can seek input on the product from a third-party user organization.

4: Can I get a warranty or commercial support if I need it?

All open source project licenses are provided free “as-is” without any warranty. Based on your need, you could also support it to a certain extent internally and depend on voluntary support from the community. Voluntary support is not expected to compete with commercial SLAs, but the general responsiveness of the voluntary support will certainly improve your confidence in investing in the product. However, it will take you only so far.

Most enterprises are looking for a neck to squeeze in terms of commercial support/warranty, and a mature community includes vendors that can deliver to certain service levels. The ideal open source project has multiple vendors involved in the product that provide different types of support from customization to maintenance to 24×7 production assistance.

5: What quality assurance processes exist?

Many of the most popular open source projects now have the maturity and stability to support mission-critical production environments, but there are still many where the stability does not meet the mark. Of course, stability requirements will depend on where you hope to apply the product.

Whatever your needs, it is always good to check the quality assurance (QA) process being followed by the project in its releases. If the quality assurance processes are not up to your organizational standards, you should consider the cost of conducting the missing QA process either internally or by a suitable vendor.

6: How good is the documentation?

Some open source projects can be very poor in their documentation. The software engineers leading open source projects are often focused on developing the product, so documentation is frequently an afterthought. At bare minimum, products need user manuals and administrator guides. Sometimes these guides are available online in the form of a wiki or even tutorials. Of course, the popularity of the product should have the quality of documentation factored in, but you should always ensure this documentation is suitable for your target user base.

7: How easily can the system be customized to my exact requirements?

Open source, as opposed to proprietary products, inherently means that the code is available for you to customize to your heart’s content. However, the cost of customization varies based on the architecture and extensibility of the system, how cleanly the code is written, and whether the product APIs are well documented.

All good open source projects include a well documented extensible plug-in architecture that can be used to customize the product. Generally, there will be a vendor that can do this customization on your behalf for a fee. However, it’s important to have more than one option available to you (including an internal option if possible). Otherwise, you have not truly eliminated vendor lock-in by going with open source.

8: How is this project governed and how easily can I influence the road map?

There are different models for how open source projects are run and how decisions are made. The best governance model is one that includes all stakeholders — developers, users, vendors — in a transparent decision-making process. For larger open source projects, a dedicated foundation is also invaluable in providing the necessary legal backing and assuring the intellectual property is managed well. Ultimately, the better your ability to engage and influence the developer community as a user, the more responsive the project will be to your needs.

9: Will the product scale to my enterprise’s requirements?

This check is important, even for commercial products. Research case studies and performance tests to ensure that the application can scale gracefully to the demands you place on it. Many open source applications are built on the LAMP (Linux, Apache, MySQL, PHP/Perl/Python) or J2EE technology stack, which is generally one of the most scalable technology stacks available. A lot of the popular Web application portals utilize this stack and have customized it end to end to accomplish great scalability. One of the benefits of going with an end-to-end open source solution model is the long-term flexibility it provides.

10: Are there regular security patches?

A project that takes security threats seriously and is able to fix vulnerabilities before an attack can exploit them will have an established process for keeping track of security flaws and proactively elevating fixes up to the users. Turnaround time from identification to resolution is critical. This is the same for any proprietary project, but the benefit of open source is that you have the right to audit the code base independently for any security flaws and can fix them yourself without waiting for the community to respond.



Thursday, December 10, 2009

scarab reborn ...

scarab is now : ECOSPHERE ... what is it ?

ecosphere= an ecosystem platform where data and content is separated, understood, shared and disseminated as intelligence. Ecosphere consists of a parser, reasoner (Bayesian inference engine), message broker and rules engine. Ecosphere provides intelligence (knowledge representation) via knowledge engineering.” – in other words : ecosphere brings meaning to unstructured, structured and distributed data by enabling machines to understand data and content.

ecosphere : building intelligent systems in a open, heterogeneous, dynamic, distributed environment
system /sys·tem/ (sis´tim)
1. a set or series of interconnected or interdependent parts or entities (objects, organs, or organisms) that act together in a common purpose or produce results impossible by action of one alone.