<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>CounterMarch Systems Blog</title>
			<link>http://www.countermarch.com/blog/index.cfm</link>
			<description>CounterMarch Systems is a software consulting firm specializing in Adobe technologies</description>
			<language>en-us</language>
			<pubDate>Thu, 20 Jun 2013 04:52:19 -0400</pubDate>
			<lastBuildDate>Tue, 18 Jun 2013 11:05:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>helpdesk@countermarch.com</managingEditor>
			<webMaster>helpdesk@countermarch.com</webMaster>
			
			<item>
				<title>Building a new GW Alumni mobile application</title>
				<link>http://www.countermarch.com/blog/index.cfm/2013/6/18/Building-a-new-GW-Alumni-mobile-application</link>
				<description>
				
				&lt;p&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/gwu.png&quot; width=&quot;350&quot; align=&quot;right&quot; style=&quot;padding:1em;border:0px;&quot;&gt; We are excited to announce that we have signed an agreement to build an integrated mobile application for alumni and friends of The George Washington University.&lt;/p&gt;

&lt;p&gt;GW&apos;s new app will use our robust mobile core to drive a simple, user friendly utility designed to put the most useful and actionable content in the hands of GW&apos;s 250,000+ alumni. This app will ship in native form for the most popular platforms and also be made available as a mobile web app for all others. To support ongoing updates and program assessment, comprehensive administrative and reporting tools will be provided.&lt;/p&gt;

&lt;p&gt;This app also takes on the challenging task of integrating with the alumni database in real time. By doing so, the app will provide the most up-to-date alumni directory, event calendar, and benefit information to the end user. We have a number of social features in mind to make the app useful and interactive whether you&apos;re back on campus or simply checking in from your couch. This certainly won&apos;t be a &quot;launch it once and forget about it&quot; app!&lt;/p&gt;

&lt;p&gt;We&apos;re delighted to work with our newest client and look forward to rolling out the new app in time for &lt;a href=&quot;http://alumni.gwu.edu/node/164&quot;&gt;Alumni Weekend, September 26-28 2013&lt;/a&gt;.&lt;/p&gt; 
				</description>
				
				<category>alumni relations</category>				
				
				<category>mobile</category>				
				
				<pubDate>Tue, 18 Jun 2013 11:05:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2013/6/18/Building-a-new-GW-Alumni-mobile-application</guid>
				
			</item>
			
			<item>
				<title>University of Delaware Alumni Weekend : Self Check In</title>
				<link>http://www.countermarch.com/blog/index.cfm/2013/6/7/University-of-Delaware-Alumni-Weekend--Self-Check-In</link>
				<description>
				
				&lt;p&gt;Great alumni events can sometimes lead to great lines at check in. The University of Delaware recently proved that you can have the former without the latter thanks to our registration and self check in services.&lt;/p&gt;


&lt;p&gt;Self check in was an amazing success. Not only did we totally crush the wait time, but the attendees were really impressed with the speed and ease of the process.&lt;/p&gt;

&lt;p&gt;Responses like &quot;That&apos;s all?&quot; and &quot;Wow, that was really cool!&quot; were frequent. Most attendees waited in line for less than 5 minutes. Some were able to walk in, scan, receive their badge and tickets, get wristbanded, and exit in under 2 minutes. Compared to years past when the wait exceeded a half hour this was a massive improvement.&lt;/p&gt;

&lt;p&gt;Administration of the registration process was easy too. Here&apos;s what Tricia Reilly &apos;04, the Associate Director of Reunion &amp;amp; Student Programs had to say:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Just wanted to say AGAIN how user-friendly your system is. I just breezed through about 5 refunds and it is so simple! Making changes and tent switches is so easy.&lt;/p&gt;

&lt;p&gt;THANK YOU! You have made my life easier and less stressful.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot;&gt;
	&lt;tr&gt;
		&lt;td width=&quot;33%&quot; align=&quot;center&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/self-check-in-qr.png&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/td&gt;
		&lt;td width=&quot;33%&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/self-check-in-busy.png&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/td&gt;
		&lt;td width=&quot;33%&quot; rowspan=&quot;2&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/aw13-pass-phone-200.png&quot; align=&quot;right&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td width=&quot;33%&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/self-check-in-250.png&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/td&gt;
		&lt;td width=&quot;33%&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/self-check-in-badge.png&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;By the numbers:
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;~5,000&lt;/strong&gt; people registered&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;23&lt;/strong&gt; people checked in between 9:03 and 9:04pm&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;12&lt;/strong&gt; people checked in per minute (average)&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;~15,000&lt;/strong&gt; badges and stubs printed&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;$[undisclosed]&lt;/strong&gt; in gifts to UD&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Over 500&lt;/strong&gt; donors recognized when they checked in&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;And for those who like to see the numbers in graphical format, you can see we were busy from 3:45pm until just after 9pm.You can see an abrupt drop-off in our throughput at about 6:40pm, but we fully recovered by 6:55. What happened? &lt;/p&gt;

&lt;p&gt;Due to a cut extension cord, we lost power to half of the check-in stations. Despite this happening as we were nearing the peak check in window, the team of volunteers did their best to keep churning with the equipment that was still powered up. Meanwhile we sprang into action and found a new source of power, fully recovering about 15 minutes from the moment the power was cut. Much faster than the Superbowl!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/ud-checkin-by-minute-600.png&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We worked closely with the UD Alumni Relations team and past event staff to identify previous pain points and opportunities for automation and digitization, and ultimately came away with something that everyone involved was impressed with. Attendees were frequently heard discussing not only how cool the involved technology was, but also how much the whole process had improved over prior years. Alumni Relations staff were thrilled with the efficiency and simplicity of the new process, and even a few volunteers that started the day dubious of the change were won out in the end.&lt;/p&gt;

&lt;p&gt;For our part, we&apos;ve made the split-resources (power, network access, etc) play a standard in our playbook -- we couldn&apos;t have planned that better if we had tried. And having now had the opportunity to be on-site to observe and participate in this event firsthand, we have even more ideas to improve the registration and check-in experience.&lt;/p&gt;

&lt;p&gt;We couldn&apos;t have asked for a better partner in the UD Alumni Relations team. They were responsive and agile, willing to try something new as long as we were confident in it, and have shown themselves to be exceptional alumni relations professionals.&lt;/p&gt;

&lt;p&gt;Could your Reunion/Homecoming/special alumni event benefit from a better registration and check in experience? &lt;a href=&quot;mailto:srittler@countermarch.com&quot;&gt;Email Steve&lt;/a&gt; to set up time for a demonstration!&lt;/p&gt; 
				</description>
				
				<category>reunion</category>				
				
				<category>alumni relations</category>				
				
				<pubDate>Fri, 07 Jun 2013 13:12:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2013/6/7/University-of-Delaware-Alumni-Weekend--Self-Check-In</guid>
				
			</item>
			
			<item>
				<title>Mobile app for the 2013 Ivy+ Annual Fund Conference</title>
				<link>http://www.countermarch.com/blog/index.cfm/2013/3/20/Mobile-app-for-the-2013-Ivy-Annual-Fund-Conference</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://www.countermarch.com/blog/images//Screenshot_2013-02-20-10-08-32.png&quot; align=&quot;right&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//Screenshot_2013-02-20-10-08-32.png&quot; align=&quot;right&quot; width=&quot;240&quot; style=&quot;padding:2em;&quot;&gt;&lt;/a&gt; We have heard a lot of positive feedback on the mobile app we built for  the attendees of the 2013 Ivy Plus Annual Fund conference hosted by Cornell University this week. We are happy to help!&lt;/p&gt;

&lt;p&gt;Released for &lt;a href=&quot;http://af13.alumnione.com/apps&quot;&gt;iOS, Android, and mobile web&lt;/a&gt; users, the app offers up-to-the-minute schedule information, an attendee listing, and &quot;the Stream&quot; - a combined twitter and in-app message feed. One feature that attendees won&apos;t see but will appreciate is the ability for the app to function even when the network isn&apos;t available.&lt;/p&gt;

