<?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>computers should be less friendly &#187; innovation</title>
	<atom:link href="http://blog.danmcweeney.com/category/innovation/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.danmcweeney.com</link>
	<description></description>
	<lastBuildDate>Mon, 10 Aug 2009 20:38:22 +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>Web 2 dot Screw You</title>
		<link>http://blog.danmcweeney.com/82</link>
		<comments>http://blog.danmcweeney.com/82#comments</comments>
		<pubDate>Mon, 10 Aug 2009 20:38:22 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[et alii]]></category>
		<category><![CDATA[innovation]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/?p=82</guid>
		<description><![CDATA[With all the trouble in the banking industry nowadays you&#8217;d think your mega banking conglomerate would be willing to seek advice and differentiators from anywhere. You&#8217;d also be horribly wrong. I&#8217;ve been a Bank of America customer for a long time and have even gotten other people to switch over because I think their online [...]]]></description>
			<content:encoded><![CDATA[<p>With all the trouble in the banking industry nowadays you&#8217;d think your mega banking conglomerate would be willing to seek advice and differentiators from anywhere.  You&#8217;d also be horribly wrong.</p>
<p>I&#8217;ve been a Bank of America customer for a long time and have even gotten other people to switch over because I think their online banking is the best in the business.  So, today I was looking around for a particular feature and couldn&#8217;t find it.  After searching through their FAQs I decided that the feature just didn&#8217;t exist.  So, being the helpful customer I am, I went to go send them a suggestion.  I was going to tell them where they should put it, how it could work, how useful it would be and how it would make their site better.  Basically, a solid gold use case they could drop into their product backlog ASAP.  The &#8220;Contact Us&#8221; link was nice and easy to find and on that page was a link to &#8220;Bank of America&#8217;s Unsolicited Idea Submission Policy&#8221;, which reads:</p>
<blockquote><p>Bank of America and its associates do not accept or consider unsolicited ideas, including ideas for new or improved products, processes or technologies, product enhancements, advertising and marketing campaigns, promotions or new product names. Please do not send any original materials, suggestions or other items.</p></blockquote>
<p>-<a href="http://www.bankofamerica.com/contact/data/general.cfm">Source</a></p>
<p>Ouch, well, so much for listening to your users and working with them to create a better product.  I get the need to protect your IP but go have a talk with the executives at Procter &#038; Gamble who completely changed their R&#038;D model to get more innovation from the outside.  &#8220;Today, more than 35 percent of our new products in market have elements that originated from outside P&#038;G, up from about 15 percent in 2000&#8243;, according to a <a href="http://hbswk.hbs.edu/archive/5258.html">March 2006 article by The Harvard Business Review</a>.  I am sure this number has grown just look at their huge web presence for external innovations called,<a href="http://www.pgconnectdevelop.com"> P&#038;G Connect + Develop</a>.  Time to get on the <a href="http://www.cluetrain.com/">Train</a>, BofA</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/82/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IP Soup</title>
		<link>http://blog.danmcweeney.com/78</link>
		<comments>http://blog.danmcweeney.com/78#comments</comments>
		<pubDate>Wed, 10 Sep 2008 22:54:27 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[innovation]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/78</guid>
		<description><![CDATA[&#160; Years ago, innovation took place in locked basements behind steel doors with retinal scanners.&#160; With the publication of Wikinomics crowd sourced innovation has slowly become commonplace.&#160; Companies ranging from P&#38;G to Big Pharma now try and incent external people into solving their pressing R&#38;D problems.&#160; This model can work pretty well &#8212; just ask [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p><a title="iraq" href="http://www.flickr.com/photos/35703177@N00/2418298451/"><img style="margin: 0px 10px 10px 0px" alt="iraq" src="http://static.flickr.com/2353/2418298451_463aeaa0ce_m.jpg" align="left" border="0" /></a>Years ago, innovation took place in locked basements behind steel doors with retinal scanners.&#160; With the publication of Wikinomics crowd sourced innovation has slowly become commonplace.&#160; Companies ranging from P&amp;G to Big Pharma now try and incent external people into solving their pressing R&amp;D problems.&#160; This model can work pretty well &#8212; just ask P&amp;G about the <a href="http://www.swiffer.com/swiffer/en_US/home.do">Swiffer</a>.&#160; </p>
<p>This week SAP <a href="http://www.innocentive.com/crowd-sourcing-news/2008/09/09/sap-embraces-next-generation-collaborative-innovation-with-innocentive/">announced</a> a &quot;partnership&quot; with <a href="http://www.innocentive.com/">Innocentive</a> a company that facilitates crowd sourcing of ideas and solutions.&#160; The company has received a fair bit of press over the million dollar prize to find the gene responsible for <a href="http://www.innocentive.com/servlets/account/Login.po?id=4470259">Lou Gehrig&#8217;s Disease</a>(ALS).&#160; The company was originally founded around helping Pharma companies reduce R&amp;D spending.&#160; David Ritter, the CTO, said, &quot;R&amp;D spending at Pharma companies was growing faster then revenue, that is not sustainable.&quot; </p>
<p>Clients of Innocentive (Seekers) put challenges up on the company&#8217;s site to <a href="http://innocentive.com/solver_challenges.php">deliver either ideas or complete solutions</a> to some of these R&amp;D challenges.&#160; One of Innocentive&#8217;s differentiators appears to be their ability to make the Seekers secure that the IP they are receiving is clear of claims.&#160; I however, worry more about the implications of competing for a prize, being a Solver.</p>
<p>The company receives all entries for their review so that they can select the best one and reward the prize.&#160; This probably works well in a space like Pharma or real goods where infringing on a patent is more obvious, a compound has a composition or a product does something and looks a certain way.&#160; With software this is a bit more muddled.&#160; The exact implementation of the software isn&#8217;t as important as what it actually does and why it is an improvement.&#160; Additionally, software is compiled, obfuscated and it can be hard to even prove if someone has stolen or not stolen code.&#160; Ask SCO and IBM about how much it costs to sort that out.&#160; </p>
<p>More troubling, Mr. Ritter noted that &quot;The bulk of problems on Innocentive are submitted anonymously, because they don&#8217;t want to &quot;tip&quot; their hat to the problems they are working on.&quot;&#160; Which makes it even hard to find where your software idea or algorithm went.</p>
<p>When pressed on this Mr. Ritter conceded that there was a certain amount of faith the Solvers are putting into both Innocentive and their clients.&#160; Personally, given my knowledge of SAP I would feel perfectly safe in giving in an idea and if it did not win, not having to check every new product for some of my ideas.&#160; I don&#8217;t know if this is true for every person or every company.</p>
<p>Photo courtesy of <a href="http://www.flickr.com/photos/soldiersmediacenter/">soldiersmediacenter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/78/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spirit</title>
		<link>http://blog.danmcweeney.com/73</link>
		<comments>http://blog.danmcweeney.com/73#comments</comments>
		<pubDate>Tue, 27 May 2008 13:10:44 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[et alii]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/73</guid>
		<description><![CDATA[&#8220;There is no strife, no prejudice, no national conflict in outer space as yet. Its hazards are hostile to us all. Its conquest deserves the best of all mankind, and its opportunity for peaceful cooperation may never come again. But why, some say, the moon? Why choose this as our goal? And they may well [...]]]></description>
			<content:encoded><![CDATA[<p>
<div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d41b077c-502a-4b81-b8ed-571f12599bdb" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 385px; padding-top: 0px">
<div id="9948bd6e-48f6-4b62-a7ad-9dba42a36786" style="margin: 0px; padding: 0px; display: inline;">
<div><a href="http://www.youtube.com/watch?v=6gr3mlBQR8M&amp;hl=en" target="_new"><img src="http://blog.danmcweeney.com/wp-content/uploads/2008/05/videoc0b1ec571b56.jpg" galleryimg="no" onload="var downlevelDiv = document.getElementById('9948bd6e-48f6-4b62-a7ad-9dba42a36786'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;385\&quot; height=\&quot;322\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/6gr3mlBQR8M&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;param name=\&quot;wmode\&quot; value=\&quot;transparent\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/6gr3mlBQR8M&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; wmode=\&quot;transparent\&quot; width=\&quot;385\&quot; height=\&quot;322\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt=""></a></div>
</div>
</div>
<blockquote><p>&#8220;There is no strife, no prejudice, no national conflict in outer space as yet. Its hazards are hostile to us all. Its conquest deserves the best of all mankind, and its opportunity for peaceful cooperation may never come again. But why, some say, the moon? Why choose this as our goal? And they may well ask why climb the highest mountain. Why, 35 years ago, fly the Atlantic? Why does Rice play Texas? We choose to go to the moon. <strong>We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.</strong> It is for these reasons that I regard the decision last year to shift our efforts in space from low to high gear as among the most important decisions that will be made during my incumbency in the Office of the Presidency.&#8221;</p>
</blockquote>
<p>Where has this type of spirit gone in our nation?&nbsp; Is it dead or just sleeping waiting for the right time to reemerge?&nbsp; It makes me sad I wasn&#8217;t around to see the US in it&#8217;s glory days, just in it&#8217;s seeming twilight, although this is a ray of hope:</p>
<p>&nbsp;</p>
<p><a href="http://blog.danmcweeney.com/wp-content/uploads/2008/05/230214main-phx-lander.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="450" alt="230214main_PHX_Lander" src="http://blog.danmcweeney.com/wp-content/uploads/2008/05/230214main-phx-lander-thumb.jpg" width="424" border="0"></a> </p>
<p><a href="http://www.nasa.gov/mission_pages/phoenix/images/press/PHX_Lander.html">Phoenix lander descends to Martian surface, shot from MRO</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/73/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crack Addicted Invisible Hand</title>
		<link>http://blog.danmcweeney.com/62</link>
		<comments>http://blog.danmcweeney.com/62#comments</comments>
		<pubDate>Sun, 09 Dec 2007 23:25:49 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[innovation]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/62</guid>
		<description><![CDATA[In Scoble&#8217;s blog Why enterprise software isn’t&#160;sexy, he asks a simple question, &#8220;Any of you have any ideas on how to make business software sexy?&#8221;&#160; A lot of my fellow Enterprise Irregulars have taken Robert to task about this, saying that it is in reality sexy: &#8220;[B]eauty and sexiness is in the eye of the [...]]]></description>
			<content:encoded><![CDATA[<p>In Scoble&#8217;s blog <a href="http://scobleizer.com/2007/12/09/why-enterprise-software-isnt-sexy/">Why enterprise software isn’t&nbsp;sexy</a>, he asks a simple question, &#8220;Any of you have any ideas on how to make business software sexy?&#8221;&nbsp; <a href="http://blogs.zdnet.com/Howlett/?p=253">A</a> <a href="http://craig.cmehil.com/2007/12/why-enterprise-software-isnt-sexy.html">lot</a> <a href="http://123suds.blogspot.com/2007/12/enterprise-software-not-significant.html">of</a> <a href="http://www.anshublog.com/2007/12/enterprise-software-sexy-like-diane.html">my</a> <a href="http://blogs.zdnet.com/projectfailures/?p=524">fellow</a> <a href="http://ei.wordframe.net/">Enterprise Irregulars</a> have taken Robert to task about this, saying that it is in reality sexy:</p>
<blockquote><p>&#8220;[B]eauty and sexiness is in the eye of the beholder&#8230; [seeing] <a href="http://florence20.typepad.com/renaissance/2005/12/technology_inno_1.html">UPS</a> give each one of its drivers a DIAD &#8211; and they did it years before the recent wave of personal gadgets &#8211; with GPS, wifi, scanning and other technologies. And with a battery that lasts all day. Can our iPhones do that?&#8221;</p>
</blockquote>
<p><a href="http://dealarchitect.typepad.com/deal_architect/2007/12/damn-proud-to-b.html">Vinnie</a> does a great job showing how underneath the ugly exterior enterprise software is amazing and sexy.&nbsp; Most of these posts are all missing the important comparison Scoble is making that Nick Carr picks up on <a href="http://www.roughtype.com/archives/2007/12/michael_krigsma.php">here</a>:</p>
<blockquote><p>perpetuating a false dichotomy between the friendliness of consumer apps and the seriousness of business apps, all that Krigsman is doing is giving enterprise vendors cover for continuing to produce software that&#8217;s difficult and unpleasant to use</p>
</blockquote>
<p>The <a href="http://blogs.zdnet.com/projectfailures/?p=524">post from Michael Krigsman</a>(which although Nick beats up on chooses not to link to)&nbsp;talks about, how all this isn&#8217;t relevant because enterprise software is &#8220;intended to “enable core business processes” with a high degree of reliability, security, scalability, and so on.&#8221;</p>
<p>Enterprise vendors need to be keenly aware of the consumer market but, SAP&#8217;s&nbsp;customers don&#8217;t pay them&nbsp;to run around like Scoble and chase every new technology/website that comes out.&nbsp; They pay them to make measured,&nbsp;smart choices with what they create and how they spend their R&amp;D money.&nbsp; Their customers do indeed expect the software they create to have a &#8220;a high degree of reliability, security, scalability.&#8221;</p>
<p>Enterprise vendors have an advantage&nbsp;&#8211;&nbsp;they can ride on top of the frothy startup market cherry picking things that work well and will deliver value back to an enterprise&#8217;s bottom line.&nbsp;&nbsp;In the consumer tech industry, the invisible hand of the market is addicted to crack and has the attention span of a two year old.&nbsp; The consumer market is chaotic, jumpy and prone to fickleness.&nbsp; Online companies/ideas are created and destroyed everyday, and it is up to Scoble and other followers of tech to survey what&#8217;s out there, they need the thousands of readers.&nbsp; The two industries have totally different business models, Twitter needs millions of users to monetize their software, SAP is very profitable on about&nbsp;40k &#8220;users&#8221; world wide.</p>
<p>This shows the Enterprise software market is much more focused and so is their advertising.&nbsp; <a href="http://blogs.zdnet.com/BTL">Dan Farber</a> does an excellent job of handling this topic and refocusing the discussion on what Gates actually said:</p>
<blockquote><p>The business computing market, which is way bigger than the consumer computing market, no one pays attention to it. Even in the Wall Street Journal, and you think, oh, this is the paper they’re going to tell me about business computing; no, it’s all about consumer computing</p>
<p>LiveSide.net &#8211; <a href="http://www.liveside.net/blogs/opinion/archive/2007/12/09/bill-gates-mix-n-mash-and-the-future-of-microsoft.aspx">Bill Gates, Mix n Mash, and the future of Microsoft</a></p>
</blockquote>
<p>Dan goes on to point out <a href="http://blogs.zdnet.com/BTL/?p=7285">why ZDnet covers enterprise topics</a>:</p>
<blockquote><p>We recognize that in the 21st century you cannot easily separate the two, given technology is deeply embedded in work and personal lives&#8230; [T]he financial equation is not just about page views or number of readers–more important is the quality of readers we draw into the ZDNet orbit</p>
</blockquote>
<p>Who am I to contradict Dan when it comes to the determination of advertising revenue &#8212; after all he is the Editor in Chief of ZDnet.&nbsp; In the advertising arena you can also point to things like SAP sponsoring <a href="http://www.sap.com/about/company/sports/player/index.epx">golf stars</a>, <a href="http://www.sap.com/about/company/sports/roddick/index.epx">tennis pros</a>, <a href="http://www.sap.com/about/company/sports/mclaren/index.epx">formula one cars</a>, <a href="http://www.sap.com/about/company/sports/index.epx">etc</a>.&nbsp; Who watches these things?&nbsp; CIOs, and other TLA execs who make these decisions.&nbsp; If SAP&nbsp;cared about CPM they would advertise with NASCAR.&nbsp; Let&#8217;s just give SAP the benefit of the doubt that they understand their market more then Scoble.</p>
<p>I couldn&#8217;t agree more that Enterprise vendors need to make things easier to use and an all around friendlier experience but, they need to be smart and measured because that&#8217;s what their customers want.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/62/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Life Hub &quot;Spec&quot;</title>
		<link>http://blog.danmcweeney.com/56</link>
		<comments>http://blog.danmcweeney.com/56#comments</comments>
		<pubDate>Mon, 05 Nov 2007 19:27:49 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[innovation]]></category>
		<category><![CDATA[Life Hub]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/56</guid>
		<description><![CDATA[I want a Life Hub.&#160; Don&#8217;t worry I still want a phone/PDA, iPod, camera and computer.&#160; I&#8217;m one of those people that believes a device that does &#8220;everything&#8221; doesn&#8217;t do any of them particularly well.&#160; I want something that I can carry around that plugs me into my or your&#160;devices and shares my data with [...]]]></description>
			<content:encoded><![CDATA[<p>I want a Life Hub.&nbsp; Don&#8217;t worry I still want a <a href="http://na.blackberry.com/eng/devices/series-detail.jsp?navId=H0,C201">phone</a>/PDA, iPod, camera and computer.&nbsp; I&#8217;m one of those people that believes a device that does &#8220;everything&#8221; doesn&#8217;t do any of them particularly well.&nbsp; I want something that I can carry around that plugs me into my or your&nbsp;devices and shares my data with them.
<p>When I sit in my car, I want my Life Hub to connect up to my music interface device which connects to my car so the controls are mapped to the steering wheel and the music comes out the speakers.
<p>When I go to the office, I want my Life Hub to connect to my work phone and register my cell number so my work phone will ring with calls placed to my cell phone.
<p>When I take a picture with my camera, I want it saved on my Life Hub.&nbsp; I want to be able to browse those pictures on my smart phone and email them to my friends.&nbsp; Kind of like <a href="http://www.scripting.com/stories/2007/11/05/rememberTheSocialCamera.html">Dave&#8217;s social camera</a>.&nbsp; If I so chose my Life Hub can broadcast to others the picture I just took, without or without the tagging my camera added.
<p>Why do I need 97 different syncing programs to get my Outlook Calendar, Google Calendar, and iCal Calendar to line up!&nbsp; Aren&#8217;t these just visualizations of the same data set?&nbsp; If I had my calendar on my Life Hub, I could just access it from there.&nbsp; Who cares where I&#8217;m sitting, at my home machine, work machine or at the Library.
<p>So, what is a Life Hub, basically a&nbsp;high capacity solid state memory drive (&nbsp;Intel&nbsp;is looking to get up to <a href="http://www.ecommercetimes.com/story/56265.html">160GB in the next few years</a>&nbsp;)&nbsp;with a very high bandwidth wireless connection.&nbsp; It has a UI that lets you &#8220;allow&#8221; devices to connect for a period of time and access certain types of data on your Life Hub, read and/or write.&nbsp; The idea is that this thing should eventually be small enough to fit on a key chain, think thumb drive on crack &#8212; in reality it could be your key chain!&nbsp; Ever seen someone unlock and start their Prius without taking a key out?
<p>If it had strong encryption you could store your X-Rays and patient files on the drive.&nbsp; What if you could allow your doctor to review a certain set of them for a period then when they are done zap the records back to you?&nbsp; Why should Microsoft control your <a href="http://www.healthvault.com/">health records</a>, or even <a href="http://computerworld.com/action/article.do?articleId=9043038&amp;command=viewArticleBasic">Google</a> for that matter?&nbsp; Today Adobe PDFs can be locked so they are only viewed for a period of time.
<p>Is all this possible today?&nbsp; Some of it &#8212; some of it is also hard,&nbsp;standardizing the wireless protocol for instance.&nbsp; Currently, there is no wireless standard that rivals Firewire for throughput sending a RAW image from today&#8217;s DSLR cameras, BlueTooth just won&#8217;t do.
<p>I have no idea how to solve these problems or “the chicken and the egg problem” of this only being useful if there are devices out there that can connect to it.&nbsp; I do know that I want one.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/56/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Synthesizers</title>
		<link>http://blog.danmcweeney.com/50</link>
		<comments>http://blog.danmcweeney.com/50#comments</comments>
		<pubDate>Tue, 23 Oct 2007 15:13:57 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[et alii]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[SDN blogger]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/50</guid>
		<description><![CDATA[At SAP TechEd Las Vegas I wanted to bounce some ideas off the RedMonk Gang( Michael Cotè and James Governor ) about what I think the new Developer will look like instead I somehow got roped into a full blown interview on Synthesizers.&#160; So, I&#8217;ve frantically spent the last few weeks solidifying my ideas in [...]]]></description>
			<content:encoded><![CDATA[<p><a title="M5 Modular Synthesizer" href="http://www.flickr.com/photos/8491225@N08/1650071282/"><img style="margin: 5px" height="126" alt="M5 Modular Synthesizer" hspace="5" src="http://static.flickr.com/2319/1650071282_dea38fc8d4.jpg" width="142" align="left" vspace="5" border="0"></a>At SAP TechEd Las Vegas I wanted to bounce some ideas off the <a href="http://www.redmonk.com/" target="_blank">RedMonk</a> Gang( <a href="http://www.redmonk.com/cote/" target="_blank">Michael Cotè</a> and <a href="http://www.redmonk.com/jgovernor/" target="_blank">James Governor</a> ) about what I think the new Developer will look like instead I somehow got roped into a full blown <a href="http://redmonk.com/tv/2007/10/08/the-rise-of-the-designerdeveloper-mashup-developer/" target="_blank">interview on Synthesizers</a>.&nbsp; So, I&#8217;ve frantically spent the last few weeks solidifying my ideas in this area.</p>
<p>The new Synthesizer will have a few required tenets, listed in order of importance, underneath are a many &#8220;optional&#8221; components.&nbsp; It&#8217;s okay if you don&#8217;t exhibit these characteristics &#8212; you might still be able to get a job flipping burgers:</p>
<h3>Code</h3>
<p>Sorry, namby-pamby non-coder types need not apply.&nbsp; A real understanding of programming concepts is required.&nbsp; However, I&#8217;ve found that Synthesizers are generally <em>not language Nazis</em>.&nbsp; They are more <em>opportunistic</em> in their choice of language, they know a lot about probably one language but, also know when it&#8217;s not a good fit for what they are doing.&nbsp; For instance, why would write a screen saver in <a href="http://en.wikipedia.org/wiki/Abap" target="_blank">ABAP</a>?</p>
<h3>Community</h3>
<p>This is the area that allows Synthesizers to move faster then anyone else.&nbsp; They know what is going on, they&#8217;re &#8220;plugged in.&#8221;&nbsp; They know who is doing good work and they know how to stick those disparate parts together in order to get something better.&nbsp; <a href="http://dougmccune.com/blog/" target="_blank">Doug Mccune</a> ( my model synthesizer ) has put it best in a post about <a href="http://www.tileui.com" target="_blank">TileUI</a>:</p>
<blockquote><p><font color="#333333">&#8230;how badass [the] open source community libraries for Flex are. I was able to grab these open source libraries and within a few days have something pretty sweet to show for it. A big thanks to everyone behind the PaperVision project, and to <a href="http://cove.org">Alec Cove</a> for the APE engine. You guys make this stuff easy. [ <a href="http://dougmccune.com/blog/2007/08/04/the-making-of-tileui/" target="_blank">The making of TileUI</a> ]</font></p>
</blockquote>
<p>What else is in this quote?&nbsp; <em>Attribution</em>, &#8220;A big thanks to <a href="http://cove.org">Alec Cove</a>&nbsp;for the APE engine.&#8221;&nbsp; <em>Promoter</em>, you can tell from Doug&#8217;s tone how much the open source community helped him write this application.&nbsp; <em>Collaboration</em>, without giving back to these communities you end up looking like a strip miner taking all the best out and not returning anything back.&nbsp; A example from a totally different world is <a href="https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/u/251694270" target="_blank">Thomas Jung</a>, <a href="https://wiki.sdn.sap.com/wiki/display/profile/Thomas+Jung" target="_blank">SAP geek</a> and ABAP coder #1.&nbsp; Thomas has built a ton of innovative stuff in ABAP from Matrix Screen Savers to a full replacement for the delivered web rendering system, changing it from HTML to Flex, named <a href="http://code.google.com/p/flob/" target="_blank">Flob</a>.&nbsp; At TechEd this year he released <a href="http://code.google.com/p/flob/" target="_blank">Flob</a>, built using my library <a href="http://code.google.com/p/abapjs/" target="_blank">AJS</a>, which he mentioned he had a few fixes for functionality.&nbsp; This back and forth consumption and production allow open source projects to grow organically as need.</p>
<h3>Communication</h3>
<p><a title="Communications" href="http://www.flickr.com/photos/35034356678@N01/195957286/"><img style="margin: 5px" height="137" alt="Communications" src="http://static.flickr.com/77/195957286_5de4b91bd7.jpg" width="206" align="left" border="0"></a>This is an obvious one, but again has a similar ebb and flow characteristic.&nbsp; The most effective Synthesizers have a blog or are really active in forums.&nbsp; They produce not only code but content, documentation, opinions &#8212; they care about what&#8217;s out there and what they are putting out there.&nbsp; They probably read RSS feeds from dozens(at least) of different sources from many different areas.</p>
<h3>Broad Knowledge</h3>
<p>Underlying all these is less a tenet and more an obvious prerequisite.&nbsp; Synthesizers want to understand stuff, they want to know about many areas not just Coding.&nbsp; They might read about other sciences or be super into music.&nbsp; <a href="http://www.levelofindustry.com/" target="_blank">Samuel Agesilas Pastel</a>&nbsp;is great example of someone with groundings in music and design who also happens to be a sick programmer.&nbsp; His UML modeling tool, called <a href="http://www.levelofindustry.com/journal/saffron-air-uml-tool-update-3.html" target="_blank">Saffron UML</a>, parses actionscript libraries and generates great looking UML diagrams.&nbsp; Just read his blog of a bit and you will see the <a href="http://www.levelofindustry.com/journal/2007/10/9/seeking-inspiration-in-unconventional-places.html" target="_blank">diverse</a>&nbsp;<a href="http://www.levelofindustry.com/journal/2007/9/4/objective-actionscript-a-look-inside-the-newly-revamped-obje.html" target="_blank">view</a> <a href="http://www.levelofindustry.com/journal/dave-thomas-on-xml.html" target="_blank">he</a> takes to <a href="http://www.levelofindustry.com/journal/2007/6/13/bruce-lee-on-design-and-coding.html" target="_blank">software development</a>.&nbsp; That diversity&nbsp;allows Synthesizers to&nbsp;keep an anything&nbsp;goes mentality that enables them to see connections where other people see chasms they will never cross.</p>
<p>The funny thing with this set is maybe if you replace the first tenet with &#8220;<a href="http://www.redmonk.com/" target="_blank">industry analysis</a>&#8221; or &#8220;<a href="http://www.accmanpro.com" target="_blank">accounting</a>&#8221; you might get some other folks that are producing new Synthesizers &#8212; but I&#8217;m just a programmer what do I know.</p>
<p>Thanks to <a href="http://www.flickr.com/photos/synthesizers/" target="_blank">Synthesizer</a>, <a href="http://www.flickr.com/photos/mave99a/" target="_blank">maverick</a>&nbsp;for the images.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/50/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Majority Desk Architecture</title>
		<link>http://blog.danmcweeney.com/48</link>
		<comments>http://blog.danmcweeney.com/48#comments</comments>
		<pubDate>Tue, 09 Oct 2007 15:32:26 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[SDN blogger]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/48</guid>
		<description><![CDATA[One of the common questions I was asked after demoing Majority Desk&#160;was how the heck is it built?&#160; To explain, I will first break down the individual components and then talk about how the Wiihands move across the screen.&#160; There is a lot more to the interactions in this system but, moving the Wiihands should [...]]]></description>
			<content:encoded><![CDATA[<p>One of the common questions I was asked after demoing <a href="http://www.majoritydesk.com" target="_blank">Majority Desk</a>&nbsp;was how the heck is it built?&nbsp; To explain, I will first break down the individual components and then talk about how the Wiihands move across the screen.&nbsp; There is a lot more to the interactions in this system but, moving the Wiihands should give you a pretty good insight into how the whole thing is built.&nbsp; Just to frame the following discussion Majority Desk is <em>mostly</em> an AIR application built using Flex Builder 3.</p>
<h3>ODE2Paper</h3>
<p>ODE2Paper is the main visualization and physics library I wrote that underpins the Majority Desk application.&nbsp; It binds the&nbsp;<a href="http://www.ode.org/" target="_blank">Open Dynamics Engine</a> (ODE for short), which is the underlying physics system to <a href="http://blog.papervision3d.org/" target="_blank">Papervision3d</a>&nbsp;(PV3D for short), the 3d rendering system.&nbsp; The foundation of this interaction is actually very simple: every time Flex fires an ENTER_FRAME event I issue a refresh command over a socket that is connected to the physics server.&nbsp; The physics server is a python application that uses <a href="http://pyode.sourceforge.net/" target="_blank">pyODE</a>&nbsp;to wrap the ODE libraries.&nbsp; The physics server &#8220;parses&#8221; the refresh command,</p>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:847a1a26-6409-4f1e-bde1-a076d040c00a" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 440px; padding-top: 0px">
<pre style="background-color:White;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">refresh</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">

</span></div>
</pre>
</div>
<p> iterates across all the objects in its world producing a new XML document with the position and transformation matrices of all the existing objects and sends that XML back to Flex.&nbsp; </p>
<div class="wlWriterSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1a99593d-90f2-4859-b6de-16affdb7deac" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; width: 402px; padding-top: 0px">
<pre style="background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">world</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">
    </span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">o1 </span><span style="color: #FF0000; ">x</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> y </span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> z</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r0</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r1</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r2</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r3</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r4</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r5</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r6</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r7</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r8</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">
    </span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">o2 </span><span style="color: #FF0000; ">x</span><span style="color: #0000FF; ">=&quot;10.0&quot;</span><span style="color: #FF0000; "> y </span><span style="color: #0000FF; ">=&quot;15.0&quot;</span><span style="color: #FF0000; "> z</span><span style="color: #0000FF; ">=&quot;10.0&quot;</span><span style="color: #FF0000; "> r0</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r1</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r2</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r3</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r4</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r5</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r6</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r7</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #FF0000; "> r8</span><span style="color: #0000FF; ">=&quot;0.0&quot;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">collisions</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">
</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">world</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">

</span></div>
</pre>
</div>
<p>When this data transfer is complete on the Flex side, I move all the objects in the PV3d scene and then call the camera render.&nbsp; Simple right? <img src='http://blog.danmcweeney.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>A Wii bit of background</h3>
<p>The Wiimote is a blue tooth transmitter, it reports its position and state to the blue tooth receiver on the client computer.&nbsp; It determines its position by &#8220;looking&#8221; through the IR port on the front of the Wiimote at the poorly named sensor bar.&nbsp; The sensor bar in reality has no sensors in it &#8212; it has two IR emitters that allow the Wiimote to triangulate its X and Y position in space.&nbsp; The Wiimote also has an accelerometer on board that allows it to measure movement in the X, Y, Z planes (pitch, yaw, and roll).&nbsp; This page has a mountain of <a href="http://www.wiili.org/index.php/Wiimote" target="_blank">technical detail about the Wiimote</a>.</p>
<h3>WiiFlash</h3>
<p>The information from the Wiimote is sent to the <a href="http://www.wiiflash.org" target="_blank">WiiFlash</a>&nbsp;server.&nbsp; WiiFlash removes all the complexity out of using Wiimotes to control any Flash application.&nbsp; The API is pretty complete and we found it to be fairly stable.&nbsp; This is the section <a href="http://blog.ewherrmann.com/" target="_blank">Eddie</a> dealt with most so, I can&#8217;t talk too intelligently about it except to say that we use the WiiFlash AS3 API to access all the position and button state information from the Wiimote.&nbsp; The API handles all the calls&nbsp;through a local connection that streams the information from the projects <a href="http://code.google.com/p/wiiflash/downloads/list" target="_blank">WiiFlash Server</a>, which for now only runs on windows, sorry Mac faithful.&nbsp; </p>
<p>This pretty much rounds out the subsystems that lie underneath the application.&nbsp; This doesn&#8217;t really explain how the thing works so, I will walk you through how the Wiihands move around the screen to hopefully give you a better idea of what is going on.</p>
<h3>Moving Wiihands</h3>
<p>The most common thing we do in Majority Desk&nbsp;is move our Wiihands to interact with the world.&nbsp; To allow interactions with the state of the physical world maintained by the physics server we have a set of commands in ODE2Paper.&nbsp; The ones that matter for the Wiihands are createSphere, setObjPos, createJoint and breakJoint.&nbsp; These methods serve as proxy for the real commands flying over to the physics server.&nbsp; The rationale for this is again the main underlying concept that the physics server knows where the objects are and PV3d simply renders them.&nbsp; So all the interactions are really taking place on the physics server.&nbsp; The Wiihands are represented in the physics system as sphere because they are in reality just a cool texture wrapped on a sphere in PV3d.</p>
<p>So as a Wiimote moves we get its position and call a setObjPos method in ODE2Paper library which moves the object in the physics server.&nbsp; Again the physics server leads and PV3d simply renders a view of the world.</p>
<h3>Grabbing stuff</h3>
<p>If you got the chance during Hacker Night or our Meet the Jammers session to mess with Majority Desk you may remember that if you hold the trigger and bump into something&nbsp;with your Wiihands you can grab it.&nbsp; Letting go of the trigger will release the object and let it float around again.&nbsp; This is achieved using the collisions&nbsp;XML node that I didn&#8217;t talk about earlier.&nbsp; If you look back at the XML doc that the physics server creates to represent the world you will see an empty node there for collisions.&nbsp; ODE2Paper notifies our Flex application that two bodies are about to collide via this XML node.&nbsp; This allows us to detect that the Wiihand is touching something and then build a joint, using the ODE2Paper method createJoint.&nbsp; A joint is a type of attachment between two bodies in ODE, we use simple static joints but a whole slew of <a href="http://www.ode.org/ode-latest-userguide.html#sec_7_3_0" target="_blank">different joints types are supported by ODE</a>.&nbsp; This is why the widget seems to follow a Wiihand around as it moves.&nbsp; The great thing is this affect is achieved by just calling setObjPos on the&nbsp;Wiihand, which is the normal behavior described previously.&nbsp;&nbsp; To release the object we simply call breakJoint and the physics server breaks the joint allow the attached object to move fluidly again.</p>
<p>If you want a run down of links and a good video that shows <a href="http://www.youtube.com/watch?v=jaYmXLIPVSc" target="_blank">Majority Desk in action</a>, check out <a href="http://blog.ewherrmann.com/2007/10/08/majority-desk-get-your-wiihands-on/" target="_blank">Eddie&#8217;s blog post about it</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/48/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>TechEd US 2007</title>
		<link>http://blog.danmcweeney.com/45</link>
		<comments>http://blog.danmcweeney.com/45#comments</comments>
		<pubDate>Thu, 04 Oct 2007 17:53:56 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[SDN blogger]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/45</guid>
		<description><![CDATA[So far the highlight of TechEd for me has been people&#8217;s reaction to Majority Desk.&#160; I said to&#160;a number of people before the demo that everyone&#8217;s reactions would be the same, &#8220;Oh my god&#8230;&#8221;&#160; The problem is that that reaction would come because of two very different reasons, &#8220;Oh my god&#8230; what is wrong with [...]]]></description>
			<content:encoded><![CDATA[<p>So far the highlight of TechEd for me has been people&#8217;s reaction to <a href="http://www.majoritydesk.com" target="_blank">Majority Desk</a>.&nbsp; I said to&nbsp;a number of people before the demo that everyone&#8217;s reactions would be the same, &#8220;Oh my god&#8230;&#8221;&nbsp; The problem is that that reaction would come because of two very different reasons, &#8220;Oh my god&#8230; what is wrong with you people that has no business value!&#8221; or &#8220;Oh my god&#8230; that is the coolest thing I&#8217;ve seen in a long time.&#8221;&nbsp; </p>
<p>It seems that most people fall in the latter category.&nbsp; I&#8217;ve already spoke to a number SDNers from all different industries who see how they can use this type of interface in a broad range of applications.&nbsp; A airplane manufacturer navigating large engineering drawings to business people visualizing data sets in 3d to see patterns.&nbsp; This was the reaction we were hoping to create in the community a true sense of innovation and possibility.&nbsp; It&#8217;s also been a blast watching people mess around with the interface.</p>
<p>Here are some great photos from hacker night with Mark Finnern and Marilyn Pratt messing around with Majority Desk.</p>
<p><a title="Photo Sharing" href="http://www.zooomr.com/photos/danmcweeney/3430359/"><img height="333" alt="IMG_1673" src="http://static.zooomr.com/images/3430359_904aa39586.jpg" width="445"></a></p>
<p><a title="Photo Sharing" href="http://www.zooomr.com/photos/danmcweeney/3430334/"><img height="500" alt="IMG_1682" src="http://static.zooomr.com/images/3430334_0d806761ed.jpg" width="375"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/45/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Majority Desk Sneak Peek</title>
		<link>http://blog.danmcweeney.com/44</link>
		<comments>http://blog.danmcweeney.com/44#comments</comments>
		<pubDate>Wed, 03 Oct 2007 23:28:25 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[SDN blogger]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/44</guid>
		<description><![CDATA[Before the Demo Jam got started we gave James and CotÃ© from RedMonk a sneak peek of our demo called Majority Desk.&#160; Majority Desk is a 3d virtual environment that allows you to interact with Flex based widgets with the help of a pair of Wiimotes.&#160;&#160; CotÃ© talks a bit about Majority Desk but, a [...]]]></description>
			<content:encoded><![CDATA[<p>Before the Demo Jam got started we gave <a href="http://www.redmonk.com/jgovernor/" target="_blank">James</a> and <a href="http://www.redmonk.com/cote/" target="_blank">CotÃ©</a> from <a href="http://www.redmonk.com" target="_blank">RedMonk</a> a sneak peek of our demo called <a href="http://www.majoritydesk.com" target="_blank">Majority Desk</a>.&nbsp; Majority Desk is a 3d virtual environment that allows you to interact with Flex based widgets with the help of a pair of Wiimotes.&nbsp;&nbsp; <a href="http://www.redmonk.com/cote/2007/10/03/majority-desk-wiimote-3d-widget-desktop-totally-sick/" target="_blank">CotÃ© talks a bit about Majority Desk</a> but, a video is worth 1,000 words * 32 * (length of video).</p>
<p> <script src="http://www.podtech.net/player/popup.js" type="text/javascript"></script> <embed src="http://www.podtech.net/player/podtech-player.swf?bc=c90ad26ba7b74e3b80c9fcf4ad1158c0" width="320" height="269" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="content=http://media1.podtech.net/media/2007/10/PID_012730/Podtech_MajorityDesk_Wiimote_widget_d.flv&amp;totalTime=277000&amp;permalink=http://www.podtech.net/home/4299/majority-desk-wiimote-3d-widget-desktop&amp;breadcrumb=c90ad26ba7b74e3b80c9fcf4ad1158c0"></p>
<p>Big thanks to CotÃ© at Redmonk for getting this video up so quickly!</p>
<p>For those of you at TechEd you can drop by the clubhouse at 5 to &#8220;get your Wiihands on&#8221; MajorityDesk.</p>
<p>Also we will be talking about the architecture and the OSS we used at this evening&#8217;s hacker night.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/44/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhone Applications</title>
		<link>http://blog.danmcweeney.com/38</link>
		<comments>http://blog.danmcweeney.com/38#comments</comments>
		<pubDate>Thu, 26 Jul 2007 23:58:23 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[innovation]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://blog.danmcweeney.com/38</guid>
		<description><![CDATA[So, I came upon an iPhone to play with for a few days and decided I should try to learn about how the user applications run on it.&#160; There has been a lot of great work already by the guys on the iPhone Dev Wiki around getting SSH and such on the iPhone, needless to [...]]]></description>
			<content:encoded><![CDATA[<p>So, I came upon an iPhone to play with for a few days and decided I should try to learn about how the user applications run on it.&nbsp; There has been a lot of great work already by the guys on the <a href="http://iphone.fiveforty.net/wiki/index.php/Main_Page" target="_blank">iPhone Dev Wiki</a> around getting SSH and such on the iPhone, needless to say without their work this discovery would not have happened.</p>
<p>The point was to learn how the applications are structured and then see if I could add an existing application back to the iPhone with a different name and icon and have it run.&nbsp;Today Fred and I set out to see if we could get this to happen.</p>
<p>&nbsp;</p>
<p>iPhone applications look very similar to applications for OSX, makes sense as they both run some version of OSX.&nbsp; The file structure of the iPhone Calculator is this:</p>
<p><embed src="http://www.youtube.com/v/Xc5cVEqSAMY" width="425" height="350" type="application/x-shockwave-flash"> </embed></p>
<div class="wlWriterEditableSmartContent" id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:00f7a134-c0ca-4def-b4a5-4ac5745942a8" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color: white">
<div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/

--><span style="color: #000000">[</span><span style="color: #000000">/</span><span style="color: #000000">Applications]
    [</span><span style="color: #000000">/</span><span style="color: #000000">Calculator.app]
        Calculator
        CalculatorBackground.png
        Default.png
        [</span><span style="color: #000000">/</span><span style="color: #000000">English.lproj]
            InfoPlist.strings
            Localizable.strings
        Info.plist
        LCDBackground.png
        PkgInfo
        icon.png
        ring.png</span></div>
</pre>
</div>
<p>[ source: <a href="http://iphone.fiveforty.net/wiki/index.php/SystemFileAndDirectoryList#Applications" target="_blank">iPhone Directory listing</a> ]</p>
<p>For this example we will be trying to change the calculator app into some a touch more fun looking.&nbsp; First step is simple ( if you already have <a href="http://iphone.natetrue.com/" target="_blank">SSH on the iPhone</a> and the binkit on your iPhone)&nbsp; tar up the Calculator app and copy it to&nbsp;a Mac.</p>
<p><strong><font face="Trebuchet MS"></font></strong></p>
<h3>Executable [Calculator]</h3>
<p>The Calculator file is a compiled binary for the ARM platform running it from OSX produces the error message: &#8220;Bad CPU type in executable.&#8221;&nbsp;&nbsp;We assume that this has something to with the Universal application concept in OSX.&nbsp; It is opening that executable and looking to see if it has the ability it talk to an Intel/PPC processor it of course doesn&#8217;t so it craps out.&nbsp; First thing we did was to rename this file to foobar.</p>
<h3><font face="Verdana">Info.plist</font></h3>
<p>This is the file that has all the information about what to execute when a user clicks on the icon in the home screen.&nbsp; File is a regular plist file from normal OSX applications.&nbsp; The node to concern yourself with is CFBundleExecutable.&nbsp; This points at the binary you want to execute.&nbsp; So, in our case we need to point this node at our renamed executable.</p>
<h3><font face="Verdana">icon.png</font></h3>
<p>A few sites have already figured out you can change these around so, I won&#8217;t go into anymore detail then pointing you at the <a href="http://www.modmyiphone.com/" target="_blank">ModMyiPhone</a> wiki that describes the structure of <a href="http://www.modmyiphone.com/wiki/index.php/Iphone_PNG_images" target="_blank">iPhone pngs</a>.&nbsp; You don&#8217;t actually need to &#8220;optimize&#8221; your pngs for your iPhone.&nbsp; It can render regular ones just fine.&nbsp; We threw a &#8220;festive&#8221; graphic into our package.</p>
<h3><font face="Verdana">&#8220;Deploy&#8221;</font></h3>
<p>The final step is to move all these files over to the iPhone.&nbsp; Make sure you get the directory structure right:&nbsp; /Applications/foobar.app/ .&nbsp; Reboot the phone and you should see your newly renamed and functioning Calc application on the home page.</p>
<p><a title="Photo Sharing" href="http://www.flickr.com/photos/43234315@N00/909697083/"><img height="328" alt="IMG_1550" src="http://farm2.static.flickr.com/1373/909697083_7b7d320a24_m.jpg" width="437"></a></p>
<p>One other interesting that came of this is that the iPhone can&#8217;t have more then 16 applications on it.&nbsp; The home screen does not have the ability to scroll.&nbsp; We loaded 4 more&nbsp;copies of the calculator onto the phone and were unable to scroll down to see them.&nbsp; Maybe there is a simple change to the launcher application to allow the scrolling to happen or maybe Apple has to change the application to allow it.</p>
<p><a title="Photo Sharing" href="http://www.flickr.com/photos/43234315@N00/909697157/"><img height="362" alt="IMG_1551" src="http://farm2.static.flickr.com/1381/909697157_98f7d6c778_m.jpg" width="271"></a></p>
<p>You can see the little Handbrake icon peeking out from under the Buttonbar, but you can&#8217;t scroll down to see it.&nbsp; Sad.</p>
<p>No, this isn&#8217;t a new native application but, it gets us one step closer to deploying applications onto the iPhone once we can compile them, which is still a long way off.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.danmcweeney.com/38/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

