<?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>Prophero</title>
	<atom:link href="http://www.prophero.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prophero.com</link>
	<description>Software for Education</description>
	<lastBuildDate>Mon, 10 Dec 2012 18:31:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How Good is Free Content?</title>
		<link>http://www.prophero.com/content-context-conference-2012/</link>
		<comments>http://www.prophero.com/content-context-conference-2012/#comments</comments>
		<pubDate>Tue, 03 Jul 2012 12:45:53 +0000</pubDate>
		<dc:creator>Molly Harper</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[CIC2012]]></category>
		<category><![CDATA[Content in Context]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Educational Publishers]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Khan Academy]]></category>
		<category><![CDATA[MIT OpenCourseWare]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Open Source Educational Content]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=1004</guid>
		<description><![CDATA[I was part of the team dispatched to 2012 Content in Context to demo our new mobile study app (if you want more info about that, go here). I attended a session that had a panel made up of members from large educational publishing companies. A member in the audience asked the panel a question: [...]]]></description>
			<content:encoded><![CDATA[<p>I was part of the team dispatched to <a href="http://www.contentincontext.org/">2012 Content in Context</a> to demo our new mobile study app (if you want more info about that, <a title="Mobile Page" href="http://www.prophero.com/products/mobileapp/">go here</a>).</p>
<div id="attachment_1048" class="wp-caption alignright" style="width: 310px"><a href="http://www.prophero.com/wp-content/uploads/2012/07/CIC2012.jpg"><img class="size-medium wp-image-1048 " title="CIC2012" src="http://www.prophero.com/wp-content/uploads/2012/07/CIC2012-300x199.jpg" alt="Jim loves working our booth!" width="300" height="199" /></a><p class="wp-caption-text">Jim loves working our booth!</p></div>
<p style="text-align: left;">I attended a session that had a panel made up of members from large educational publishing companies. A member in the audience asked the panel a question:</p>
<p style="text-align: left;">“Do you think that open source educational content is a threat to you?”</p>
<p style="text-align: left;">The panel adamantly responded that they do not see this free content as a threat. They do not think that these free content providers have high quality content, and do not think that teachers have time for content curation. I did not agree with their stance on this.</p>
<p dir="ltr">As a developer, all I could think of was the successful open source software that many of us use today, such as Firefox and WordPress. I’m sure there were many people who doubted the quality of open source software before it became popular. I attended another session where I was introduced to <a href="http://www.khanacademy.org/">Khan Academy</a>, a free online provider of “over 3200 videos on everything from arithmetic to physics, finance, and history and hundreds of skills to practice.” Conference attendees unanimously thought that Khan Academy provides both good and bad content. In my own research I came across <a href="http://ocw.mit.edu/index.htm">MIT OpenCourseWare</a>. MIT provides lecture notes, exams and videos to the public free of charge. This site convinced me that there is a way to provide high quality content for free. Teachers may not have time for content curation, but I can see organizations made specifically for this purpose in the future.</p>
<p>In closing, I think we will begin to see more and more free educational content providers in the future. Educational publishers should be aware and warned of the current and future threats of free content. Am I wrong?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/content-context-conference-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gearing Up for Your CMS</title>
		<link>http://www.prophero.com/gearing-cms/</link>
		<comments>http://www.prophero.com/gearing-cms/#comments</comments>
		<pubDate>Mon, 18 Jun 2012 18:29:05 +0000</pubDate>
		<dc:creator>Jim Cain</dc:creator>
				<category><![CDATA[Managing Content]]></category>
		<category><![CDATA[Content Management]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=985</guid>
		<description><![CDATA[A successful (and enjoyable) Content Management System (CMS) implementation depends on some key technical and business decisions at the outset.]]></description>
			<content:encoded><![CDATA[<p>Even when you know your final destination, there are a variety of routes to get you there. A successful (and enjoyable) journey depends on the road you choose. Likewise, a successful Content Management System (CMS) implementation depends on some key technical and business decisions at the outset.</p>
<p><a href="http://www.prophero.com/wp-content/uploads/2012/06/dreamstime_7664096.jpg"><img class="size-medium wp-image-986 alignright" title="GPS for your CMS" src="http://www.prophero.com/wp-content/uploads/2012/06/dreamstime_7664096-300x280.jpg" alt="GPS Image" width="210" height="196" /></a> </p>
<h2>Content Types and Content Models</h2>
<p> Defining content types enables targeted searching, targeted processing, and integration with desktop applications and other external systems. The CMS can be configured to recognize your content model and enforce specific activities based on the content type.</p>
<h2>Metadata and Classification</h2>
<p> Metadata enables you to describe and classify your content using terms that are familiar to your users. This makes finding content easier and enables the automations of business-specific processing. The system should be designed with consideration of how that metadata will be captured and stored in the CMS.</p>
<h2>Searching</h2>
<p> Since most “out of the box” CMS systems provide only basic search capabilities, understanding who will be searching for content (and what kind of content they will be seeking) will help you determine if you will need custom search forms and whether they should have advanced capabilities (e.g. pre-filled value lists, more intuitive graphic controls, etc.)</p>
<h2>Workflow</h2>
<p> A workflow engine within your CMS enables you to control the routing of documents, often resulting in increased efficiencies. In addition, workflows can support automated processing or integration with other tools (such as authoring tools or production systems) to further increase efficiencies.</p>
<h2>Security</h2>
<p> Your CMS enables you to control content security by providing groups of users with specific privileges (e.g. read-only, edit, delete). These security groups can also be used to influence the available search forms or workflow access for the users, so you want to define it before you implement those features.</p>
<h2>Legacy Content, Data, and Digital Assets</h2>
<p> Converting these items in order to bring them into the new system can be a very large effort, especially if you are implementing a structured content model (i.e., XML). Addressing this up front ensures that you aren’t slowed down by an add-on migration effort later.</p>
<h2>Business Process Change</h2>
<p> Early analysis will help you project and plan for business process changes; and as your project progresses, you will find more opportunities to streamline and automate. Change can cause uncertainty, so managing the change from the outset with effective communications and training strategies (that fit your company culture) is key to a successful rollout.</p>
<h2>Resource and Organization Changes</h2>
<p> Planning for this shift in resources (and using change management) will help transition to entire organization smoothly. In some cases, role-based training helps employees transition into their new process. In other cases, the processes are so different that new roles (and skill sets) are required.</p>
<h2>Stakeholder and End-User Acceptance</h2>
<p> In addition to the traditional change management activities, a user-centric approach to system design and implementation turns users into evangelists. Keeping users and other stakeholders fully engaged in the implementation is a critical factor in ensuring overall acceptance.</p>
<h2>Long-term Planning for Support and Enhancements</h2>
<p> Budget and time constraints usually require that the team get the biggest bang for their buck. Even if the team can get all of their initial requirements into the first release, changes in market, corporate direction, and internal processes often require updates to keep the system effective, so be prepared to make enhancements.</p>
<p>&nbsp;<br />
For any journey, navigation is key. Before you start on your CMS implementation journey, take some time to plot a careful course (and don’t forget to pack your GPS!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/gearing-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Does Cross-Platform Mobile Development Really Exist?</title>
		<link>http://www.prophero.com/cross-platform-mobile-development-exist/</link>
		<comments>http://www.prophero.com/cross-platform-mobile-development-exist/#comments</comments>
		<pubDate>Wed, 13 Jun 2012 13:02:05 +0000</pubDate>
		<dc:creator>Jon Pitcherella</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=959</guid>
		<description><![CDATA[What do you mean, cross-platform? Cross-platform mobile development, the white whale of the mobile developer.  Cross-platform mobile development can mean many things to many people.  In my opinion as a developer, for an application to be cross-platform, it has to hit these three points: Have a single code base Building a new feature means it [...]]]></description>
			<content:encoded><![CDATA[<h3>What do you mean, cross-platform?</h3>
<p><a href="http://www.prophero.com/wp-content/uploads/2012/06/mobile_platform_question.jpg"><img class="size-medium wp-image-965 alignright" title="Mobile Platform Question" src="http://www.prophero.com/wp-content/uploads/2012/06/mobile_platform_question-300x300.jpg" alt="Can you really develop for more than one platform?" width="240" height="240" /></a>Cross-platform mobile development, the white whale of the mobile developer.  Cross-platform mobile development can mean many things to many people.  In my opinion as a developer, for an application to be cross-platform, it has to hit these three points:</p>
<ul>
<li>Have a single code base</li>
<li>Building a new feature means it will be available on all targets (devices)</li>
<li>The user will have the same experience across targets</li>
</ul>
<p>As a developer, being able to hit all three of those bullet points would be the holy grail of mobile application development.  So is it possible?  To quote Reverend Lovejoy, “short answer ‘yes’ with an ‘if’, long answer ‘no’ with a ‘but’”.</p>
<h3>What challenges are there?</h3>
<p>First, maintaining a single code base, while possible, can be very challenging.  Having a single code base implies that you would be able to literally copy and paste your mobile web app code to your Android/iOS app and vice versa.  This is challenging because your mobile device has different functionality that it can make use of (camera, phone, etc) that your web browser will probably never have.  In order to have your code go between the two worlds seamlessly, abstraction must be your friend.  Be able to determine your current target and deliver functionality based on its capabilities.</p>
<p>Second, what about building a new feature?  In some instances, a new feature can easily make its way across mobile web and native apps.  However, there are other instances where this is far more challenging.  For example, suppose you wanted to implement Facebook authentication.  On the mobile web, this is pretty straight forward.  You get redirected to Facebook, you log in and they redirect you back to your web page.  In a native app, using the same code, this becomes very difficult.  While you’re technically still in a browser in the native app, redirects can’t work the same because you’re code is within this ‘shell’ that gives the appearance of a native app.</p>
<p>Last and possibly the most important, user experience must be the same.  On your mobile web app, users will easily tolerate a delay of a few hundred milliseconds, because it’s almost expected.  On a native app, everything is expected to load instantly.  Not only that, scrolling, page transitions, all UI interactions must be as smooth as the operating system that your app lives in.  While that sounds easy, if you’re writing a cross-platform mobile app in a language that is non-native to the OS you’re delivering to, these are all struggles and they become quirks that your users will be quick to point out.  It’s one thing to build your app for the state-less world of the web, but persisting that same web code to a native mobile environment is a whole new animal.  Often transitioning that code to native mobile apps is obvious to the user and hurts their experience.</p>
<h3>Should I even bother?</h3>
<p>Cross-platform mobile development isn’t all doom and gloom.  The key to delivering a great cross platform app is determining how complex your app will be, what kind of experience you want to deliver and weigh those against the amount of time you have for development.  If your app is very complex, does a lot of advanced UI interactions and needs to use a lot of device specific APIs, perhaps a native app or hybrid web/native app is preferred over a pure web app.  On the other hand, if you’re simply presenting content and have a very simple UI, you could go all web app without much of an issue.  I think Ben Sandofsky (@sandofsky) said it best, “&#8230;shell apps come from the wrong mentality.  They start from ‘how do we reduce the effort’ instead of ‘how do we deliver the best product’.  Great products require more work.  They require commitment, attention to detail and leaving your comfort zone.  Shortcuts are just a distraction.”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/cross-platform-mobile-development-exist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choosing a Mobile Framework</title>
		<link>http://www.prophero.com/choosing-mobile-framework/</link>
		<comments>http://www.prophero.com/choosing-mobile-framework/#comments</comments>
		<pubDate>Mon, 04 Jun 2012 18:07:46 +0000</pubDate>
		<dc:creator>Ben Classen</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Platforms]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=905</guid>
		<description><![CDATA[If you&#8217;re just getting into mobile development, you&#8217;ll want to choose a framework that will work within your technical conditions: platforms, languages, support, etc. Markus Falk put together a nice chart to compare the technical features of more than 30 mobile frameworks available. Check out his chart to get started. After going through technical specs, [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re just getting into mobile development, you&#8217;ll want to choose a framework that will work within your technical conditions: platforms, languages, support, etc.</p>
<p><a href="http://www.markus-falk.com/">Markus Falk</a> put together a nice chart to compare the technical features of more than 30 mobile frameworks available. <a href="http://www.markus-falk.com/mobile-frameworks-comparison-chart/">Check out his chart to get started.</a></p>
<p>After going through technical specs, we settled on 6 tools that we thought might do the trick: PhoneGap, Appcelerator, Appcelerator with Cloud Services, SproutCore, Corona, and Unity. To make our final selection, we researched some additional criteria that helped us figure out which tools we could pick up quickly, and which tools we thought we could support best. Here are the results:</p>
<h3>Client Frameworks</h3>
<p>These frameworks are designed to help you build native applications without an external or cloud server.</p>
<table>
<thead>
<tr>
<td></td>
<td><a href="http://phonegap.com/download">PhoneGap</a></td>
<td><a href="http://my.appcelerator.com/">Appcelerator &#8211; Titanium Mobile</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>Device Support</td>
<td>iPhone, iPad, Android,Blackberry,</p>
<p>Symbian</td>
<td>iPhone, iPad, Android</td>
</tr>
<tr>
<td>Languages</td>
<td>JavaScript, HTML, CSS</td>
<td>JavaScript, HTML, CSS</td>
</tr>
<tr>
<td>Official Support</td>
<td>API, Getting Started, Blogs, Wiki, Additional supporting JavaScript, Paid packages</td>
<td> API, Blogs, Own IDE, certified training, conferences</td>
</tr>
<tr>
<td>Last Stable Release</td>
<td>1.7.0, May 2, 2012</td>
<td> Studio (IDE) 2.0.2 May 31, 2012</td>
</tr>
<tr>
<td>Current State</td>
<td>1.8.0 RC1, May 30, 2012</td>
<td> 2.1.0 nightly build, continuous build server</td>
</tr>
<tr>
<td>License</td>
<td>Open Source</td>
<td>Apache Public License</td>
</tr>
<tr>
<td>Cost</td>
<td>Free</td>
<td> Free-ish, cloud services are paid</td>
</tr>
<tr>
<td>Native UI</td>
<td>No, need CSS framework</td>
<td> Yes</td>
</tr>
</tbody>
</table>
<h3>Client &amp; Server Frameworks</h3>
<p>These frameworks integrate servers with a native application.</p>
<table>
<thead>
<tr>
<td></td>
<td><a href="http://sproutcore.com/">SproutCore</a></td>
<td><a href="http://my.appcelerator.com/">Appcelerator &#8211; Titanium Mobile</a></td>
</tr>
</thead>
<tbody>
<tr>
<td>Device Support</td>
<td>Web</td>
<td>iPhone, iPad, Android</td>
</tr>
<tr>
<td>Languages</td>
<td>Ruby, JavaScript, HTML, and CSS</td>
<td>PHP, Ruby, Python (with Appcelerator Cloud Services), JavaScript, HTML, CSS</td>
</tr>
<tr>
<td>Official Support</td>
<td>API, Blogs, Guides, Examples,</td>
<td> API, Blogs, Own IDE, certified training, conferences</td>
</tr>
<tr>
<td>Last Stable Release</td>
<td>1.8.2, May 12, 2012</td>
<td> Studio (IDE) 2.0.2 May 31, 2012</td>
</tr>
<tr>
<td>Current State</td>
<td>GitHub, last commit May 29, 2012</td>
<td> 2.1.0 nightly build, continuous build server</td>
</tr>
<tr>
<td>License</td>
<td>MIT</td>
<td>Apache Public License</td>
</tr>
<tr>
<td>Cost</td>
<td>Free, host wherever you can host Ruby code in the cloud</td>
<td> Free-ish, cloud services are paid</td>
</tr>
<tr>
<td>Native UI</td>
<td>Uses its own styles to mitigate differences between platforms</td>
<td> Yes</td>
</tr>
</tbody>
</table>
<h3>Game Frameworks</h3>
<p>These frameworks are designed for game programming. These include physics engines and generally do not support native user interfaces</p>
<table>
<thead>
<tr>
<td>&nbsp;</td>
<td>Corona</td>
<td>Unity</td>
</tr>
</thead>
<tbody>
<tr>
<td>Device Support</td>
<td>iPhone, iPad, Android, Kindle Fire, Nook</td>
<td>iPhone, iPad, Android, Flash, Wii, PS3, Xbox 360, Web Players (IE, Firefox, Chrome, Safari)</td>
</tr>
<tr>
<td>Languages</td>
<td>Lua</td>
<td>.NET, JavaScript, C#, and Boo (Python dialect)</td>
</tr>
<tr>
<td>Official Support</td>
<td>API, Template games, Videos, Guides/Docs, Blog, Purchase support, training and certification</td>
<td>Tutorials, Assets, Projects, articles, paid support, online training</td>
</tr>
<tr>
<td>Last Stable Release</td>
<td>2012.827, May 31, 2012</td>
<td>3.5.2,</td>
</tr>
<tr>
<td>Current State</td>
<td>Continual, 1 month stable release, 3 month public release</td>
<td>Unknown</td>
</tr>
<tr>
<td>License</td>
<td>Proprietary</td>
<td>Proprietary</td>
</tr>
<tr>
<td>Cost</td>
<td>$199/platform</td>
<td>Free, purchase licenses for more functionality</td>
</tr>
<tr>
<td>Native UI</td>
<td>Yes, but not all UI are</td>
<td>Not really – plugins for iOS UI</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/choosing-mobile-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhoneGap Skeleton</title>
		<link>http://www.prophero.com/phonegap-skeleton/</link>
		<comments>http://www.prophero.com/phonegap-skeleton/#comments</comments>
		<pubDate>Wed, 16 May 2012 22:48:37 +0000</pubDate>
		<dc:creator>Ben Classen</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Platforms]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=884</guid>
		<description><![CDATA[For iOS and Android Updated December 7, 2012 Recently, we built a mobile app using PhoneGap. One of the better things to come out of it is a skeleton for future mobile app development for iOS and Android projects. We were able to bundle both the Eclipse project and Xcode project files together. This can [...]]]></description>
			<content:encoded><![CDATA[<h2>For iOS and Android</h2>
<p><span style="color: #ffff00;"><em><strong>Updated December 7, 2012</strong></em></span></p>
<p>Recently, we built a mobile app using PhoneGap. One of the better things to come out of it is a skeleton for future mobile app development for iOS and Android projects. We were able to bundle both the Eclipse project and Xcode project files together.</p>
<p>This can be helpful in getting started quickly. Or for keeping your code simply organized. Either way we recommend versioning any work you do and this gives you a place to start.</p>
<p><a href="http://prophero.com/wp-content/uploads/2012/05/SampleAppPreview_PhoneGapSkeleton.png"><img class="alignnone size-full wp-image-895" src="http://prophero.com/wp-content/uploads/2012/05/SampleAppPreview_PhoneGapSkeleton.png" alt="" width="570" height="269" /></a></p>
<h2></h2>
<h2><span style="color: #ffff00;"><em><strong>New &#8211; </strong></em></span>Get the Latest Code</h2>
<p><a href="/wp-content/uploads/2012/11/HowdyWorld-2.2.0.zip">The ZIP file</a> (28MB) including PhoneGap 2.2.0 built with Google API 16</p>
<h2></h2>
<h2>Older Versions</h2>
<p><a title="PhoneGap Skeleton" href="/wp-content/uploads/2012/05/HowdyWorld.zip">The ZIP file</a> (4.5MB) including PhoneGap 1.7.0 built with Google API 15</p>
<h3></h3>
<p>&nbsp;</p>
<h3>Loading in Eclipse</h3>
<p>You’ll need to setup the <a href="http://developer.android.com/sdk/index.html">Android SDK</a>, API 15 and <a href="http://developer.android.com/sdk/eclipse-adt.html#installing">ADT plugin</a> prior to using the project.</p>
<p>The easiest way is to extract the ZIP file anywhere on your computer and then Import an existing project into your workspace.</p>
<h3></h3>
<h3>Loading in Xcode</h3>
<p>You’ll need to <a href="http://phonegap.com/start#ios-x4">download PhoneGap anyways and run the installer</a>.</p>
<p>Just double click on the xcodeproj file in assets/howdyworld.xcodeproj.</p>
<h2></h2>
<h2></h2>
<h2>How it Works</h2>
<p>Takes advantage of the fact that Android doesn’t compile or look for code in its assets folder. The assets folder is where you store the web code. So we can put the Xcode project in the assets folder. This way you can have one root folder sharing common web code for separate devices.</p>
<p>In addition there&#8217;s some JavaScript to switch Cordova/PhoneGap JavaScript files per device. This matches on the navigator.userAgent testing for &#8220;android&#8221; or &#8220;iphone&#8221;. Feel free to extend this.</p>
<h3></h3>
<h3>Do it yourself</h3>
<p>Create the project first in Xcode. <a title="Getting Started with PhoneGap in iOS" href="http://phonegap.com/start#ios-x4">Follow the instructions to setup the project like normal</a>. So now you have an Xcode structure like:</p>
<div id="attachment_889" class="wp-caption alignleft" style="width: 580px"><a href="http://prophero.com/wp-content/uploads/2012/05/xcode-filesystem-e1337293009242.png"><img class="size-full wp-image-889" src="http://prophero.com/wp-content/uploads/2012/05/xcode-filesystem-e1337293009242.png" alt="The filesystem for an Xcode PhoneGap project" width="570" height="269" /></a><p class="wp-caption-text">Your Xcode project filesystem, before</p></div>
<p>&nbsp;</p>
<p>Then you want to create an Android project in Eclipse. <a href="http://phonegap.com/start#android">Follow the standard procedure</a>. But this time, when it comes to creating the assets/www folder. You’ll call upon the Xcode project. Drop the structure including the /helloworld, /helloworld.xcodeproj, and especially /www into /assets.</p>
<div id="attachment_891" class="wp-caption alignleft" style="width: 580px"><a href="http://prophero.com/wp-content/uploads/2012/05/eclipse-filesystem.png"><img class="size-full wp-image-891 " src="http://prophero.com/wp-content/uploads/2012/05/eclipse-filesystem.png" alt="" width="570" height="361" /></a><p class="wp-caption-text">Your Eclipse project filesystem, including your Xcode project</p></div>
<p>&nbsp;</p>
<p>After you setup the projects there&#8217;s the small issue of switching the cordova JavaScript library. In the index.html file you&#8217;ll want to add some JavaScript that detects the navigator&#8217;s user agent (navigator.userAgent) and then check if it&#8217;s android, iphone, or anything else. Then do a document.write() for the script tag and the appropriate scripts</p>
<h2></h2>
<h2></h2>
<h2>Further Research</h2>
<p>I am always happy to hear better ideas. This was fast, quick, and got us running immediately. We really wanted to save someone else a few smidgens of time.</p>
<h2></h2>
<h2></h2>
<h2>Get Some More</h2>
<p>Come check us out at <a href="http://www.elearningguild.com/mLearnCon/content/2172/mlearncon--2012-home/">mLearnCon</a> in June. We&#8217;ll be <a href="http://www.elearningguild.com/mlearncon/concurrent-sessions/session-details.cfm?session=3848">talking about PhoneGap</a> and how we used it. With an eye toward how to best take advantage of PhoneGap and what it means for your development.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/phonegap-skeleton/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Debug Mobile Applications with Weinre</title>
		<link>http://www.prophero.com/debug-mobile-applications-weinre/</link>
		<comments>http://www.prophero.com/debug-mobile-applications-weinre/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 15:10:06 +0000</pubDate>
		<dc:creator>Jon Pitcherella</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Platforms]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Weinre]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=796</guid>
		<description><![CDATA[Introduction These days everyone is looking to port their existing application(s) to mobile devices.  Some of those folks are using tools like RhoMobile, PhoneGap, Appcelerator, etc. to write their applications with HTML5/JavaScript/CSS and then port the same code base to various mobile phone platforms with minimal to zero extra effort.  In a perfect world, your [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.prophero.com/wp-content/uploads/2012/04/geek-debug.jpg" alt="Debug Comic" /></p>
<h2>Introduction</h2>
<p>These days everyone is looking to port their existing application(s) to mobile devices.  Some of those folks are using tools like RhoMobile, PhoneGap, Appcelerator, etc. to write their applications with HTML5/JavaScript/CSS and then port the same code base to various mobile phone platforms with minimal to zero extra effort.  In a perfect world, your PC browser and mobile browser would be identical and you could safely assume a bug in the desktop app will be reproducible and require the same fix as on a mobile device.  Unfortunately this is not the case and the reality is that with all the wide variety of mobile devices out there.  Even if you are fortunate enough to write your app once and deploy it to various mobile platforms, chances are a bug specific to a particular device will crop up and as the developer, you will be tasked with debugging it.  Some browsers, like Safari in iOS, have tools similar to the webkit inspector found in webkit based browsers on the PC, but even that can only tell you so much.  And what about all the other mobile browsers out there, how are you supposed to debug those?  Thanks to a simple tool like Weinre (pronounced winery, or weiner, which ever you’d prefer) you can use the familiar webkit inspector tools with your mobile apps.  For the sake of this article, it will be assumed that you have a HTML5/JavaScript/CSS application on a mobile device ready for debugging, using a PC and have Java installed.</p>
<h2>Let’s Start Debugging Already!</h2>
<p>First, download the Weinre .zip file from<a href="https://github.com/callback/callback-weinre/archives/master"> https://github.com/callback/callback-weinre/archives/master</a>.  If you’re using a Mac, you’ll want to make sure you grab the Mac specific .zip file.</p>
<p>After extracting the contents of the .zip, we’re now going to start the Weinre server, which will handle requests from the debug client and debug target (your mobile device).  By default, the server will run on port 8080.  If you want to run the server on a different port or somewhere other than localhost, refer to<a href="http://phonegap.github.com/weinre/Running.html"> http://phonegap.github.com/weinre/Running.html</a>.  To start the Weinre server:</p>
<blockquote>
<pre>Java –jar /path/to/weinre.jar [options]</pre>
</blockquote>
<p>There are numerous options Weinre can be launched with, but for this discussion we’ll focus on the most basic.  This will give you a Weinre server running at<a href="http://localhost:8080/"> http://localhost:8080</a>.  For Mac users, you’ll want to follow the Mac specific instructions found toward the bottom of this URL:<a href="http://phonegap.github.com/weinre/Running.html"> http://phonegap.github.com/weinre/Running.html</a>.</p>
<p>This next portion is dependent upon what your mobile application looks like.  You’ll be adding one JavaScript file to your application, but to actually debug on a mobile device, you’ll have to re-deploy the updated app to the device.  Add the following script to your mobile application:</p>
<blockquote>
<pre>&lt;script type=”text/javascript” src="<a href="http://localhost:8080/target/target-script-min.js">http://localhost:8080/target/target-script-min.js</a>"&gt;&lt;/script&gt;</pre>
</blockquote>
<p>Now, deploy your app.  I’ll wait…</p>
<p>With your mobile device on the same network as your PC, open a web browser on your PC at the following URL:</p>
<p><a href="http://localhost:8080/client">http://localhost:8080/client</a></p>
<p>Launch your newly deployed mobile app and if all goes well, in your PC browser you should see your device connect to the Weinre server as a ‘target’.  You’re now ready to begin debugging your mobile application.</p>
<h2>Troubleshooting</h2>
<p>Depending upon your app and network setup, you may have trouble binding Weinre to localhost.  If that’s the case, I like to execute weinre with the “&#8211;boundHost -all-” option to see what hosts Weinre thinks are available.  Then with your target (mobile device), visit each host at the port Weinre is running on.  When you successfully find a page that works, use the host name in the script added to your app instead of ‘localhost’.</p>
<p>For more advanced troubleshooting, refer to<a href="http://phonegap.github.com/weinre/Running.html"> http://phonegap.github.com/weinre/Running.html</a>.</p>
<h2>Important Weinre Notes</h2>
<p>Weinre gives you almost all of the webkit inspector tools you need to debug your application, aside from JavaScript breakpoints (you’ll have to use the console to execute code or write print statements in your code).</p>
<p>For those concerned about security, please refer to<a href="http://phonegap.github.com/weinre/Security.html"> http://phonegap.github.com/weinre/Security.html</a>.  Weinre has absolutely zero security wrapped around it.  If you need to debug a mobile web app, please consider the security issues of adding the Weinre debug script to public facing applications.</p>
<h2>For The More Tech Savvy</h2>
<p>If you’re thinking to yourself, “Weinre is pretty cool, but I want to debug my mobile app with the full webkit inspector tool”, you’re in luck.  That is, you’re in luck if you own an Android phone and have the Google Chrome Beta browser installed (at the time of this article, only Ice Cream Sandwich phones support Chrome Beta) as well as Chrome installed on your desktop.  With Chrome Beta for Android, you have access to full webkit debugging on any website, mobile or not.  Here’s how to get started:</p>
<ul>
<li>Make sure you have Chrome installed on your desktop as well as your Android phone.  You will also need ADB from the Android SDK.</li>
<li>On your phone, enable USB web debugging (Settings -&gt; Under the hood -&gt; Developer Tools)</li>
<li>On your PC, issue the command:  “adb forward tcp:9222 localabstract:chrome_devtools_remote”</li>
<li>Open your desktop Chrome browser to localhost:9222</li>
<li>You will now see a list of all URLs open in your phone’s Chrome browser</li>
<li>Click on any of the links to activate the inspector in the browser for that particular URL and start using that site on your mobile device to debug.</li>
</ul>
<p>For remote debugging help, refer to:<a href="http://code.google.com/chrome/mobile/docs/debugging.html"> http://code.google.com/chrome/mobile/docs/debugging.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/debug-mobile-applications-weinre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demystifying XML and the Power of Structured Content</title>
		<link>http://www.prophero.com/demystifying-xml-power-structured-content/</link>
		<comments>http://www.prophero.com/demystifying-xml-power-structured-content/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 14:29:56 +0000</pubDate>
		<dc:creator>Joe Hopkins</dc:creator>
				<category><![CDATA[Authoring Options]]></category>
		<category><![CDATA[Output Options]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=551</guid>
		<description><![CDATA[Once you understand how structured content works, it is easy to see its power and how XML fits in the picture. The term “structured content” refers to content that has been authored using a template that has a specific set of styles and a set structure. For example, a template may have a section called [...]]]></description>
			<content:encoded><![CDATA[<p>Once you understand how structured content works, it is easy to see its power and how XML fits in the picture. The term “structured content” refers to content that has been authored using a template that has a specific set of styles and a set structure. For example, a template may have a section called “Introduction to Topic”, the purpose of this section would be to introduce the student to a new topic.  When content is specifically identified like this, a computer system knows its purpose and can use it to automatically create new products.</p>
<p>By authoring content in a structured fashion you can separate your content from its presentation. This allows content to be presented in different mediums such as online, eBook, mobile, and traditional printed materials, all without rewriting content or copying and pasting. Structured content also allows you to mix and match your content in order to new different products.</p>
<p>The technology that powers behind structured content is XML. There are a variety of tools and technologies available for managing, linking, and transforming XML. But XML is just the technology behind the scenes, it is much more important that your authors understand the content, leave the XML for the technicians. Authors can still use tools that they are accustomed to (e.g. Word), but they will need to follow the style and structure guidelines in your templates. Below is an example piece of content that utilizes a structured content template.</p>
<div style="background-color: #e6e6f5; color: black; padding: .4cm; border: 1px solid gray;"><strong>Title:</strong></p>
<p dir="ltr">Pennsylvania Economy</p>
<p><strong>Educational Objective:</strong></p>
<p dir="ltr">Learn about the modern economy in the Commonwealth of Pennsylvania&#8230;</p>
<p><strong>Introduction:</strong></p>
<p dir="ltr">Pennsylvania’s 2010 total gross state product (GSP) of $570 billion ranks the state 6th in the nation. If Pennsylvania were an independent country, its economy would rank as the 18th largest in the world.</p>
<p><strong>Body:</strong></p>
<div style="padding: .4cm;">
<p dir="ltr"><strong>Heading:</strong></p>
<p dir="ltr">Banking</p>
<p dir="ltr"><strong>Paragraph:</strong></p>
<p dir="ltr">The first nationally charted bank in the US, the Bank of North America, was founded in 1781 in Philadelphia. After a seriers of mergers, the Bank of North America is part of Wells Fargo which uses national charter 1.</p>
<p dir="ltr"><strong>Heading:</strong></p>
<p dir="ltr">Agriculture</p>
<p dir="ltr"><strong>Paragraph:</strong></p>
<p dir="ltr">PA ranks 19th overall in agricultural production, but 1st in mushrooms, 3rd in Christmas trees and layer chickens, 4th in nursery and sod, milk, corn silage, grapes grown, and horses production.</p>
<p dir="ltr"><strong>Heading:</strong></p>
<p dir="ltr">Film</p>
<p dir="ltr"><strong>Paragraph:</strong></p>
<p dir="ltr">The Pennsylvania Film Production Tax Credit began in 2004 and stimulated the development of a film industry in the state.</p>
</div>
<p><strong>Summary:<br />
</strong></p>
<p dir="ltr">Pennsylvania’s economy is strong in Banking, Agriculture, Film, and industries. As of July 2011, the state’s unemployment rate is 7.4%.</p>
</div>
<p>As you can see, the template is very straightforward and easy to follow. There is nothing technical about authoring in a template like this.</p>
<div style="background-color: white; padding: .4cm; color: black; border: 1px solid gray;">
<p>Below are some outputs generated automatically using the content we authored above:</p>
<p>eBook:</p>
<p><img src="https://lh5.googleusercontent.com/b6kjKZZ3bwCI5lki9pDYkAK9Lq0ZlAYq595mq18TdzwzwdCOUJVKbq4v0mMBuA1HwQbenOF3eGwWrsbrKEAaMJiqbX0to142rsIWIe8kmv1dnWLpnJI" alt="" width="462px;" height="347px;" /></p>
<p>Online:</p>
<p><img src="https://lh6.googleusercontent.com/cosmixMd5hNMmt06bm7R3Pbs9z7PiF7_cpJk3EEZjEbuT0Ip928fiG3eHlcee6qiWIxIV8-lNe9U2h5q1iyysviVHNg7eNWu1twPOUaCGzmdYLciQTU" alt="" width="458px;" height="578px;" /></p>
<p>Mobile:</p>
<p><img src="https://lh5.googleusercontent.com/QTsQcI1q5KM_wMKyMVVUOtvBwpTAIDogA_mg3CTL4hslZL3viUUrNcchuCFU_NBuA54WrZHF7ieb8dTgZavsGsnlGuWE-xapmMVgSpdfoNPCxtngb78" alt="" width="368px;" height="716px;" /></p>
<p>Traditional Print:</p>
<p><img src="https://lh3.googleusercontent.com/TesNfT2-RdgMtLpmht1uBxJ8XUWX7zUT53c6SoWPNChNTXk-yn6VCEfEVwvdiMKd0DJbPGQzicxEqHjpMILeCVm2GAGTz9_5Wmqur9JBYbBn2t_xHws" alt="" width="524px;" height="653px;" /></p>
</div>
<p>These outputs only scratch the surface of what is achievable when you author your products as structured content. Imagine what else is possible when you can reuse and re-purpose your content so easily. New products and new mediums become much less of a burden and you will always be ready to support new consumer platforms and devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/demystifying-xml-power-structured-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making the case for a single–source content approach</title>
		<link>http://www.prophero.com/making-case-single%e2%80%93source-content-approach/</link>
		<comments>http://www.prophero.com/making-case-single%e2%80%93source-content-approach/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 12:37:47 +0000</pubDate>
		<dc:creator>Chris Roach</dc:creator>
				<category><![CDATA[Authoring Options]]></category>
		<category><![CDATA[Authoring]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=513</guid>
		<description><![CDATA[When publishers look to add new digital formats to their product offerings, we have sometimes seen them adopt a process where they develop the digital product only after the print product has been finalized.   This process usually involves copying content from the print product to the new product and then making a lot of manual [...]]]></description>
			<content:encoded><![CDATA[<p>When publishers look to add new digital formats to their product offerings, we have sometimes seen them adopt a process where they develop the digital product only after the print product has been finalized.   This process usually involves copying content from the print product to the new product and then making a lot of manual changes that are needed due to the new format.  As the digital world encompasses many different formats, this type of process is simply not viable over the long term.</p>
<p>Having had the opportunity to work with an educational publisher that approached this problem from a different standpoint, we think there’s a better way.  Adopting a single-source approach to your content makes it easier to add new digital capabilities to your current offerings.</p>
<p>Single-sourcing means writing the content once – irrespective of any product or format &#8211; and then using this same content for all the print and digital formats.  The solution we built for this educational publisher enables authors and editors to work within their traditional workflow process to create and edit content using MS Word.  Once the content is finalized, it is automatically converted to a format that is both semantic and presentation-neutral (XML).</p>
<p>Their solution then enables them to take this single content source and automatically create three different formats: a print format (InDesign), an eLearning format (SCORM/Flash) and an eBook format (ePub).   The resultant layouts can be “tweaked” if necessary, although changes typically are made to less than 5% of their overall output (in many cases no changes are needed at all).</p>
<p>When originally adding their first digital capability, this publisher tried to use the print format as the basis for creating the eLearning format.  However, they quickly recognized the inefficiencies and issues inherent in this approach and saw that they needed to change the way they approached writing their content.  Adopting a single-source content approach has enabled them to create brand-consistent products in multiple formats faster and more efficiently than before.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/making-case-single%e2%80%93source-content-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving from Print to eBook</title>
		<link>http://www.prophero.com/moving-print-ebook/</link>
		<comments>http://www.prophero.com/moving-print-ebook/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 19:04:51 +0000</pubDate>
		<dc:creator>Joe Hopkins</dc:creator>
				<category><![CDATA[Mobile Platforms]]></category>
		<category><![CDATA[Output Options]]></category>
		<category><![CDATA[eBook]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=488</guid>
		<description><![CDATA[In order for your printed products to be available on iPhones, iPads, tablets, Kindles, smart phones, and other mobile devices, you will want to convert them to an eBook format. If you already store content separate from presentation it will be fairly easy to add eBooks to your product lineup. You have less control over [...]]]></description>
			<content:encoded><![CDATA[<p>In order for your printed products to be available on iPhones, iPads, tablets, Kindles, smart phones, and other mobile devices, you will want to convert them to an eBook format. If you already store content separate from presentation it will be fairly easy to add eBooks to your product lineup.</p>
<p>You have less control over how your materials are presented on an eBook reader compared to traditional text. The diagram below “eBook Limitations” points out some of the traditional print features that you will lose when moving to most eBook formats. (No custom headers, No custom fonts, No custom footers, No text in margins, and no pagination control).</p>
<p>&nbsp;</p>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl>
<dt><a href="http://www.prophero.com/wp-content/uploads/2012/01/ebook_Limitations_final1.png"><img class="size-medium wp-image-494 aligncenter" src="http://www.prophero.com/wp-content/uploads/2012/01/ebook_Limitations_final1-300x227.png" alt="eBook limitation diagram" width="300" height="227" /></a></dt>
<dd>eBook Limitations &#8211; (C) 2012 Prophero</dd>
</dl>
</div>
<p>&nbsp;</p>
<p>One of the major decisions is what to do with your margin content. You will need to decide if the information in the margin is necessary and if so, find another place for it. For example, if glossary definitions are in the margin you can move them in-line to the end of the chapter. Or, if “Helpful Tips” are in the margin, you can move them up to below the chapter title, or after the introductory paragraph.</p>
<p>Something else to take a look at is if your content refers to page numbers. This does not work in eBook because every reader will paginate your content differently. Instead of instructions like “Refer to diagram 17c on page 239”, use something like “Refer to diagram: ‘Food Pyramid’” and remember to place the diagram close to where it is referenced.</p>
<p>These are some of the more significant limitations that you will encounter when moving to an eBook format. Please look forward to future posts that will dive deeper into this topic. If you have any questions or advice from personal eBook experiences please leave a comment or email me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/moving-print-ebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moodle as a Learning Tool</title>
		<link>http://www.prophero.com/moodle-learning-tool/</link>
		<comments>http://www.prophero.com/moodle-learning-tool/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 13:19:39 +0000</pubDate>
		<dc:creator>Jon Pitcherella</dc:creator>
				<category><![CDATA[Output Options]]></category>
		<category><![CDATA[Learning Management]]></category>
		<category><![CDATA[LMS]]></category>
		<category><![CDATA[Moodle]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.prophero.com/?p=443</guid>
		<description><![CDATA[In 2011, a client approached us looking to take their published content to the web.  Given the short time frame, they needed a way of delivering their content and assessments in an online environment along with the ability to track student achievement.  Neither of those tasks is simple by themselves, let alone all three together.  [...]]]></description>
			<content:encoded><![CDATA[<p>In 2011, a client approached us looking to take their published content to the web.  Given the short time frame, they needed a way of delivering their content and assessments in an online environment along with the ability to track student achievement.  Neither of those tasks is simple by themselves, let alone all three together.  Fortunately the student tracking task can be accomplished very easily using a Learning Management System (LMS) such as Moodle.  The Moodle LMS is a great tool for small organizations to get them up and running without much cost or overhead.<br />
<a href="http://www.prophero.com/wp-content/uploads/2011/12/dreamstime_xs_9702689.png"><img class="alignright size-medium wp-image-470" title="E-Learning" src="http://www.prophero.com/wp-content/uploads/2011/12/dreamstime_xs_9702689-300x240.png" alt="E-Learning" width="300" height="240" /></a></p>
<p>Moodle is an open source LMS, written in PHP that can use a number of different database back-ends such as MySQL and SQL Server.  It provides a lot of functionality right out the box including a role based user system (teachers, students, administrators, etc) as well as a , enrollment, course setup/delivery, assessments, grade tracking, user forums, SCORM compatibility, and much more.</p>
<p>Given the rich feature set of Moodle, it allowed our client to get their LMS up and running quickly and gave them time to focus on what matters most, their content.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prophero.com/moodle-learning-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