&lt;p&gt;The app is integrated with Cornell Connect (using the Harris Connect REST API) to pull both schedule and attendee information over for display. A separate mobile app admin console manages any on-site registration needs, schedule updates, broadcast announcements, and most importantly check in activity.&lt;/p&gt;

&lt;p&gt;Tracking who has actually showed up for the event is as simple as a search and a touch for the welcome desk staff using the check in feature. It&apos;s turned off for this event, but the app does have the ability to inject &quot;so-and-so just checked in!&quot; messages to the Stream too. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.countermarch.com/blog/images//Ivy Plus AF13 Attendee Checkin.png&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//Ivy Plus AF13 Attendee Checkin.png&quot; width=&quot;300&quot; style=&quot;padding:2em;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://www.countermarch.com/blog/images//Ivy Plus AF13 Admin.png&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//Ivy Plus AF13 Admin.png&quot; width=&quot;300&quot; style=&quot;padding:2em;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And of course, no app is complete without a dashboard - ours shows the &apos;hot spots&apos; of content and gives us a good idea of which platforms we should target for future projects. The mix does shift from one group to the next - far more than we ever expected.&lt;/p&gt;

&lt;p&gt;If you think an app like this would be useful for your alumni or professional group event, please drop &lt;a href=&quot;mailto:srittler@countermarch.com?subject=Mobile%20app%20inquiry&quot;&gt;Steve&lt;/a&gt; a note. We&apos;ll be happy to demo everything for you and discuss the various options available to you.&lt;/p&gt; 
				</description>
				
				<category>alumni relations</category>				
				
				<category>mobile</category>				
				
				<pubDate>Wed, 20 Mar 2013 11:41:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2013/3/20/Mobile-app-for-the-2013-Ivy-Annual-Fund-Conference</guid>
				
			</item>
			
			<item>
				<title>CounterMarch reinvents registration and check in for University of Delaware Alumni Weekend 2013</title>
				<link>http://www.countermarch.com/blog/index.cfm/2013/2/21/CounterMarch-reinvents-registration-and-check-in-for-University-of-Delaware-Alumni-Weekend-2013</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://www.udconnection.com/Alumni-Weekend&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/AWLogo2013SquInterlockRGB.jpg&quot; align=&quot;right&quot; style=&quot;padding:1em;border:0px;&quot;&gt;&lt;/a&gt; We are excited to announce that we have signed an agreement to provide registration and self check in services for the &lt;a href=&quot;http://www.udconnection.com/Alumni-Weekend&quot;&gt;University of Delaware Alumni Weekend 2013&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;UD will use our robust &lt;a href=&quot;https://www.countermarch.com/products/reunion/&quot;&gt;Reunion registration software&lt;/a&gt; to power a simple, user friendly advance registration process, comprehensive administrative and reporting tools, and a self-service on-site check in process guaranteed to reduce wait times. Registrants will receive a confirmation email containing a QR code that they&apos;ll scan from their phone or printed page, receiving their name badge and tickets for the overwhelmingly popular Mug Night and other events they registered for in seconds. We expect to practically eliminate the lines at check in thanks to this new system.&lt;/p&gt;

&lt;p&gt;The registration system will be a &quot;one stop shop&quot; for the 40-50 events happening across campus during the weekend, standardizing the registration data and simplifying administration across the board. This system will also include the option to make your annual fund gift to the designation of your choosing at the time of registration, encouraging participation in more ways than one.&lt;/p&gt;

&lt;p&gt;We&apos;re delighted to work with our newest client and look forward to a much improved registration cycle for Alumni Weekend, happening May 31-June 2, 2013!&lt;/p&gt; 
				</description>
				
				<category>reunion</category>				
				
				<category>alumni relations</category>				
				
				<pubDate>Thu, 21 Feb 2013 12:56:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2013/2/21/CounterMarch-reinvents-registration-and-check-in-for-University-of-Delaware-Alumni-Weekend-2013</guid>
				
			</item>
			
			<item>
				<title>CASE District 2 Conference Sponsor and Speaker</title>
				<link>http://www.countermarch.com/blog/index.cfm/2013/2/19/CASE-District-2-Conference-Sponsor-and-Speaker</link>
				<description>
				
				&lt;p&gt;We are proud to be a silver sponsor of the &lt;a href=&quot;http://www.casetwo.org/district_ii_annual_conference.html&quot; target=&quot;_blank&quot;&gt;CASE District 2 conference&lt;/a&gt; this March.&lt;/p&gt;
&lt;img src=&quot;http://www.countermarch.com/blog/images/CASE_DII_Conf13_logo_960.jpg&quot; width=&quot;400&quot; /&gt;
&lt;p&gt;As part of our sponsorship, CounterMarch is donating the use of a system for the speakers to share their presentations with attendees. Rather than handing out business cards and emailing bulky files around, speakers will be able to upload them to our system for easy discovery and download by attendees.&lt;/p&gt;
&lt;p&gt;The URL for the system will be shared with all speakers and conference attendees closer to the event. We hope that everyone attending the conference finds the service easy to use and helpful in their professional development.&lt;/p&gt;
&lt;p&gt;Company founder Steve Rittler will be co-presenting two sessions at the conference as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools and Tactics for Volunteer Engagement&lt;/strong&gt; will be presented with Lori Kennedy and Jessica McMullan from Lehigh University. Our talk will detail how we got our arms around volunteer engagement. We&apos;ll talk about how we defined a sustainable, scalable process in partnership with groups across campus and existing volunteers. We&apos;ll share our goals, how we&apos;re doing against the plan, what we measure (and how), and what&apos;s next. You&apos;ll leave this session both excited and prepared to implement your own volunteer engagement process regardless of the size and scope of your advancement shop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modernizing Reunion Management&lt;/strong&gt; will be presented with Kim Barrett from Cornell University. This talk is unique in that we&apos;re using the complete redevelopment of Cornell&apos;s Reunion management system as our functional example of how to manage a project with multiple independent stakeholders on an unrealistic timeline (with, as you might expect, an immovable deadline!). We&apos;ll discuss the challenges we faced (institutional, personal, and technical), how we decided to &quot;train as we go&quot;, actively including volunteers in the development process, and the tremendous successes (some unforeseen) this project yielded. Registration and onsite activities have never been smoother! You&apos;ll leave equipped to take on a huge project with the right mindset and useful tools the moment the session ends.&lt;/p&gt;

&lt;p&gt;We&apos;re excited to contribute to advancing the profession and share our expertise with everyone in Pittsburgh. See you in March!&lt;/p&gt; 
				</description>
				
				<category>conferences</category>				
				
				<category>shameless self promotion</category>				
				
				<category>sponsorships</category>				
				
				<pubDate>Tue, 19 Feb 2013 12:37:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2013/2/19/CASE-District-2-Conference-Sponsor-and-Speaker</guid>
				
			</item>
			
			<item>
				<title>Cornell Mobile App Using the Harris Connect API</title>
				<link>http://www.countermarch.com/blog/index.cfm/2013/1/21/Cornell-Mobile-App-Using-the-Harris-Connect-API</link>
				<description>
				
				&lt;p&gt;Last January we released a mobile app for the &lt;a href=&quot;http://alumni.cornell.edu/calc&quot; target=&quot;_blank&quot;&gt;Cornell Alumni Leadership Conference&lt;/a&gt; that was extremely well received by alumni and staff alike. The app (&lt;a href=&quot;http://itunes.apple.com/us/app/calc-2012/id495385429?mt=8&quot;&gt;CALC 2012 iOS&lt;/a&gt; | &lt;a href=&quot;https://market.android.com/details?id=com.alumnione.calc2012&quot;&gt;CALC 2012 Android&lt;/a&gt; | &lt;a href=&quot;http://www.alumnione.com/calc2012&quot;&gt;CALC 2012 Mobile Web&lt;/a&gt;) featured the conference schedule, session surveys, attendee listing, and &quot;the Stream&quot; - an aggregation of tweets and attendee-shared messages in one consolidated conversation view. The app was heavily used by about a third of the attendees.&lt;/p&gt;

