<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Citrix Blogger</title>
	<atom:link href="http://citrixblogger.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://citrixblogger.org</link>
	<description></description>
	<lastBuildDate>Sat, 04 Feb 2012 00:22:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='citrixblogger.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Citrix Blogger</title>
		<link>http://citrixblogger.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://citrixblogger.org/osd.xml" title="Citrix Blogger" />
	<atom:link rel='hub' href='http://citrixblogger.org/?pushpress=hub'/>
		<item>
		<title>XAMA SDK Online Documentation</title>
		<link>http://citrixblogger.org/2011/12/21/xama-sdk-online-documentation/</link>
		<comments>http://citrixblogger.org/2011/12/21/xama-sdk-online-documentation/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 04:11:18 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[XAMA SDK]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[doxygen]]></category>
		<category><![CDATA[sdk documentation]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=774</guid>
		<description><![CDATA[XAMA SDK documentation is now available online at http://www.citrixcloud.net/mobilesdk/index.html. The documentation was generated from the source code using doxygen.  Because of this, the information is more up to date than typical SDK documents.  Three interfaces are covered. C/C++ XAMA API COM &#8230; <a href="http://citrixblogger.org/2011/12/21/xama-sdk-online-documentation/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=774&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="XAMA SDK Online Docs" href="http://www.citrixcloud.net/mobilesdk/index.html" target="_blank"><img class="aligncenter size-full wp-image-775" title="XAMAWelcome" src="http://citrixblogger.files.wordpress.com/2011/12/xamawelcome.png?w=500&#038;h=378" alt="" width="500" height="378" /></a></p>
<p>XAMA SDK documentation is now available online at <a href="http://www.citrixcloud.net/mobilesdk/index.html">http://www.citrixcloud.net/mobilesdk/index.html</a>. The documentation was generated from the source code using doxygen.  Because of this, the information is more up to date than typical SDK documents.  Three interfaces are covered.<span id="more-774"></span></p>
<ol>
<li>C/C++ XAMA API</li>
<li>COM XAMA Interfaces</li>
<li>C# XAMA API</li>
</ol>
<p>Since COM and .NET are supported, it actually means more languages would work besides C/C++/C#.  However, we have not tested other combinations.</p>
<p>Looking through the API online is the easiest way to get an idea of how the API are called.  For example, take a look at <a title="CMPTakePicture" href="http://www.citrixcloud.net/mobilesdk/cmpapi_8cpp.html#af85831c6faa5f1cf3cb989733b9fba21" target="_blank">CMPTakePicture</a> for C/C++.  Given this knowledge along with the takepicture sample, it would be possible to build a program that uses the camera pretty fast on XenApp.</p>
<p>As a side note, one of the interesting use cases is being able to transfer photos right after they are taken to the server.  The access is protected over the ICA link and the copy process uses client drive access.  In other words, it is fully under the control of the program how the picture data is copied once it is taken.  There are security and privacy concerns so some rules are in effect.  First, the user has to enable access to the SD card to Receiver.  Second, the administrator has to enable transferring data with CDM (Client Drive Mapping).  Third, the user selects when the picture is taken manually.  The server cannot say when the actual picture is taken but can only set the stage for getting ready for it.  This tangent is hopefully interesting for those of you that want to play with the SDK.  Personally I find the take picture API very interesting with quite a bit of potential.</p>
<p>Back on track now.  One last thing to clarify.  In order to get this same information in case you do not have an internet connection, just use a web browser to open &#8220;c:\program files (x86)\citrix\mobilitysdk\doc\html\index.html&#8221; assuming that you installed to the default path on an x64 system.  On IE, it will give a popup warning against running scripts.  Let the scripts run since it will create the navigation pane.  There is no ActiveX in the SDK.</p>
<p>It has been a real challenge to produce the SDK documentation this way and there is certainly room for improvement.  This is the first time I have used doxygen for so much.  It is an incredibly powerful tool and hopefully the SDK will use more of its features in the future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/774/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=774&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/12/21/xama-sdk-online-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://citrixblogger.files.wordpress.com/2011/12/xamawelcome.png" medium="image">
			<media:title type="html">XAMAWelcome</media:title>
		</media:content>
	</item>
		<item>
		<title>Help with Citrix XAMA SDK on Forum and Email</title>
		<link>http://citrixblogger.org/2011/12/20/help-with-citrix-xama-sdk-on-forum-and-email/</link>
		<comments>http://citrixblogger.org/2011/12/20/help-with-citrix-xama-sdk-on-forum-and-email/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 03:00:08 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Citrix SDK]]></category>
		<category><![CDATA[XAMA SDK]]></category>
		<category><![CDATA[citrix forum]]></category>
		<category><![CDATA[early adopter]]></category>
		<category><![CDATA[XenApp]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=770</guid>
		<description><![CDATA[Since we just announced XAMP and XAMA just a few days ago, and it also very close to the holidays, it is not expected that many people will get a chance to try these solutions before January. However, to anticipate &#8230; <a href="http://citrixblogger.org/2011/12/20/help-with-citrix-xama-sdk-on-forum-and-email/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=770&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since we just announced XAMP and XAMA just a few days ago, and it also very close to the holidays, it is not expected that many people will get a chance to try these solutions before January.</p>
<p>However, to anticipate potential questions, there is a solution regardless of when the questions are asked.</p>
<p>First of all, there is a <a title="XAMA SDK Forum" href="http://forums.citrix.com/forum.jspa?forumID=1366&amp;start=0">Citrix forum dedicated to the XAMA SDK</a>.  There has not yet been much traffic here yet but we have had a few questions.  The forum is the place to go when you have an issue with getting the SDK to work.   So far we have covered some of the issues that happen when you first start and also how to debug.  Thanks go out to <a title="Jason Conger site" href="http://www.jasonconger.com/" target="_blank">Jason Conger</a> for being an early adopter.   Just remember that we are instantly notified of any new request and do our best to answer the question within a day.</p>
<p>Another path is to use our direct email account.  The group that worked on the Mobility Pack has a group email alias.  This address is mobilitysdk (at) citrix.com.  As usual, substitute &#8220;(at)&#8221; with @.  I wrote it this way in the vain attempt to hide the email address from automated programs.</p>
<p>The email address is direct and instant and is directed to several people in Citrix.    It probably comes down to preference whether you want to use the forum or email.  Either way, you will get the help you need with the XAMA SDK.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/770/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=770&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/12/20/help-with-citrix-xama-sdk-on-forum-and-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>
	</item>
		<item>
		<title>Debugging XAMA SDK Applications</title>
		<link>http://citrixblogger.org/2011/12/19/debugging-xama-sdk-applications/</link>
		<comments>http://citrixblogger.org/2011/12/19/debugging-xama-sdk-applications/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 07:25:16 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Citrix SDK]]></category>
		<category><![CDATA[XenApp]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[XAMA SDK]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=757</guid>
		<description><![CDATA[When a developer first experiments with mobile phones and tablets, one of the first questions is how it can be debugged.  With PCs it is fairly easy to start a debugger for a program since the environment is well established &#8230; <a href="http://citrixblogger.org/2011/12/19/debugging-xama-sdk-applications/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=757&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://citrixblogger.files.wordpress.com/2011/12/samplexamacode1.png"><img class="wp-image-759 alignleft" title="sampleXAMACode" src="http://citrixblogger.files.wordpress.com/2011/12/samplexamacode1.png?w=520&#038;h=162" alt="" width="520" height="162" /></a></p>
<p>When a developer first experiments with mobile phones and tablets, one of the first questions is how it can be debugged.  With PCs it is fairly easy to start a debugger for a program since the environment is well established and there is plenty of screen space.  With a phone, the space is very limited.  On top of this, there is very limited input control.  Using touch is very effective for mobile devices but not always that effective for debugging the applications than run on these devices.  There has to be some kind of outside control to make this more effective.</p>
<p>There are some general strategies:</p>
<ol>
<li>Using tracing to log files</li>
<li>Using tracing to remote consoles</li>
<li>Interactive Debugging inside session</li>
<li>Interactive Debugging in another session</li>
</ol>
<p><span id="more-757"></span>Each has merits but each one represents a more difficult layer to achieve.</p>
<h5>Tracing to Log Files</h5>
<p>The pros are that it is really easy to write code to include trace statements.  These trace statements are typically disabled for retail builds.  The tracing usually ends up in a log file with time stamps so that the situation can later be diagnosed.  Typically this would be used with real customer issues that are not under the control of a developer.  The trace statements can be helpful but only if the volume of data is not too large and the trace covers areas that are broken.  It is fairly easy to miss detail with trace statements since it cannot be easily predicted what will be a problem.  If the developer thought it would be a problem, it would already be fixed.</p>
<p>Also, the output file is collected after everything has happened.  There is no chance of gathering more or less data around the time of the event.</p>
<h5>Tracing to Debug Console</h5>
<p>The concept of outputting to a debug console makes the trace more live.  It might be possible to select levels of debug information.  It might also be possible to pick certain categories of trace information.  This makes the log information more selective and the trace information is shown when the events happen.  However, it is still a trace.  There is no option for examining specific execution of lines of code.  There is also no ability to change any variables or set breakpoints.  It is better than a log file trace but still not always enough.</p>
<h5>Interactive Debugging in Same Session</h5>
<p>Most Windows developers use an IDE (Integrated Development Environment) to work with and debug programs.  Working with text traces is often not enough to determine what the problem is.  Modern applications are based on advanced techniques that can only be captured using an application focused on debugging.   Most Windows developers can focus on debugging inside Windows using Visual Studio in the same session.  It is not hard to have a debugger running at the same time as the application.  The application alternates being in the foreground with the debugger based on whether it is running or being debugged.</p>
<p>There is a lot of power behind this model.  It allows for a widespread coverage that is much easier to work with than tracing.  It is possible to pause the program at any time either from breakpoints or pressing the break button.  Once stopped, the variables can be examined and potentially changed.  The call stack can be examined.  Memory can be viewed.  The path of execution can be observed step by step.</p>
<p>However, this model would not suitable to mobile phones.  First of all, the devices are much too small to allow something like Visual Studio to run well.  Second, the controls for Visual Studio are too small on high density pixel devices.</p>
<p>It is possible to use a tablet with Visual Studio but the process is too frustrating to use for too long.  Touching such small elements has the potential for error which sometimes leads to unwanted closures.</p>
<h5>Interactive Debugging in Another Session</h5>
<p>This is the most advanced use case but also the most useful.  Given that we are using a WTS-based server, it is completely valid to use another session.  This strategy is newer than the others and therefore the most unproven.  However, in the workings of supporting mobile devices, sometimes you need to do something  like this.</p>
<p>Here is what I did to get it working:</p>
<ol>
<li>Install Visual Studio 2010 onto the XenApp 6.5 server that has XAMP (XenApp 6.5 Mobility Pack)</li>
<li>Have two different accounts (one user, one administrator)</li>
<li>Login to the administrator and start Visual Studio</li>
<li>Login to the user with a mobile device</li>
<li>Start the application for the user (but do not do anything yet)</li>
<li>As administrator, on the Visual Studio, select Debug/Attach To Process</li>
<li>Click the two checkboxes for showing processes for users and sessions</li>
<li>Sort the process names and find your user program and select it</li>
<li>Attach to the program (the program should continue to run after this happens)</li>
<li>Break into the program and make sure the symbols are set correctly for the program</li>
<li>Set any desired breakpoints</li>
<li>Use the program as a user</li>
</ol>
<p>There are weaknesses with this model (complexity) and it does not cover controlling the application from the beginning.  This could be handled by having a stub code section that waits before launching the main part of the program.</p>
<p>However it does work and gives use two main things:</p>
<ol>
<li>The debugger can be used fully like it was meant to be used on Windows</li>
<li>The application is not affected by the debugger being displayed in the same session.</li>
</ol>
<p>It is important that the administrator has rights to debug any program in the system.  I do not remember doing anything special for this so it should just work.</p>
<p>This gives the application and the debug view different display surfaces.  Best of all, the debugger can use the standard keyboard and mouse.</p>
<p>It is possible to do the other three tactics with mobile applications but each of these have serious limitations.  One strong exception to this is time sensitive activities.  Sometimes debugging slows things down enough that it can affect the outcome.  The most obvious reason is network transactions.  If the requests do not get a response within a certain time, the request will fail.</p>
<p>In this realm, using tracing is actually better.  It is just important to make sure there is enough information in the trace and the trace has an accurate time reference.</p>
<p>Debugging, to me, has always been more of an art than a science.  The situation largely determines how it can be attacked.  Developers have different preferences and obviously this is reflected by what tools they use and how much experience they have fixing problems.  Even though it might be a bit painful to use the most advanced option for debugging mobile device applications with XenApp, it is also the most rewarding way to get results.</p>
<p>I did not mention how to get administrator access to the server.  In my case, I used XenServer to access the console of the server.  From this &#8220;local&#8221; console, I logged on as administrator and started Visual Studio.  I should have also mentioned that XenServer is hosting my copy of XenApp.  As a Citrix developer, using XenServer makes it much easier to try different servers as well as including support servers like AD controller.  Last I heard, XenServer is still available free.</p>
<p>However, it would also be possible to either use ICA or RDP to access the server remotely to run Visual Studio.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/757/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=757&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/12/19/debugging-xama-sdk-applications/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://citrixblogger.files.wordpress.com/2011/12/samplexamacode1.png" medium="image">
			<media:title type="html">sampleXAMACode</media:title>
		</media:content>
	</item>
		<item>
		<title>Citrix XenApp Mobile Application SDK Version 1 Available</title>
		<link>http://citrixblogger.org/2011/12/19/citrix-xenapp-mobile-application-sdk-version-1-available/</link>
		<comments>http://citrixblogger.org/2011/12/19/citrix-xenapp-mobile-application-sdk-version-1-available/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 05:36:32 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Citrix]]></category>
		<category><![CDATA[Citrix SDK]]></category>
		<category><![CDATA[XenApp]]></category>
		<category><![CDATA[XAMA SDK]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=752</guid>
		<description><![CDATA[The first version of the Citrix XenApp 6.5 Mobile Application (XAMA) SDK has been published on the Citrix web site as of December 17, 2011.  In order to use the SDK, the XenApp server must have the Citrix XenApp 6.5 &#8230; <a href="http://citrixblogger.org/2011/12/19/citrix-xenapp-mobile-application-sdk-version-1-available/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=752&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://cdn.ws.citrix.com/wp-content/uploads/2011/10/Avanade.png"><img class="alignnone" title="Avanade XAMA SDK demo app" src="http://cdn.ws.citrix.com/wp-content/uploads/2011/10/Avanade.png" alt="" width="404" height="253" /></a></p>
<p>The first version of the <a title="XAMA SDK" href="https://www.citrix.com/English/ss/downloads/details.asp?downloadId=2317078&amp;productId=186" target="_blank">Citrix XenApp 6.5 Mobile Application (XAMA) SDK</a> has been published on the Citrix web site as of December 17, 2011.  In order to use the SDK, the XenApp server must have the <a title="XAMP" href="http://citrix.com/English/ss/downloads/details.asp?downloadId=2317077&amp;productId=186&amp;c1=sot1349740" target="_blank">Citrix XenApp 6.5 Mobility Pack (XAMP)</a> installed first.  The team has worked for around a year bringing this together.  The overall goal is to make it easy for enterprise Windows developers write software that works well on mobile devices (phones and tablets).</p>
<p><span id="more-752"></span>Currently the <a title="Citrix Android Receiver" href="https://market.android.com/details?id=com.citrix.Receiver&amp;feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLmNpdHJpeC5SZWNlaXZlciJd" target="_blank">Android Receiver</a> supports this new programming platform with the iOS Receiver to follow soon.  The main Android Receiver has the required code to support applications using XAMA.</p>
<p>The basic things that would need to be done:</p>
<ol>
<li> Setup a test XenApp 6.5 server</li>
<li> Install the XenApp 6.5 Mobility Pack on the XenApp server</li>
<li>Install XenApp 6.5 Mobility Application SDK on Windows 7 64-bit dev machine</li>
<li>Install Citrix Receiver for Android (minimum 3.0.59 version) on Android device</li>
</ol>
<p>More tips:</p>
<ol>
<li>Select Web Interface for XenApp to test apps/desktops</li>
<li>Use XenServer to host XenApp and other support servers (like AD controller)</li>
<li>Learn about Google Android SDK and hook up the phone/tablet with USB debugging</li>
<li>Use client drive access or Windows Network to exchange files between server and dev machine (Windows Network is faster)</li>
<li>Visual Studio 2010 is best to use with server and dev machine</li>
<li>XAMA SDK is has HTML documentation included in SDK.  Just open the index.html in the doc\html directory with web browser.  Or, go online at <a title="XAMA HTML SDK Docs" href="http://www.citrixcloud.net/mobilesdk/" target="_blank">http://www.citrixcloud.net/mobilesdk/</a>.</li>
</ol>
<p>The primary concept is that the SDK enables Windows applications to be aware of mobile device features.  Once aware, these applications can utilize the features to accomplish things which were not possible before.  Currently the most obvious benefit is being able to customize content to the variable screen sizes and pixel densities.  Long-term, full integration will allow for powerful bonding between server applications and mobile devices.  The best of both worlds will bring a better experience to the users.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/752/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/752/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/752/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=752&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/12/19/citrix-xenapp-mobile-application-sdk-version-1-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://cdn.ws.citrix.com/wp-content/uploads/2011/10/Avanade.png" medium="image">
			<media:title type="html">Avanade XAMA SDK demo app</media:title>
		</media:content>
	</item>
		<item>
		<title>XenApp Mobility Pack (XAMP)</title>
		<link>http://citrixblogger.org/2011/11/20/xenapp-mobility-pack-xamp/</link>
		<comments>http://citrixblogger.org/2011/11/20/xenapp-mobility-pack-xamp/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 08:50:19 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Citrix SDK]]></category>
		<category><![CDATA[Citrix Tools]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=745</guid>
		<description><![CDATA[Ramping up with XAMP Over the last couple of years, Citrix Labs has been working on a project to make standard Windows applications more usable on mobile devices (phones and tablets).  This started with the development of Project GoldenGate and &#8230; <a href="http://citrixblogger.org/2011/11/20/xenapp-mobility-pack-xamp/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=745&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>Ramping up with XAMP</h1>
<p>Over the last couple of years, Citrix Labs has been working on a project to make standard Windows applications more usable on mobile devices (phones and tablets).  This started with the development of Project GoldenGate and the production of an email client that runs on XenApp but acts like a native mobile device application when run remotely.  In the early demonstrations, it was clear that customers were interested for a few different reasons:</p>
<ul>
<li>The email would be kept in the data center and therefore would be more secure.  If the device was lost or stolen, the information would not be there.</li>
<li>The email application could be maintained inside the organization instead of on different devices at remote locations.</li>
<li>Deploying standard Windows email programs via XenApp is not easy due to user expectations for usability.</li>
</ul>
<p>You can learn more about the latest release of GoldenGate <a title="GoldenGate" href="http://community.citrix.com/display/xa/Project+GoldenGate?focusedCommentId=158568283" target="_blank">here</a>.</p>
<p>Producing this kind of application is important but not the whole story.  There is also a need to make it easy for other software companies to produce software for XenApp and mobile devices.  The intent is to publish a SDK for developers to use to get all the same benefits along with a few new ideas along the way.</p>
<p>To get a first impression of this SDK, please example the doxygen-generated documenation for <a title="XA MA SDK" href="http://www.citrixcloud.net/mobilesdk/index.html" target="_blank">XenApp 6.5 Mobile Application SDK</a>.  This documentation was released during Synergy Barcelona in late October 2011.</p>
<p>The online documentation focuses on the C/C++ interfaces for the SDK.  The internal name for the SDK was Citrix Mobility Pack SDK (CMPSDK).  That is why there are so many references to CMP in the documentation.</p>
<p>The <a title="XA MA SDK announcement" href="http://community.citrix.com/display/xa/XenApp+6.5+Mobile+Application+SDK" target="_blank">announcement for the XA MA SDK</a> includes a video that share the vision for producing these kind of mobile applications.</p>
<p>It is important to keep these kind of things in mind:</p>
<ul>
<li>It is a fairly steep learning curve to pick up knowledge in mobile device platform development.  It is far easier to leverage existing Windows development experience.</li>
<li>The XA Mobility Pack enables several new features from the mobile device including GPS, display metrics, onscreen keyboard, SMS, camera, orientation, mobile device properties,  button redirection, user notification, picker control support.</li>
<li>The SDK works with C/C++/COM/C#</li>
<li>The SDK is used by GoldenGate</li>
</ul>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;"><span id="more-745"></span></span></div>
<p>There is another way to talk about this SDK.  What it really means is that the client and server work closer together to produce a more native experience on the mobile device.  It also means that the mobile device gets all the benefits of the data center with the massive storage and the existing Windows infrastructure.  As an example, a Windows program could be written to use the SDK to take a picture on the device and then download the picture to any location inside the company.  There is more to the story than this.  Security is a concern.  So, for example, no automatic picture taking will happen and the server will need access to the mobile device storage through Client Drive Mapping.  However, the point is that with a bit of changes, an existing Windows program could be modified to take advantage of the features on the mobile device.  Another example is a dialing program.  Using our SDK, it is possible to tell the device to start the process of dialing the number.  The user still has to say that it is okay and let the dial happen (for security reasons).  This would make it possible to write a program that could hook into the company database and then provide a list of names based on a search.  Once a person is selected, that number will be sent to the phone so the user can dial it easily without typos or the possibility of errors with the prefix.</p>
<p>Yet another angle brings in GPS data.  The SDK introduces the ability to determine current location.  With this information it would be possible to reconfigure the software to provide different results.  For example, the dialer would know where it is so it can pick the right prefix to dial the number correctly.</p>
<p>For those early developers for this SDK, there is a <a title="SDK Forum" href="http://forums.citrix.com/forum.jspa?forumID=1366" target="_blank">forum</a> setup in Citrix.  The forum is monitored by the people that have been working on it and the associated projects.  The team is keen to help developers and to learn what else developers would like to see.</p>
<p>Just to give you a simple example of code, here is a example of how to dial a number:</p>
<p>//<br />
// Phonecall example:<br />
//<br />
// Uses Citrix Mobility SDK to start a phone call<br />
//<br />
// Copyright (c) Citrix Systems<br />
//</p>
<p>#include &lt;stdio.h&gt;<br />
#include &lt;windows.h&gt;</p>
<p>#include &lt;cmp.h&gt;</p>
<p>// change the phone number to something more appropriate<br />
#define PHONE_NUMBER &#8220;+18005551212&#8243;</p>
<p>// unique number should not be a constant but it is here for an example<br />
#define UNIQUE_CALL_ID 0&#215;87654321</p>
<p>//<br />
// Event callback for phone call started<br />
//<br />
void CMPAPI PhoneCallStarted(HANDLE hCMP, CMPRESULT rc, CMP_UNIQUE_ID PhoneCallId)<br />
{<br />
printf(&#8220;PhoneCallStarted hCMP(%p) rc(0x%X) PhoneCallId(%X)\n&#8221;, hCMP, rc, PhoneCallId);<br />
}</p>
<p>//<br />
// Reports errors if they happen<br />
//<br />
void ReportStatus(LPCSTR text, CMPRESULT rc)<br />
{<br />
// only print if something went wrong<br />
if(CMP_FAILURE(rc))<br />
{<br />
printf(&#8220;%s CMPResult(%08X)\n&#8221;, text, rc);<br />
}</p>
<p>return;<br />
}</p>
<p>//<br />
// main entry point for simple phone call program<br />
//<br />
int __cdecl main(int argc, char **argv)<br />
{<br />
CMPRESULT rc;<br />
HANDLE hCMP = NULL;</p>
<p>// initialize for STA (Single Thread Apartment) in COM<br />
rc = CMPInitialize(FALSE);</p>
<p>ReportStatus(&#8220;CMPInitialize&#8221;, rc);</p>
<p>// Open a handle to the mobile device<br />
rc = CMPOpen(&amp;hCMP);</p>
<p>ReportStatus(&#8220;CMPOpen&#8221;, rc);</p>
<p>if(CMP_SUCCESS(rc))<br />
{<br />
// open the link between the two sides<br />
rc = CMPOpenSession(hCMP);</p>
<p>ReportStatus(&#8220;CMPOpenSession&#8221;, rc);</p>
<p>if(CMP_SUCCESS(rc))<br />
{<br />
// register for event<br />
rc = CMPRegisterForEvent(hCMP, CMP_EVENT_PHONE_CALL_STARTED, (CMP_EVENT_CALLBACK)PhoneCallStarted);</p>
<p>ReportStatus(&#8220;CMPRegisterForEvent CMP_EVENT_PHONE_CALL_STARTED&#8221;, rc);</p>
<p>// Start the phone call process by popping up the dialer with the number already populated<br />
rc = CMPStartCall(hCMP, PHONE_NUMBER, UNIQUE_CALL_ID);</p>
<p>ReportStatus(&#8220;CMPStartCall&#8221;, rc);</p>
<p>// let events come in over the next 30 seconds<br />
//<br />
// if this was a Windows program and we had a message loop, we would not need to do this<br />
for(int i=0; i&lt;30; i++)<br />
{<br />
Sleep(1000);<br />
}</p>
<p>// close our connection<br />
CMPCloseSession(hCMP);<br />
}</p>
<p>// release our handle<br />
CMPClose(hCMP);<br />
}</p>
<p>// uninitialize COM<br />
CMPUninitialize();</p>
<p>}</p>
<p>This shows the typical flow for how to use the SDK.</p>
<ol>
<li>CMPInitialize</li>
<li>CMPOpen</li>
<li>CMPOpenSession</li>
<li>CMP functions (e.g. CMPStartCall)</li>
<li>CMPCloseSession</li>
<li>CMPClose</li>
<li>CMPUninitialize</li>
</ol>
<p>The calls are matched up.  CMPInitialize and CMPUninitialize, CMPOpen and CMPClose, and CMPOpenSession and CMPCloseSession.</p>
<p>CMPInitialize corresponds to initializing a thread for COM.  It should only be done once for a thread and before any COM operations happen.  The SDK uses COM so it needs this to be run.  If COM is already initialized then you can skip this function.</p>
<p>CMPOpen creates the COM object for the SDK.  It is responsible for creating and initializing the COM interface.  CMPOpen does not guarantee a connection to the mobile device.  It will return fine even if the connection is not there.</p>
<p>CMPOpenSession establishes a link between the two sides (server and mobile device).  It will fail if the device is not there.  For any of the functions besides the paired ones already mentioned, require a connection to the mobile device.  If you try to issue a function when it is not connected, it will fail.</p>
<p>The functions in the SDK use a return code called CMPRESULT.  This enumeration is defined in cmpenum.h in the SDK and has this pattern.  If the lower 16-bits (word) are zero, then the command was successful.  The top 16-bits reveal which component generated the result.  The status codes are custom to the SDK to avoid depending on the Windows error codes too much.</p>
<p>To download the SDK that was released with Synergy, get it from <a title="Citrix SDK" href="http://community.citrix.com/p/sdkcentral#xenapp" target="_blank">CDN</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/745/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/745/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/745/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=745&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/11/20/xenapp-mobility-pack-xamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>
	</item>
		<item>
		<title>Citrix Software Development Kit for Mobile Devices</title>
		<link>http://citrixblogger.org/2011/07/04/citrix-software-development-kit-for-mobile-devices/</link>
		<comments>http://citrixblogger.org/2011/07/04/citrix-software-development-kit-for-mobile-devices/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 13:34:36 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Project Candlestick]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Citrix SDK]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=740</guid>
		<description><![CDATA[So many people are using mobile phones and tablets these days and Citrix has invested heavily in producing new Receiver programs for the wide array of hardware devices.  Android and Apple iOS are the most popular but there is work &#8230; <a href="http://citrixblogger.org/2011/07/04/citrix-software-development-kit-for-mobile-devices/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=740&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://citrixblogger.files.wordpress.com/2011/07/candlestick_enclosed.jpg"><img class="aligncenter size-full wp-image-741" title="candlestick_enclosed" src="http://citrixblogger.files.wordpress.com/2011/07/candlestick_enclosed.jpg?w=500&#038;h=375" alt="" width="500" height="375" /></a></p>
<p>So many people are using mobile phones and tablets these days and Citrix has invested heavily in producing new Receiver programs for the wide array of hardware devices.  Android and Apple iOS are the most popular but there is work being done for upcoming devices from top manufacturers.</p>
<p>While having great Receiver software certainly helps, Citrix has realized that it needs to do more.</p>
<p>The wheels are turning at <a title="Citrix Labs" href="http://community.citrix.com/p/labs#mobile+devices">Citrix Labs</a> to produce a new software development kit.  Unlike previous Citrix SDKs, this one addresses a basic need to utilize mobile device resources with programs running on XenApp.  <span id="more-740"></span></p>
<p>I have been assigned the task of putting this SDK together.  It is based on experience gathered from a number of projects in Citrix including well known projects like <a title="Project Golden Gate" href="http://community.citrix.com/display/xa/Project+GoldenGate">Golden Gate</a>.  We love our project names like most software companies do.  The name of the umbrella project is Project San Francisco.  It includes the sub-project called Project Candlestick.  We also have Lombard, Alcatraz, and Hermes.  Perhaps you sense a theme?  Please excuse Hermes since it was invented independent of San Francisco.</p>
<p>Regardless of all these names, the projects aim to improve the experience with XenApp while using mobile devices.  Each project focuses on a specific topic.</p>
<p>Project Candlestick is all about providing an SDK.  However, it also has to worry about the implementation of the communication between the XenApp server and the Citrix Mobile Receiver.  The current name (which should stick) is the Mobile Receiver Virtual Channel (MRVC).  This new channel has already been seen as part of the<a title="Citrix Labs Android Receiver" href="https://market.android.com/details?id=com.citrix.labs.Receiver"> Citrix Labs Android Receiver</a>.</p>
<p>The message that needs to be conveyed is simple.  Running Windows programs remotely on mobile devices has a number of limitations.  It does not take long to realize that interacting with a legacy program running on XenApp can be very trying.  The new interfaces do not mesh well with the old.  There are a variety of reasons why which I will save up for a future post.</p>
<p>Citrix has always been about keeping things compatible and being able to work with the program from anywhere on any device.  Early on, Citrix realized the power of taking Windows applications to places it would never normally run.</p>
<p>Things have changed a bit.  Introducing Windows programs to a tablet is not just about making it run like a Windows program.  The shift is starting to realize that the Windows program needs to act a lot more like the mobile device platform.</p>
<p>So, what does this mean?  It means that for the first time, Citrix is going to recommend writing software that is specifically aware of mobile devices on the other side.  This simple shift of thinking advocates using the mobile device resources and integrating it with the application running on the host.</p>
<p>Project Golden Gate is the first to take advantage of this idea.  I have tried this internally written program on my Android phone.  It is impressive what it has achieved.  The program feels like a native application but all the information is at work on the XenApp server.  The message is strong and clear.  Why choose the mobile device or the server when you can have both working together?</p>
<p>It is going to be difficult to sell the SDK to developers because it is different from what has come from before.  I see it more as a bridge between the two worlds.  If fact, I see it as a means of creating a hybrid machine based on both.  The interface lives on the device and the core business logic lives on the server.  Different from before, the program looks like it came from the device when really it is leveraging both.</p>
<p>There are a number of things I could share with you.  For now, it is important just to introduce why this new SDK is needed.  The next blog post will cover what this SDK is solving.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/740/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/740/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/740/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=740&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/07/04/citrix-software-development-kit-for-mobile-devices/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://citrixblogger.files.wordpress.com/2011/07/candlestick_enclosed.jpg" medium="image">
			<media:title type="html">candlestick_enclosed</media:title>
		</media:content>
	</item>
		<item>
		<title>Legacy Entrapment</title>
		<link>http://citrixblogger.org/2011/07/03/legacy-entrapment/</link>
		<comments>http://citrixblogger.org/2011/07/03/legacy-entrapment/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 06:57:00 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[IE9]]></category>
		<category><![CDATA[Internet Explorer 9]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=733</guid>
		<description><![CDATA[Where does it all begin?  When does a pattern emerge?  How do we decide that one thing is better than another?  Why do we make the choices we do? Obviously we can blame our parents first.  That which we know &#8230; <a href="http://citrixblogger.org/2011/07/03/legacy-entrapment/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=733&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://citrixblogger.files.wordpress.com/2011/07/lasersystem.jpg"><img class="aligncenter size-full wp-image-734" title="lasersystem" src="http://citrixblogger.files.wordpress.com/2011/07/lasersystem.jpg?w=500&#038;h=284" alt="" width="500" height="284" /></a></p>
<p>Where does it all begin?  When does a pattern emerge?  How do we decide that one thing is better than another?  Why do we make the choices we do?</p>
<p>Obviously we can blame our parents first.  That which we know probably started with them.  Then we can blame the media and the Internet for the remaining bits.  We see, we do.  We like to copy that which we have seen.  If we see someone do something and it worked for them, then it should work for us.</p>
<p>This is the nature of primates.  The roots are deep.  It is hard to ignore those aspects of ourselves.  We see, we do.</p>
<p>Sometimes things are designed to be so easy to do it is hard to avoid them.  Once they are used, it is hard to stop.  Things like telephones and televisions come to mind.  Simplicity attracts use.  Use attracts others.  Soon, a large group of customers are avid fans of that which they use.</p>
<p>Enter the entrapment.  Once a user gets hooked on a way something works, the user expects it to always do certain things.  The momentum of the mind will accept minor deviations in future products but will not tolerate having its basic needs met.<span id="more-733"></span></p>
<p>Think about Internet Explorer.  It first came out in the mid 90s after the huge success of Netscape Navigator.  The first decent version was 3.0 which corresponded with Windows 95.  It was a perfect time to introduce a new program based on browsing the Internet.  The timing was great and so was the way it was delivered.  Instead of selling it as a separate product, it was included with Windows.  This ultimately changed the game and forced Netscape to focus on the server products over time.  Users got IE for free and were able to browse the web with their normal Windows.</p>
<p>Fast forward to 2011 and the introduction of IE 9.  The expectation for IE 9 was high and Microsoft has pushed it extensively.  It is the first Microsoft browser to support HTML 5 and it has things that probably should have been included in previous versions.  It promised to make things much better for the user.</p>
<p>Then something else happened.  First it was my wife.  One of her web sites that she visits stopped working.  It sounded odd.  Web sites usually do not break that way so quickly.  Things were missing and other things did not respond as expected.  It truly was unusable.  Searching for the problem found results with other people having the same problem with the same site (Blogger).  And, much to my surprise, there was no easy fix.  All of the people on the forum discovered that the only way to get it to work again was to go back to IE 8.</p>
<p>Then it became a question of how IE 9 showed up in the first place.  I had assumed that my wife had installed IE 9 to get the latest browser version.  This was untrue.  IE 9 arrived through Windows Updates.  This means that getting IE 9 was relatively automatic and not always easy to understand how to stop.</p>
<p>Users have found that when they get rid of IE 9 it just tries to install itself later on through the update process.  It is necessary to hide the update as well so it will leave you alone.</p>
<p>I probably spent at least an hour finding this out and going back to IE 8.  After the computer was switched to IE 8, everything worked again.  It was refreshing to see it work but also a bit disturbing that it happened in the first place.</p>
<p>Then, within a couple of weeks, two other people in the family reported similar problems with IE 9.  A pattern was emerging.  IE 9 was not that good at supporting what people were used to.   Now it was no longer just a personal experience but a shared experience.  Bottom line, forget IE 9.  Go back to IE 8.</p>
<p>Being that I still develop software, I find this idea a bit offensive.  The latest version is always supposed to be the best.  Anything that worked before should still work.  Expectations are that things should be better and not worse.</p>
<p>And then, I remember something else.  Software companies and developers are always under pressure to meet other non-user demands.  Perhaps there is a major security threat that needs to be addressed.  Perhaps the architect wants a complete re-design.  Maybe the developers just do not care about compatibility.  It could be any of these.  At some point the past is forgotten and the company produces something that it thinks is better but actually it does not work as the previous products worked.  Resistance is quick and continues to the point that could lead to a quick exodus to other products and companies.</p>
<p>Sometimes companies just get cocky.  IBM had the PS/2.  Intel had the Itanium.  Microsoft had Vista.  All of these things were supposed to be so much better.  Each of these had aspects that were great.  Unfortunately, they let people down.  With IBM and Intel, it could be argued that the changes were designed to better control the market.  The problem is that people are already committed to doing things a certain way and drastic changes lead to rebellion.  The common theme is a lack of compatibility leads to greatly reduced acceptance.</p>
<p>People are trapped in the patterns that they do.  It is hard to change based on the momentum of the investments made.  Learning a new story and forgetting the old one can be very painful.  It is made worse when the new story is not compelling enough to change for.</p>
<p>Legacy entrapment means that a develop is trapped into supporting the old ways as well as the new.  There is no easy way to get adoption without it.  The only decent way to have something completely different is to make the old ways look primitive AND be able to do it so much cheaper, simpler, and faster.  Not many people still play music on cassettes.  Not many people walk to their destinations.</p>
<p>To ignore how things work now is a fatal flaw.  We are stuck fully in legacy mode and anything new has to respect that.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/733/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/733/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/733/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/733/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/733/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/733/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/733/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/733/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=733&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/07/03/legacy-entrapment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://citrixblogger.files.wordpress.com/2011/07/lasersystem.jpg" medium="image">
			<media:title type="html">lasersystem</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsoft Build Macros</title>
		<link>http://citrixblogger.org/2011/04/27/microsoft-build-macros/</link>
		<comments>http://citrixblogger.org/2011/04/27/microsoft-build-macros/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 01:07:11 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[macro]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=729</guid>
		<description><![CDATA[I hit this same problem every time I start a Visual Studio project.  Well, not every time, but it is a common occurrence. When there are multiple projects involved, it is sometimes necessary to point to different directories.  It is &#8230; <a href="http://citrixblogger.org/2011/04/27/microsoft-build-macros/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=729&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I hit this same problem every time I start a Visual Studio project.  Well, not every time, but it is a common occurrence. When there are multiple projects involved, it is sometimes necessary to point to different directories.  It is possible to hard code the locations but this is not good sometimes based on needing to move the solution to a shared location.</p>
<p>Quite some time ago, Microsoft invented their own way of dealing with this.  Instead of fixing the locations, it can be specified based on a &#8220;macro&#8221;.  These macros are defined at:</p>
<address><a title="Build macros" href="http://msdn.microsoft.com/en-us/library/c02as0cs(v=VS.100).aspx">Macros for Build Commands and Properties</a></address>
<p>These macros are replaced with the real values during the build.  It can be very helpful with regards to a retail versus a debug build.  The most common ones I use are $(solutiondir) and $(projectdir).  Any good tip is that the names already include the backslash so you will not need to specify that after the macro.  Anything entered in as a path in Visual Studio should be relative to a macro unless the path is the same for everyone that might use the build.</p>
<p>The list is fairly extensive so you will probably find what you want.  Even if you don&#8217;t, there is a way to create your own (which I am not going to cover).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/729/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/729/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/729/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=729&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/04/27/microsoft-build-macros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>
	</item>
		<item>
		<title>The Age</title>
		<link>http://citrixblogger.org/2011/04/24/the-age/</link>
		<comments>http://citrixblogger.org/2011/04/24/the-age/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 11:23:32 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[Philosophy]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=724</guid>
		<description><![CDATA[We are all getting older. There is a time that is called the prime of our lives. Typically it is over before we know it. In computer times, this prime shifts much faster. Being in the right place at the &#8230; <a href="http://citrixblogger.org/2011/04/24/the-age/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=724&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We are all getting older. There is a time that is called the prime of our lives. Typically it is over before we know it. In computer times, this prime shifts much faster. Being in the right place at the right time is becoming incredibly difficult when the window of time is so small.</p>
<p><a href="http://citrixblogger.files.wordpress.com/2011/04/altair8800.jpg"><img class="aligncenter size-full wp-image-725" title="altair8800" src="http://citrixblogger.files.wordpress.com/2011/04/altair8800.jpg?w=500&#038;h=295" alt="" width="500" height="295" /></a><br />
The theory is that if you are born in a certain age, there is a chance you will become a part of what your time offers. This is summarized in the book <a title="Outliers" href="http://en.wikipedia.org/wiki/Outliers_(book)" target="_blank">&#8220;Outliers&#8221; by Malcolm Gladwell</a>.  His theories are much more advanced than what is portrayed here.  In general, he describes a very different view to what brings success.  Typically timing and practice play major roles in competing well in a world that is always changing.</p>
<p>It is easy to conclude that you were not born at the right time.  Based on the examples in the book, it is clear that the computer industry leaders were largely born around 1955.  Anyone around the age of 20 in 1975 was well positioned to take advantage of the emerging personal computer generation.  Bill Gates and Steve Jobs are perfect examples.</p>
<p><span id="more-724"></span></p>
<p>However, this is not the whole story.  Each time has its own opportunity.  There have been a number of &#8220;revolutions&#8221; in the last 36 years since 1975.  Personally I would summarize some of the milestones as:</p>
<ul>
<li>1981 &#8211; IBM PC introduced</li>
<li>1985 &#8211; Mac with GUI</li>
<li>1990 &#8211; Windows GUI</li>
<li>1993 &#8211; Mosaic (Web browser)</li>
<li>1995 &#8211; WinFrame</li>
<li>1998 &#8211; Windows Terminal Server</li>
</ul>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">This is not a conclusive list.  It is only a reflection of my early experience and the events that changed the path of the industry Citrix is in.  </span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">When I was still in high school, computers were still fairly rare and expensive.  Time sharing was accomplished with a <a title="DEC-10" href="http://en.wikipedia.org/wiki/DEC-10" target="_blank">DEC-10</a> for the school system.  We never saw the system but it was shared with the entire school system in Tucson, Arizona.  We learned to program on it and used it for sending email and messages to other students.  However, the DEC-10 was no where as popular as the <a title="TRS-80 Model III" href="http://en.wikipedia.org/wiki/TRS-80_Model_III#Model_III" target="_blank">TRS-80 Model III</a>.  These were some of the first personal computers that our schools had.  The first official computer class I had was in 1981.  Anything before that was just tinkering.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">Anyways, I still remember the first IBM PC being announced.  The general consensus from the students was that it was underpowered and overpriced.  Both were true from a TRS-80 point of view.  It turned out that this did not matter.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">The industry and businesses was hungry for a standard and IBM was well trusted and respected.  IBM also made it easy to copy by using standard parts and documenting the BIOS.  Before IBM, there was no central PC standard and each manufacturer competed by being as different as they wanted.  The game changed over night with standardization being the most important feature.  Microsoft walked into a beautiful situation by providing DOS to IBM and being able to sell DOS to other manufacturers.  This pattern continues to this day with how Microsoft sells software to hardware manufacturers.  Microsoft became the the true standard riding above the hardware.  They essentially made the hardware less relevant.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">Apple, on the other hand, has always wanted full control of hardware and software.  There are some good reasons for this including better use of hardware and a more coherent experience.  Unfortunately this model is not well suited to taking over a market due to the limitations of having only a few choices for hardware.  Not everyone necessarily wants a Mac but they might indeed prefer using Mac OS X.  Also, having only one manufacture reduces competition on the hardware and therefore increases the price.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">Apple has done well with its strategies in the &#8220;Post-PC&#8221; market.  The coupling of devices with software has produced better products.  However, Google Android is taking over the new mobile market to a model similar to Microsoft with the PCs.  The lesson of the 80s and 90s is not about keeping the same hardware but rather keeping a common software platform for many different hardware platforms.  The more hardware it works with, the more customers and more sales.  Commonality is like a social network.  It feeds on itself and discourages competing ideas that do not have enough momentum.  Windows has been cruising in this space since the early 90s.  Only now is it losing mind share to the new &#8220;post-PC&#8221; devices.  Developers find it a lot more interesting to develop for the web or iOS or Android than they do for Windows.  The market tends to agree.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">This is where I pause for a reality check.  All this information is semi-relevant to experience of a field for the last 22 years.  What I really wanted to talk about was how it feels to make a difference.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">Most people want to make a difference for the better.  Most graduates have images of who they will become or what they will do.  It is very hard to achieve results.  This is due to a number of reasons.  It can be:</span></div>
<div>
<ul>
<li>The company is just too big to accept change</li>
<li>The company is not growing and averse to risk</li>
<li>The other employees are largely happy with things</li>
<li>No money and too few employees</li>
<li>Idea too early or too late</li>
<li>No marketing or sales backing</li>
<li>Idea too complicated to understand</li>
<li>Teamwork just not there</li>
</ul>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">There are probably thousands of reasons why it does not work out.  These are just some of the ones that seem really obvious.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">The atmosphere of a start-up is well suited to avoiding these kind of blockages.  This was certainly the truth for early history Citrix.  Perhaps it is wise to say that persistence is probably more important than the original idea.  This is the honest revelation with the life of Citrix.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">Being part of a team that makes a difference is something that you will always remember.  Treasure that it happened once and that it might happen again someday but do not expect lightning to hit twice.  Sometimes it is better as you get older to avoid lightning and be happy to be part of the more gentle evolution of a company.  It tends to age you less and you can enjoy life in a much more rounded fashion.</span></div>
<div><span class="Apple-style-span" style="font-size:14px;line-height:23px;">Live. Program. Play.</span></div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/724/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/724/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/724/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=724&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/04/24/the-age/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://citrixblogger.files.wordpress.com/2011/04/altair8800.jpg" medium="image">
			<media:title type="html">altair8800</media:title>
		</media:content>
	</item>
		<item>
		<title>iPad</title>
		<link>http://citrixblogger.org/2011/02/28/ipad/</link>
		<comments>http://citrixblogger.org/2011/02/28/ipad/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 13:17:31 +0000</pubDate>
		<dc:creator>jeffreymuir</dc:creator>
				<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://citrixblogger.org/?p=708</guid>
		<description><![CDATA[This was the year of the iPad. For there to be so much success in such a short time indicates that critical mass has been reached. Even though the tablet form factor has been around since the early 90&#8242;s, it &#8230; <a href="http://citrixblogger.org/2011/02/28/ipad/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=708&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://vibriefing.com/wp-content/uploads/2010/04/CitrixiPad.jpg" alt="Citrix on iPad" /></p>
<p>This was the year of the iPad.  For there to be so much success in such a short time indicates that critical mass has been reached.  Even though the tablet form factor has been around since the early 90&#8242;s, it was not until Apple delivered the iPad that the market really kicked off.</p>
<p>The rate of change seems to be accelerating.  With the iPad 2 coming soon, it is clear that Apple will pursue this path for deeper market adoption.</p>
<p>This is the first post that I am writing from an iPad.  This would be difficult to do without the bluetooth keyboard.  This is acceptable for a user experience.  There are some quirks here and there but it is still good.</p>
<p><span id="more-708"></span></p>
<p>This is being done in the lounge room (living room) for the first time.  I could have done this with a laptop awhile back but perhaps it was not quite as interesting.  There is something more appealing about having it run in this way.  </p>
<p>This is through Safari with WordPress web site.  Okay, it is probably not that interesting to most.  It&#8217;s something to write about.</p>
<p>So, how does this apply to Citrix?</p>
<p>Well, obviously Citrix wants to support iPad as best as possible.  This is being carried out with the Citrix Receiver for iPad.  The concept of connecting to XenApp or XenDesktop with Receiver is well known.  Citrix is also releasing GoToMeeting on the iPad which is a great match.</p>
<p>There are some problems remaining however.  It can be difficult to interact with Windows programs using an iPad.  This is due to the applications being based on a mouse.  It is also due to controls being too small for a touch interface.</p>
<p>In general, it can be a stretch to use Windows applications on iPad.  Unless the user learns some tricks, it is going to present a problem.</p>
<p>A new paradigm is arriving.  Instead of always trying to work with existing programs, Citrix is proposing a model based on knowing about the environment and making changes for it.  This has been demonstrated by Project GoldenGate.  The potential is large.  This will be the first time that Citrix will ask developers to build custom solutions for XenApp.  </p>
<p>Going back in time to 1995, Citrix considered encouraging custom development.  Unfortunately, we did not have enough market to justify that kind of special development.  Fast forward to 2011 and we have a large market share.  In the next couple of years, the financials could hit 2 billion dollars.  Obviously things have changed from our approximate earnings of 10 million in 1995.</p>
<p>And, of course, the customer base is much larger now as well.  The time is right for custom applications.</p>
<p>The point is that the new mobile devices challenge typical Windows ways of thinking.  The only way we can flow through new mobile features is to inject a new interface.  Windows simply does not support the diversity of devices out there in the mobile space.</p>
<p>Citrix Labs is investigating how to best support developers in this new space.  Opinions in this area will always be considered.  More details to come in the coming months.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/citrixblogger.wordpress.com/708/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/citrixblogger.wordpress.com/708/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/citrixblogger.wordpress.com/708/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/citrixblogger.wordpress.com/708/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/citrixblogger.wordpress.com/708/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/citrixblogger.wordpress.com/708/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/citrixblogger.wordpress.com/708/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/citrixblogger.wordpress.com/708/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=citrixblogger.org&amp;blog=2497089&amp;post=708&amp;subd=citrixblogger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://citrixblogger.org/2011/02/28/ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1819c1cbcd8cd90eca1efeae64e998be?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jeffreymuir</media:title>
		</media:content>

		<media:content url="http://vibriefing.com/wp-content/uploads/2010/04/CitrixiPad.jpg" medium="image">
			<media:title type="html">Citrix on iPad</media:title>
		</media:content>
	</item>
	</channel>
</rss>
