<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Zigron Inc. Blog</title>
	<atom:link href="http://www.zigron.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zigron.com/blog</link>
	<description></description>
	<pubDate>Fri, 22 Aug 2008 19:19:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Visual design and story telling..</title>
		<link>http://www.zigron.com/blog/2008/08/22/visual-design-and-story-telling/</link>
		<comments>http://www.zigron.com/blog/2008/08/22/visual-design-and-story-telling/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 19:19:33 +0000</pubDate>
		<dc:creator>Haris Khan</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[User Experience]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=54</guid>
		<description><![CDATA[This week I had the pleasure to attend <a href="http://aneventapart.com/events/2008/sanfrancisco/" target="_blank">An Event Apart design conference</a>. It was a great experience to hear some great presentations and learn new approaches towards design. In next few posts I will try to share all of my experiences.
Starting off the best presentation of the day one was by <a href="http://www.jasonsantamaria.com/" target="_blank">Jason Santa Maria</a> who is the Creative Director at <a href="http://www.happycog.com/" target="_blank">Happy Cog</a> studios. It was about &#8220;Storytelling by . <a href="http://www.zigron.com/blog/2008/08/22/visual-design-and-story-telling/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p>This week I had the pleasure to attend <a href="http://aneventapart.com/events/2008/sanfrancisco/" target="_blank">An Event Apart design conference</a>. It was a great experience to hear some great presentations and learn new approaches towards design. In next few posts I will try to share all of my experiences.</p>
<p>Starting off the best presentation of the day one was by <a href="http://www.jasonsantamaria.com/" target="_blank">Jason Santa Maria</a> who is the Creative Director at <a href="http://www.happycog.com/" target="_blank">Happy Cog</a> studios. It was about &#8220;Storytelling by Design&#8221;. He had raised a very good point that why the design experience  on a <a href="http://www.wired.com/" target="_blank">Wired</a> in-print magazine is so different then Wired’s web experience. The point was that in-print designers try to set the mood around the content but on the web we lose the esence of story telling and just focus on content.  Ironically, I think it should be the other way round as we have more tools and independence on the web.  The other issue designers face is that we don’t have the control on the medium. Unlike print where the designer can exactly control the layout web designers are at the mercy of browser type, screen resolution and personal settings.</p>
<p>A very interesting book site <a href="http://noonebelongsheremorethanyou.com/00025" target="_blank">NoOneBelongsHereMoreThanY</a><a href="http://noonebelongsheremorethanyou.com/00025" target="_blank">ou.com</a> <a href="http://www.zigron.com/blog/wp-content/uploads/2008/08/picture-1.png"><img class="alignleft size-full wp-image-56" title="picture-1" src="http://www.zigron.com/blog/wp-content/uploads/2008/08/picture-1.png" alt="" width="500" height="238" /></a>was shared as a case study for its out of box approach.I agree with Jason that its wonderfully done and it has a very unique approach. The image on the the left is the homepage and you will see that it doesn’t have any traditional elements like About Us or Info rather it has a compelling text which draws you in. Similarly I also liked <a href="http://www.jasonsantamaria.com/" target="_blank">Jason’s site</a>, which tries to break away from conventional design and take each post as an individual story that’s why you will see different design around each post.</p>
<p>Great visual design which has a story to tell has been around for many years and its very apparent from the below example of <a href="http://en.wikipedia.org/wiki/Charles_Joseph_Minard" target="_blank">Charles Joseph Minard </a>graphic illustration of Napoleon&#8217;s Russian campaign of 1812. If you move from left to right, the design illustrates the size of Napoleon’s army in yellow when he started his march toward Russia and moving from right to left in black you can see the size of his army when he was returning to France. Its amazing to see that how a simple design explains such an dramatic event in history. I think at the end it was just Napoleon and his buddy who reached back.</p>
<p><a href="http://www.zigron.com/blog/wp-content/uploads/2008/08/minard.png"><img class="aligncenter size-full wp-image-55" title="minard" src="http://www.zigron.com/blog/wp-content/uploads/2008/08/minard.png" alt="" width="711" height="338" /></a></p>
<p><a href="http://www.zeldman.com/" target="_blank">Jeffry Zeldman</a> also gave an interesting example of how conflict between design and marketing team can result in a funny situation. RealPlayer wants to be a dominat player in media players but on  <a href="http://www.real.com/" target="_blank">Real.com </a>it seems that someone was able to convience the the company to psuh a paid version of realplayer down our throat by making free version very hard to find. Apparently someone wants us to download the paid version only. Nice job!!</p>
<p>At the end I will also encourage you to viist a design site named <a href="http://www.fray.com" target="_blank">Fray.com </a>which has some great visual stories. In my next post I will share some more great snippits on design and in the meanwhile if you know some other great design sites then please share them in comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/08/22/visual-design-and-story-telling/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mobile Development Overview..</title>
		<link>http://www.zigron.com/blog/2008/08/21/mobile-development-overview/</link>
		<comments>http://www.zigron.com/blog/2008/08/21/mobile-development-overview/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 07:41:25 +0000</pubDate>
		<dc:creator>Haris Khan</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Mobile]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=52</guid>
		<description><![CDATA[Mobile space is the next paradigm of computing where more and more mobile devices are getting the computational power to now host interactive native applications. Offcourse iPhone has taken a giant leap but now other devices are also catching up. Recently we spent sometime to figure out which development environment will be best suited for new generation of mobile applications. In this report we have not covered FlashLite and iPhone.  As a result we produced . <a href="http://www.zigron.com/blog/2008/08/21/mobile-development-overview/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p>Mobile space is the next paradigm of computing where more and more mobile devices are getting the computational power to now host interactive native applications. Offcourse iPhone has taken a giant leap but now other devices are also catching up. Recently we spent sometime to figure out which development environment will be best suited for new generation of mobile applications. In this report we have not covered FlashLite and iPhone.  As a result we produced a technical  discovery document to explore different mobile application development environments and how one can go about it. Below is the report and you can also <a href="http://www.zigron.com/blog/wp-content/uploads/2008/08/mobile-development-report.pdf" target="_blank">download</a> the pdf version of report.</p>
<p><span style="color: #333333;"><strong><em>This report was created by : Abdul Wadood, Atifa Nadeem, Naima Khan and Haris Khan.</em></strong></span></p>
<p><strong><span style="text-decoration: underline;">Overview:</span><br />
</strong><br />
Mobile application depends heavily on the exact requirements. Our basic assumptions are stated in the section 3. Based on the basic requirement to create a very generic mobile application following are the three approaches in the order of our preference:</p>
<ul>
<li>Considering the basic and generic requirements Java ME is the ideal development platform. We can adopt different approaches within Java ME to reduce the development effort to make the application ready for all possible platforms and devices. Biggest drawback for this approach will be the application performance and security as this app will run on top of JVM.</li>
</ul>
<ul>
<li>Second approach is to create a custom Mobile Execution Environment. We will need to develop this environment for each platform with minimum interfaces/APIs as per our requirements. This will result in more effort to create such MEEs for each platform/handset but application development will be rapid. Users will require downloading our own MEE just like they need to download JVMs.</li>
</ul>
<ul>
<li>Finally the most stable and secure approach will be to create each application in platform’s native language. This will be requiring substantial effort but application’s performance will be at its best.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Development Platforms/Technologies</strong></span></p>
<p>In this section we have briefly explained how each development platform will be used across different handsets and OS for basic features.</p>
<p><strong>1)- <a href="http://java.sun.com/javame/index.jsp" target="_blank">Java ME</a> (formerly, J2ME)</strong></p>
<p>Introduction / Development Approach:</p>
<ul>
<li>Java ME Platform represents the only true open solution for building mobile applications for the industry. The technology allows portability of applications between platforms and investments are kept to a minimum through the possibility of reuse.</li>
</ul>
<ul>
<li>The Java ME technology is based on three elements:</li>
</ul>
<p>a- A configuration provides the most basic set of libraries and virtual machine capabilities for a broad range of devices.<br />
b- A profile is a set of APIs that support a narrower range of devices.<br />
c- An optional package is a set of technology-specific APIs.<br />
<strong><br />
Deployment Approach:</strong></p>
<p><strong></strong><br />
To be MIDP 2.0-compliant, devices must support OTA provisioning. The easiest way to package MIDlets for wireless installation is to use the J2ME Wireless Toolkit, which incorporates a small provisioning server that emulates a production OTA environment. Available in version 2.0 Beta 2 and later versions of the toolkit, this nice feature enables you to get an idea of whether a server will provision a device with your application successfully without the hassle of setting up and configuring a local web server to act as an OTA server. Some MIDP 2.0 features - like the push registry - are available only to applications downloaded via OTA. If your application uses those features, the built-in OTA server is a critical tool of the development process.</p>
<p><strong>Features:</strong><strong></strong></p>
<p style="padding-left: 30px;"><strong>PUSH</strong></p>
<p style="padding-left: 30px;">The MIDP includes a feature called &#8220;PUSH Registry&#8221; to push data from server to mobile devices, without the interaction of user. The MIDlet registers a port along with the protocol name in the mobile device. From the server, a message is sent to the specific mobile device using the particular protocol and port where the MIDlet application is registered to listen. After the message is delivered to the mobile device, the AMS calls the MIDlet application. Once the message is delivered to the MIDlet, it is the application&#8217;s responsibility to process the message accordingly.</p>
<p style="padding-left: 30px;"><strong>SMS Integration</strong></p>
<ul>
<li>The Wireless Messaging API (WMA) is an optional package for J2ME that provides platform-independent access to wireless communication resources like Short Message Service (SMS). WMA can be used on top of CLDC and MIDP.</li>
</ul>
<ul>
<li>There are many third party APIs available for SMS integration in Java ME applications. Some examples are Java SMS library from new-phone.com, SMS JDK from NCL Technologies Ltd, jSMS from objectXP, etc.</li>
</ul>
<p style="padding-left: 30px;"><strong>Data Synchronization:</strong></p>
<ul>
<li>Recently released, Sun&#8217;s Mobile Enterprise Platform (MEP), provides two-way data synchronization with security, device management and off-line access features for enterprises. It can integrate data from a wide range of back end applications.</li>
</ul>
<ul>
<li>A third party API, Sync4j is an open source initiative to deliver a complete mobile application platform implementing the SyncML protocol. SyncML defines a standard way to synchronize data and remotely manage devices. Sync4j provides SyncML client APIs (J2SE, J2ME and C++) that you can use to build an application.</li>
</ul>
<p style="padding-left: 30px;"><strong>Devices and Platforms:</strong></p>
<p style="padding-left: 30px;"><strong>Motorola:</strong></p>
<ul>
<li>MOTOMAGX, Motorola&#8217;s next-generation Mobile Linux®, supports three different application environment– Java ME, Web UI and native Linux</li>
</ul>
<ul>
<li>MOTODEV Studio for Java ME, Motorola&#8217;s robust toolset for developer innovation currently supports the Java ME application environment on many Motorola handsets and wireless modules</li>
</ul>
<p style="padding-left: 30px;"><strong>Nokia:</strong></p>
<ul>
<li>Nokia phones have an extensive Java ME API set</li>
</ul>
<ul>
<li>Nokia provides support for the industry’s leading open-source Java™ IDEs: NetBeans and Eclipse. Both IDEs offer robust tools that make it easy to create high-quality Java applications efficiently</li>
</ul>
<p style="padding-left: 30px;"><strong>Blackberry:</strong></p>
<ul>
<li>Many new Blackberry devices support the Java 2 Platform, Micro Edition (J2ME), primarily because Java technology makes developing applications so much easier. Its platform-independence eliminates many porting woes and its automatic garbage collection lets developers concentrate on application logic rather than memory management</li>
</ul>
<ul>
<li>In addition to Java-based handhelds, RIM offers a BlackBerry Development Environment for J2ME</li>
</ul>
<p style="padding-left: 30px;"><strong>Samsung:</strong></p>
<ul>
<li>Some Samsung handsets give errors for J2ME (user experience). Some users have reported errors like Samsung not suitable for J2ME game developers, slow emulator, Java apps can only be loaded via OTA, giving &#8220;Unsupported content error&#8221; on Samsung F490 phone</li>
</ul>
<p style="padding-left: 30px;"><strong>LiMO:</strong></p>
<ul>
<li>LiMO application developers will be able to use SDKs to write managed code running in a Java virtual machine, browser apps for WebKit, and native code.</li>
</ul>
<p style="padding-left: 30px;"><strong>S60:</strong></p>
<ul>
<li>It supports Java (J2ME MIDP 2.0 commonly, but varies from phone to phone) applications and Symbian C++ applications.</li>
</ul>
<p style="padding-left: 30px;"><strong>Wireless Providers:</strong></p>
<p style="padding-left: 30px;"><strong>Verizon</strong></p>
<ul>
<li>Verizon Wireless doesn&#8217;t offer J2ME support on their phones. Instead, it uses BREW but one can run J2ME applications via BREW-Authored KVM but still it is not that simple</li>
</ul>
<p style="padding-left: 30px;"><strong>T-Mobile</strong></p>
<ul>
<li>Users are able to download J2ME apps (JAD+JAR) if they have an offline app, like a standalone mobile game but if the app requires an internet connection the users will be able to access internet if and only if:</li>
</ul>
<ul>
<li>The application was signed with a T-Mobile certificate, or</li>
</ul>
<ul>
<li>The user has a $20 &#8220;total internet&#8221; plan instead of the regular $6 T-Zones one, or</li>
</ul>
<ul>
<li>The handset was not bought through T-Mobile</li>
</ul>
<p>In short, if you are aiming for a mass-market consumer application and not just one targeted at business users or tech-savvy users, your hands are pretty much tied. The only way to achieve that goal is to go on-deck with T-Mobile</p>
<p style="padding-left: 30px;"><strong>AT&amp;T</strong></p>
<ul>
<li>AT&amp;T appears to be a little less strict than T-Mobile. You can download J2ME applications from anywhere, other applications that want to use socket communication, access to the file system, address book and messaging (SMS/MMS) will probably be blocked</li>
</ul>
<p><strong> 2)- <a href="http://brew.qualcomm.com/brew/en/" target="_blank">BREW</a></strong></p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Introduction/ Development Approach</span></p>
<ul>
<li>BREW is a software platform that can download and run small programs for playing games, sending messages, sharing photos, etc.</li>
</ul>
<ul>
<li>Using BREW, you can easily port your applications between all Qualcomm devices.</li>
</ul>
<ul>
<li>BREW applications can be written using Java™, C, or C++.</li>
</ul>
<ul>
<li>Unlike the Java ME platform where any developer can upload and execute software on any supported handset, BREW applications must be digitally signed</li>
</ul>
<ul>
<li>The BREW developer community is fairly small and limited to Qualcomm&#8217;s boards and web sites.</li>
</ul>
<ul>
<li>BREW code can only be compressed if you devise your own method or buy a commercial solution.</li>
</ul>
<p style="padding-left: 30px;"><span style="text-decoration: underline;"> Deployment Approach</span></p>
<ul>
<li>Compile for the specific BREW version available on the handset.</li>
</ul>
<ul>
<li>Installer Packaging Options: OTA</li>
</ul>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Features</span></p>
<ul>
<li>PUSH:</li>
</ul>
<p style="padding-left: 30px;">Brew compatible mobile phones can get push based sms/email on the Alltel’s network</p>
<ul>
<li>SMS Integration:</li>
</ul>
<p style="padding-left: 30px;">Interfaces like ISMS, ISMSMsg, ISMSNotifier, and ISMSStorage are there to handle SMS integration for BREW applications.</p>
<ul>
<li>Data Synchronization:</li>
</ul>
<p style="padding-left: 30px;">Open Mobile Alliance for Data Synchronization and Device Management.</p>
<ul>
<li>Devices and Platforms</li>
</ul>
<p style="padding-left: 30px;">The BREW platform is pre-integrated into the MSM™ chip software and includes reference implementations for many other device-specific issues (drivers and UI). All the mobile vendors doesn’t provide with MSM™ chip. So, we have very limited number of mobiles by default for running BREW application.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Wireless Providers</span></p>
<p style="padding-left: 30px;">Every mobile vendor is supposed to provide handset with the support of BREW for different wireless providers.</p>
<p><strong>3)-  <a href="http://www.microsoft.com/windowsmobile/startdoingmore/phones.html?CMXID=2120.F2D979F1-3582-448E-A116-DD0D22A5329D&amp;WT.srch=1" target="_blank">Windows Mobile</a></strong></p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Introduction/ Development Approach</span></p>
<ul>
<li>Windows Mobile is an operating system for mobile devices, based on Microsoft Win32 API.</li>
</ul>
<ul>
<li>Devices that run Windows Mobile include Pocket PCs, Smartphones, Portable Media Centers, etc.</li>
</ul>
<ul>
<li>For application development there are different options available, including:</li>
</ul>
<ul>
<li>Writing native code with Visual C++</li>
</ul>
<ul>
<li>Writing Managed code that works with the .NET Compact Framework</li>
</ul>
<ul>
<li>Developing an application using Java Me. There is a limitation if you develop an application in Java ME for Windows Mobile platform. Sun doesn&#8217;t officially support windows mobile devices and Sun hasn&#8217;t released an official JVM for pocket PC&#8217;s so you must go to a third party solution if you intend to use Java ME on Windows Mobile platform.</li>
</ul>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Deployment Approach</span></p>
<p style="padding-left: 30px;">Windows Mobile-based Smartphones and Windows Mobile-based Pocket PCs (Phone Edition) can be bootstrapped by means of over-the-air (OTA) Wireless Application Protocol (WAP) push. This method is useful if the mobile operator prefers to bootstrap the device over the air at the point of sale or after purchase. In this method, a provisioning document that uses the format defined in the WAP Provisioning specifications can be pushed to the device over the air through the WAP connectionless non-secure push mechanism over the Mobile Terminated Short Message Service (SMS) bearer.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Features</span></p>
<ul>
<li>PUSH</li>
</ul>
<p style="padding-left: 30px;">The &#8220;Direct Push Technology&#8221; from Microsoft uses Exchange ActiveSync to keep data on a Windows Mobile based device synchronized with data on a Microsoft Exchange server. The ActiveSync technology on the device manages the direct push communication with Exchange Server. It establishes an HTTP connection with the server for a specified time, and then goes to sleep while waiting for the server to respond. The server responds with either a status indicating that new items were received or that no new items arrived. The device then sends either a synchronization request or another direct push request. Exchange Server 2003 Service Pack 2 includes a direct push component that augments the Exchange ActiveSync infrastructure that supports synchronization.</p>
<ul>
<li>SMS Integration</li>
</ul>
<p style="padding-left: 30px;">.Net Compact Framework provides different DLLs for SMS integrations (Microsoft.WindowsMobile.dll, Microsoft.WindowsMobile.PocketOutlook.dll). Using these DLLs you can integrate SMS Send and Receive functionality as well as SMS filtering support in your mobile application.</p>
<ul>
<li>Data Synchronization</li>
</ul>
<p style="padding-left: 30px;">Exchange Server 2003 is used to synchronize data using ActiveSync. It uses OTA for Installer Packaging.</p>
<ul>
<li>Devices and Platforms</li>
</ul>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Nokia &amp; Sony Ericsson</span><br />
Net60 is an implementation from Red Filve Labs to bring .Net Compact Framework applications unchanged, to Symbian platform (the OS running the Nokia and Sony Ericsson Smartphones).</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Wireless Providers</span></p>
<p style="padding-left: 30px;">Most of the carriers have handsets with Windows Mobile.</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;"><em><span style="color: #333333;">If you have any queries please feel free to contact me at haris[dot]khan[at]zigron[dot]com</span></em></p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;"><a href="http://www.zigron.com/blog/wp-content/uploads/2008/08/mobile-development-report.pdf"><img class="alignleft size-full wp-image-53" title="pdf-icon" src="http://www.zigron.com/blog/wp-content/uploads/2008/08/pdf-icon.jpg" alt="" width="60" height="60" /></a></p>
<p style="padding-left: 30px;"><span style="color: #808080;"><strong>Download the report</strong></span></p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/08/21/mobile-development-overview/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Technology + Transparency = Helps you hire better</title>
		<link>http://www.zigron.com/blog/2008/07/26/technology-transparency-ideas-help-you-hire-better/</link>
		<comments>http://www.zigron.com/blog/2008/07/26/technology-transparency-ideas-help-you-hire-better/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 22:39:18 +0000</pubDate>
		<dc:creator>Haris Khan</dc:creator>
		
		<category><![CDATA[PingMyCompany]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=49</guid>
		<description><![CDATA[<a href="http://www.pingmycompany.com" target="_blank">PingMyCompany.com</a> was started with a pure and simple intention to gather more data about ourself as a firm and know about others too. I have explained it before and Rashid also shared his development <a href="http://www.zigron.com/blog/2008/06/20/the-story-behind-the-development-of-pingmycompanycom/" target="_blank">story</a>. 
Now after 3 months since its launch I have witnessed a change which I was hoping to happen but didnt expected to happen so quickly. Before PingMyCompany&#8217;s launch people hardly knew about Zigron and what it does. It . <a href="http://www.zigron.com/blog/2008/07/26/technology-transparency-ideas-help-you-hire-better/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pingmycompany.com" target="_blank">PingMyCompany.com</a> was started with a pure and simple intention to gather more data about ourself as a firm and know about others too. I have explained it before and Rashid also shared his development <a href="http://www.zigron.com/blog/2008/06/20/the-story-behind-the-development-of-pingmycompanycom/" target="_blank">story</a>. </p>
<p>Now after 3 months since its launch I have witnessed a change which I was hoping to happen but didnt expected to happen so quickly. Before PingMyCompany&#8217;s launch people hardly knew about Zigron and what it does. It was very hard for us to get the talent which was a right fit. Yes we had our portfolio out in public but it was hard to attract potential hires as they were never the target individuals for those projects.</p>
<p>Now during interviews when I ask potential candidates what they know about Zigron and the first thing they say is &#8220;PingMyCompany&#8221;. </p>
<p>PMC has not only helped us get our name out but most importantly it has helped us attract the right talent. We were getting alot of resumes but most of them didnt really matched our needs but after PMC the quality of resumes have improved dramatically. We are still getting the same number of resumes but now we are getting individuals who really understand what we do and how they can be part of it.</p>
<p>So the take away from all this is that companies need to create more engaging experiences for their future hires through technology and transparency. There has never been a better time to do this as technology to build such experiences and means to reach out has never been so cost effective ever in the history of mankind.</p>
<p>Considering all this we are working on upgrading PingMyCompany.com to create more engaging experience, so stay tuned via <a href="http://www.pingmycompany.com/blog" target="_blank">PMC blog</a> and <a href="http://www.twitter.com/pingmycompany" target="_blank">twitter feed</a>.</p>
<p>Please feel to share your own ideas on how firms can create such experiences in different fields to attract top and most importantly the right talent.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/07/26/technology-transparency-ideas-help-you-hire-better/feed/</wfw:commentRss>
		</item>
		<item>
		<title>It Makes A Real Difference When We Work In Teams</title>
		<link>http://www.zigron.com/blog/2008/07/21/it-makes-a-real-difference-when-we-work-in-teams/</link>
		<comments>http://www.zigron.com/blog/2008/07/21/it-makes-a-real-difference-when-we-work-in-teams/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 18:26:23 +0000</pubDate>
		<dc:creator>Qurratulain Akhtar</dc:creator>
		
		<category><![CDATA[Zigron Inc]]></category>

		<category><![CDATA[offshore teams]]></category>

		<category><![CDATA[Team Building]]></category>

		<category><![CDATA[Team Management]]></category>

		<category><![CDATA[Teams]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=48</guid>
		<description><![CDATA[We&#8217;ve been working in different teams for long, and have known that there are few factors like motivation, communication, flexibility etc that make better performing teams. But, we never knew the extent which we need all these to be. So ZEDCo [Zigron Education Company] organized an event where we could find this extent.
It was basically a game that we played on July 16, 2008 at Zigron office. The game was comprised of 8 analytical and . <a href="http://www.zigron.com/blog/2008/07/21/it-makes-a-real-difference-when-we-work-in-teams/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been working in different teams for long, and have known that there are few factors like motivation, communication, flexibility etc that make better performing teams. But, we never knew the extent which we need all these to be. So <strong>ZEDCo</strong> [Zigron Education Company] organized an event where we could find this extent.</p>
<p>It was basically a game that we played on July 16, 2008 at Zigron office. The game was comprised of 8 analytical and 8 management related questions. In first round everyone had to answer those questions individually [in 20 minutes], and in second round the same questions were answered by groups of randomly selected individuals [in 10 minutes]. On analyzing the both rounds, we found that the team score was higher than that of individual scores for each team. Later the feedback that we collected from participants [letting them rate the importance of flexibility, communication/coordination, decision making, team leading, motivation and entertaining environment] stated that, we think:</p>
<ul>
<li>The most important factors responsible for the success of a team are: Communication/coordination, decision making and motivation.</li>
<li>And, the next important are flexibility, team leading and entertaining environment.</li>
</ul>
<p><strong>Highlights from the activity:</strong></p>
<ul>
<li>Our Co-CEO, Haris Khan accompanied us in the game on conference call, he was also the part of a team, so we&#8217;d a live experience of working globally. We also realized that the most important factor for global teams is communication.</li>
<li>Teams were randomly grouped, so no one knew that which team he will be in, or who&#8217;s gonna be their team members.</li>
<li>100% of the participants believed that teams work better than individuals.</li>
<li>Planning and organizing this activity itself was a team effort, and it won&#8217;t have happened ever if the team wasn&#8217;t there.</li>
</ul>
<p>Well, this activity helped us a lot identifying what we need to make good teams. Here&#8217;re the <a href="http://www.slideshare.net/Qurratulain/teams-work-better-than-individuals">activity questionnaire</a> and the <a href="http://i174.photobucket.com/albums/w82/quratgreat/answers.jpg">answers</a>, try the game in your organization, and find what you need more to build effective teams.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/07/21/it-makes-a-real-difference-when-we-work-in-teams/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wherever.Tv is launched and brings international tv to you&#8230;</title>
		<link>http://www.zigron.com/blog/2008/07/10/wherevertv-is-launched/</link>
		<comments>http://www.zigron.com/blog/2008/07/10/wherevertv-is-launched/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 15:03:04 +0000</pubDate>
		<dc:creator>Haris Khan</dc:creator>
		
		<category><![CDATA[WhereverTv]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=46</guid>
		<description><![CDATA[<a href="http://www.zigron.com/blog/wp-content/uploads/2008/07/picture-2.png"></a>
<a href="http://www.wherever.tv" target="_blank">Wherever.tv</a> was launched yesterday in SINO Consumer Electronics Show, China. It recieved great reception from both conference attendees and press. It was covered on <a href="http://www.forbes.com/prnewswire/feeds/prnewswire/2008/07/09/prnewswire200807090800PR_NEWS_USPR_____DCW002.html" target="_blank">Forbes.com</a> , <a href="http://www.engadget.com/2008/07/09/neuros-powered-wherevertv-brings-international-channels-to-your/" target="_blank">Engadget.com</a> , <a href="http://www.pittsburghlive.com/x/pittsburghtrib/news/tribpm/s_524744.html" target="_blank">PittsburghLive.com</a> and <a href="http://www.examiner.com/p-193259~WhereverTV_Delivers_Hundreds_of_International_Television_Channels_to_Any_Standard_TV_with_the_Introduction_of_the_WhereverTV_Receiver.html" target="_self">Examiner.com</a>
Wherever.tv is a sleek new device that delivers hundreds of international TV channels straight to your television instantly over a broadband internet connection. You can learn more at their <a href="http://wherever.tv/AppHome.jsf" target="_blank">site</a>.
Wherever.tv is one of Zigron&#8217;s Inc startup based . <a href="http://www.zigron.com/blog/2008/07/10/wherevertv-is-launched/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zigron.com/blog/wp-content/uploads/2008/07/picture-2.png"><img class="alignnone size-full wp-image-47" title="picture-2" src="http://www.zigron.com/blog/wp-content/uploads/2008/07/picture-2.png" alt="" width="500" height="126" /></a></p>
<p><a href="http://www.wherever.tv" target="_blank">Wherever.tv</a> was launched yesterday in SINO Consumer Electronics Show, China. It recieved great reception from both conference attendees and press. It was covered on <a href="http://www.forbes.com/prnewswire/feeds/prnewswire/2008/07/09/prnewswire200807090800PR_NEWS_USPR_____DCW002.html" target="_blank">Forbes.com</a> , <a href="http://www.engadget.com/2008/07/09/neuros-powered-wherevertv-brings-international-channels-to-your/" target="_blank">Engadget.com</a> , <a href="http://www.pittsburghlive.com/x/pittsburghtrib/news/tribpm/s_524744.html" target="_blank">PittsburghLive.com</a> and <a href="http://www.examiner.com/p-193259~WhereverTV_Delivers_Hundreds_of_International_Television_Channels_to_Any_Standard_TV_with_the_Introduction_of_the_WhereverTV_Receiver.html" target="_self">Examiner.com</a></p>
<p>Wherever.tv is a sleek new device that delivers hundreds of international TV channels straight to your television instantly over a broadband internet connection. You can learn more at their <a href="http://wherever.tv/AppHome.jsf" target="_blank">site</a>.</p>
<p>Wherever.tv is one of Zigron&#8217;s Inc startup based in Pittsburgh,PA</p>
<p><a href="http://www.engadget.com/2008/07/09/neuros-powered-wherevertv-brings-international-channels-to-your/" target="_blank"></a></p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/07/10/wherevertv-is-launched/feed/</wfw:commentRss>
		</item>
		<item>
		<title>User Xperience + Technology  + Real World</title>
		<link>http://www.zigron.com/blog/2008/07/01/user-xperience-technology-real-world/</link>
		<comments>http://www.zigron.com/blog/2008/07/01/user-xperience-technology-real-world/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 23:32:15 +0000</pubDate>
		<dc:creator>Haris Khan</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[User Experience]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<category><![CDATA[ATM]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[UI]]></category>

		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=44</guid>
		<description><![CDATA[

For some time I have noticed that in blogosphere, User Xperience has mostly been associated with Web 2.0 companies and hardware devices, well actually only one hardware i.e iPhone. So I decided to go out and see where I can find innovation in UX apart from the web.
On this great adventure the first experience I stumbled across was <a href="http://maps.google.com/maps?f=q&#38;hl=en&#38;geocode=&#38;q=1640+Van+Ness+Ave,San+Francisco&#38;sll=37.794033,-122.423787&#38;sspn=0.007885,0.018797&#38;ie=UTF8&#38;ll=37.791812,-122.421126&#38;spn=0.007885,0.018797&#38;z=16&#38;iwloc=addr" target="_blank">Bank Of America&#8217;s ATM on Van Ness street</a> in San Francisco. I had this old . <a href="http://www.zigron.com/blog/2008/07/01/user-xperience-technology-real-world/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p><!--StartFragment--></p>
<p class="MsoNormal"><img class="alignleft size-full wp-image-45" title="picture-21" src="http://www.zigron.com/blog/wp-content/uploads/2008/06/picture-21.png" alt="" width="363" height="226" /></p>
<p class="MsoNormal">For some time I have noticed that in blogosphere, User Xperience has mostly been associated with Web 2.0 companies and hardware devices, well actually only one hardware i.e iPhone. So I decided to go out and see where I can find innovation in UX apart from the web.</p>
<p class="MsoNormal">On this great adventure the first experience I stumbled across was <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=1640+Van+Ness+Ave,San+Francisco&amp;sll=37.794033,-122.423787&amp;sspn=0.007885,0.018797&amp;ie=UTF8&amp;ll=37.791812,-122.421126&amp;spn=0.007885,0.018797&amp;z=16&amp;iwloc=addr" target="_blank">Bank Of America&#8217;s ATM on Van Ness street</a> in San Francisco. I had this old check, which I was planning to deposit for sometime, but hesitated because my last experience with Chase’s ATM in Chicago to deposit a check was very clumsy. One had to seal the check in an envelope, which the machine will vent out and then write the amount and your account info on top of it. One also has to feed in the check amount. Usually I don&#8217;t have a pen with me so it was another embarrassing moment and interestingly most ATM machines have a slanting face which makes it even harder to use it as base to write on it.</p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Anyway this time around, when I was expecting the ATM to throw an empty envelope out, it just asked me to slide the check in a slot which had a blinking light. For a moment I was taken a back and didnt know what to do but the ATM kept beeping. After gaining some intelligence I decided to slide the check in and said to myself that worst come to worst I will just lose it as it wasn’t that big of an amount. It was from a friend who owed me some grocery money, luckily she wasn&#8217;t that hungry while grocery shopping.<br />
</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Eager to see what will happen, the ATM showed me the scanned copy of my check with the exact amount to two decimal points. It had scanned it on the fly and by using some recognition software had understood my friends handwritten amount to the exact amount. While I was still star struck and excited with the experience, I had my receipt in my hand with a scanned printout of the actual check I just deposited.</span></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Now I call this a true user experience. Next time I will make a video of it. So feel free to send me some checks and please feel free to be liberal with the amount <img src='http://www.zigron.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </span></p>
<p><!--EndFragment--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/07/01/user-xperience-technology-real-world/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why we use symfony Framework</title>
		<link>http://www.zigron.com/blog/2008/06/28/why-we-use-symfony-framework/</link>
		<comments>http://www.zigron.com/blog/2008/06/28/why-we-use-symfony-framework/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 05:59:31 +0000</pubDate>
		<dc:creator>Abdul Wahid</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Php]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=42</guid>
		<description><![CDATA[Three years ago I was coding in simple PHP and never heard of any frameworks then after one year I started using frameworks in javascript i.e prototype etc. Soon I realize working in framework makes your life easier, your code is organized, standardized and most importantly your development is fast. It does not matter what framework you want to chose the basic aim of any framework is rapid development. Mostly client is concerned with how . <a href="http://www.zigron.com/blog/2008/06/28/why-we-use-symfony-framework/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p>Three years ago I was coding in simple PHP and never heard of any frameworks then after one year I started using frameworks in javascript i.e prototype etc. Soon I realize working in framework makes your life easier, your code is organized, standardized and most importantly your development is fast. It does not matter what framework you want to chose the basic aim of any framework is rapid development. Mostly client is concerned with how quickly you can provide the product, you code simple or use framework is the least concern. An efficient software always has the least code, and framework always tries to facilitate developer to code as little as possible. <a href="http://www.phpwact.org/php/mvc_frameworks">Currently there are 40 frameworks available for PHP</a> and this shows the success and importance of frameworks.</p>
<div>
<p><a href="http://www.phpit.net/demo/framework%20comparison/chart.php" target="_blank">here is the comparison of top ten PHP frameworks</a> by phpit</p>
</div>
<div style="center;"><a title="phpit" href="http://www.phpit.net/demo/framework%20comparison/chart.php"><img class="alignnone aligncenter" src="http://farm4.static.flickr.com/3178/2586654016_d51479261b.jpg?v=0" alt="" /></a></div>
<div>
<p>Our team has worked on various frameworks i.e cakePHP, symfony etc and found out that symfony is little efficient than others. Symfony also has an edge over its documentation plus its community is much better than others.</p>
<p>Some people criticize symfony on the basis that why should they learn a new language i.e yml or propel etc but we think one can learn yml in no time and propel provides you optimized sql queries and database abstraction layer. The database abstraction will provide you the opportunity to shift to any DBMS anytime by just making some configuration changes. This feature will help you when you do not know the DBMS of a client project or the client is not sure about the DBMS, you can choose any DBMS and can shift to any DBMS.</p>
<p>Symfony is so flexible that you can bypass the whole symfony processing and can send the pages direct to server. You can customize it according to your needs to have an optimized solution. Its overhead is so minor that it can be ignored.Its powerful cache feature improves the efficiency of the project. Its debug tool bar or dev mode which will provide you lots of information about the page e.g: sql queries,request, response, page load time etc &#8230; and when you want to deploy to the production and get rid of debug statements than just a little configuration change is needed.</p>
<p>In organization where you have multiple developers working on same project, you need to follow a certain standard so that everyone is able to understand others developers code. If you are following a standard than it is very convenient for new employees to adjust and also replacement of leaving employee can be very quick. Therefore we have decided to set symfony as our standard framework.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/06/28/why-we-use-symfony-framework/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Story Behind The Development Of PingMyCompany.com</title>
		<link>http://www.zigron.com/blog/2008/06/20/the-story-behind-the-development-of-pingmycompanycom/</link>
		<comments>http://www.zigron.com/blog/2008/06/20/the-story-behind-the-development-of-pingmycompanycom/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 21:36:54 +0000</pubDate>
		<dc:creator>Rashid Idris</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[PingMyCompany]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<category><![CDATA[PHP development]]></category>

		<category><![CDATA[pingmycompany.com]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=43</guid>
		<description><![CDATA[It was one fine morning, when I came to office and started my work on ZEPRS [an under development project], suddenly phone RANG, I picked. Who is this? I am here, sounded familiar to me, I thought for a moment and realized that my CEO is on other side. Yes Sir, was my second reply.
&#8220;I need just 2 pages, one where people can add a company and another page they can post for that company. . <a href="http://www.zigron.com/blog/2008/06/20/the-story-behind-the-development-of-pingmycompanycom/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p>It was one fine morning, when I came to office and started my work on ZEPRS [an under development project], suddenly phone RANG, I picked. Who is this? I am here, sounded familiar to me, I thought for a moment and realized that my CEO is on other side. Yes Sir, was my second reply.</p>
<p style="30px"><em>&#8220;I need just 2 pages, one where people can add a company and another page they can post for that company. There will two categories of post, In Favor and Against. And I want to show those posts side by side, something like <a href="http://www.zebate.com">Zebate</a> <img src='http://www.zigron.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> and that&#8217;s it. No design, No formatting nothing else&#8230;&#8230;&#8230;&#8230;&#8230;&#8221; </em><strong>CEO&#8217;s Words</strong></p>
<p><a href="http://www.pingmycompany.com"><img class="alignleft" src="http://www.pingmycompany.com/images/logo.gif" alt="" width="312" height="70" /></a></p>
<p>I really wasn&#8217;t in mood of working on this &#8220;something like Zebate&#8221; thing, but it was CEO&#8217;s order so &#8230;&#8230;&#8230;&#8230;. that day and it was now, this ping, that ping, that ping, this ping, ping, ping, ping.</p>
<p>PingMyCompany was initially <strong>RateMyCompany </strong>but A great developer&#8217;s mind got PINGED and it was changed to <strong>PingMyCompany</strong>. Also after first release it was noticed that &#8220;PING&#8221; is only in our logo and no where else in the site, so it was decided to change all &#8220;comments&#8221; &amp; &#8220;post&#8221; to &#8220;PING&#8221;, just to have PINGY touch across the site.</p>
<p>Well, now it&#8217;s PingMyCompany.com, and let me share some of technical aspects of the site. Here it goes:</p>
<p>Firstly, why CEO got this idea to develop such a platform? It was Zigron&#8217;s review on Green &amp; White, where there been a long debate on Zigron&#8217;s hiring process. It meant, people talk about companies, and when they talk so, they would definitely love to ping for or against a company&#8230;.. Isn&#8217;t it?</p>
<p>Now development: PMC is developed in <span style="#ff6600;"><strong>PHP/MySQL (v5)</strong></span>,It was started on <span style="#ff6600;"><span style="#ff9900;"><span style="#ff9900;">18th April 2008</span></span></span>, and first release was online on<span style="#ff9900;"> <span style="#ff6600;"><span style="#ff9900;">24th April 2008</span></span></span>. It took 3-4 days exactly to put this this Live for 6 Billion people. Wow&#8230;.! Well, this was the first release and contained very simple interface and features. Here&#8217;s the very first layout:</p>
<p><a href="http://i174.photobucket.com/albums/w82/quratgreat/pmcold.jpg"><img src="http://i174.photobucket.com/albums/w82/quratgreat/pmcold.jpg" alt="" width="698" height="489" /></a></p>
<p>And after this first release, many revisions came and in each revision new feature pinged in it, making it <strong><span style="#ff6600;">simpler</span></strong>, <strong><span style="#ff6600;">user friendly</span></strong>, <strong><span style="#ff6600;">SEO friendly</span></strong> and lot more features. The summary of all those features is as follows.</p>
<p>Few of <span style="#ff6600;"><strong>web 2.0 features</strong></span> it currently have are <span style="#ff6600;"><strong>RSS feeds, DIV based interfaces, AJAX Postings, Sharing, Clouds, </strong></span>etc. It also has<strong> Translation Feature</strong> and <strong>Twitter integration</strong>. A bit of detailed description of these features is as follows.</p>
<p>I have used AJAX &amp; DIV based interfaces so that users can have better User Xperience &amp; quick response time. AJAX has been involved where ever it was feasable like paging, sharing, pinging, adding company etc&#8230; I have used <a title="Prototype" href="http://www.prototypejs.org/">Prototype JS </a>toolkit (v1.6) for all ajax related work. I will soon be integrating <a href="http://script.aculo.us/">Scriptaculos </a>toolkit (v1.8) for better and cool AJAX affects.</p>
<p>I took the full advantage of MySql fulltext search features to give a better search results for users. However there has been few limitations as well in fulltext for which I am writing a custom solution to eliminate those limitations.</p>
<p>Through RSS you can get Latest PingMyCompany feeds. Right now we provide full text feeds. Of the multiple RSS formats that exist today (RSS 0.91, RSS 0.92, RSS 2.0), PingMyCompany supports only the 2.0 specification for now. You can get PingMyCompany feed from <a id="mavu" href="http://www.pingmycompany.com/rss/feed.rss">http://www.pingmycompany.com/rss/feed.rss</a></p>
<p>It also supports Twitter postings for all those who want to follow all updates on Twitter. You can follow it from <a id="ids9" href="http://twitter.com/pingmycompany">http://twitter.com/pingmycompany</a></p>
<p>A full blown Admin panel has also been written to control everything. This is currently a small scale web application, yet with latest buzzing web features and this is not the end, we&#8217;re on the go to add more n more&#8230;.</p>
<p style="30px"><em>&#8220;To be very honest, I was not interested working on this application at first but now, after working on this for a month, It looks like that i fell in kind of love with PMC. It really made me learn lot of news things, and polish my existing skills. After working on this project, I really see a significant improvment in my skill set. Thanks to PMC for </em><strong><em>Pinging My Mind&#8221;.</em> </strong></p>
<p style="30px"><strong>PS:</strong> Special thanks to CEO (Haris Khan) for His this nice Idea and a bundle of thanks to Zigron Admin and everyone who were involved directly or indirectly in this project and shared there views, suggestions, appreciation, improvments from time to time to make PMC more consistant and reliable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/06/20/the-story-behind-the-development-of-pingmycompanycom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Image Selection in JSF</title>
		<link>http://www.zigron.com/blog/2008/06/18/image-selection-in-jsf/</link>
		<comments>http://www.zigron.com/blog/2008/06/18/image-selection-in-jsf/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 10:50:45 +0000</pubDate>
		<dc:creator>Waqas Rajab</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Zigron Inc]]></category>

		<category><![CDATA[Image Selection Component in JSF]]></category>

		<category><![CDATA[Image Selection in JSF]]></category>

		<category><![CDATA[JSF Image Selection]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=41</guid>
		<description><![CDATA[JSF is really nice, but developers sometimes feel suffocated because there aren’t enough components. Recently I ran into a problem of displaying a list of images in grid or you could say in form of rows and columns and being able to select one of them using radio buttons. I searched on the internet but couldn’t find any component that gave the desired functionality. So our team came up with an elegant extensible solution that . <a href="http://www.zigron.com/blog/2008/06/18/image-selection-in-jsf/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<p>JSF is really nice, but developers sometimes feel suffocated because there aren’t enough components. Recently I ran into a problem of displaying a list of images in grid or you could say in form of rows and columns and being able to select one of them using radio buttons. I searched on the internet but couldn’t find any component that gave the desired functionality. So our team came up with an elegant extensible solution that I feel that I should share with the world since human knowledge belongs to the world.</p>
<p style="text-align: center;" align="center"><span style="text-decoration: none;"><!--[if gte vml 1]><v:shapetype  id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"  path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt=""  href="http://richfaces.files.wordpress.com/2008/06/image-%3C/p%3E%0A%3Cp%3Elist.jpg" mce_href="http://richfaces.files.wordpress.com/2008/06/image-%3C/p%3E%0A%3Cp%3Elist.jpg"  style='width:225pt;height:69pt' o:button="t"> <v:imagedata src="JSF%20image%20Selection_files/image001.jpg" mce_src="JSF%20image%20Selection_files/image001.jpg" o:href="http://richfaces.wordpress.com/files/2008/06/image-list.jpg?w=300" /> </v:shape><![endif]--><!--[if !vml]--><span><img class="alignnone size-medium wp-image-5 aligncenter" src="http://richfaces.wordpress.com/files/2008/06/image-list.jpg?w=300" border="0" alt="" width="300" height="92" /></span><!--[endif]--></span></p>
<p>The JSP code to achieve the results of figure looks like:-</p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: ">1 &lt;</span><span style="font-size: 10pt; font-family: ">div </span><span style="font-size: 10pt; font-family: ">style</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;width:620px;height:270px; overflow:auto;&#8221;</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: ">2<span> </span>&lt;</span><span style="font-size: 10pt; font-family: ">a4j:repeat<span> </span></span><span style="font-size: 10pt; font-family: ">value</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;<span style="color: black;">#{controller.imageList}</span>&#8220;<span style="color: black;"> </span><span style="color: #7f007f;">var</span><span style="color: black;">=</span><span style="color: #2a00ff;">&#8220;imageList&#8221;</span><span style="color: teal;">&gt;</span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: ">3<span> </span>&lt;</span><span style="font-size: 10pt; font-family: ">div<span> </span></span><span style="font-size: 10pt; font-family: ">style</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;width:85px;float:left;&#8221;</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: ">4<span> </span><span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">&lt;</span><span style="font-size: 10pt; font-family: ">h:graphicImage </span><span style="font-size: 10pt; font-family: ">style</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;border:2px solid #ccc;&#8221; </span><span style="font-size: 10pt; font-family: ">height</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;43&#8243; </span><span style="font-size: 10pt; font-family: ">width</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;57&#8243; </span><span style="font-size: 10pt; font-family: ">url</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;<span style="color: black;">#{imageList[0]}</span>&#8220;<span style="color: teal;">&gt;&lt;/</span><span style="color: #3f7f7f;">h:graphicImage</span><span style="color: teal;">&gt;</span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: ">5<span> </span><span> </span><span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">&lt;</span><span style="font-size: 10pt; font-family: ">h:selectOneRadio<span> </span></span><span style="font-size: 10pt; font-family: ">value</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;<span style="color: black;">#{ imageList[1]}</span>&#8220;<span style="color: black;"> </span><span style="color: #7f007f;">layout</span><span style="color: black;">=</span><span style="color: #2a00ff;">&#8220;lineDirection&#8221;</span><span style="color: teal;">&gt;</span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: ">6<span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">&lt;</span><span style="font-size: 10pt; font-family: ">f:selectItem </span><span style="font-size: 10pt; font-family: ">itemLabel</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;&#8221; </span><span style="font-size: 10pt; font-family: ">itemValue</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;selImage&#8221;</span><span style="font-size: 10pt; font-family: ">/&gt;</span></p>
<p class="MsoNormal" style="margin-left: 1.5in; text-indent: -1.5in;"><span style="font-size: 10pt; font-family: ">7<span> </span></span><span style="font-size: 10pt; font-family: ">&lt;</span><span style="font-size: 10pt; font-family: ">a4j:support </span><span style="font-size: 10pt; font-family: ">event</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;onclick&#8221; <span> </span></span><span style="font-size: 10pt; font-family: ">action</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;<span style="color: black;">#{controller.selectedImageRenderer}</span>&#8220;&gt;</span></p>
<p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.5in;"><span style="font-size: 10pt; font-family: ">8<span> </span><span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">&lt;</span><span style="font-size: 10pt; font-family: ">f:param </span><span style="font-size: 10pt; font-family: ">name</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;selectedImageId&#8221; </span><span style="font-size: 10pt; font-family: ">value</span><span style="font-size: 10pt; font-family: ">=</span><span style="font-size: 10pt; font-family: ">&#8220;<span style="color: black;">#{ imageList[2]}</span>&#8220;<span style="color: black;"> </span><span style="color: teal;">/&gt;</span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span><span> </span>&lt;/</span><span style="font-size: 10pt; font-family: ">a4j:support</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span></span><span style="font-size: 10pt; font-family: ">&lt;/</span><span style="font-size: 10pt; font-family: ">h:selectOneRadio</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span><span> </span>&lt;/</span><span style="font-size: 10pt; font-family: ">div</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "> <span> </span>&lt;/</span><span style="font-size: 10pt; font-family: ">a4j:repeat</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "> &lt;/</span><span style="font-size: 10pt; font-family: ">div</span><span style="font-size: 10pt; font-family: ">&gt;</span></p>
<p class="MsoNormal"><span> </span></p>
<p><strong>At line 1</strong>, The outer divs width is responsible for number of images appearing in a row. The outer divs height is responsible for number images appearing in columns after which the scroll bar shall appear. You are most welcome to play with the div to set number of images in rows/columns.<br />
<strong>At line 2</strong>, the a4j repeat tag repeats through a list of images which was populated at the controller.<br />
<strong>At line 3</strong>, we see another div whom we assigned the spacing responsibilities between the images.<br />
<strong>At line 4</strong>, the graphic image in the list is displayed. The zero index of the list contains the url to the image.<br />
<strong>At line 5</strong>, radio button is displayed for selecting an image, the value to this radio button is assigned by the first index of the imageList.</p>
<p><strong>At line 6,</strong> we define the selection criteria, basically whichever radio button element shall contain “selImage”, it will be selected.<br />
<strong>At line 7</strong>, when the event click happens on the radio button the method selectedImageRender is called, which we assigned the responsibilities of selecting an image and cleaning up the rest of the radio buttons.<span> </span>imageList[2] contains the currently selected image Id.</p>
<p>The code for the method is fairly simple and is written as follows:-</p>
<p class="MsoNormal" style="text-indent: 0.0in; text-align: left;"><span style="font-size: 10pt; font-family: ">/***</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">*</span><span style="font-size: 10pt; font-family: "> </span><strong><span style="font-size: 10pt; font-family: ">@author</span></strong><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">waqas.rajab</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">*</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">This</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">method</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">makes</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">the</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">selection</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">of</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">the</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">appropriate</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">image</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">selected</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">on</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">the</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">main</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">page</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span style="font-size: 10pt; font-family: ">*</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">This</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">method</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">also</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">clears</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">out</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">the</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">remaining</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">selection</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">of</span><span style="font-size: 10pt; font-family: "> </span><span style="font-size: 10pt; font-family: ">images.</span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span><span> </span></span><span style="font-size: 10pt; font-family: ">*/</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span></span><strong><span style="font-size: 10pt; font-family: ">public</span></strong><span style="font-size: 10pt; font-family: "> </span><strong><span style="font-size: 10pt; font-family: ">void</span></strong><span style="font-size: 10pt; font-family: "> selectedImageRenderer(){</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span style="font-size: 10pt; font-family: ">String param = getRequest().getParameter(</span><span style="font-size: 10pt; font-family: ">&#8220;selectedImageId&#8221;</span><span style="font-size: 10pt; font-family: ">);</span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span></span><strong><span style="font-size: 10pt; font-family: ">for</span></strong><span style="font-size: 10pt; font-family: ">(</span><strong><span style="font-size: 10pt; font-family: ">int</span></strong><span style="font-size: 10pt; font-family: "> i=0;i&lt;</span><span style="font-size: 10pt; font-family: ">imageList</span><span style="font-size: 10pt; font-family: ">.size();i++){</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span>Object[] obj = (Object[])</span><span style="font-size: 10pt; font-family: ">imageList</span><span style="font-size: 10pt; font-family: ">.get(i);</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span></span><strong><span style="font-size: 10pt; font-family: ">if</span></strong><span style="font-size: 10pt; font-family: ">(obj[2].toString().equalsIgnoreCase(param)){</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span>obj[1] = </span><span style="font-size: 10pt; font-family: ">&#8220;selImage&#8221;</span><span style="font-size: 10pt; font-family: ">;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span>}</span><strong><span style="font-size: 10pt; font-family: ">else</span></strong><span style="font-size: 10pt; font-family: ">{</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span>obj[1] = </span><span style="font-size: 10pt; font-family: ">&#8220;&#8221;</span><span style="font-size: 10pt; font-family: ">;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span>}</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "><span> </span>}</span></p>
<p><span style="font-size: 10pt; font-family: "><span> </span>}</span></p>
<p><strong>Obj[0]</strong> contains Image Url<br />
<strong>Obj[1]</strong> contains selImage i.e. showing the selected image radio button checked.<br />
<strong>Obj[2]</strong> contains the ID of the selected image sent as a parameter from the page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/06/18/image-selection-in-jsf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Company Trip</title>
		<link>http://www.zigron.com/blog/2008/06/12/company-trip/</link>
		<comments>http://www.zigron.com/blog/2008/06/12/company-trip/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 09:18:40 +0000</pubDate>
		<dc:creator>Abdul Wahid</dc:creator>
		
		<category><![CDATA[Zigron Inc]]></category>

		<guid isPermaLink="false">http://www.zigron.com/blog/?p=38</guid>
		<description><![CDATA[

On 24th May few of Zigron&#8217;s team member went for hiking trip to Miranjani,<a href="http://www.flickr.com/photos/awahid/2524732396/" target="_blank"> </a>the plan was to go to Nathia Gali on Saturday and to have a night stay over there and the next day [Sunday] to go for a hike and then come back.
We had an amazing trip and I think beauty of Nathia Gali and Miranjani cannot be described in the words. As we reached Nathia Gali, rain welcomed us . <a href="http://www.zigron.com/blog/2008/06/12/company-trip/" style="padding-left:20px"><font color="#cc3300">[More]</font></a>]]></description>
			<content:encoded><![CDATA[<div>
<p align="center"><img class="alignleft" style="float: left;" src="http://farm4.static.flickr.com/3077/2571789719_61515b34b0.jpg?v=0" alt="" /></p>
<p>On 24th May few of Zigron&#8217;s team member went for hiking trip to <span style="bold;">Miranjani</span>,<a href="http://www.flickr.com/photos/awahid/2524732396/" target="_blank"> </a>the plan was to go to <span style="bold;">Nathia Gali</span> on Saturday and to have a night stay over there and the next day [Sunday] to go for a hike and then come back.</p>
<p>We had an amazing trip and I think beauty of <span style="bold;">Nathia Gali</span> and <span style="bold;">Miranjani</span> cannot be described in the words. As we reached Nathia Gali, rain welcomed us slowly and then heavily turning into a <span style="bold;">Hail Storm</span>. WOW! the scene was awesome, beautiful and Mind blowing! It was getting cold and most of us did not take jackets with us, though had blankets but was too difficult to hike in blankets!</p>
<p>Luckily some people were to come a bit late, so better was to ask them to bring some extra jackets. See, Mobile phones work there, amazing! That night was cold as well as live, as we hardly slept. Cards and <span style="bold;">Discussions</span> made it so lively.</p>
<p>The next day was too bright and cool as we went to conquer the highest peak of <span style="bold;">Abbottabad</span> [Miranjani]. First we mistakenly started trekking towards <span style="bold;">Mushkpuri </span>for about 15 minutes but then we were on the right path. It took us around three hours, reason being the heavy rain fall, normally its around two hours to reach the top. On our way I took some shots and Qasim Mueen filmed the adventure.</p>
<p>After hiking we came to <span style="bold;">Nathia Gali</span> and were about to leave but It rained and we did not want to take any risk, as roads were slippery and dense mist. On Monday we woke up around 6:00 AM, and came back directly to office at 8:30AM.</p>
<p>Oh yes, though, it was little cloudy but we still saw the mighty <span>Nanga parbat</span> at its best as well!</p>
<p>And last, but not least, what Wikipedia Says about <a href="http://en.wikipedia.org/wiki/Miranjani" target="_blank"><span style="bold;">Miranjani</span></a></p>
<blockquote><p><em><strong>Miranjani</strong> is the highest peak of Abbottabad District in the North West Frontier Province of Pakistan and is a big attraction for hikers. It is situated near Nathia Gali, about 80 kilometres (50 mi) north of Islamabad in the Himalayan ranges. From Nathia Gali it takes three hours to reach the peak. It is an easy walk and the top offers a spectacular view. It has less space at the top compared to the neighbouring mountain Mukeshpuri.</em></p>
<p><em>From the top of Mera Jani the following places can easily be seen Azad Kashmir, Jhelum RiverAbbottabad city, Havelian, and Thandiani. On a clear day, the treacherous mountain Nanga Parbat can be seen 400 km away.</em> (Kohala), Tarbela lake,</p>
<p><em><br />
Miranjani is also clad in Pine, Walnut and Oak Maple trees,and other shrub and herbs. From Miranjani one take many short strolls through the pine forests. Tourists can walk up a track starting from the Governor&#8217;s House to the top of Miranjani Hill (2960 metres high), that takes 6 to 7 hours both ways.</em></p>
<p style="text-align: left;">
</blockquote>
</div>
<p style="visible;">
<p style="visibility:visible;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="426" height="320" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="l" /><param name="wmode" value="transparent" /><param name="flashvars" value="cy=ms&amp;il=1&amp;channel=2017612633078731481&amp;site=widget-d9.slide.com" /><param name="src" value="http://widget-d9.slide.com/widgets/slideticker.swf" /><embed type="application/x-shockwave-flash" width="426" height="320" src="http://widget-d9.slide.com/widgets/slideticker.swf" flashvars="cy=ms&amp;il=1&amp;channel=2017612633078731481&amp;site=widget-d9.slide.com" wmode="transparent" salign="l" scale="noscale" quality="high"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zigron.com/blog/2008/06/12/company-trip/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