&lt;p&gt;The 2013 version of the app was designed to meet three major objectives: integrate with registration, improve responsiveness, and overhaul the user interface. Here are the resulting apps: &lt;a href=&quot;https://itunes.apple.com/us/app/calc-2013/id589538629?ls=1&amp;mt=8&quot;&gt;CALC 2013 iOS&lt;/a&gt; | &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.alumnione.calc2013&quot;&gt;CALC 2013 Android&lt;/a&gt; | &lt;a href=&quot;http://calc.alumnione.com/&quot;&gt;CALC 2013 Mobile Web&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Integration with Harris Connect&lt;/h3&gt;
&lt;p&gt;Last year we employed the usual lowest common denominator approach to integration: spreadsheets. That introduced a whole host of issues including timeliness of data, proper formatting of the sheet itself, and adding another human to the data transfer process. We knew we had to do better this year because we really wanted to highlight the sessions that people had registered for in the conference agenda. Extracting relational information like that in spreadsheet form wasn&apos;t going to end well.&lt;/p&gt;

&lt;p&gt;Cornell uses the &lt;a href=&quot;http://www.harrisconnect.com/&quot; target=&quot;_blank&quot;&gt;Harris Connect&lt;/a&gt; system for their &lt;a href=&quot;http://cornellconnect.cornell.edu/&quot; target=&quot;_blank&quot;&gt;alumni online community&lt;/a&gt; and event management needs. Recently Harris annouced beta availability of their OpenAPI that would allow us to get access to the registration data automatically. A &quot;beta&quot; label doesn&apos;t scare us, so we plowed right ahead with it thanks to the help of the ever-awesome Kim Barrett (Cornell Connect project manager), Eric Slosson (Harris Client Relations Manager), and Irwin Horowitz (Harris Technical Architect).&lt;/p&gt;

&lt;p&gt;Much to our delight the API allows us to retrieve the data in XML or JSON format - JSON please! A couple quick hours of work and we we&apos;re all set. The process of loading and checking the attendee and schedule data went from several hours to just a couple minutes, eliminating all timeliness, formatting, and human factors in the process. Now that we have the integration components built we can very quickly build mobile apps for other Cornell (and other Harris user) events very quickly (and cost effectively)!&lt;/p&gt;

&lt;p&gt;What did we do with this data? The app has a session bookmarking feature that we were able to preload for every attendee. We used those bookmarks to also show the next session the attendee was scheduled to attend on the home screen of the app.&lt;/p&gt;

&lt;h3&gt;Improve Responsiveness&lt;/h3&gt;
&lt;p&gt;The CALC app caches a lot of data locally so that key information is accessible to the attendee no matter what kind of data coverage the event venue has. This approach requires us to think carefully about how we load, store, and refresh that data on the device.&lt;/p&gt;

&lt;p&gt;One thing we are never particularly happy about is any noticeable delay between user interaction and an update on the screen. We use &lt;a href=&quot;http://www.phonegap.com&quot;&gt;PhoneGap&lt;/a&gt; and &lt;a href=&quot;http://jquerymobile.com&quot;&gt;jQuery Mobile&lt;/a&gt; for our applications, which means our apps are essentially browser-based within a native wrapper. As a consequence, we&apos;re heavily dependent on the performance of the mobile device browser and its javascript engine. We invested a considerable amount of research time testing and timing several possible solutions for the &quot;touch delay&quot; on both old and new devices on both Android and iOS. In addition, we reevaluated the use of jQuery Mobile (which survived the cut!) and our client-side templating solution (which was moved from the comatose jQuery Templates project to Handlebars). &lt;a href=&quot;http://www.fusiongrokker.com/&quot;&gt;Adam&lt;/a&gt; also built a much improved read-through cache mechanism reducing both data traffic (good for battery life) and rendering time. The result was a much faster appliation that felt closer to native than the 2012 edition - with the added benefit of being supported by a cleaner, more modular codebase.&lt;/p&gt;

&lt;h3&gt;Overhaul the Interface&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://www.countermarch.com/blog/images/calc_app_mocktofinal.png&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/calc_app_mocktofinal_sm.png&quot; align=&quot;right&quot; style=&quot;padding:1em;&quot; /&gt;&lt;/a&gt;Last but certainly not least we wanted to break free of the stock-standard &quot;this is supposed to look like an iOS application&quot; default look and feel that jQuery Mobile provides out of the box. From the first sketch to the final implementation we wanted to make the first screen to be both useful for information delivery and simple to &quot;fat finger&quot; your way around.&lt;/p&gt;
&lt;p&gt;We also dropped most of the jQuery Mobile list views and replaced them with leaner, meaner HTML and CSS, wrapped in the really nice pull-to-refresh iscroll plugin. Not only was this a nice usability improvement, but it also gave us better rendering performance.&lt;/p&gt;

&lt;h3&gt;In Conclusion...&lt;/h3&gt;
&lt;p&gt;We met the three objectives, building a much-improved core under a better performing user interface that was used by even more attendees than last year. Our &lt;a href=&quot;http://www.countermarch.com/blog/images/calc admin_full.png&quot; target=&quot;_blank&quot;&gt;admin dashboard&lt;/a&gt; told us so in real time!&lt;/p&gt; 
				</description>
				
				<category>mobile</category>				
				
				<pubDate>Mon, 21 Jan 2013 02:40:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2013/1/21/Cornell-Mobile-App-Using-the-Harris-Connect-API</guid>
				
			</item>
			
			<item>
				<title>PhoneGap 1.x, Google Analytics, and XCode 4.2</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/10/31/PhoneGap-1x-Google-Analytics-and-XCode-42</link>
				<description>
				
				&lt;p&gt;So I was working on a PhoneGap app for the &lt;a href=&quot;http://www.llchallenge.com/?src=cmsblog&quot;&gt;Lehigh/Lafayette Challenge&lt;/a&gt; and realized it might be wise to include an analytics package so we&apos;d have something to work from for next year. A quick Google search yielded me this blog post on &lt;a href=&quot;http://phonegap.com/2011/05/04/phonegap-alytics/&quot;&gt;including Google Analytics in a PhoneGap app&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The problem is, the instructions are outdated...and the package docs on github are also out of date. Commence headdesk. Bang.  I don&apos;t know the first thing about Xcode or Objective-C, so this was quite an adventure!&lt;/p&gt;

&lt;p&gt;Here&apos;s what you need to do to use this in an iOS PhoneGap app (jQueryMobile 1.0RC2, PhoneGap 1.1, Xcode 4.2) so that the plugin works with the PhoneGap 1.x plugin architecture. Guaranteed to work as of right this second with these versions. I&apos;m sure it&apos;ll break again soon :-)&lt;/p&gt;

&lt;ul&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Go get the code from the &lt;a href=&quot;https://github.com/purplecabbage/phonegap-plugins/tree/master/iPhone/GoogleAnalytics&quot;&gt;PurpleCabbage Github site&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Drop GANTracker.h, GoogleAnalyticsPlugin.h, GoogleAnalyticsPlugin.m, and libGoogleAnalytics.a in the Plugins folder in your Xcode project. Right click on Plugins, Add Files to &lt;project&gt;, select &apos;em, make sure &quot;Copy items into..&quot; is selected, and click &quot;Add&quot;.&lt;br /&gt;&lt;img src=&quot;http://www.countermarch.com/blog/XCode_PG_GA_plugins.png&quot; /&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Modify GoogleAnalyticsPlugin.h to comply with the new plugin architecture&lt;/li&gt;
&lt;code&gt;
/* OLD VERSION - will not work */
#import &lt;Foundation/Foundation.h&gt;
#import &quot;PhoneGapCommand.h&quot;
#import &quot;GANTracker.h&quot;

@interface GoogleAnalyticsPlugin : PhoneGapCommand&lt;GANTrackerDelegate&gt; {

}

/* Replace all of that with this */
#import &lt;Foundation/Foundation.h&gt;

#ifdef PHONEGAP_FRAMEWORK
#import &lt;PhoneGap/PGPlugin.h&gt;
#import &lt;PhoneGap/NSData+Base64.h&gt;
#import &lt;PhoneGap/JSON.h&gt; 
#else
#import &quot;PGPlugin.h&quot;
#import &quot;NSData+Base64.h&quot;
#import &quot;JSON.h&quot; 
#endif

