<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BlogAbout TrackAbout</title>
	<atom:link href="http://blog.trackabout.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.trackabout.com</link>
	<description></description>
	<lastBuildDate>Fri, 31 May 2013 16:34:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>An Aha Moment with Asset Tracking Software</title>
		<link>http://blog.trackabout.com/2013/05/31/an-aha-moment-with-asset-tracking-software/</link>
		<comments>http://blog.trackabout.com/2013/05/31/an-aha-moment-with-asset-tracking-software/#comments</comments>
		<pubDate>Fri, 31 May 2013 15:51:54 +0000</pubDate>
		<dc:creator>Christine Span</dc:creator>
				<category><![CDATA[Asset Tracking]]></category>
		<category><![CDATA[Rental]]></category>
		<category><![CDATA[asset rental tracking]]></category>
		<category><![CDATA[asset tracking]]></category>
		<category><![CDATA[asset tracking software]]></category>

		<guid isPermaLink="false">http://blog.trackabout.com/?p=832</guid>
		<description><![CDATA[aha moment noun Informal. A point in time, event or experience when one has a sudden insight or realization:  My aha moment was when I realized asset tracking software increased my rental billings by 5%. Suppliers using manual, paper-based systems to track rental of their portable assets often struggle with inaccurate customer rental balances. Errors [...]]]></description>
				<content:encoded><![CDATA[<hr />
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/05/canstockphoto14146119.jpg" rel="lightbox[832]" title="An Aha Moment with Asset Tracking Software"><img class="wp-image-841 alignright" style="margin: 10px;" alt="Aha Moment" src="http://blog.trackabout.com/wp-content/uploads/2013/05/canstockphoto14146119-300x300.jpg" width="190" height="190" /></a></p>
<h4><b>aha moment</b></h4>
<p><i>noun Informal.</i></p>
<p>A point in time, event or experience when one has a sudden insight or realization:  <i>My aha moment was when I realized asset tracking software increased my rental billings by 5%.</i></p>
<hr />
<p><span id="more-832"></span>Suppliers using manual, paper-based systems to track rental of their portable assets often struggle with inaccurate customer rental balances. Errors occur when handwritten information is illegible, data is mis-keyed, delivery tickets get lost or order add-ons fail to be recorded.</p>
<p>Without good tracking, it’s easy for one or two assets to go unnoticed when delivering and returning large quantities of assets. Over time, these seemingly small errors can create a large disparity between what the rental system balance shows and what is actually with the customer.</p>
<p>If a customer thinks their balance is higher than it should be, they usually call to have it corrected. The supplier can burn a lot of time researching the issue, sorting through paper records and consulting with sales staff and delivery drivers. An audit may need to be performed at the customer’s site, which can result in writing off “lost” assets and rental revenue. In the end, it erodes customer trust.</p>
<p>This experience can lead suppliers to incorrectly conclude that asset tracking software will uncover more instances of overstated customer balances, and thus create more headaches. They fear that imbalances as small as one or two assets will add up to a significant amount when multiplied over hundreds of customers. The interesting reality is that this fear can blind suppliers to cases where mistakes <em>favor</em> customers, and they permanently lose out on rent that should be collected from those customers whose balances are too low.</p>
<blockquote><p><em>“We discovered a number of accounts that had more cylinders than we were billing them for. When they started to exchange those assets one for one, we were able to recover and start billing for all those assets that were out in the market. We think our rental billings increased between three to five percent from that fact alone.” – Bob Ewing, President, Red Ball Oxygen</em></p></blockquote>
<p>Good asset tracking software uncovers instances where a customer is being undercharged.</p>
<p>Consider a case where a customer actually has three assets, but due to a past error, shows a rental balance of two. If the customer always exchanges two cylinders, the supplier never becomes aware that the customer really has three assets unless they audit the customer or track the assets uniquely with an asset tracking software system. <i>[<a title="Increasing Rental Revenue" href="https://corp.trackabout.com/perch/resources/infographic-rental-revenue.jpg" target="_blank" rel="lightbox">See the infographic.</a>]</i></p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/05/Infographic-Rental-Revenue.jpg" rel="lightbox" title="An Aha Moment with Asset Tracking Software"><img class="alignleft size-thumbnail wp-image-854" alt="Infographic Rental Revenue" src="http://blog.trackabout.com/wp-content/uploads/2013/05/Infographic-Rental-Revenue-150x150.jpg" width="150" height="150" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Our experience shows that suppliers are <strong>missing out on rent for up to 5 percent</strong> of the assets at customer sites. Here are two quick formulas to determine the value an asset tracking system can offer:</p>
<p>Quantity of assets at customer locations<br />
<span style="text-decoration: underline;">× 5% unaccounted for at customer locations</span><br />
= Quantity of assets recovered by tracking software<br />
<span style="text-decoration: underline;">× $ annual rent per asset</span><br />
= $ rental increase</p>
<p>Quantity of assets recovered by tracking software<br />
<span style="text-decoration: underline;">× $ value of each asset</span><br />
= $ value of recovered assets</p>
<p>Recovering this five percent loss equates to real rental income that goes straight to the bottom line, year after year. Meanwhile, the value of the recovered assets that were unaccounted for could have disappeared completely from inventory.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/05/31/an-aha-moment-with-asset-tracking-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 Questions to Ask Before Buying Asset Tracking Software</title>
		<link>http://blog.trackabout.com/2013/05/14/7-questions-to-ask-before-buying-asset-tracking-software/</link>
		<comments>http://blog.trackabout.com/2013/05/14/7-questions-to-ask-before-buying-asset-tracking-software/#comments</comments>
		<pubDate>Tue, 14 May 2013 12:15:06 +0000</pubDate>
		<dc:creator>Christine Span</dc:creator>
				<category><![CDATA[Asset Tracking]]></category>
		<category><![CDATA[asset tracking]]></category>
		<category><![CDATA[asset tracking software]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[software evaluation]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.trackabout.com/?p=803</guid>
		<description><![CDATA[You’ve decided it’s time to invest in a tracking software solution to help manage your portable assets. Whether your company is smaller and seeking to replace a manual, paper-based system or larger and finding your existing software no longer supports your business, you have similar concerns in selecting your new solution. Making the right choice [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://blog.trackabout.com/wp-content/uploads/2013/05/canstockphoto2443682.jpg" rel="lightbox[803]" title="7 Questions to Ask Before Buying Asset Tracking Software   "><img class="aligncenter size-medium wp-image-821" alt="canstockphoto2443682" src="http://blog.trackabout.com/wp-content/uploads/2013/05/canstockphoto2443682-300x199.jpg" width="300" height="199" /></a></p>
<p style="text-align: left;">You’ve decided it’s time to invest in a tracking software solution to help manage your portable assets. Whether your company is smaller and seeking to replace a manual, paper-based system or larger and finding your existing software no longer supports your business, you have similar concerns in selecting your new solution.</p>
<p>Making the right choice doesn’t have to be hard. The questions below will help you identify and evaluate the critical features that will provide the best return on investment now and in the future.  <span id="more-803"></span></p>
<p><b>Is the software easy to use?</b></p>
<p>Asset tracking software shouldn’t require extensive training. If it’s complicated or difficult to use, employees will be slow to embrace it. Easy-to-use software provides a friendly interface that works like users expect. Menu functions appear in a logical order with the most common ones presented at the top of the menu list, not buried in the hierarchy. The selection buttons on the mobile device are big enough so that larger hands or gloved hands don’t select the wrong option by mistake.</p>
<p><b>Is the system flexible?</b></p>
<p>Every business is different and you’ve developed processes that work best for your company. Choose a solution that can conform to your unique requirements, not the other way around. Flexible software is easily configurable, including how data is collected and the ability to rename fields. It allows for variations in routines and offers workarounds for occasions when exceptions occur.</p>
<p><b>How well does the system handle mistakes?</b></p>
<p>An asset tracking software system increases accuracy, but errors still can occur. Drivers forget to scan an asset. A mobile device is not synced for a few days. A situation arises when assets have duplicate serial numbers. A barcode or RFID tag falls off. The best asset tracking solutions provide simple ways to correct these inevitable errors. When you have narrowed your choices down to a short list and it’s time to see a demo, ask the vendor to include examples of how the software handles these specific scenarios.</p>
<p><b>Is the software scalable in cost and scope?</b></p>
<p>Some tracking systems require large upfront investments and long-term contracts which are not suitable for all organizations. Cloud-based tracking software allows companies to pay a monthly fee for only the service they use, with the ability to increase or decrease service at any time.</p>
<p>A scalable asset tracking solution provides the option of starting small and adding more features as your business requires. You can start with a module for tracking assets, then add a module for tracking rental balances (if you charge a rental fee) and later a module for recording asset maintenance actions. Keep in mind, while it might make sense to start out small, be sure the software is robust, with a proven track record of handling customers with millions of assets from multiple locations.</p>
<p><b>Does the software support a variety of mobile devices?</b></p>
<p>It’s possible that hardware requirements differ among employees and departments, so it’s important that the software can operate across different devices simultaneously. Rugged handheld computers are best for plant floor workers or delivery drivers working in harsh environments while sales reps or field service employees usually prefer smaller, more portable devices like smartphones.</p>
<p>Additionally, bring your own device (BYOD), the policy of permitting employees to bring personally owned laptops, tablets and smartphones to the workplace and use those devices to access privileged company information and applications, is becoming increasingly popular. Asset tracking software that can work with any of these devices offers the best return on investment.</p>
<p><b>Does the tracking software integrate with my business management software?</b></p>
<p>Properly integrating the asset tracking software with other systems will improve the way you do business by increasing productivity, efficiency and cost savings. Some tracking systems prevent integration with other software, perceiving it as a competitive threat. This can limit your ability to operate effectively, resulting in duplication of work and information. Failing to properly integrate applications increases cost by requiring painful workarounds or manual integrations and lessens the return on investment.</p>
<p><b>What are the vendor’s plans for future improvements?</b></p>
<p>It is important that the vendor has a viable vision for the future direction of the software. Ask to see the product roadmap which provides insight into ongoing development and improvements. Notice how often the vendor releases enhancements and if any of the planned enhancements are relevant to your business.</p>
<hr />
<p><i>Are you currently researching asset tracking software solutions?  What questions are you asking?  Share your thoughts below.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/05/14/7-questions-to-ask-before-buying-asset-tracking-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing the Game with Asset Tracking Software</title>
		<link>http://blog.trackabout.com/2013/05/01/changing-the-game-with-asset-tracking-software/</link>
		<comments>http://blog.trackabout.com/2013/05/01/changing-the-game-with-asset-tracking-software/#comments</comments>
		<pubDate>Wed, 01 May 2013 12:26:16 +0000</pubDate>
		<dc:creator>Christine Span</dc:creator>
				<category><![CDATA[Asset Tracking]]></category>
		<category><![CDATA[asset tracking]]></category>
		<category><![CDATA[asset tracking software]]></category>
		<category><![CDATA[success]]></category>

		<guid isPermaLink="false">http://blog.trackabout.com/?p=767</guid>
		<description><![CDATA[If you’re tracking portable assets with a manual or paper-based system, chances are you’ve thought about switching to an asset tracking software solution. You’re aware of some of the benefits, like increased accuracy and efficiency, but you’re not sure that’s enough for you to take the leap. Many forward-thinking companies are finding ways to change [...]]]></description>
				<content:encoded><![CDATA[<p>If you’re tracking portable assets with a manual or paper-based system, chances are you’ve thought about switching to an asset tracking software solution. You’re aware of some of the benefits, like increased accuracy and efficiency, but you’re not sure that’s enough for you to take the leap.</p>
<p>Many forward-thinking companies are finding ways to change the game within their industries by using asset tracking software to achieve operational advantages. They’re gaining added value by fully exploiting the data collection capabilities of mobile handheld devices and doing something meaningful with the wealth of data gathered routinely from on-going system activity.</p>
<p>Below are some perceptions you might have about asset tracking software. Read on to learn which ones are true (but don’t tell the entire story) and which ones are false. <span id="more-767"></span></p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  I’ll know where my assets are.</b></h4>
<p style="padding-left: 30px;">An asset tracking software solution will tell me the location of my assets. I’ll know exactly what assets are where and I’ll gain greater accountability for their usage.</p>
<h4 style="padding-left: 30px;"><b>Reality:  You’ll also know where your assets have been.</b></h4>
<p style="padding-left: 30px;">In addition to knowing an asset’s current location, you will have an historical record spanning the life of the asset. Not only will you know where each asset has been, you also will know every transaction that has occurred. This detailed history is helpful in providing evidence to settle customer disputes, documentation for government regulations and product recalls, and verification of maintenance performed for warranties.</p>
<p>Following a major hurricane, one company received a number of medical oxygen cylinders that likely were contaminated by hydrocarbons from overflowing fuel tanks. The company used the history stored in the asset tracking system to back-trace the cylinders to the customer who originally received them.  The company was able to prevent a catastrophe by warning the customer of the potential dangers of cylinders that might still be at their location.</p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  Accuracy and efficiency will improve. </b></h4>
<p style="padding-left: 30px;">My manual, paper-based processes are time-consuming and error-prone. I’ve heard that automating these processes will minimize mistakes, increase compliance with established workflows and eliminate unnecessary steps.</p>
<h4 style="padding-left: 30px;"><b>Reality:  Visibility across the entire business will improve.</b></h4>
<p style="padding-left: 30px;">With asset tracking, it’s easy to determine cycle times for key processes, pinpoint production slowdowns and identify customers who are costing you money. In short, companies can respond quicker to changing conditions and customer needs.</p>
<p>Consider an industrial gas distributor who regularly delivers cylinders to and receives empties from a customer. An asset tracking report can alert the distributor if the customer suddenly begins returning all empty cylinders. This could be an indication that the customer is preparing to switch suppliers. The distributor can attempt to retain the business by responding quickly and addressing any issues with the customer.</p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  </b><b>I’ll better manage my assets. </b></h4>
<p style="padding-left: 30px;">I know that automated data collection will help me capture data that will help me utilize my assets more efficiently. I’ll better allocate assets between locations to prevent shortages and ensure orders are filled.</p>
<h4 style="padding-left: 30px;"><b>Reality:  </b><b>Invoicing is better managed.</b></h4>
<p style="padding-left: 30px;">While asset tracking enables better asset utilization, it’s important to get paid for the orders that are delivered. Deliveries can go unbilled with a paper-based system as documents often get lost or mishandled. Asset tracking software eliminates lost documents since transactions are recorded with a mobile device and enter the business system in real time.</p>
<p><span style="color: #000000;">Evidence shows that<strong> companies are catching and fixing billing mistakes on as much as 4% of all deliveries.</strong></span> One company reported fixing enough billing errors to pay for their entire asset tracking software solution.</p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  </b><b>I don’t have time to initialize all my assets into the tracking system.</b></h4>
<p style="padding-left: 30px;">I have thousands of assets. It’s going to take a long time to attach a barcode or RFID tag to each one and initialize them into the tracking system. I’m not sure I can afford the time.</p>
<h4 style="padding-left: 30px;"><b>Reality:  </b><b>Better utilization results in substantial savings.</b></h4>
<p style="padding-left: 30px;">Many companies have an idea of how many assets they own, but few have an exact count.  It takes only a minute or so to initialize each asset using a mobile device, and once it’s done, the number of under-utilized assets in inventory is often surprising.</p>
<p>Asset tracking software enables companies to easily determine which assets have been at a customer site longer than expected. When a company is short on assets, the tracking software finds the assets that could be returned and reused. <strong>One company reported one-time savings of $250,000</strong> because they found so many assets that they didn’t need to purchase new ones for an entire year.</p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  I could lose money.</b></h4>
<p style="padding-left: 30px;">When my customers call about a billing error, they usually complain that I’ve overcharged them. Any improvement in accuracy will favor my customers and I’ll find that my revenues are less than I thought.</p>
<h4 style="padding-left: 30px;"><b>Reality:  Revenues increase.</b></h4>
<p style="padding-left: 30px;">Customers rarely call when you’ve <i>under</i>charged them. Companies that charge rent on their assets and use an asset tracking software solution increase rental revenue by finding hidden assets sitting at customer sites.</p>
<p>Consider a case where a customer has three of your assets onsite, but due to a past error shows a rental balance of only two. If the customer always evenly exchanges two assets, you will never know that the customer really has three unless you either audit the customer or track your equipment with asset tracking software. Experience shows that <strong>companies that implement tracking software can increase rental billings by as much as 8%. </strong></p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  I’ll see the status of my business in real-time.</b></h4>
<p style="padding-left: 30px;">It’s difficult to trust the data from my manual tracking system. It’s only as up-to-date as when the information is keyed in, and even then, human errors occur frequently. I’m sure an asset tracking software solution will provide more accurate data when I need it.</p>
<h4 style="padding-left: 30px;"><b>Reality:  Customer loyalty increases.</b></h4>
<p style="padding-left: 30px;">Because asset tracking software reduces errors and captures data in real time, companies have confidence in the data and are able to share it with customers in real time. This helps to eliminate balance and billing disputes. Some even give customers user IDs and passwords so they can view their asset information online.</p>
<p>Asset tracking software provides a single view of the truth. Customers appreciate the transparency of information, which enhances trust and accountability and strengthens relationships. Because customers recognize the value, companies can add a tracking fee to customer rental invoices.</p>
<hr />
<h4 style="padding-left: 30px;"><b>Perception:  Employees will resist the change.</b></h4>
<p style="padding-left: 30px;">Many of my employees are not computer savvy. The thought of learning new technology scares them. They’ll see this new system as extra work. It’s not worth the risk of upsetting the staff. Maybe it’s better to stick to the current paper-based process so we don’t rock the boat.</p>
<h4 style="padding-left: 30px;"><b>Reality:  Employees take pride in a culture of accuracy.</b></h4>
<p style="padding-left: 30px;">Employees learn that an automated system means less manual work because things are done right the first time. They trust that the work they’re doing is accurate. Teamwork thrives as they all understand the importance of their roles.</p>
<p><strong>Warehouse workers and drivers can learn how to use a tracking system in less than 20 minutes</strong>, and they actually appreciate the elimination of time-consuming paperwork. One company went a step further and incentivized data accuracy by awarding employees with quarterly bonuses earned by keeping mistakes to a minimum.</p>
<hr />
<p><i>What are your perceptions about asset tracking? Did any of the ones above hit home for you? Share your comments below. We’d love to hear from you.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/05/01/changing-the-game-with-asset-tracking-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scratching an Itch to Improve Email Service</title>
		<link>http://blog.trackabout.com/2013/04/16/scratching-an-itch-to-improve-email-service/</link>
		<comments>http://blog.trackabout.com/2013/04/16/scratching-an-itch-to-improve-email-service/#comments</comments>
		<pubDate>Tue, 16 Apr 2013 22:05:35 +0000</pubDate>
		<dc:creator>Larry Silverman</dc:creator>
				<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[hipchat]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[sendgrid]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">https://blog.trackabout.com/?p=743</guid>
		<description><![CDATA[In this post I discuss the path I took to enable TrackAbout to react more quickly to failures in our application’s email delivery. I wrote a service using Node.js which relays email delivery failure events from SendGrid to a HipChat chat room that our support staff monitors. The project is open source and available on [...]]]></description>
				<content:encoded><![CDATA[<p>In this post I discuss the path I took to enable TrackAbout to react more quickly to failures in our application’s email delivery. I wrote a service using Node.js which relays email delivery failure events from SendGrid to a HipChat chat room that our support staff monitors. The project is open source and available on GitHub as <a title="Link to github project for sendgrid-webhook-server." href="https://github.com/trackabout/sendgrid-webhook-server" target="_blank">sendgrid-webhook-server</a>.</p>
<p><span id="more-743"></span><br />
<h2>Live to Code, Code to Live</h2>
<p>I’ve written previously about our policy of giving our developers <a title="Link to my past blog article about our developer free time policy" href="http://blog.trackabout.com/2012/10/17/self-directed-developer-time/" target="_blank">self-directed time</a> each sprint to scratch an itch, sharpen the saw, study, etc. I recently took some self-directed time myself to scratch my own itch.</p>
<p>As CTO of TrackAbout, I don’t get to write code like I used to. In the early years of TrackAbout, I would spend 90% of my conscious time coding, from rolling out of bed until the time I passed out around 2AM (minus meals, bio breaks and an occasional trip to the gym). Programming is my first love but other duties now keep me from it. Yet every so often I find an opportunity to flex my atrophying coding muscle.</p>
<h2>Delivering Email is Hard</h2>
<p>Our web application, like most, sends email. It sends email to employees at TrackAbout, to our users, and to people of our users’ choosing.</p>
<p>Getting email delivered is significantly harder than you might think, largely because you have zero control over the whims of the receiving email server. One ill-configured, over-zealous “network security device” on the other end and your email gets eaten and your IP address lands on some global blacklist, impacting deliverability to all your other customers (I’m looking at you, Barracuda).</p>
<p>About a year and a half ago, we decided to outsource the sending of email to someone who was doing it right, <a title="Link to SendGrid&#39;s home page" href="http://www.sendgrid.com" target="_blank">SendGrid</a>. Prior, we’d been sending email through a basic SMTP mailer service. It provided little visibility into drops and bounces and did nothing to help us understand if we were on blacklists. It also wouldn’t <a title="Link to Wikipedia article about DKIM" href="http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail" target="_blank">DKIM sign</a> our email, which is an important ingredient in ensuring successful delivery (see also: <a title="Link to wikipedia article on SPF" href="http://en.wikipedia.org/wiki/Sender_Policy_Framework" target="_blank">SPF DNS records</a>). We could have built up capabilities around our existing SMTP service or chosen a new email server, but we’re not in the business of writing email tools or managing email servers. SendGrid is.</p>
<p>Even with SendGrid, the mail doesn’t always get through. When it fails, SendGrid gives us some really nice reports to determine the cause of various kinds of failures. Often, a user has fat-fingered an email address, and it’s just not routable. That mail will never get there.</p>
<p>We recently had a situation where an employee of TrackAbout configured a demo instance with a fake but routable email address, which caused us to send gobs of email to an unsuspecting company, to a user/mailbox that doesn’t exist. It’s a great way to get blacklisted for bad behavior. Don’t recommend it.</p>
<p>We’ve also had users set up email alerts in our application that trigger based on some event happening with their tracked assets. When the intended target leaves their company, the email starts to fail. Again, pounding an innocent mail server can get you blacklisted.</p>
<p>Having a member of our Support staff monitor SendGrid reports is one way to stay on top of these kind of email failures. But a push notification system would be much nicer.</p>
<p>Here comes my itch.</p>
<h2>Building a Better Mousetrap</h2>
<p>We learned that SendGrid, in addition to having a comprehensive REST-based web API, has this wonderful feature called a “<a title="Link to SendGrid&#39;s web hook API" href="http://sendgrid.com/docs/API_Reference/Webhooks/index.html" target="_blank">web hook</a>”. The gist is that you can make SendGrid call a URL of your choosing when email is processed, dropped, deferred, delivered, bounced, clicked, opened, unsubscribed from or marked as spam.</p>
<p>We use <a href="http://www.hipchat.com" target="_blank">HipChat</a> as our chat room solution at TrackAbout and we love it. We’re in there all day. How nice would it be to have a chat room for being notified of SendGrid mail failure events? Very nice indeed.</p>
<p>So what I wanted was a lightweight service to receive web hook calls from SendGrid and transform the posted data into a HipChat message to the room of my choosing.</p>
<p>There are some cool new companies out there that hook various cloud services together. The two big ones I know about are <a title="Link to IFTTT&#39;s home page." href="http://ifttt.com/" target="_blank">If This Then That</a> and <a title="Link to Zapier&#39;s home page." href="https://zapier.com/" target="_blank">Zapier</a>.&#160; Neither supported the exact scenario I wanted, and besides, this isn’t a terribly hard problem to solve by rolling your own. And I had this itch.</p>
<h2>Enter Node</h2>
<p>I have been following the burgeoning <a title="Link to Node.js home page" href="http://nodejs.org/" target="_blank">Node.js</a> community and I’ve wanted to try writing a simple service using it. I brushed up on my JavaScript skills, plowed through <a title="Link to LeanPub two-for deal for Node books" href="https://leanpub.com/b/node" target="_blank">a couple of beginner Node.js books</a> and got to hacking.</p>
<p>The result of eight highly-interrupted hours of effort is now live and working. <a title="Link to our sendgrid-webhook-server project on GitHub" href="https://github.com/trackabout/sendgrid-webhook-server" target="_blank">The project, sendgrid-webhook-server, is available on GitHub</a> and open sourced under the MIT license.</p>
<p>I began writing my service using a model of an HTTP server application as laid out in <a title="Link to nodebeginner.org" href="http://www.nodebeginner.org/" target="_blank">Manuel Kiessling’s The Node Beginner Book</a>. I ultimately bought <a title="Link to leanpub bundle of two node books" href="https://leanpub.com/b/node" target="_blank">the bundle</a> including his book and Hands-On Node.js by Pedro Teixeira. Once I felt I understood the basic HTTP server model and had my solution working, I gutted it and rewrote it using <a title="Link to the Express framework for node." href="http://expressjs.com/" target="_blank">the Express framework</a>. A ton of code fell away.</p>
<p>I began coding using the excellent text editor <a title="Link to Sublime Text&#39;s home page." href="http://www.sublimetext.com/2" target="_blank">Sublime Text</a> with the <a title="Link to an intellisense package for Sublime Text" href="https://github.com/Kronuz/SublimeCodeIntel" target="_blank">SublimeCodeIntel</a> package to gain Intellisense features. I’m more familiar and facile with Visual Studio and soon migrated to VS2012. VS2012 does well enough with JavaScript Intellisense. I added <a href="http://visualstudiogallery.msdn.microsoft.com/1a417c37-4d6f-43ca-b753-6ea6eb5041fd" target="_blank">the JSLint extension</a> and <a title="Link to blog post titled, Leveraging Visual Studio 2012 for Node.js Development" href="http://www.seesharprun.net/leveraging-visual-studio-2012-for-node.js-development" target="_blank">followed some simple tips</a> that enabled launching my Node app with Ctrl-F5.</p>
<p>I used the <a title="Link to the Chrome Web Store for the Advanced REST client extension" href="https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo" target="_blank">Chrome Advanced REST client</a> for testing the service.</p>
<p>Huge thanks to the brilliant Nate Kohari for his <a title="Link to Nate Kohari&#39;s node-hipchat package" href="https://github.com/nkohari/node-hipchat" target="_blank">node-hipchat package</a> which did most of my work for me.</p>
<p>Although we’re using Mercurial (Hg) internally for DVCS, I put the code on GitHub to enable me to deploy the live service easily to <a title="Link to Heroku&#39;s home page" href="https://www.heroku.com/" target="_blank">Heroku</a> and to facilitate the ultimate open-sourcing of the project. If Heroku ever starts costing real money, I can run Node on any one of our existing TrackAbout servers easily enough. It was fun learning how to quickly deploy code from GitHub to Heroku.</p>
<p>The code isn’t perfect and I make no warranties or representations about it. Unit tests are sorely needed. Pull requests are welcome. See the README for to dos. As I get time, I’ll extend and improve the project further. Our support manager already wants us to funnel the events into our trouble ticketing system so that we can track each issue to resolution.</p>
<p>Until the next itch…</p>
<p>Larry Silverman   <br />Chief Technology Officer    <br />TrackAbout, Inc.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/04/16/scratching-an-itch-to-improve-email-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driving Efficiency and Growth for HME Providers</title>
		<link>http://blog.trackabout.com/2013/03/15/driving-efficiency-and-growth-for-hme-providers/</link>
		<comments>http://blog.trackabout.com/2013/03/15/driving-efficiency-and-growth-for-hme-providers/#comments</comments>
		<pubDate>Fri, 15 Mar 2013 14:50:26 +0000</pubDate>
		<dc:creator>Christine Span</dc:creator>
				<category><![CDATA[Asset Tracking]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[White Papers]]></category>
		<category><![CDATA[asset tracking]]></category>
		<category><![CDATA[asset tracking software]]></category>
		<category><![CDATA[DME]]></category>
		<category><![CDATA[durable medical equipment]]></category>
		<category><![CDATA[HME]]></category>
		<category><![CDATA[home medical equipment]]></category>

		<guid isPermaLink="false">http://blog.trackabout.com/?p=726</guid>
		<description><![CDATA[With reimbursements falling, sometimes steeply, home medical equipment (HME) companies are urgently turning their attention to cutting costs. Unlike less palatable choices, such as layoffs or buying lower-quality equipment, implementing the right technology can not only increase HME operating efficiencies, but also substantially improve performance and position companies for growth in an era of accountable [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/HME-Web-iStock_000003514769_1000px.jpg" rel="lightbox[726]" title="Driving Efficiency and Growth for HME Providers"><img class="alignleft size-thumbnail wp-image-727" style="margin: 10px;" alt="HME Equipment" src="http://blog.trackabout.com/wp-content/uploads/2013/03/HME-Web-iStock_000003514769_1000px-150x150.jpg" width="150" height="150" /></a></p>
<p>With reimbursements falling, sometimes steeply, home medical equipment (HME) companies are urgently turning their attention to cutting costs. Unlike less palatable choices, such as layoffs or buying lower-quality equipment, implementing the right technology can not only increase HME operating efficiencies, but also substantially improve performance and position companies for growth in an era of accountable care.</p>
<p>Asset tracking software provides this type of opportunity. With equipment as one of their biggest expenses, HME companies must ensure their assets are working as hard as possible and thus delivering an optimal return on investment.</p>
<p>By implementing dedicated asset tracking software, HME companies can establish an easy-to-use, highly efficient, and effective process for managing and maintaining equipment that maximizes the use and the useful life of their critical assets. Electronically tracking, sorting, and aggregating equipment data and producing reports enables HME companies to become more valuable partners to accountable care organizations (ACOs) that rely on electronic systems to knit together providers across the continuum of care.</p>
<p><a title="Driving Efficiency and Growth for HME Providers" href="https://corp.trackabout.com/perch/resources/1363269742-trackabout-hme-wp-3-2013.pdf" target="_blank">Read the white paper.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/03/15/driving-efficiency-and-growth-for-hme-providers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PropertyCross Android Implementation Shootout</title>
		<link>http://blog.trackabout.com/2013/03/05/propertycross-android-implementation-shootout/</link>
		<comments>http://blog.trackabout.com/2013/03/05/propertycross-android-implementation-shootout/#comments</comments>
		<pubDate>Tue, 05 Mar 2013 20:15:45 +0000</pubDate>
		<dc:creator>Larry Silverman</dc:creator>
				<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://blog.trackabout.com/?p=648</guid>
		<description><![CDATA[Overview TrackAbout is evaluating cross-platform mobile application development frameworks for the next version of our mobile software. There are more than a dozen competing frameworks, with more appearing every week. It&#8217;s daunting to place a bet in a marketplace with this much flux. Recognizing the confusion in the marketplace and choosing to do something about [...]]]></description>
				<content:encoded><![CDATA[<h2>Overview</h2>
<p>TrackAbout is evaluating cross-platform mobile application development frameworks for the next version of our mobile software. There are more than a dozen competing frameworks, with more appearing every week. It&#8217;s daunting to place a bet in a marketplace with this much flux.</p>
<p>Recognizing the confusion in the marketplace and choosing to do something about it are the people behind the <a href="http://propertycross.com" target="_blank">PropertyCross</a> web site. You can read about their goals on their web site, but the short version is that they&#8217;ve published a spec for a modest mobile application and are soliciting developers to implement the spec using as many frameworks as possible. This is an invaluable resource for those trying make sense out of the options.</p>
<p>Source code for all implementations <a href="https://github.com/colineberhardt/PropertyCross/" target="_blank">is available on Github</a> as is <a href="https://github.com/colineberhardt/PropertyCross/tree/master/specification" target="_blank">the specification for the PropertyCross example application</a>.</p>
<p>In February 2013, I downloaded all of the Android implementations published on the PropertyCross site and <a href="http://en.wikipedia.org/wiki/Sideloading" target="_blank">sideloaded</a> them onto my Verizon Galaxy Nexus. I then used every feature of each app in an effort to get a feel of the differences between the cross-platform mobile application frameworks.</p>
<p>The PropertyCross implementations reviewed (in no particular order) were:</p>
<ul>
<li><a href="#native">Android Native (Java)</a></li>
<li><a href="#jquerymobile">jQuery Mobile (PhoneGap)</a></li>
<li><a href="#jqtouch">JQTouch (PhoneGap)</a></li>
<li><a href="#rho">RhoMobile</a></li>
<li><a href="#xamarin">Xamarin</a></li>
<li><a href="#titanium">Titanium</a></li>
<li><a href="#sencha">Sencha Touch 2 (PhoneGap)</a></li>
<li><a href="#air">Adobe Air</a></li>
</ul>
<p><span id="more-648"></span></p>
<h2>&#8220;Methodology&#8221; (Caveats)</h2>
<p>This was not a rigorously controlled experiment. I didn&#8217;t make any special efforts to install each app onto a factory-reset stock device with no other apps or background services running. Unrelated background processes can impact the perceived performance of apps. Whenever I sensed a slowdown, I looked for bad actors in the background. I repeated the same activity to raise my confidence that what I was seeing was due to the app itself.</p>
<p>I did not test on multiple devices or OSes. I don&#8217;t have an iOS device to test with, but even if I did, the PropertyCross applications are not code signed. I&#8217;d have to go about signing them myself to load them, making such an endeavor considerably more time consuming.</p>
<p>This was a comparative review in which I tested multiple implementations on the same device to get a feel for how they differed. This was sufficient for my needs. Because some of the implementations use webview frameworks, they rely on the built-in WebKit browser on the device. Anyone attempting a similar exercise should be aware of this, and that the older the version of the OS, the older the built-in WebKit engine is going to be and the slower the webview frameworks will perform.</p>
<p>I worry that this blog post will inevitably grow stale or misleading. Issues I report here may be resolved in future PropertyCross releases or by the framework providers. Therefore, <strong>please note the date of this blog post</strong> and try the latest builds of the apps on the frameworks you care about before arriving at your own conclusions. At the time of writing, the team was not publishing version numbers of the apps, so the publishing date is going to be your best marker.</p>
<p>Each PropertyCross implementation had its shortcomings. In many cases it was difficult to tell which issues were due to developer choices versus framework limitations. I enlisted the help of PropertyCross site founder <a href="https://twitter.com/ColinEberhardt" target="_blank">Colin Eberhardt</a>, <a href="https://twitter.com/samhogy" target="_blank">Sam Hogarth</a>, and other members of the PropertyCross team to help me better understand my observations and incorporated their feedback. They were forthcoming and helpful.</p>
<p>On &#8220;View Bouncing&#8221;: In several of the implementations, if you swipe a view up or down, the whole screen bounces. It&#8217;s the iOS overscroll effect intended for lists, but it makes no sense in certain contexts like static forms. I made a note of wherever I saw this effect when I thought it didn&#8217;t belong.</p>
<p>On &#8220;Overscroll Glow&#8221;: This is the expected Android overscroll effect. When scrolling to the beginning or end of a list, the top or bottom edge glows.</p>
<p>See examples of both iOS and Android overscroll effects <a href="http://jasonfry.co.uk/blog/android-overscroll-what/" target="_blank">here</a> and <a href="http://jasonfry.co.uk/blog/android-overscroll-revisited/" target="_blank">here</a>.</p>
<p>I have categorized all issues I noticed thus:</p>
<p>[FRM] &#8211; The issue being noted is due to the underlying framework.<br />
[DEV] &#8211; The issue being noted is due to a choice by the developer.<br />
[?] &#8211; Could not determine.</p>
<hr />
<h2 id="native">Native (Java)</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0024.gif" target="_blank" rel="lightbox[648]" title="clip_image002[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image002[4]" alt="clip_image002[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0024_thumb.gif" width="105" height="101" border="0" /></a></p>
<p>Source code: 1,383 KB<br />
APK size: 607 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0044.gif" target="_blank" rel="lightbox[648]" title="clip_image004[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image004[4]" alt="clip_image004[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0044_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0064.gif" target="_blank" rel="lightbox[648]" title="clip_image006[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image006[4]" alt="clip_image006[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0064_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0084.gif" target="_blank" rel="lightbox[648]" title="clip_image008[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image008[4]" alt="clip_image008[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0084_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time</b></p>
<ul>
<li>Fast, under 2 seconds.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>Very responsive scrolling, no touch delays.</li>
<li>Implemented the overscroll glow.</li>
<li>There&#8217;s no accidental highlighting of list items touched while scrolling as occurs in several webview frameworks reviewed.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>None (I&#8217;d only expect this in a webview app)</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>Excellent</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>[DEV] View transitions are very fast, but images on property view should be preloaded before showing the screen.</li>
</ul>
<p><b>Of Note:</b></p>
<ul>
<li>Upon clicking Go to start a search, the Go and My Locations are disabled, signaling (1) that a search is underway and (2) that additional taps are not necessary (or possible). This disabling of input buttons was also done when clicking on a recent search in the recent searches list.</li>
<li>[DEV] Upon the start of the application, the cursor was in the search textbox, and the on-screen keyboard was presented automatically. On one hand, this is nice if my first action is to perform a new search. If I wish to access Recent Searches, then the keyboard is in my way. On my Galaxy Nexus, the onscreen keyboard obscures the Recent Searches block. The search view does not support scrolling to allow me to access Recent Searches without first hiding the keyboard.</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[DEV] The Recent Searches are not being remembered from run to run.</li>
<li>[DEV] Property images are not being pre-loaded or cached. Scrolling down in the list view reveals images being loaded on-demand. Scrolling back up to properties already viewed, I notice images that were shown previously are now lost and must be reloaded. That is wasteful.</li>
<li>[DEV] Defect: I searched on &#8220;London &#8221; with a trailing space. Clicking on &#8220;Go&#8221; button, nothing happens. Delete the space, the search is conducted successfully. Trimming input is very important because most predictive text keyboards (I use Swiftkey) automatically insert a space after each word.</li>
<li>[DEV] On the list view, there is no visual feedback when tapping &#8220;Tap to load more&#8230;&#8221; area &#8212; can&#8217;t tell if it&#8217;s working or not, and can&#8217;t discern what area is technically tappable.</li>
<li>[DEV] Clicked My Location &#8212; app was unable to determine my location. GPS and wifi are both on. I&#8217;m in the United States, and the properties are not. Ideally, the application would report that there are no properties available in my region.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>As the Native implementation, this should be the &#8220;gold standard&#8221; implementation against which the multi-platform development frameworks are compared. All the shortcomings expressed are developer issues to resolve, not framework issues. I&#8217;d like to see all the shortcomings resolved and then see if the team can bring the rest of the implementations up to this standard.</p>
<hr />
<h2 id="jquerymobile">jQuery Mobile (PhoneGap)</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0104.gif" target="_blank" rel="lightbox[648]" title="clip_image010[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image010[4]" alt="clip_image010[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0104_thumb.gif" width="112" height="105" border="0" /></a></p>
<p>Source code: 7,724 KB<br />
APK size: 1,523 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0124.gif" target="_blank" rel="lightbox[648]" title="clip_image012[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image012[4]" alt="clip_image012[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0124_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0144.gif" target="_blank" rel="lightbox[648]" title="clip_image014[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image014[4]" alt="clip_image014[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0144_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0164.gif" target="_blank" rel="lightbox[648]" title="clip_image016[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image016[4]" alt="clip_image016[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0164_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>[FRM] Slow, 4-5 seconds.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>[FRM] List view takes several hundred milliseconds to register a swipe before it starts scrolling. JQTouch Phonegap implementation doesn&#8217;t seem to suffer from this.</li>
<li>[FRM] Swiping the list view up or down causes a highlight on a list item. This is likely a shortcoming of the webview framework being bad at determining a tap/double-tap/swipe.</li>
<li>[FRM] List does not implement the Android overscroll glow. Instead it bounces like iOS.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>[FRM] All views bounce up or down when swiped. Likely an artifact of the webview nature of the framework.</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>[FRM] Poor. There&#8217;s a responsiveness delay when hitting any button: back, favorite. Colin pointed out this is most likely due to the way mobile browsers handle tap events, delaying to determine if a tap will become a double-tap. For more info, see <a href="https://developers.google.com/mobile/articles/fast_buttons" target="_blank">https://developers.google.com/mobile/articles/fast_buttons</a></li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>Search to List View: Always going to be slow due to the query. Would need to do profiling to determine how much is due to the framework vs. the query.</li>
<li>List to Property View: Fast</li>
<li>Property View back to List View: Slower, probably due to a large list being displayed. Not outrageous.</li>
<li>Search to Favorites: Fast enough</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[FRM] Menu button <a href="http://blog.trackabout.com/wp-content/uploads/2013/03/image.png" target="_blank" rel="lightbox[648]" title="image"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.trackabout.com/wp-content/uploads/2013/03/image_thumb.png" width="23" height="24" border="0" /></a> in the navigation row, even though it does nothing. Apparently this is difficult or impossible to hide in Phonegap.</li>
<li>[?] I left the app while viewing the Property View, then returned later and was left staring at a blank canvas. I tapped the screen and the Property View appeared instantly.</li>
<li>[DEV] &#8220;Load more&#8221; in the list view doesn&#8217;t provide feedback when tapped.</li>
<li>[?] Android &#8220;Back&#8221; button behavior acts more like a browser than an app. I expect that when on the search screen, back would exit the app, but it keeps going back through screen history.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>This implementation isn&#8217;t competitive as-is. Probably jQuery Mobile could be made better through tricks, tweaks and different javascript library choices. There are many ways to make an app using PhoneGap or other webview frameworks. A lighter weight library like Zepto.js could be used in place of jQuery, perhaps. Knockout.js was used in both this implementation and JQTouch, but there can be bad choices made using any framework or library which can make an app slow.</p>
<hr />
<h2 id="jqtouch">JQTouch (PhoneGap)</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0204.gif" target="_blank" rel="lightbox[648]" title="clip_image020[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image020[4]" alt="clip_image020[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0204_thumb.gif" width="130" height="120" border="0" /></a></p>
<p>Source code: 1,526 KB<br />
APK size: 1,507 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image022.gif" target="_blank" rel="lightbox[648]" title="clip_image022"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image022" alt="clip_image022" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image022_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0244.gif" target="_blank" rel="lightbox[648]" title="clip_image024[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image024[4]" alt="clip_image024[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0244_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0264.gif" target="_blank" rel="lightbox[648]" title="clip_image026[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image026[4]" alt="clip_image026[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0264_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>Around or under 3 seconds. Quicker than jQuery Mobile. Shows a splash screen. Acceptable speed. Since both this and the jQuery Mobile rely on the WebKit browser engine, I am guessing the speed delta is due to differences in the javascript libraries and UI frameworks being used.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>Smooth. Increases my confidence that a webview framework can deliver on performance.</li>
<li>Android overscroll glow was implemented.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>No bouncing of views when swiped. Good.</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>[DEV] Acceptable speed, but somewhat variable amount of visual feedback provided throughout the app. The Back button on the Property View doesn&#8217;t provide any tap feedback. In other places, buttons flash green.</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>Search to List View: Always going to be slow due to the query. Would need to do profiling to determine how much is due to the framework vs. the query.</li>
<li>List to Property View: Fast</li>
<li>Property View back to List View: Pretty fast.</li>
<li>Search to Favorites: Fast enough</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[FRM] Menu button <a href="http://blog.trackabout.com/wp-content/uploads/2013/03/image1.png" target="_blank" rel="lightbox[648]" title="image"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.trackabout.com/wp-content/uploads/2013/03/image_thumb1.png" width="23" height="24" border="0" /></a> in the navigation row, even though it does nothing. Apparently this is difficult or impossible to hide in Phonegap.</li>
<li>[DEV] Styling and colors are pretty bad in this implementation. Black text on dark grey? <a href="http://en.wikipedia.org/wiki/Skeuomorph" target="_blank">Skeuomorphic</a> faux-leather background? Colin tells me this may be the default style of JQTouch, and where possible, they wanted to use whatever default styling the framework provided. I&#8217;ll call this a DEV shortcoming because it could be modified and therefore shouldn&#8217;t count against the framework.</li>
<li>[FRM] List items flash/highlight when swiped. JQuery Mobile did this too, but it&#8217;s much more pronounced and noticeable with JQTouch.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>Overall I&#8217;d be satisfied with this level of performance, minus the style choices. This implementation shows me that a webview framework can deliver on performance.</p>
<hr />
<h2 id="rho">RhoMobile</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0284.gif" target="_blank" rel="lightbox[648]" title="clip_image028[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image028[4]" alt="clip_image028[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0284_thumb.gif" width="114" height="112" border="0" /></a></p>
<p>Source code: 2,223 KB<br />
APK size: 3,348 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0304.gif" target="_blank" rel="lightbox[648]" title="clip_image030[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image030[4]" alt="clip_image030[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0304_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image032.gif" target="_blank" rel="lightbox[648]" title="clip_image032"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image032" alt="clip_image032" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image032_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image034.gif" target="_blank" rel="lightbox[648]" title="clip_image034"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image034" alt="clip_image034" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image034_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>Around or under 3 seconds.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>[FRM] There&#8217;s the tell-tale slight delay in registering a swipe to scroll. Seems faster than the jQuery implementation, but still not instantaneous or even close to the JQTouch implementation.</li>
<li>[FRM] Scrolling is not smooth. Jittery, jumpy.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>None.</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>[FRM] Buttons seem responsive when they work. But intermittently, they don&#8217;t work.</li>
<li>[FRM] Odd artifact: When tapping on a list view item, first it changes style slightly (inversion of 3D perspective) indicating the tap, then it highlights in blue, then the view changes. Odd.</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>[?] Views have a slide transition, making them seem slower than other implementations.</li>
<li>[FRM] Transition from list to property view has a slight delay following a tap. Likewise going back from property view to list.</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[?] This app runs &#8220;full screen&#8221; and makes it impossible to access the Android notifications area at the top of the screen. I hope this is configurable by the developer.</li>
<li>[DEV] In places, the app lacks progress indicators (spinners) letting you know it&#8217;s doing something.</li>
<li>[?] On search view, typed in London, hit Go, saw a brief &#8220;Searching&#8221; message then nothing. Tried Liverpool, then got some results.</li>
<li>[?] Several times, the search the query has not worked. Almost like the web request timeout is too short by default and the developer isn&#8217;t providing feedback on failures.</li>
<li>[?] Intermittent loss of button clicks. Sometimes button presses just seem to get swallowed, lost. Looking at a single property, hit the Back button, it flashed registering the tap, then nothing happened. Clicked the Fave button, it didn&#8217;t change status. Went all the way back, looked at my faves and the property was there. Clicked it to go to property view and now the Fave button reflects that it&#8217;s a fave.</li>
<li>[DEV] When I went back from a property view to the list view, the properties I&#8217;d loaded using a Load More action were gone and I was back to the original list, having to do Load More again. The state of the list view is not being maintained.</li>
<li>[DEV] Menu button <a href="http://blog.trackabout.com/wp-content/uploads/2013/03/image2.png" target="_blank" rel="lightbox[648]" title="image"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.trackabout.com/wp-content/uploads/2013/03/image_thumb2.png" width="23" height="24" border="0" /></a> actually does something in this implementation. It brings up a menu containing: Home, Refresh, Sync, Options, Log and Close. Home and Refresh work. Sync does nothing. Options throws a 404 Not Found and hitting Back exits the app. Log shows a console log. Close does what you&#8217;d think. My money says this is a default Rho menu structure which all Rho apps would have if not hidden or modified.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>This is the worst implementation of the bunch. I suspect it&#8217;s largely the developer&#8217;s fault. If I were Motorola Solutions, I&#8217;d be trying to get this implementation improved</p>
<p><i>Side Note: </i>Spoke to three reps from Motorola Solutions on Feb 21, 2013, suggested they get someone to contribute.</p>
<p><i>Side Note 2: </i>Colin tells me the developers who built this version would be submitting updates. Not in time for publication, however.</p>
<hr />
<h2 id="xamarin">Xamarin</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0374.gif" target="_blank" rel="lightbox[648]" title="clip_image037[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image037[4]" alt="clip_image037[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0374_thumb.gif" width="128" height="120" border="0" /></a></p>
<p>Source code: 12,456 KB<br />
APK size: 6,756 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0394.gif" target="_blank" rel="lightbox[648]" title="clip_image039[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image039[4]" alt="clip_image039[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0394_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0414.gif" target="_blank" rel="lightbox[648]" title="clip_image041[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image041[4]" alt="clip_image041[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0414_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0434.gif" target="_blank" rel="lightbox[648]" title="clip_image043[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image043[4]" alt="clip_image043[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0434_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>Around 2 seconds.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>Smooth.</li>
<li>Implemented the Android overscroll glow.</li>
<li>[DEV] Loading of property images in the list view is not optimal. Images are being loaded on-demand as the user scrolls instead of prefetched. There appears to be no caching of images. If you scroll down then back up, images are being reloaded over and over again. Sam told me there are options for improving this implementation, so it&#8217;s not a framework limitation.</li>
<li>List memory was maintained when returning from a single property view.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>None</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>Excellent overall</li>
<li>[DEV] Good touch feedback on the Go search button. Switched to a &#8220;loading&#8221; spinner which let me know something was happening, but then dropped back to the Search view for a moment before loading the property lists. Sam later told me he&#8217;d remove the search spinner in favor of an implementation that more closely follows that of other frameworks.</li>
<li>Excellent touch responsiveness on the Fave button. Good implementation with the star metaphor.</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>Nice fade effect when switching between screens. Fast and not annoying.</li>
<li>[DEV] Failure to prefetch and cache the property images is hurting the property view.</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[DEV] The app forgot my recent searches between launches. This was a bug and will be fixed in a new release.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>App is responsive. Even while simultaneously loading list view images, clicking on a property immediately changes to the property view. Nice.</p>
<p>Overall, excellent implementation and speeds are comparable to Native.</p>
<hr />
<h2 id="titanium">Titanium</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0454.gif" target="_blank" rel="lightbox[648]" title="clip_image045[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image045[4]" alt="clip_image045[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0454_thumb.gif" width="110" height="102" border="0" /></a></p>
<p>Source code: 315 KB<br />
APK size: 7,552 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0474.gif" target="_blank" rel="lightbox[648]" title="clip_image047[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image047[4]" alt="clip_image047[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0474_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0494.gif" target="_blank" rel="lightbox[648]" title="clip_image049[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image049[4]" alt="clip_image049[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0494_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0514.gif" target="_blank" rel="lightbox[648]" title="clip_image051[4]"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image051[4]" alt="clip_image051[4]" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image0514_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>Around 3 seconds.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>[FRM] Scrolling is jittery.</li>
<li>Android overscroll glow was implemented.</li>
<li>Property images appear to be getting cached and reused for the property view, which is good.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>None</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>Excellent. In some cases, from the list view, the property view is shown even before the list item tap highlight can be rendered.</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>Switching between list view and property view is fast.</li>
<li>View to view navigation is smooth and quick everywhere.</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[?] App force-quit the first time I launched it. Launched successfully the second time. Can&#8217;t say it&#8217;s the framework&#8217;s fault, but it&#8217;s the only time this happened in all my testing.</li>
<li>[DEV] I typed &#8220;London &#8221; with a trailing space by accident. It wasn&#8217;t recognized. Sloppy programming on the part of the developer who didn&#8217;t bother to trim the input, and on the web service provider who also didn&#8217;t bother to trim the input. UI showed a lat/long in the text box after the failed request.</li>
<li>[DEV] Favorites feature is hidden behind the Android Menu button, which is a different implementation than all the others.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>Overall, snappy app. Competitive.</p>
<hr />
<h2 id="sencha">Sencha Touch 2 (PhoneGap)</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image053.gif" target="_blank" rel="lightbox[648]" title="clip_image053"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image053" alt="clip_image053" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image053_thumb.gif" width="126" height="116" border="0" /></a></p>
<p>Source code: 18,259 KB (most of this is an sdk folder)<br />
APK size: 645 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image055.gif" target="_blank" rel="lightbox[648]" title="clip_image055"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image055" alt="clip_image055" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image055_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image057.gif" target="_blank" rel="lightbox[648]" title="clip_image057"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image057" alt="clip_image057" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image057_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image059.gif" target="_blank" rel="lightbox[648]" title="clip_image059"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image059" alt="clip_image059" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image059_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>4-5 seconds. A bit slow.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>[FRM] Scrolling is not smooth, jumpy.</li>
<li>[DEV] Developer implemented pull-to-load more in the property list view &#8212; the only implementation to do that. Colin tells me the developers did it because it was easy with Sencha. There&#8217;s debate on the PropertyCross team as to whether it should be left as-is, or whether the implementation of &#8220;Load more&#8221; for the list view should be standardized.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>[FRM] Every view bounces when swiped, including the list view.</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>[FRM] Bad touch feedback. Slow to register touches. Typical of webview implementations.</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>[FRM] Really slow to go back from list to search view. So slow I&#8217;m not sure whether I hit the button or not.</li>
<li>[FRM] Sliding view transition makes view changes seem slower than other implementations. This is the framework default.</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[FRM] Menu button <a href="http://blog.trackabout.com/wp-content/uploads/2013/03/image3.png" target="_blank" rel="lightbox[648]" title="image"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" alt="image" src="http://blog.trackabout.com/wp-content/uploads/2013/03/image_thumb3.png" width="23" height="24" border="0" /></a> in the navigation row, even though it does nothing. Apparently this is difficult or impossible to hide in Phonegap.</li>
<li>[FRM] Seems that some button presses are registered but just lost. I hit the Back button, I&#8217;m sure I did, but nothing happened. Likewise with Fave. Next time, it worked.</li>
<li>[FRM] By default, Sencha seeks to provide the look and feel of an iOS native app. This is apparent in the shape of the Back button and in the transparent progress spinner overlay which looks exactly like many I&#8217;ve seen on iOS. This will undoubtedly look foreign to users on other platforms.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<p>This implementation is roughly on par with the jQuery Mobile implementation, which is to say it&#8217;s not particularly impressive.</p>
<hr />
<h2 id="air">Adobe Air</h2>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image062.gif" target="_blank" rel="lightbox[648]" title="clip_image062"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image062" alt="clip_image062" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image062_thumb.gif" width="130" height="118" border="0" /></a></p>
<p>Source on disk: 547 KB<br />
APK size: 9,584 KB</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image064.gif" target="_blank" rel="lightbox[648]" title="clip_image064"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image064" alt="clip_image064" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image064_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image066.gif" target="_blank" rel="lightbox[648]" title="clip_image066"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image066" alt="clip_image066" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image066_thumb.gif" width="139" height="244" border="0" /></a><a href="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image068.gif" target="_blank" rel="lightbox[648]" title="clip_image068"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="clip_image068" alt="clip_image068" src="http://blog.trackabout.com/wp-content/uploads/2013/03/clip_image068_thumb.gif" width="139" height="244" border="0" /></a></p>
<p><b>Initial Load Time:</b></p>
<ul>
<li>Slow, around 7-8 seconds. 5 seconds just to show the splash screen. Likely due to the overhead of starting the Air runtime.</li>
</ul>
<p><b>List Scrolling:</b></p>
<ul>
<li>Scrolling is a little jittery.</li>
<li>Android overscroll glow was not implemented.</li>
</ul>
<p><b>View Bouncing:</b></p>
<ul>
<li>[FRM] The contents of the Recent Searches list box bounces when swiped. There&#8217;s no utility in this.</li>
<li>[FRM] The list view bounces when swiped at the top or bottom.</li>
</ul>
<p><b>Button Responsiveness:</b></p>
<ul>
<li>Snappy. Excellent touch feedback.</li>
</ul>
<p><b>View Transition Speed and Quality:</b></p>
<ul>
<li>Fairly quick from list view to property view.</li>
<li>[?] Slow coming back from property view to list view. However, the quantity of loaded properties and their images were remembered and maintained.</li>
<li>[?] Slow navigating back from list view to search view.</li>
</ul>
<p><b>Shortcomings:</b></p>
<ul>
<li>[DEV] Clicking &#8220;My location&#8221; on search view did nothing.</li>
<li>[DEV] Clicking &#8220;Go&#8221; with an empty search box resulted in an error: &#8220;No converter registered for converting class Error to class mx.rpc::Fault&#8221;. This also rendered the Recent Searches inaccessible until a successful search is conducted, at which point it re-appears.</li>
</ul>
<p><b>Final Thoughts:</b></p>
<ul>
<li>Overall, a respectable implementation, although the APK size is is ten times that of the smallest implementations. Colin tells me the size of the APK is mainly due to the one-time hit of the AIR runtime, but the use of the Flex framework (and to a lesser extent the Parsley framework) also contribute one-time hits to the APK size.</li>
<li>Startup time is the worst of the bunch.</li>
<li>Noticeable delays coming &#8220;back&#8221; from the various views.</li>
</ul>
<hr />
<h2>Conclusions</h2>
<p>I wasn&#8217;t planning on publishing the results of this exercise, but I was encouraged to by Colin Eberhardt. He felt it made &#8220;interesting reading&#8221; and might benefit others. Colin and his team have been very receptive to my feedback and they are actively working on improving and normalizing all of the implementations.</p>
<p>I&#8217;d like to see the shortcomings resolved in the Native Android implementation so that it can truly be the &#8220;gold standard&#8221; by which the other implementations are judged. The rest of the implementations should be brought as close to the Native implementation as possible. This would give the community the most insight into what level of performance and parity is possible with each framework.</p>
<p>The PropertyCross specification could be more prescriptive. There are several differences in how features were implemented. For example:</p>
<ul>
<li>The Titanium implementation relies on using the Android Menu button to add Favorites and view them later, where every other implementation uses dedicated on-screen buttons.</li>
<li>The &#8220;load more properties&#8221; implementation at the bottom of the properties list view is implemented slightly differently by one app, supporting a pull-to-load-more paradigm.</li>
<li>The use of button labels versus icons for the favorites feature varied.</li>
<li>Things like input trimming, validation and how to best handle error conditions should be explicitly defined. Without consistency in error handling, it&#8217;s difficult to determine whether the framework flaked out or the developer did.</li>
</ul>
<p>There are tricks upon tricks developers can employ to make non-native frameworks perform closer to native levels. For example, webview frameworks like PhoneGap and RhoMobile suffer from a 300 ms delay whenever the user taps the screen. This delay exists to help a web browser determine the user&#8217;s intent &#8212; is the user scrolling? pinching? double-tapping? This issue doesn&#8217;t exist in native frameworks and as a result, native apps feel more responsive. There&#8217;s a popular javascript library which can nearly eliminate this 300ms delay called <a href="https://github.com/ftlabs/fastclick">FastClick</a>. Should all PropertyCross HTML-based frameworks implement FastClick or something similar? I leave it to Colin and his team to decide that based on their goals for PropertyCross.</p>
<p>It would be valuable to the developer community to understand how much extra effort, study and experimentation it takes to get a non-native app to approach native levels of performance. I recognize that new tricks are being explored and exploited every day to improve the end user experience for non-native frameworks, so this is a bit of a tall order. Understanding the ins and outs of any particular framework in order to maximize performance is a full time job. Knowing that coding tricks are needed to make a framework truly perform is valuable.</p>
<p>I would have liked to read about each developer&#8217;s experience working with each framework. What were the challenges? How long did it take to figure it out? Did you take advantage of the developer community for that particular framework, and how helpful were they? Obviously this would be subjective and based on each developers&#8217; level of experience. Nonetheless, I&#8217;d find it interesting reading.</p>
<p>There are wide variations in the size of each APK (the Android application package file, or basically, the installer). For example, there is a 10x difference in size between the smallest packages (Native and Sencha) and the largest (Titanium and Air). Colin explained that some frameworks require the inclusion of a run-time or virtual machine engine. Users routinely install games on their smartphones that consume tens of megabytes. Regardless, when making an enterprise application, my preference (as I&#8217;m sure is everyone&#8217;s) is to keep the package size to a minimum so that future upgrades will not consume significant bandwidth and waste users&#8217; time.</p>
<p>In summary, I commend Colin, Sam and the rest for undertaking PropertyCross. It&#8217;s a fantastic idea and a valuable resource for everyone out there trying to make sense of the dozens of choices in mobile application frameworks out there. I hope my work has contributed to their goals in a useful way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/03/05/propertycross-android-implementation-shootout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top Five Asset Tracking Best Practices</title>
		<link>http://blog.trackabout.com/2013/02/11/top-five-asset-tracking-best-practices/</link>
		<comments>http://blog.trackabout.com/2013/02/11/top-five-asset-tracking-best-practices/#comments</comments>
		<pubDate>Mon, 11 Feb 2013 13:54:49 +0000</pubDate>
		<dc:creator>Christine Span</dc:creator>
				<category><![CDATA[Asset Tracking]]></category>
		<category><![CDATA[asset tracking]]></category>
		<category><![CDATA[best practices]]></category>

		<guid isPermaLink="false">http://blog.trackabout.com/?p=562</guid>
		<description><![CDATA[In today’s economic climate, it’s not enough to know where your assets are. You must also use them as efficiently as possible. Competition is fierce. Profit margins are shrinking. You need every advantage to protect the well-being of your company. Your existing business software does a good job of managing your overall organization, but how [...]]]></description>
				<content:encoded><![CDATA[<p>In today’s economic climate, it’s not enough to know where your assets are. You must also use them as efficiently as possible. Competition is fierce. Profit margins are shrinking. You need every advantage to protect the well-being of your company. Your existing business software does a good job of managing your overall organization, but how well does it manage your assets?</p>
<p>A <a title="TrackAbout" href="http://corp.trackabout.com" target="_blank">modern asset management solution</a> can give you better control over your assets and greater visibility into your operations. Experience shows that through improved management, companies purchase fewer new assets, recover lost rent, fix billing mistakes, reduce theft, avoid customer disputes, deploy assets more effectively, improve safety, win new business and retain existing customers.</p>
<p>Simply implementing a tracking system doesn’t guarantee success. Following these best practices can help maximize the value of your new asset management solution.  <span id="more-562"></span></p>
<p><b>Best Practice #1:  Define which asset attributes are vital to your business.</b></p>
<p>Take time to review which asset attributes are key to providing the information you need. Collecting the right data from the start will save time later, while collecting every possible attribute “just in case” will slow you down and drown you in a sea of statistics that don’t provide much insight. Focus only on the information that has the most impact on your business.</p>
<p><b></b><b>Best Practice #2:  Use a unique tracking number, not the asset&#8217;s serial number.</b></p>
<p>It’s possible that an asset’s serial number will be identical to that of another asset. If the serial number is used as the tracking number, the duplicate numbers will cause confusion because there is no way to tell the two assets apart. This can compromise data integrity and lead to inaccurate customer balances and inventory, reduce your rental income and impact customer satisfaction. Using a unique tracking number different from the serial number eliminates these problems. In the rare event that a tracking number is lost, the asset still can be looked up using its serial number and re-labeled properly to retain the asset’s history.</p>
<p><b>Best Practice #3:  Train staff to initialize the assets properly.</b></p>
<p>Adding assets to the tracking system can be tedious work, but it’s important to pay attention to the details. Mistakes here could pollute your data and lead to inaccuracies in customer balances, inventory, billing and safety and compliance. Whether your employees perform this task or you hire temporary workers, be sure to train and monitor the staff appropriately. It’s a good idea to spot check assets to catch errors before they take a lot of time to fix.</p>
<p><b>Best Practice </b><b>#4:  Make the actions on the mobile device as simple as possible.</b></p>
<p>For the tracking system to be effective, workflows must be simple and easy for workers to follow. Otherwise, you might not record the data you need to support your operations or meet reporting and auditing requirements. Customize the handheld computer application to support your processes. Automated task sequencing eliminates unnecessary steps, increases worker compliance with defined operating procedures and standardizes workflows yielding to improved process control.</p>
<p><b>Best Practice </b><b>#5:  It’s OK to start small.</b></p>
<p>Don’t think that you have to deploy the tracking system to all your operations at once. You might want to start by tracking just one or two types of assets. Or you might want to track assets delivered to certain customers who require tracking. More and more, companies issue requests for proposals that include an asset tracking requirement. You could install a tracking system solely to win that business and then roll out the system to your other customers at your own pace.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/02/11/top-five-asset-tracking-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TrackAbout Promotes Jessica Wolbert to Project Manager</title>
		<link>http://blog.trackabout.com/2013/01/17/trackabout-promotes-jessica-wolbert-to-project-manager/</link>
		<comments>http://blog.trackabout.com/2013/01/17/trackabout-promotes-jessica-wolbert-to-project-manager/#comments</comments>
		<pubDate>Thu, 17 Jan 2013 15:14:51 +0000</pubDate>
		<dc:creator>Christine Span</dc:creator>
				<category><![CDATA[Press]]></category>

		<guid isPermaLink="false">http://blog.trackabout.com/?p=534</guid>
		<description><![CDATA[TrackAbout, a worldwide provider of physical portable asset tracking solutions, announced the promotion of Jessica Wolbert to Project Manager. In this new role, Wolbert will consult with TrackAbout clients to analyze business processes and identify technical requirements to ensure full utilization of the TrackAbout solution.  She also will work closely with TrackAbout’s product management team [...]]]></description>
				<content:encoded><![CDATA[<p>TrackAbout, a worldwide provider of physical portable asset tracking solutions, announced the promotion of Jessica Wolbert to Project Manager.</p>
<div id="attachment_541" class="wp-caption alignleft" style="width: 160px"><a href="http://blog.trackabout.com/2013/01/17/trackabout-promotes-jessica-wolbert-to-project-manager/wolbert/" rel="attachment wp-att-541"><img class="size-thumbnail wp-image-541" alt="Jessica Wolbert" src="http://blog.trackabout.com/wp-content/uploads/2013/01/Wolbert-150x150.jpg" width="150" height="150" /></a><p class="wp-caption-text">Jessica Wolbert</p></div>
<p>In this new role, Wolbert will consult with TrackAbout clients to analyze business processes and identify technical requirements to ensure full utilization of the TrackAbout solution.  She also will work closely with TrackAbout’s product management team to provide direction for the company’s Android and iOS applications as well as long term product development.  <span id="more-534"></span></p>
<p>Wolbert came to TrackAbout in 2011 as Support Specialist, providing clients with day to day front line assistance and professional services including implementation for new clients and development of custom reports.</p>
<p>“Jessica has a sincere interest in the welfare of our clients,” said Tim Fusco, co-founder and CEO of TrackAbout.  “Her unfailing drive, attention to detail and problem-solving abilities are sure to have a positive impact on their success.”</p>
<p>Prior to joining TrackAbout, Wolbert dedicated seven years to the U.S. Department of Defense, mostly at MacDill Air Force Base in Tampa, FL.  Most recently, she worked as an Intelligence Analyst studying counterterrorism and the sociocultural dynamics of the indigenous people of Afghanistan.  Wolbert served two years active duty for the U.S. Army, earning the rank of Specialist.  She holds a B.A. degree in International Politics from Penn State University.</p>
<p><b>About TrackAbout</b></p>
<p>TrackAbout<sup>®</sup> is a scalable software-as-a-service (SaaS) solution to track, manage, maintain and optionally rent portable physical assets.  Items are tagged using barcodes or RFID tags.  Data is collected using rugged handheld scanners, smartphones, tablets or integration from other systems.  Dynamic fields and forms may be easily added to support a company’s unique workflows.  TrackAbout integrates all of this information with existing enterprise systems.  Founded in 2000, TrackAbout has evolved through an active relationship with our customer base which includes world-class organizations in eight countries.  For additional information, visit <a href="http://www.trackabout.com">www.trackabout.com</a>.</p>
<p><b>Contact</b></p>
<p>Christine Span, Marketing Specialist<br />
TrackAbout<br />
412.269.1872 x118</p>
<p align="center"># # #</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2013/01/17/trackabout-promotes-jessica-wolbert-to-project-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Honeywell to acquire Intermec</title>
		<link>http://blog.trackabout.com/2012/12/10/honeywell-to-acquire-intermec/</link>
		<comments>http://blog.trackabout.com/2012/12/10/honeywell-to-acquire-intermec/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 17:05:01 +0000</pubDate>
		<dc:creator>Larry Silverman</dc:creator>
				<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">https://blog.trackabout.com/?p=519</guid>
		<description><![CDATA[Here’s a bit of news of interest to our user community.&#160; From Reuters: Honeywell sees slow 2013, to buy Intermec for $600 million. This comes shortly after Motorola Solutions’ acquisition of rugged device manufacturer Psion,&#160; announced in June 2012 and completed in October 2012. The year 2012 has been one of consolidation, but not innovation. [...]]]></description>
				<content:encoded><![CDATA[<p>Here’s a bit of news of interest to our user community.&#160; From Reuters: <a href="http://www.reuters.com/article/2012/12/10/us-honeywell-outlook-idUSBRE8B90H520121210" target="_blank">Honeywell sees slow 2013, to buy Intermec for $600 million</a>.</p>
<p>This comes shortly after <strong>Motorola Solutions</strong>’ acquisition of rugged device manufacturer <strong>Psion</strong>,&#160; announced in June 2012 and completed in October 2012.</p>
<p>The year 2012 has been one of consolidation, but not innovation. We’ve been anxiously awaiting a sign that the rugged device market would adopt more modern operating system platforms than the Windows Embedded platform we’ve been stuck on for so many years.&#160; The two most obvious directions to head for these manufacturers would be Android and Windows 8 Embedded.</p>
<p>In February 2012, Intermec’s longtime CTO <a href="http://www.computing.co.uk/ctg/news/2144852/microsoft-mishandling-windows-release-argues-intermec-cto" target="_blank">Arvin Danielson had some harsh words</a> for Microsoft and their handling of the forthcoming release of Windows 8. Read the article for the full quotation, but the sentiment was that Arvin and Intermec had been stymied waiting for Microsoft to clue them in as to when Windows 8 would be available to OEMs. As a result, to this day there is no news that Windows 8 RT (the version of Windows 8 that runs on ARM CPUs) or Windows 8 Embedded is coming to rugged devices any time soon. The earliest we’ve been told to expect Windows 8 Embedded from Motorola is 2014.</p>
<p>Will the market wait until 2014 for Windows 8 Embedded, or will Android become the dominant platform for the rugged space in 2013?</p>
<p>Several Android rugged devices with scanning capabilities now exist:</p>
<ul>
<li><a href="http://www.honeywellaidc.com/en-us/pages/Product.aspx?category=Enterprise%20Digital%20Assistant%20(EDA)&amp;cat=HSM&amp;pid=Dolphin7800" target="_blank">Honeywell Dolphin 7800</a> </li>
<li>Motorola Solutions MC40 and MC45, which can’t be found anywhere on their site, but Google returned <a href="http://www.motorolasolutions.com/web/Business/Solutions/Industry%20Solutions/Retail/_Documents/static_files/MC40_SpecificationsSheet.pdf" target="_blank">this pdf</a> containing no specs </li>
<li><a href="http://www.sdgsystems.com/products/rampage-6/" target="_blank">SDG Systems / Juniper RAMPAGE 6</a> </li>
<li><a href="http://www.mypidion.com/product/product_tab.asp?bmenu=1&amp;t_idx=193" target="_blank">Pidion by Bluebird</a> will have 4 Android devices soon. </li>
<ul>
<li>BP70 10.1&quot; tablet IP65 </li>
<li>BP50 7&quot; tablet IP65 </li>
<li>BIP-6000 handheld </li>
<li>BM-70 smartphone </li>
</ul>
</ul>
<p>There are other manufacturers in the game as well.&#160; I found <a href="http://ruggedmobileworks.co.uk/ruggedandroiddevices/" target="_blank">a thorough rugged Android device list</a>. Most do not have scanning capability but could work with an external Bluetooth scanner.</p>
<p>Motorola and Honeywell are now the two remaining big players. They have done some experimentation and hedging with Android devices while waiting for Microsoft to get its story straight for Windows 8 Embedded. They are in the best position to know whether the market is really hungry for alternative OS devices, and we’ll be watching their next moves closely.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2012/12/10/honeywell-to-acquire-intermec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Long National Nightmare Is Over</title>
		<link>http://blog.trackabout.com/2012/11/07/our-long-national-nightmare-is-over/</link>
		<comments>http://blog.trackabout.com/2012/11/07/our-long-national-nightmare-is-over/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 21:07:57 +0000</pubDate>
		<dc:creator>Larry Silverman</dc:creator>
				<category><![CDATA[People]]></category>
		<category><![CDATA[hr]]></category>
		<category><![CDATA[recruiting]]></category>

		<guid isPermaLink="false">https://blog.trackabout.com/?p=506</guid>
		<description><![CDATA[We just concluded a three-month-long marathon of recruiting developers here at TrackAbout. We hired six new developers. This post is a follow-up and summary of lessons learned from this most recent round of hiring. I began writing this in Evernote for my own reference so I could review my lessons learned the next time. I [...]]]></description>
				<content:encoded><![CDATA[<p>We just concluded a three-month-long marathon of recruiting developers here at TrackAbout. We hired six new developers. This post is a follow-up and summary of lessons learned from this most recent round of hiring. I began writing this in <a href="http://evernote.com/" target="_blank">Evernote</a> for my own reference so I could review my lessons learned the next time. I shared it with TrackAbout, and they said, “Blog it!” Who am I to argue?</p>
<p>Please see my post <a href="http://blog.trackabout.com/2012/10/03/on-hiring-developers/" target="_blank">On Hiring Developers</a> for background regarding how our hiring process has evolved and some of the tools we use.</p>
<p><span id="more-506"></span></p>
<h2>The Statistics</h2>
<table width="401" border="0" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="335">Total Candidates Applied</td>
<td align="right" valign="top" width="64">240</td>
</tr>
<tr>
<td valign="top" width="332">I personally phone screened or interviewed</td>
<td align="right" valign="top" width="67">57</td>
</tr>
<tr>
<td valign="top" width="329">…before starting Codility</td>
<td align="right" valign="top" width="70">42</td>
</tr>
<tr>
<td valign="top" width="327">…after starting Codility</td>
<td align="right" valign="top" width="72">15</td>
</tr>
<tr>
<td valign="top" width="325">Total sent to Codility</td>
<td align="right" valign="top" width="74">34</td>
</tr>
<tr>
<td valign="top" width="324">Disappeared after sending to Codility</td>
<td align="right" valign="top" width="75">14</td>
</tr>
<tr>
<td valign="top" width="323">Passed Codility</td>
<td align="right" valign="top" width="76">14</td>
</tr>
<tr>
<td valign="top" width="322">Had 1st tech Interview</td>
<td align="right" valign="top" width="77">23</td>
</tr>
<tr>
<td valign="top" width="322">Had 2nd tech Interview</td>
<td align="right" valign="top" width="77">11</td>
</tr>
<tr>
<td valign="top" width="322">Extended offers</td>
<td align="right" valign="top" width="77">8</td>
</tr>
<tr>
<td valign="top" width="322">Hired</td>
<td align="right" valign="top" width="78">6</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>Codility</h2>
<p>I&#8217;m really glad we introduced <a href="http://codility.com/" target="_blank">Codility</a>. It added useful information to the process. Can someone follow directions? Solve a problem elegantly? Is their code readable? Did they name their variables and functions well? Did they optimize for performance? Did they anticipate every edge case?</p>
<p>Some candidates felt the test problems were a bit too &#8220;computer science-y&#8221;, like puzzles. They felt they weren&#8217;t like typical problems you&#8217;d have to solve in business application programming.</p>
<p>Other candidates said they enjoy challenges like Codility. They like solving puzzles. Give me a developer who enjoys challenges and solving puzzles for fun any day.</p>
<p>Some candidates realized they weren&#8217;t up to the task, and bowed out gracefully. One wrote, &#8220;I started through the coding tests, and realized that I really need to improve my chops if I want to work with this caliber of programming &#8230; humbling as it is, it&#8217;s honest. Thank you so very much for the opportunity and taking the time to talk to me the other day. I really appreciate it.&#8221;</p>
<p>Quite a few candidates emailed me after Codility to tell me it was fun and that they were impressed and happy that we ask candidates to actually code before hiring. Many employers hire developers without checking that they can code, crazy as that sounds.</p>
<p>Some candidates realized after the fact that they had screwed up the test. They continued to think about the problems after taking the test, or they did some research and realized their mistake. Several candidates sent me modified solutions via email to correct what they got wrong on the test. It carried weight with me that they cared enough to do so.</p>
<p>It’s unfortunate, but many of the tests in Codility are Google-able. It&#8217;s difficult to know whether a candidate cheated or not. I&#8217;m not sure if it matters. When faced with a challenging problem, a person should use all the (legal) resources available to prevail.</p>
<p>However, in life and business, the right answer is not always Google-able. The best coding test would be one that is unique, which we define ourselves, and which tests the kind of coding that we require on the job. There&#8217;s a company in beta called <a href="http://www.hackerhires.com/">HackerHires</a> which I’ve been told is working on this, but they haven&#8217;t launched yet. Nevertheless, Codility does the job weeding out those people who really can&#8217;t program and who aren&#8217;t resourceful enough to find an answer in time.</p>
<p>I’m not sure why 14 candidates fell off the face of the Earth after being sent to Codility. It may have been lack of human touch, that I didn’t attempt to speak to them beforehand. It may have been something in the tone of my email, which I edited iteratively until I came up with something I was happy with.</p>
<p>At some point after introducing Codility, I began taking the approach that if I had time in my schedule and the candidate looked especially promising, I&#8217;d reach out for a brief phone screen before throwing them to Codility. This wasn’t always possible.</p>
<h2>The Resumator</h2>
<p>I exercised much more of the functionality of <a href="http://www.theresumator.com/" target="_blank">The Resumator</a> this hiring round.</p>
<p>I created several Custom Message Templates once I found myself writing the same messages again and again.</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2012/11/Image.png" rel="lightbox[506]" title="Image"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="Image" src="http://blog.trackabout.com/wp-content/uploads/2012/11/Image_thumb.png" alt="Image" width="241" height="244" border="0" /></a></p>
<p>I created some other canned emails which I keep in <a href="http://evernote.com/" target="_blank">Evernote</a> for communications outside The Resumator.</p>
<p>I also created a custom workflow in The Resumator so I could more accurately track the status of each candidate.</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2012/11/Image1.png" rel="lightbox[506]" title="Image(1)"><img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;" title="Image(1)" src="http://blog.trackabout.com/wp-content/uploads/2012/11/Image1_thumb.png" alt="Image(1)" width="193" height="187" border="0" /></a></p>
<p>That last status, “Filled Job Before Contact” is for tagging those candidates who came into the pipeline late. I’ll review their submissions and if they pass muster, reach out to them first when we have open positions in the future.</p>
<p>I created browser bookmarks for filtered views in The Resumator based on the above statuses. This allowed me to more quickly check the candidates in each status.</p>
<p><a href="http://blog.trackabout.com/wp-content/uploads/2012/11/image.png" rel="lightbox[506]" title="image"><img style="background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;" title="image" src="http://blog.trackabout.com/wp-content/uploads/2012/11/image_thumb.png" alt="image" width="219" height="244" border="0" /></a></p>
<p>I realized pretty late in the game that I should have created a custom URL for the job posting so The Resumator could automatically track referral sources. I couldn&#8217;t always tell when candidates came in from our <a href="http://careers.stackoverflow.com/" target="_blank">Careers 2.0</a> job posting versus cross-posted sources if the candidate didn&#8217;t fill in the referral field. The Resumator has a link builder for just this purpose. Next time.</p>
<h2>Careers 2.0</h2>
<p>I’ve been using <a href="http://careers.stackoverflow.com/" target="_blank">Careers 2.0</a> as my only paid job board when hiring developers. I’ve written about why in <a href="http://blog.trackabout.com/2012/10/03/on-hiring-developers/" target="_blank">a previous blog post</a>.</p>
<p>The Resumator can cross post for free to job boards like FlexJobs, Indeed and SimplyHired. This round of hiring further cemented my impression that candidates who come to us by way of those sources are nowhere near as good as those coming from Careers 2.0. There is the occasional gem, but they&#8217;re few and far between.</p>
<p>Paying extra for &#8220;Featured&#8221; treatment for our Careers 2.0 job posting seemed to boost our traffic immediately following. But it&#8217;s difficult to draw a direct correlation over such a short time period. There’s no argument it makes the job listing stand out a bit among the others.</p>
<p>I spoke to the Careers people about other ways they could help us get in front of more developers. They have an advertising model where your job posting appears in the side bar of <a href="http://stackoverflow.com/" target="_blank">Stack Overflow</a> questions. However, those ads are targeted based on the user’s location. Our developers are telecommuters and so our job posting doesn’t have a single set location. Careers told me that using the ad model wouldn&#8217;t make sense. Kudos to them for not trying to sell it to me anyway. I wasn’t particularly attracted to an ad-based model anyway.</p>
<h2>Scheduling Meetings</h2>
<p>I miss tungle.me, the old scheduling service we used to use before RIM bought it and tanked it. It worked.</p>
<p>I tried the free edition of Doodle, but many of the appointments that got scheduled using Doodle didn&#8217;t contain any identifying information about the candidate. No email, name, phone number, nothing. Usually it&#8217;d just be a calendar entry with a generic title and no other info. Perhaps this was due to the free license level, but it didn’t entice me to pay for better.</p>
<p><a href="http://www.scheduleonce.com/" target="_blank">ScheduleOnce</a> seems to work well enough.</p>
<p>I&#8217;ve heard from the developers who have to coordinate three-person technical interviews that they&#8217;ve resigned themselves to using email because neither Doodle nor ScheduleOnce is sufficient for coordinating three peoples&#8217; schedules.</p>
<h2>Blogging + Hacker News</h2>
<p>The <a href="http://blog.trackabout.com/2012/10/03/on-hiring-developers/" target="_blank">On Hiring Developers</a> blog post which I cross posted to <a href="http://news.ycombinator.com/news" target="_blank">Hacker News</a> seemed to change the behavior of the campaign. This is anecdotal, but I feel like the caliber of the candidates who applied improved after I started blogging about our process. Many candidates mentioned the posts, citing them as positively influencing in their desire to work here.</p>
<p>Several candidates stated they&#8217;ve read some of our own developers’ independent blogs, or that they follow them on Twitter. Some candidates cited blog posts by developers who they know used to work here. The fact that our developers (past and present) have public personas outside of work seems to work for us. Good devs want to work with good devs, and getting a glimpse into the kind of talent we have helps.</p>
<p>I recall a pretty funny moment in one interview. A candidate was telling me about something he’d read on the blog of this awesome developer he&#8217;s been following for ages, and it sounded familiar. I said, &#8220;Oh, I know that post. That&#8217;s <a href="http://simpleprogrammer.com/" target="_blank">John Sonmez</a>. He works here.&#8221; Mind: blown.</p>
<h2>Our Corporate Site</h2>
<p>I can&#8217;t wait for our new site design to go live sometime in the next couple of months. I feel compelled in interviews to work in an apologetic joke about how our corporate site is so very 2005, and the candidates laugh and say, &#8220;Yeah&#8230;&#8221; They know it, we know it, and I am thrilled we&#8217;re updating it.</p>
<h2>Checking References</h2>
<p>I always check a candidate’s references. In the past I’ve been overly deferential in scheduling times to check references. I’d send out emails with a link to a scheduling tool, do the whole, “When’s good for you?” thing. It takes forever, and for what? A 10 minute call?</p>
<p>This time around, I went old school. I just called the candidate’s references trying to catch them when they had 10 minutes to spare. It worked, and I got through the reference checks much more quickly. I guess this is what they did before email.</p>
<h2>Trello</h2>
<p>I knew I wanted to collect metrics about this round of hiring. I used a <a href="https://trello.com/" target="_blank">Trello</a> board to manage the Codility candidate flow. This allowed me to easily track how many people I sent there, how many went dark, how many passed and how many failed.</p>
<p>We used another Trello board for managing the technical interview process, and it worked really well. It provided transparency and allowed for developers to sign up to interview candidates effectively. I could drag and drop candidate resumes and blog links right into the Trello card.</p>
<p>There were downsides of integrating Trello into the process. In the final analysis, I wanted to gather statistics by counting the various cards in their lists and come up with a spreadsheet that would tell the story of how many candidates got first interviews, second interviews, etc. Trello doesn’t do counting or filtering very well.  Also, in some cases, developers took their names off cards because they didn&#8217;t want the notifications, and that meant I had to go through card by card to get the right counts.</p>
<p>Keeping candidate statuses in sync between Trello and The Resumator was also a bit of a chore. I looked for integration possibilities, but it wasn&#8217;t feasible.</p>
<h2>On Face-to-Face Meetings</h2>
<p>Our developers work from home, 100% virtual. That means we don’t meet in person at any point in the interview process. I won’t usually even see the candidates’ faces until after they show up to work.</p>
<p>Part of me feels it&#8217;s kind of strange hiring people sight unseen.</p>
<p>On the flip side, these developers are all going to be working remotely, and rarely showing their faces while doing so. What&#8217;s important is that they can communicate well and demonstrate their ability to work remotely with members of our team. That is going to be their day-to-day existence for as long as they work here.</p>
<p>I didn&#8217;t feel strongly enough it to insist that we conduct a video conference at some point in the interview process. This may be a reflection of my own introverted nature, but for now I&#8217;m going to allow myself to focus on the results of the hiring process, that we have an awesome team, and not dwell too much on this one point.</p>
<p>Larry Silverman<br />
Chief Technology Officer<br />
TrackAbout, Inc.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trackabout.com/2012/11/07/our-long-national-nightmare-is-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