#import &quot;GANTracker.h&quot;

@interface GoogleAnalyticsPlugin : PGPlugin&lt;GANTrackerDelegate&gt; {

}

&lt;/code&gt;


&lt;li style=&quot;list-style-type:square;&quot;&gt;Drop the GoogleAnalyticsPlugin.js file in the www folder for your project. I put my stuff in a subdirectory (assets/js) just to keep things neat.&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Don&apos;t forget to include it in index.html with a script tag!&lt;/li&gt;
&lt;code&gt;
	&lt;!-- google analytics --&gt;
	&lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot; src=&quot;assets/js/GoogleAnalyticsPlugin.js&quot;&gt;&lt;/script&gt;
&lt;/code&gt;
&lt;li&gt;Now setup your app startup scripts to initialize the GA code too&lt;/li&gt;
&lt;code&gt;
/* Wait for PhoneGap to connect with the device */
function onLoad() {
    document.addEventListener(&quot;deviceready&quot;, onDeviceReady, false);
}

/* PhoneGap is ready to be used! */
function onDeviceReady() {
    window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID(&quot;UA-YOUR-GOOGLE-SITE-CODE&quot;);
    /* i like to throw a startup event in there just to know how many launches we get */
    window.plugins.googleAnalyticsPlugin.trackPageview(&quot;startup&quot;);
    /* other startup code here */   
}
&lt;/code&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;You&apos;ll probably also want to track every jQuery Mobile &quot;page&quot; view too. I just hooked in to the &apos;pageshow&apos; event. You can track pageviews (which I&apos;m clearly faking here) and &quot;events&quot; (better explained &lt;a href=&quot;https://github.com/purplecabbage/phonegap-plugins/blob/master/iPhone/GoogleAnalytics/README&quot;&gt;here&lt;/a&gt;).&lt;/li&gt;
&lt;code&gt;
$(document).ready(function(){	
	/* track page views */
	$(&apos;div&apos;).live(&apos;pageshow&apos;, function(event, ui){
		var pagename = $(this).attr(&apos;id&apos;);
		window.plugins.googleAnalyticsPlugin.trackPageview(pagename);
		return true;
	});
});
&lt;/code&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;This will save you some hair pulling: the Android PG/GA plugin uses a js method named &quot;trackPageView&quot;. The iOS version is named &quot;trackPageview&quot;. Yeah...case sensitivity strikes again. Save yourself hours of screaming by watching for that.&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Now we have to make PhoneGap aware of the plugin. &lt;strong&gt;This is the undocumented part.&lt;/strong&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;In your /Resources/PROJECTNAME.plist file, open up the Plugins area and add a new item. The name is &quot;googleAnalyticsPlugin&quot; (which is the name of Javascript object). The value is &quot;GoogleAnalyticsPlugin&quot; (which is the name of the Obj-C object). This took a ton of trial and error.
&lt;br /&gt;&lt;img src=&quot;http://www.countermarch.com/blog/XCode_PG_GA_plugin_externalhost.png&quot; /&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Last step: allow the app to reach external hosts. You could list each one individually, but I wildcarded it for this project. Under ExternalHosts in that same PROJECTNAME.plist file, add a line, and set the value to &quot;*&quot;. You can see it in the screenshot above.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So from this point forward, you should be able to see pages being logged in Google Analytics from your mobile app. Hope this helps!&lt;/p&gt; 
				</description>
				
				<category>mobile</category>				
				
				<pubDate>Mon, 31 Oct 2011 17:39:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/10/31/PhoneGap-1x-Google-Analytics-and-XCode-42</guid>
				
			</item>
			
			<item>
				<title>PhoneGap, FileTransfer, and ColdFusion</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/10/27/PhoneGap-FileTransfer-and-ColdFusion</link>
				<description>
				
				&lt;p&gt;I like PhoneGap. Really. But I bashed my head on this for a while so if this saves you the headache, you&apos;re welcome!&lt;/p&gt;

&lt;p&gt;The app I am working on uses the Camera API to capture an image and then submits it to a back-end service for inclusion in an online photo gallery. Pretty simple.&lt;/p&gt;

&lt;p&gt;When you capture the image, you have two choices for how to handle the data:&lt;/p&gt;

&lt;code&gt;
Camera.DestinationType.DATA_URL
Camera.DestinationType.FILE_URI
&lt;/code&gt;

&lt;p&gt;The problem with DATA_URL is that the cameras on mobile devices are getting to be too darn good. That DATA_URL is a Base64 encoded string that can very quickly run you straight out of memory. Therefore, you are &lt;strong&gt;strongly&lt;/strong&gt; encouraged to use FILE_URI instead which is simply a pointer to a file on the device file system.&lt;/p&gt;

&lt;p&gt;How do you then get this file moved up to the server? Use the File API&apos;s FileTransfer object.&lt;/p&gt;

&lt;code&gt;
        var imageURI = PATH_TO_FILE_AS_GIVEN_BY_CAMERA;

        var options = new FileUploadOptions();
        options.fileKey=&quot;file&quot;;
        options.fileName=imageURI.substr(imageURI.lastIndexOf(&apos;/&apos;)+1);
        options.mimeType=&quot;image/jpeg&quot;;
        /* ColdFusion barfs if you don&apos;t set this */
        options.chunkedMode = false;
        
        var params = new Object();
        params.formfield1 =  &apos;send other data along for the ride&apos;;
	params.formfield2 =  &apos;using more fields like this&apos;;

        options.params = params;

        var ft = new FileTransfer();
        ft.upload(imageURI, &quot;http://YOUR_URL_HERE/SOME_FILE.cfm&quot;, win, fail, options);
        /* don&apos;t forget to create functions for win and fail conditions */
&lt;/code&gt;

&lt;p&gt;The key line here is &lt;strong&gt;options.chunkedMode = false;&lt;/strong&gt;. From what I could tell by reading &lt;a href=&quot;http://www.bennadel.com/blog/2252-Apparently-ColdFusion-Cannot-Handle-Chunked-Multi-Part-Form-Data.htm&quot;&gt;Ben&apos;s blog post&lt;/a&gt; , ColdFusion simply &lt;a href=&quot;http://www.bennadel.com/blog/2252-Apparently-ColdFusion-Cannot-Handle-Chunked-Multi-Part-Form-Data.htm&quot;&gt;can&apos;t handle chunked form data&lt;/a&gt;. Two hours of searching and evaluating alternatives...and then I noticed this option.&lt;/p&gt;

&lt;p&gt;So...lesson learned. Base64 will not only drag your app down but probably crash it as well. FileTransfer (sans chunks) is the way to go.&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>mobile</category>				
				
				<pubDate>Thu, 27 Oct 2011 13:06:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/10/27/PhoneGap-FileTransfer-and-ColdFusion</guid>
				
			</item>
			
			<item>
				<title>How I got started with ColdFusion</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/8/2/How-I-got-started-with-ColdFusion</link>
				<description>
				
				&lt;p&gt;&lt;img src=&quot;/blog/cfdudesmall.png&quot; align=&quot;right&quot; /&gt;&lt;a href=&quot;http://www.bryantwebconsulting.com/blog/index.cfm/2011/7/20/August-1-2011-is-How-I-Started-ColdFusion-Day&quot;&gt;Steve Bryant&lt;/a&gt; had a great idea that the entire ColdFusion community should post about how they got started with ColdFusion on the same day. Count me in!&lt;/p&gt;

&lt;p&gt;I started my first job after earning my computer engineering degree as a software test engineer in the summer of 1999. If only I knew how boring that would be! Three months in to that job I went to my boss and asked to be put on a different project - it was that bad!&lt;/p&gt;

&lt;p&gt;A couple days later he took me down to the first floor of our building and introduced me to &lt;a href=&quot;http://samraimond.net/&quot;&gt;Sam Raimond&lt;/a&gt;. Sam was an interesting guy - he had an insatiable curiosity for all new technology. While he wasn&apos;t really a programmer, he would mess with just about any new piece of software that came out. In the late 90s, there was an awful lot for him to play with!&lt;/p&gt;

&lt;p&gt;Sam was the project manager for the document management system (DDCS) used by a rather large organization up the street from us - &lt;a href=&quot;http://www.gsfc.nasa.gov&quot;&gt;NASA&lt;/a&gt;. DDCS was a combination of IIS, WebDBC, and Xerox DocuShare running on some ancient Gateway servers - far from sexy, but absolutely mission critical. My boss knew I could build websites, though I hadn&apos;t done anything more than HTML and some really basic javascript. Sam didn&apos;t seem bothered by that. He handed me the box with ColdFusion 4 server in it, told me he didn&apos;t know CFML, and that he was pretty sure nobody else in the company knew it either. My new project: take the four programs that comprised the DDCS system and rewrite them in ColdFusion. Challenge accepted.&lt;/p&gt;

&lt;p&gt;The first module took me three months to build. The second, third, and fourth combined took three weeks. Even if we had set out an aggressive rebuild schedule we wouldn&apos;t have expected this to come together so quickly. Needless to say, ColdFusion made a lot of people we reported to very, very happy!&lt;/p&gt;

&lt;p&gt;I learned how to do this by spending lots of time on the (at the time) Allaire forums and regular attendance at both the DC and Baltimore &lt;a href=&quot;http://groups.adobe.com/&quot;&gt;ColdFusion User Groups&lt;/a&gt;. Sam was insistent that we never miss a meeting of either group, even though I was extremely reluctant to go at first. The thing is, once you meet the CF community any reluctance to go as a &quot;newbie&quot; falls away quickly. I remember being immediately put at ease by the friendly people who were there. Some of the stuff people presented was amazing! I&apos;d always come back to work with a whole bunch of ideas and even less time to build them. &lt;/p&gt;	

&lt;p&gt;One thing I&apos;ve never forgotten is that it was because of the welcoming, fanatical ColdFusion community *and* the power of the platform that I have been able to enjoy the career that I do. Macromedia recognized the value of the community when they acquired Allaire and Adobe saw it too when they bought Macromedia. No matter the corporate parent the server has seen tremendous improvement from one version to the next with a corresponding jump in the number of things that developers can do easily. I&apos;ve made a pretty darn good living and a few really great friends thanks to my ColdFusion skills and intend to continue using it as long as the platform keeps evolving (I&apos;ll keep the friends regardless).&lt;/p&gt;

&lt;p&gt;Interesting footnote: I&apos;ve known Rob Brooks-Bilson for (omg) 10 years now. Today, thanks to &lt;a href=&quot;http://rob.brooks-bilson.com/index.cfm/2011/8/1/How-I-got-Started-with-ColdFusion&quot;&gt;his &quot;How I got started&quot; post&lt;/a&gt;, I learned that our first projects were both conversions from WebDBC to ColdFusion. Ironic, indeed.&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Tue, 02 Aug 2011 01:28:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/8/2/How-I-got-started-with-ColdFusion</guid>
				
			</item>
			
			<item>
				<title>Philly Merge Conference: July 15th, Philadelphia</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/6/28/Philly-Merge-Conference-July-15th-Philadelphia</link>
				<description>
				
				&lt;p&gt;Got an entrepreneurial itch? It&apos;s almost impossible to avoid if you&apos;re in the business of creating things. The creation part is simple (relatively speaking)...but building a business around it? Not quite as straightforward.&lt;/p&gt;
&lt;p&gt;Philadelphia is home to a rapidly growing entrepreneurial technology culture. That excites those of us who work in tech in the Philadelphia area, and we want to help it grow by creating a conference for people with a dream to meet people with the means to make that dream a reality ? whether that need is for business support or technical development skills.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://www.phillymerge.com&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/phillymerge_logo.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This conference is called &lt;/span&gt;&lt;a href=&quot;http://www.phillymerge.com/&quot;&gt;Philly Merge&lt;/a&gt; and will be held on &lt;a href=&quot;http://www.phillymerge.com/&quot;&gt;Friday July 15&lt;/a&gt; at Jon M. Huntsman Hall at the University of Pennsylvania. By bringing together local developers with entrepreneurs we intend to share success stories, establish a forum for peer education, strengthen the local developer network, start new businesses and have fun while doing so. The entire purpose of the conference can be simply stated as &amp;quot;get started.&amp;quot;&lt;/p&gt;
&lt;p&gt;We&apos;ll have &lt;a href=&quot;http://www.phillymerge.com/index.cfm/schedule/&quot;&gt;sessions&lt;/a&gt; on topics both legal and technical, financial and inspirational -- ending the day with a panel of VC folks who will share with us what they&apos;re looking for in both a company and a pitch. We&apos;ve stocked the speaker list top to bottom with local people who &amp;quot;get&amp;quot; Philadelphia, have done these things themselves, and know what it takes.&lt;/p&gt;
&lt;p&gt;It&apos;s our belief that you&apos;ll finish the day with a feeling of &amp;quot;I can do this&amp;quot; - and you&apos;ll have a great idea of what it&apos;s going to take to get started. For us, this is a &amp;quot;get started&amp;quot; effort too - we&apos;d appreciate your support, feedback and &lt;a href=&quot;http://phillymerge.ticketleap.com/philly-merge-2011/&quot;&gt;participation&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;So why not &lt;a href=&quot;http://phillymerge.ticketleap.com/philly-merge-2011/&quot;&gt;sign up today&lt;/a&gt;? It&apos;s only $29!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://phillymerge.ticketleap.com/philly-merge-2011/&quot; style=&quot;background:#2e9dc5 url(http://phillymerge.ticketleap.com/assets/images/bevel-bg.png) repeat-x center center;border:1px solid #2e9dc5;text-shadow:0 -1px #2e9dc5;font-size:18px;-moz-border-radius:4px;-webkit-border-radius:4px;-moz-box-shadow:0 2px 3px rgba(0, 0, 0, .3);-webkit-box-shadow:0 2px 3px rgba(0, 0, 0, .3);display: inline-block;margin:0;text-align:center;padding:6px 10px 7px;text-decoration:none;font-weight:bold;color:#fff;&quot;&gt;Register Today!&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Philly Merge is sponsored by &lt;a href=&quot;http://technology.wharton.upenn.edu/&quot;&gt;Wharton Computing&lt;/a&gt;, &lt;a href=&quot;http://www.adobe.com&quot;&gt;Adobe Systems&lt;/a&gt;, &lt;a href=&quot;http://www.fmctraining.com/&quot;&gt;Future Media Concepts&lt;/a&gt;, &lt;a href=&quot;http://chariotsolutions.com/&quot;&gt;Chariot Solutions&lt;/a&gt; and &lt;a href=&quot;http://www.countermarch.com&quot;&gt;CounterMarch Systems&lt;/a&gt;&lt;/p&gt; 
				</description>
				
				<category>conferences</category>				
				
				<pubDate>Tue, 28 Jun 2011 15:22:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/6/28/Philly-Merge-Conference-July-15th-Philadelphia</guid>
				
			</item>
			
			<item>
				<title>Fun with Twilio, Part 2 (The Results!)</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/5/23/Fun-with-Twilio-Part-2-The-Results</link>
				<description>
				
				&lt;p&gt;Last week I wrote up a summary of a project I threw together that leveraged ColdFusion and Twilio to enable the reunion crowd to &lt;a href=&quot;http://www.countermarch.com/blog/index.cfm/2011/5/20/Fun-with-Twilio&quot;&gt;vote for their favorite performance&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Well, everything went off without a hitch on Saturday! In fact, I spent an hour on Friday night changing how the system worked to cater to both smartphone and &quot;dumbphone&quot; users.  I promised a writeup on how it worked and what the results were, so without further delay...&lt;/p&gt;

&lt;h3&gt;Promotion&lt;/h3&gt;
&lt;p&gt;We printed up about 1000 stickers - just plain old Avery mailing labels - with two ways to cast your vote. First was via SMS to the number printed on it. The second way was for those &quot;in the know&quot; who understood what a QR code was.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//sms_stickers.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The parade commentators plugged the voting in the warmup before the parade started, between acts and again at the very end. This definitely helped our cause - there was nothing else to pay attention to during those times, so the exclusivity of the promotion really stood out.&lt;/p&gt;
&lt;p&gt;We handed out the stickers to as many spectators as we could along with each of the reunion classes while they were lining up for the parade. After a quick explanation of what was at stake (a new award!), some classes eagerly set to work with their phones. They loved that there was something to do while they were waiting for the parade to start.&lt;/p&gt;
&lt;p&gt;This was the extent of the promotion. For an app that came together really quickly, there wasn&apos;t time to get word out in advance -- and honestly it wasn&apos;t necessary. This was a very &quot;event specific&quot; thing that required no prep on the part of the participants.&lt;/p&gt;

&lt;h3&gt;How It Worked&lt;/h3&gt;
&lt;p&gt;There are two ways to cast a vote: SMS or using the QR code. The original idea was to use the QR code to launch your text messaging app with the appropriate class year already entered as the body of the message (we&apos;d print unique stickers for each class). You can&apos;t do that on iOS - only Android. We then realized that was dumb - if you were going to text, it&apos;s easier to just do that rather than fiddle with a barcode reader. There had to be something nicer for the barcode crowd.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/sms_mobile.png&quot; align=&quot;left&quot; /&gt;So Friday night around 11:30 I sat down with &lt;a href=&quot;http://www.adobe.com/products/dreamweaver.html&quot;&gt;Dreamweaver CS5.5&lt;/a&gt;, jQuery Mobile and ColdFusion to toss together a really quick &lt;a href=&quot;http://www.alumnione.com/vote&quot;&gt;web-based mobile app&lt;/a&gt;. One hour later it was skinned, released and running. One hour!&lt;/p&gt;

&lt;h3&gt;Results&lt;/h3&gt;
&lt;p&gt;All told, reunion attendance was around 1000 people. There were unregistered spectators and probably some unregistered guests floating around too. Out of this crowd, we collected &lt;strong&gt;more than 1200 votes&lt;/strong&gt;! Roughly a tenth of them were submitted using the mobile app. The URL was not public, so the QR code would be the only (easy) way in. At a couple cents per SMS, this was good, cheap fun - and nothing went wrong.&lt;/p&gt;

&lt;h3&gt;Lessons Learned&lt;/h3&gt;
&lt;p&gt;
&lt;ul&gt;
&lt;li  style=&quot;list-style-type:square;&quot;&gt;PEOPLE LOVE TO PARTICIPATE! Everybody wanted to know the results before they were announced. They were really amused when I pulled out my phone and showed them the graph of results...up to the second&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;QR codes look really scary to people who don&apos;t know what they are&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;QR codes CAN be safely dressed up! I took advantage of an excess of error correction code built in to the QR structure and &quot;Fireworks-ed&quot; in the Lehigh shield. It looked less intimidating.
 &lt;li style=&quot;list-style-type:square;&quot;&gt;Make sure auto refresh was active for your Twilio account (thankfully mine was...though my heart stopped when I got an email in the middle of the parade from them!)&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;The alumni band will, upon finding out they lost, make plans to hack the vote next year. Bring it.&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Do not send an acknowledgement for every vote - you&apos;ll hit a limit pretty quick.&lt;/li&gt;
&lt;li style=&quot;list-style-type:square;&quot;&gt;Call-to-vote? Entirely possible with Twilio. Might be fun to add it just for fun!&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;One key enhancement for next time: Screens at the reviewing stand showing the real time voting totals. With ColdFusion, Blaze DS and Flex this is maybe another hour of work.&lt;/p&gt;

&lt;h3&gt;The Award!&lt;/h3&gt;
&lt;p&gt;The result was a decisive win for the class of 1976. Their re-enactment of Rocky was entertaining, colorful and energetic...and they certainly weren&apos;t shy about voting for themselves!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.countermarch.com/blog/images/sms_chart.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//sms_chart_sm.png&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For their efforts, they were the inaugural winners of the Stephen C. Rittler &apos;99  Reunion Parade Fan Favorite Award!&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>alumni relations</category>				
				
				<category>mobile</category>				
				
				<pubDate>Mon, 23 May 2011 14:36:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/5/23/Fun-with-Twilio-Part-2-The-Results</guid>
				
			</item>
			
			<item>
				<title>Fun with Twilio</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/5/20/Fun-with-Twilio</link>
				<description>
				
				&lt;p&gt;With the rush to build full-fledged mobile applications for smartphones, sometimes we forget that there are still a lot of people on...shall we say...dumbphones. So what do you do when you want to interact with as many people as possible? You drop down to the lowest common denominator: voice and SMS.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://reunion.lehigh.edu/&quot;&gt;Lehigh University&apos;s&lt;/a&gt; annual reunion features a parade of classes through the heart of campus. Every class does a performance for a theoretically impartial panel of judges who take the reaction of the crowd into account during their voting. Awards are given, like the &quot;Best Alumni Band Award&quot; (given to the one and only Marching 97 alumni band) and the Petty Flag (for the overall best performance). This year, we wanted to add more crowd interaction to the mix.&lt;/p&gt;

&lt;p&gt; The idea was to bang out a quick &quot;vote via SMS&quot; app so everybody watching the parade could vote (as many times as they like) for the class they thought did best. The powers that be have decided to add an award based on the results too.&lt;/p&gt;

&lt;p&gt;Enter &lt;a href=&quot;http://twilio.com&quot;&gt;Twilio&lt;/a&gt;! The best part: &lt;strong&gt;it&apos;s stupid simple&lt;/strong&gt; to build this kind of app using their REST API. First thing was to sign up for a number - it&apos;s only $1/mo. I then set the &quot;SMS request URL&quot; to a page on my server.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//twilioconfig1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Then on the page I pointed it to, I set up code to handle the text that was being sent in. The entire message is passed in in form scope as the &quot;body&quot; attribute with all the other attributes (sender phone number and their account locale information) sent along too.&lt;/p&gt;

&lt;code&gt;
&lt;cfif structKeyExists(form, &quot;body&quot;)&gt;

	&lt;cfset classYear = 	reReplace(form.body, &quot;[^0-9.]&quot;, &apos;&apos;, &apos;all&apos;) /&gt;

	&lt;cfif classYear is not &quot;&quot;&gt;
		&lt;!--- add to vote total ---&gt;
		&lt;cfset v = entityNew(&apos;vote&apos;) /&gt;
		&lt;cfset v.setVote(classYear) /&gt;
		&lt;cfset v.setFrom(form.from) /&gt;
		&lt;cfset v.setFromCity(form.fromCity) /&gt;
		&lt;cfset v.setFromCountry(form.fromCountry) /&gt;
		&lt;cfset v.setFromState(form.fromState) /&gt;
		&lt;cfset v.setFromZip(form.fromZip) /&gt;
		&lt;cfset v.setTimestamp(now()) /&gt;
		&lt;cfset entitySave(v) /&gt;
          &lt;/cfif&gt;
&lt;/cfif&gt;
&lt;/code&gt;

&lt;p&gt;Then, I send an acknowledgement message to the sender:&lt;/p&gt;

&lt;code&gt;
		&lt;cfhttp url=&quot;https://api.twilio.com/2010-04-01/Accounts/{REALLY_LONG_ACCOUNT_ID}/SMS/Messages&quot; method=&quot;post&quot; username=&quot;{YOUR_USERNAME_IDENTIFIER}&quot; password=&quot;{YOUR_ENCODED_PASSWORD}&quot;&gt;
			&lt;cfhttpparam name=&quot;From&quot; type=&quot;formfield&quot; value=&quot;XXXYYYZZZZ&quot; /&gt;
			&lt;cfhttpparam name=&quot;To&quot; type=&quot;formfield&quot; value=&quot;#form.from#&quot; /&gt;
			&lt;cfhttpparam name=&quot;Body&quot; type=&quot;formfield&quot; value=&quot;The class of #classYear# thanks you! Feel free to vote as many times as you like.&quot; /&gt;
		&lt;/cfhttp&gt; 

&lt;/code&gt;

&lt;p&gt;That&apos;s it! Already they&apos;re thinking of other uses for this kind of tool. I&apos;ll be sure to post again on Monday with the writeup on how it went.&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Fri, 20 May 2011 00:57:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/5/20/Fun-with-Twilio</guid>
				
			</item>
			
			<item>
				<title>Presentation: Moving from Verity to Solr</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/5/19/Presentation-Moving-from-Verity-to-Solr</link>
				<description>
				
				&lt;p&gt;I gave a talk at last night&apos;s &lt;a href=&quot;http://www.phillycfug.org&quot;&gt;Philly CFUG&lt;/a&gt; meeting on making the migration from Verity to Solr in ColdFusion 9. Adobe has made it known that CF9 is the last release of ColdFusion to contain Verity and that Solr is the way forward.&lt;/p&gt;

&lt;p&gt;I&apos;m glad that&apos;s the case! Solr is amazingly powerful, fast and extensible. What has been exposed in CF9 barely scratches the surface of what it can do. That&apos;s not a bad thing - the Adobe team should be commended for making the transition as simple as possible by using the same tags, attributes and data structures. You&apos;ll find (as I did) that the migration is relatively straightforward provided your codebase isn&apos;t a real mess. 90% of the effort will go in to adjusting any code that builds formatted search criteria in Verity-specific terms into something that&apos;s Solr-compatible. Collection maintenance is left essentially untouched.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/solrpowr&quot; title=&quot;click download the preso and assets&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images//solr_badjoke1.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you&apos;d like, you can grab &lt;a href=&quot;/solrpowr&quot;&gt;the slide deck and simple examples&lt;/a&gt; - with one disclaimer: the code is for example purposes only and should not be held up as an example of ideal coding practices :-).  Special thanks to &lt;a href=&quot;http://www.coldfusionjedi.com/index.cfm/2010/11/12/Slides-code-from-ColdFusionSolr-presentation
&quot;&gt;Ray Camden&lt;/a&gt; and &lt;a href=&quot;http://www.boyzoid.com/blog/index.cfm/2011/5/16/My-cfObjective-Presentations
&quot;&gt;Scott Stroz&lt;/a&gt; for their blog posts on Solr - their work was great background for this talk. Also - thanks to &lt;a href=&quot;http://fusiongrokker.com/&quot;&gt;Adam Tuttle&lt;/a&gt; and the &lt;a href=&quot;http://www.phillycfug.org/&quot;&gt;Philly CFUG&lt;/a&gt; for inviting me to speak!&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 19 May 2011 14:21:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/5/19/Presentation-Moving-from-Verity-to-Solr</guid>
				
			</item>
			
			<item>
				<title>Mobile Apps for Alumni Engagement Presentation</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/2/10/Mobile-Apps-for-Alumni-Engagement-Presentation</link>
				<description>
				
				&lt;p&gt;On Tuesday my colleague Chad Davis and I had the wonderful opportunity to present at the &lt;a href=&quot;http://www.casetwo.org/annual-conference.html&quot; target=&quot;_blank&quot;&gt;CASE District 2&lt;/a&gt; meeting on the topic of &lt;strong&gt;&quot;Your Alumni are Moving onto the Mobile Web.  Are You? : Mobile Apps for Alumni Engagement.&lt;/strong&gt;&quot; Chad is an Associate Director in the Lehigh Fund at Lehigh University, responsible for the annual giving efforts of Lehigh&apos;s 15 youngest classes, a demographic that is increasingly difficult to maintain contact with through traditional means. Embracing mobile technology appears to us to be an ideal means for connecting with this demographic, so there was plenty for us to collaborate on for this talk.&lt;/p&gt;

&lt;p&gt;The session description:&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;In this session we will boldly go where email, Facebook, Twitter, the alumni website and an online community simply can&apos;t: directly into the pockets of alumni.&lt;/p&gt;
	&lt;p&gt;Mobile devices and near-ubiquitous internet access have made immediate information access not only possible but widespread. A well-designed mobile application will open up new opportunities for alumni to connect with both the institution and each other regardless of where they are at the time -- including solutions for special events and targeted micro-campaigns. We&apos;ll talk about the strategic use of the &quot;small screen&quot;, location-based services and ideas for their use (home and away venues), and tools for building and supporting these applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p style=&quot;width:100%;text-align:center;&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/mobileappsslides.png&quot; align=&quot;center&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Chad&apos;s case study on the &lt;a href=&quot;http://www.llchallenge.com/&quot; target=&quot;_blank&quot;&gt;Lehigh/Lafayette Challenge&lt;/a&gt; was especially well received. That campaign integrated print, email, Facebook, Twitter (a TON of Twitter) and (most interestingly) &quot;text-to-give&quot; functionality. The results were off the charts (over $14k fundraised in a week, a bunch of first-time donors, amazing buzz) that completely contradicts the thesis of the author of this &lt;a href=&quot;http://www.case.org/Publications_and_Products/CURRENTS/CURRENTS_Archive/2011/January_2011/The_Small_Net.html&quot;&gt;CASE Currents article&lt;/a&gt; (login required) that mobile giving isn&apos;t a good fit. Lehigh proved it a success through a consistent, well-messaged, and extremely cost-effective effort.&lt;/p&gt;
&lt;p&gt;To those of you who were in attendance, we thank you for choosing our session! We were especially happy to introduce some of you to Angry Birds and sorry for the sleep that you&apos;re likely to lose in the coming weeks.&lt;/p&gt;

&lt;p&gt;Key takeaways from our talk:&lt;/p&gt;
&lt;h3&gt;Do not just repurpose what you have&lt;/h3&gt;
&lt;p&gt;You will not get the installation, utilization and feedback that you expect if all you do is pump RSS into a mobile skin. Make it faster and easier for your alumni to interact with the institution and you&apos;ll reap dividends for a very long time.&lt;/p&gt;

&lt;h3&gt;Everything should prompt an action&lt;/h3&gt;
&lt;p&gt;An engaging application is one that &lt;strong&gt;does things&lt;/strong&gt;. Your app must be functional in order to be useful and as we discussed, only the truly useful apps find a home on the first screen of your moblie phone.  If you&apos;re not there, you might as well not exist.&lt;/p&gt;

&lt;h3&gt;&quot;Mobile app in a box&quot; is a lousy shortcut&lt;/h3&gt;
&lt;p&gt;Several vendors are offering a single &quot;mobile app in a box&quot; solution that is practically useless when held up against an &quot;actionable&quot; standard. I see the attraction - &quot;yes, we&apos;re now mobile!&quot; - but the app won&apos;t get reuse beyond the intial installation if it doesn&apos;t &lt;strong&gt;do things&lt;/strong&gt; that benfit the user. &lt;strong&gt;Reading campus news and looking at an event calendar is not substantive engagement&lt;/strong&gt; - you&apos;re wasting your precious resources going down this road.&lt;/p&gt;

&lt;h3&gt;Segment and target aggressively&lt;/h3&gt;
&lt;p&gt;A single campus-wide mobile application will contain too much irrelevant content for too many people. Alumni don&apos;t care about campus bus schedules (unless they&apos;re on campus for reunion), students don&apos;t particularly care about regional club activity, faculty don&apos;t care about which alumni recently got married and so on. Build niche, targeted, relevant, useful and functional apps and you&apos;ll find happy users.&lt;/p&gt;

&lt;h3&gt;Mobile Web is the way to go&lt;/h3&gt;
&lt;p&gt;While performance isn&apos;t the best, getting something out there that works and can be iterated on quickly is key. Mobile web apps give you that because they can be built using the same skillset that your current web development staff have. Pure native apps bring with them a host of issues including app store approval, the need for completely different development skills for each platform and the cost that inevitably follows. &quot;Near-native&quot; using PhoneGap, Appcelearator, Sencha and others are coming along strong to bridge the gap.&lt;/p&gt;

&lt;h3&gt;Your campus (and alumni experience) is unique&lt;/h3&gt;
&lt;p&gt;Every campus is special because the relationship is personal. When I meet with universities to talk about projects, we talk about &quot;emotional resonance&quot; and finding ways to tap in to that to meet institutional objectives. Your mobile presence, whatver it is, should be deeper, more meaninful, more representative of what your institution is all about than just some colors and branding. Do something novel and the alumni will find their way to it. Who doesn&apos;t want to be proud of their alma mater for being innovative and inspiring? Seek that out.&lt;/p&gt;

&lt;h3&gt;Links and our slide deck&lt;/h3&gt;

&lt;p&gt;Our slide deck (which is fun, but not nearly as fun as the narration that goes along with it): &lt;a href=&quot;http://www.countermarch.com/blog/images/Mobile Apps for Alumni Engagement.pptx&quot;&gt;Mobile Apps for Alumni Engagment (pptx)&lt;/a&gt; | &lt;a href=&quot;http://www.countermarch.com/blog/images/Mobile Apps for Alumni Engagement.pdf&quot;&gt;Mobile Apps for Alumni Engagment (pdf)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Links to mobile/social/mashup services that were mentioned in our talk:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.llchallenge.com/&quot;&gt;Lehigh/Lafayette Challenge&lt;/a&gt; - giving by text message&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.cornellcompass.com/&quot;&gt;Cornell Compass&lt;/a&gt; - purely for fun (geolocation)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.zincksnight.com/&quot;&gt;Zinck&apos;s Night&lt;/a&gt; - an online dimension to complement a f2f event&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://http://m.princeton.edu/reunions/#home&quot;&gt;Princeton&apos;s Reunion App&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://alumni.cornell.edu/reunion/mobile/#home&quot;&gt;Cornell&apos;s Reunion App&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.case.org/app&quot;&gt;CASE Mobile&lt;/a&gt; - and an associated &lt;a href=&quot;http://www.countermarch.com/blog/index.cfm/2011/1/22/CASE-Mobile-Our-first-jQuery-Mobile--ColdFusion-app&quot;&gt;writeup&lt;/a&gt; on it&lt;/li&gt;		
&lt;/ul&gt;

&lt;p&gt;Thank you again to those who attended and to those who subsequently review the content of the presentation.  I&apos;ll be more than happy to do a webinar for any school who is interested in thinking through the mobile app landscape and visit onsite once my leg is no longer broken!&lt;/p&gt;

&lt;p&gt;Chad and I are happy to answer any other questions you have and help you find your way as you begin to evaluate mobile application opportunities.&lt;/p&gt;
&lt;p style=&quot;width:100%;text-align:center;&quot;&gt;
	&lt;div class=&quot;yui-g&quot; style=&quot;width:100%;&quot;&gt;
		&lt;div class=&quot;yui-u first&quot;&gt;
			&lt;p&gt;
			&lt;strong&gt;Steve Rittler&lt;/strong&gt;&lt;br /&gt;
			&lt;a href=&quot;mailto:srittler@countermarch.com?subject=Mobile%20Apps%20Presentation&quot;&gt;srittler@countermarch.com&lt;/a&gt;&lt;br /&gt;
			&lt;a href=&quot;tel:6102803455&quot;&gt;610.280.3455&lt;/a&gt;
			&lt;/p&gt;
		&lt;/div&gt;
		&lt;div class=&quot;yui-u&quot;&gt;
			&lt;p&gt;
			&lt;strong&gt;Chad Davis&lt;/strong&gt;&lt;br /&gt;
			&lt;a href=&quot;mailto:chad.davis@lehigh.edu?subject=Mobile%20Apps%20Presentation&quot;&gt;chad.davis@lehigh.edu&lt;/a&gt;
			&lt;/p&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;br style=&quot;clear:both;&quot; /&gt;
&lt;/p&gt;
&lt;br style=&quot;clear:both;&quot; /&gt; 
				</description>
				
				<category>alumni relations</category>				
				
				<category>mobile</category>				
				
				<pubDate>Thu, 10 Feb 2011 13:23:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/2/10/Mobile-Apps-for-Alumni-Engagement-Presentation</guid>
				
			</item>
			
			<item>
				<title>CASE Mobile: Our first jQuery Mobile + ColdFusion app</title>
				<link>http://www.countermarch.com/blog/index.cfm/2011/1/22/CASE-Mobile-Our-first-jQuery-Mobile--ColdFusion-app</link>
				<description>
				
				&lt;p&gt;Our first mobile application built with &lt;a href=&quot;http://jquerymobile.com/&quot;&gt;jQuery mobile&lt;/a&gt; went &quot;live&quot; today at the annual &lt;a href=&quot;http://www.case.org/casenais11/default.cfm&quot;&gt;CASE/NAIS conference&lt;/a&gt; in Chicago, IL and by early accounts it&apos;s a success!&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://twitter.com/#!/laurakristen/status/28893635713957888&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/quote.png&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;The purpose of the app is to make relevant conference information available to attendees at all CASE events year-round. Conference attendees will particularly enjoy the ability to submit their session evaluations from their mobile devices right away without having to handle the traditional paper forms. Session information is available as is a venue map. Conference organizers can also send out &amp;quot;alerts&amp;quot; that pop up within the app itself, notifying attendees of upcoming sessions, room changes or other important information. The &amp;quot;app&amp;quot; works on all Apple iOS, Android and Blackberry (OS6 preferred) devices and semi-gracefully degrades for use on older devices -- all with no additional development effort thanks to jQuery mobile.&lt;/p&gt;
&lt;p&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile001.png&quot; class=&quot;lightbox&quot; title=&quot;Home screen icon&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile001.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile002.png&quot; class=&quot;lightbox&quot; title=&quot;Conference selection screen&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile002.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile003.png&quot; class=&quot;lightbox&quot; title=&quot;Session listing&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile003.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile010.png&quot; class=&quot;lightbox&quot; title=&quot;Venue maps&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile010.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile004.png&quot; class=&quot;lightbox&quot; title=&quot;Content automatically reformats to match device orientation&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile004.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile005.png&quot; class=&quot;lightbox&quot; title=&quot;Session information&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile005.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile006.png&quot; class=&quot;lightbox&quot; title=&quot;Session information (bottom half)&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile006.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile007.png&quot; class=&quot;lightbox&quot; title=&quot;Speaker information; email/phone launch mobile apps for both&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile007.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile008.png&quot; class=&quot;lightbox&quot; title=&quot;Completing a session evaluation&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile008.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
	&lt;a href=&quot;http://www.countermarch.com/blog/images/casemobile/casemobile009.png&quot; class=&quot;lightbox&quot; title=&quot;Completing a session evaluation&quot;&gt;&lt;img src=&quot;http://www.countermarch.com/blog/images/casemobile/sm/casemobile009.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;&quot;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Built on a tried-and-true combination of &lt;a href=&quot;http://www.adobe.com/coldfusion&quot;&gt;Adobe ColdFusion&lt;/a&gt;, &lt;a href=&quot;http://www.mach-ii.com/&quot;&gt;Mach-ii framework&lt;/a&gt;, &lt;a href=&quot;http://coldspringframework.org&quot;&gt;ColdSpring framework&lt;/a&gt; and SQL Server for backend data storage, the app is expected to serve tens of thousands of unique users every year. Taking on jQuery Mobile as our front-end framework was not without some risk; it&apos;s still in alpha (we used Alpha 2) but the rapid development and cross-device capabilities of the framework far outweighed the immediate concerns. We&apos;ll be keeping a close eye on this and upgrade as new releases are made. Testing was done on a Motorola Droid 2, Blackberry Torch, an iPad and an (ancient!) iPhone 3G without issue.&lt;/p&gt;
&lt;p&gt;Want to talk about how we might be able to help you implement a cross-platform mobile application? Email Steve at &lt;a href=&quot;mailto:srittler@countermarch.com&quot;&gt;srittler@countermarch.com&lt;/a&gt;.&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>mobile</category>				
				
				<category>jquery</category>				
				
				<pubDate>Sat, 22 Jan 2011 20:54:00 -0400</pubDate>
				<guid>http://www.countermarch.com/blog/index.cfm/2011/1/22/CASE-Mobile-Our-first-jQuery-Mobile--ColdFusion-app</guid>
				
			</item>
			</channel></rss>