<?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>Grails Rocks &#187; Other</title>
	<atom:link href="http://www.anyware.co.uk/2005/category/other/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anyware.co.uk/2005</link>
	<description>Grails, Apple, usability and world stuff</description>
	<lastBuildDate>Fri, 27 Jan 2012 13:52:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The web does not a mobile app make.</title>
		<link>http://www.anyware.co.uk/2005/2011/06/13/the-web-does-not-a-mobile-app-make/</link>
		<comments>http://www.anyware.co.uk/2005/2011/06/13/the-web-does-not-a-mobile-app-make/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 13:05:11 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Programming links]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=808</guid>
		<description><![CDATA[This is a rant about the Web vs. Native debate in mobile. I&#8217;m very squarely on the &#8220;Native is best&#8221; side. Obviously if you don&#8217;t have the funds/expertise to make a native app then you&#8217;ll choose web &#8211; but I would wager this is only viable if you don&#8217;t actually want to make money out [...]]]></description>
			<content:encoded><![CDATA[<p>This is a rant about the Web vs. Native debate in mobile.</p>
<p>I&#8217;m very squarely on the &#8220;Native is best&#8221; side. Obviously if you don&#8217;t have the funds/expertise to make a native app then you&#8217;ll choose web &#8211; but I would wager this is only viable if you don&#8217;t actually want to make money out of the app. Unless you have some amazingly compelling content (like pictures of naked people) that can not be got at by native means.</p>
<p><span id="more-808"></span>The thing is, I&#8217;m not really interested in arguing this any more as its a classic polarized debate like the Mac/PC or Linux/Windows ceaseless arguments. However most people in web development seem to be very anti-native, and as I&#8217;m often the outsider in such things, but also sometimes right, I need to set out my stall so that I can try to keep my mouth shut in any more such discussions!</p>
<p>Let&#8217;s get this straight. Web is <strong>the</strong> perfect platform for presenting documents. It is what it was designed for. Everything else has been a hack. We have many very clever and useful libraries such as jQuery to make web application development half-passable. However anybody who seriously thinks these are anything close to a great development platform is chugging on a crack pipe.</p>
<p>Or not an actual developer, but a web site designer who wants to cash in on making mobile apps.</p>
<p>Before you stop reading &#8211; I&#8217;m a web app dev of many years, and also did more than my fair share of mobile development.</p>
<p>The Web is no cure-all, it is an ugly hack of document rendering turned into interactive UI paradigm. The only selling point for it is that it is cross platform. But your experience &#8211; even on powerful desktops &#8211; varies widely based on CPU, RAM, and browser &#8211; it is simply impossible to make great cross platform apps because to do so is to ignore the native OS paradigms, or poorly mimick them.</p>
<p>Why is it that we are still amazed when someone creates some &#8220;fast&#8221; game in JS and CSS, or creates some amazing new visual trick like&#8230; and animated background or &#8230; 3D!</p>
<p>I means seriously, WTF people? We were doing this stuff on ATARI ST when I was a teenager (&gt; 20 years ago), and this still gets a &#8220;wow&#8221; when somebody manages to make the godawful browser tech stack do the same using CSS and JS? That&#8217;s not progress, that&#8217;s a SHITTY PLATFORM FOR APPS. Its like we all became stupid and forgot everything that goes on in the rest of the tech world once the web hit.</p>
<p>We&#8217;re amazed when stuff like this is done because its so damned hard to do anything good in a web browser. That&#8217;s why designers and animators used Flash so much and cursed us for a decade. It is nothing more than triumph against adversity.</p>
<p>The native OS paradigms (visual or otherwise) issue is borne out in the great many &#8220;Cross platform&#8221; frameworks that have existed over the decades. If you don&#8217;t know the awfulness of J2ME, or Java desktop UIs (Swing), or Tcl/Tk and all the old C++ cross platform toolkits, you have no idea how bad things get. This is in part a reason why Java never took off <strong>even when delivered via the web</strong> and is also part of why Android and iOS are eating the lunch of all the other phone O/Ses whose only realistic entry point was J2ME.</p>
<p>Anybody reading this remember WAP? The mobile Internet that was, right on your phone, back in the early 2000s. What a crock of shit. Why? The UI had no personality, and no styling. It was slow and clunky, and admittedly ran on shitty phones with tiny screens.</p>
<p>WAP lost out to J2ME &#8211; a lesser of two evils &#8211; which you could consider a &#8220;native&#8221; app vs. WAP&#8217;s &#8220;web&#8221; approach. J2ME won that battle, <em>even though</em> people (like me) had to write sometimes 30+ different ports of the same application to handle different handsets. And we&#8217;re not talking just different graphics/screen size here, different data/game levels, different media, different code workarounds to handle bugs and resource limitations.</p>
<p>But <strong>still</strong> it was better than WAP. You had complete control (if you ignored all the J2ME horrible UI libraries) and could draw pixels. WAP&#8230; you could show stuff on screen badly, and maybe submit some forms.</p>
<p>Web on mobile is today&#8217;s WAP, in the same way that Native (Android/iOS/Windows Mobile/WebOS) is today&#8217;s J2ME. For compelling apps you need to use native stuff. What language you use to write that is less important. i.e. PhoneGap apps that use JS to glue together web UI and native features like location, camera etc are native apps. They are just slower, clunkier, non-native UI and feature-limited compared to true native apps.</p>
<p>The pace of development in mobile devices is now unlike anything we have seen before. 6-12 month refresh cycles of hardware and OS releases means the web will never catch up, not even close.</p>
<p>The ease of development used to be a USP of web sites, but this is most definitely not true for non-trivial web apps. For a start, for anything non-trivial you need a back-end server app and all that entails.</p>
<p>Web developers who think web apps can replace native apps ignore another major issue aside from native capabilities and integration &#8211; resources. When was the last time you, as a web developer, cared about how much memory visitors to your site had, or how fast their CPU was?</p>
<p>As a result performance of web applications varies immensely across clients and this matters even for simple forms or content display (layout complexity, images etc). On mobile this is a critical issue. You have to test your web app on every target device your users may be using.</p>
<p>Think about that.</p>
<p>You&#8217;re doing that right now for maybe 3-4 browsers across maybe 2-3 OSes (you are, aren&#8217;t you?).</p>
<p>Now extrapolate that level of work to every mobile device out there (especially the large number of Androids), as they all have difference browsers <strong>and</strong> vastly constrained resources, <strong>and</strong> different pixels-per-inch which affects usability of touch UIs.</p>
<p>Native development doesn&#8217;t skip this problem completely, but it gives you a feel for the size of the challenge that awaits you. Using native UI widgets you are at least nearly guaranteed some reasonable behaviour out of the box.</p>
<p>The point is that web development might get you somewhere, but it is unlikely to get you compelling revenue-generating apps unless your product is incredibly trivial and unique &#8211; unless you focus, like J2ME developers had to &#8211; on the devices that make up the largest market share &#8211; so iPhones and hopefully just a few of the Android handsets. Oh and maybe a HP device too, eh? Oh and Windows Phone.</p>
<p>If you are selling an &#8220;app&#8221; commercially you better be sure you can deliver it in working order to your end user. Make that a &#8220;paying&#8221; user. Not so many of those on the real web are there.</p>
<p>Many web developers fail to understand that mobile devices are &#8220;embedded systems&#8221;, it is not just your desktop web available in your hand. The user expectations are entirely different from desktops. Its so frustrating that people don&#8217;t seem to get that this is consumer electronics: where you push an ON button and stuff happens right there and then.</p>
<p>You pick up a phone to do something, it has to do it quickly, cleanly and reliably. The user does not see a mobile device as a mobile desktop (though more powerful than PCs we used not too long ago) where its OK to spend 15s loading, bombard them with some pointless screens, download a ton of crap off the web.</p>
<p>Even a great deal of native apps fail horribly at this. They take too long to load, the UX is poor due to excessive navigation etc. I have some laughably bad iOS apps installed on my devices &#8211; which occurs because there is no try before you buy / returns policy, a major flaw that needs to be rectified. And if it does get rectified, you better fear for your app-store hosted web apps.</p>
<p>The fact is mobile devices are now so desirable as a platform precisely because of Apple&#8217;s iPhone and the native iOS. Web developers may see these as sexy devices they&#8217;d like to do stuff on, but everybody else sees these as great things that work better and faster than their old computer, with less fuss and (so far) no viruses &#8211; and nobody thinks of these as being like web apps but packaged up. Web applications pull it back to the sluggish land of the desktop. Response time is everything in touch interfaces.</p>
<p>As for native OS integration, whether using HTML5 features (s<em>till</em> not fully standardized) or custom JS APIs á la PhoneGap, the features available will <strong>always</strong> lag behind native apps, and will <strong>usually</strong> lag behind in performance. HTML standards processes are inordinately slow and protracted. Never, ever expect and quick turnaround innovation from HTML. Just forget it.</p>
<p>&#8220;But my app is not performance dependent&#8221;. Yes it bloody is. If the user taps or drags stuff and it doesn&#8217;t happen in smooth realtime like native apps, you stick out like a shit on the arctic tundra. Remember that your app is competing UX wise with all the great default apps shipped on the device (well at least as far as iOS goes).</p>
<p>&#8220;But I don&#8217;t need native integration or true native UI&#8221;. Yes you do &#8211; as soon as you have any form of native competition. And if you are pursuing a market that actually generates decent income, you can bet people will come with native equivalents.</p>
<p>Some people point to WebOS &#8211; it&#8217;s web based technology. However it is effectively native, another proprietary platform. Its yet another OS to port to. Are people seriously saying that, even if performance issues don&#8217;t emerge from this, that they&#8217;d like to use all this hacked together HTML/CSS/JS crud we&#8217;ve amassed over the last 10-15 years to write apps for a tiny device that can have a perfectly good, fast, tightly integrated app written using the well-documented libraries provided in a native language? It&#8217;s a little like writing scalable web app back ends using BASIC. You could do it but&#8230; its the wrong tool for the job.</p>
<p>An interesting blip here is Symbian. This was a native OS platform on all the big Nokia devices. However it failed &#8211; the crown went to the UX-inferior J2ME platform present on the same handsets. Why? Presumably because there was no commercial marketplace of any worth for the apps (the handsets always featured low in app sales, a very small % of total market), and the devices it ran on were the horrible Nokia bricks that cursed us for the last 10 years, cost a fortune and had bad battery life.</p>
<p>In a nutshell the Web is a pile of cobbled together crap &#8211; from an application development point of view.</p>
<p>We can put up with this for true web applications/services as we can&#8217;t face writing native Windows, Linux and Mac OS X clients for our apps &#8211; it makes us gush when a tool like jQuery reduces the pain level by another 10%. Our users are accustomed to this paradigm, and for many of our apps we don&#8217;t need any whizzbangs that require really obscene hacks like Flash for camera access etc. Because their PCs/Macs are a bit of a hassle to maintain they appreciate not having to install apps. They also don&#8217;t expect always-on connectivity so settle for &#8220;just while I&#8217;m sitting at the computer&#8221;.</p>
<p>Even with tablets, there is no point making a web-based app for them. Just make your normal site work well on tablets. Desktop users will likely appreciate the improvements too. I can see the attraction of making a tablet-optimized &#8220;app&#8221; because its reasonably quick and cheap, but really, put that work into your regular web UI. For a Rolls Royce experience for your tablet users, give them a native app if it is commercially sound to do so.</p>
<p>The User expectations of mobile, including tablets are completely different. The device is a tool to get stuff done. In contrast to &#8220;I&#8217;m now sitting at my computer doing a bunch of stuff&#8221;.</p>
<p>Let&#8217;s not even talk about battery usage&#8230;</p>
<p>Bottom line: Mobile development is really hard work, involves lots of time and testing, the likes of which desktop web app developers have little idea about. Browser wars are nothing compared to real cross platform dev where the end product is high quality.</p>
<p>If you&#8217;re going to do it properly, do it native.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2011/06/13/the-web-does-not-a-mobile-app-make/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Apple&#8230; time for Jobs to step down!</title>
		<link>http://www.anyware.co.uk/2005/2008/12/18/apple-time-for-jobs-to-step-down/</link>
		<comments>http://www.anyware.co.uk/2005/2008/12/18/apple-time-for-jobs-to-step-down/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 15:58:23 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=370</guid>
		<description><![CDATA[Steve Jobs rocks. He&#8217;s rocked Apple into a company I can buy killer computers and an OS from. He&#8217;s a great show man, a consummate CEO. Now, please let him fade away gracefully Apple. Perhaps this is happening, what with him not giving the Macworld Expo talk. Doubts about his health are too damaging to [...]]]></description>
			<content:encoded><![CDATA[<p>Steve Jobs rocks. He&#8217;s rocked Apple into a company I can buy killer computers and an OS from. He&#8217;s a great show man, a consummate CEO.</p>
<p>Now, please let him fade away gracefully Apple. Perhaps this is happening, what with him not giving the Macworld Expo talk.</p>
<p>Doubts about his health are too damaging to the company and it is really obvious actually that the whole management team at Apple is really on the ball &#8211; but this is not widely understood and as a result Apple&#8217;s stocks are suffering at every twist and turn of public appearances (separately from the general market problems).</p>
<p>People need to see &#8211; gradually, and this seems to be Apple&#8217;s plan &#8211; that life goes on without Steve and great stuff continues to come from Apple. After all he&#8217;s got them to a pretty amazing place. Killer proprietary OS, killer phones, computers people actually want to own as objects, not just as tools.</p>
<p>I hope you&#8217;re well Steve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2008/12/18/apple-time-for-jobs-to-step-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMWare Fusion for Mac with a specific IP address for the guest OS</title>
		<link>http://www.anyware.co.uk/2005/2008/09/29/vmware-fusion-for-mac-with-a-specific-ip-address-for-the-guest-os/</link>
		<comments>http://www.anyware.co.uk/2005/2008/09/29/vmware-fusion-for-mac-with-a-specific-ip-address-for-the-guest-os/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 15:16:30 +0000</pubDate>
		<dc:creator>Marc Palmer</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.anyware.co.uk/2005/?p=254</guid>
		<description><![CDATA[At one of my clients I need to run a VMWare VM on my Apple MacBook. After much pain and messing around, the problems I had with getting the network of the guest O/S working were related to VMWare and the guest O/S&#8217;s fixed IP address. Even if you set VMWare to NAT mode, it [...]]]></description>
			<content:encoded><![CDATA[<p>At one of my clients I need to run a VMWare VM on my Apple MacBook.</p>
<p>After much pain and messing around, the problems I had with getting the network of the guest O/S working were related to VMWare and the guest O/S&#8217;s fixed IP address.</p>
<p>Even if you set VMWare to NAT mode, it will not notice the fixed IP that the guest O/S is using. What you have to do is change the DHCP and NAT settings of DHCP to use the correct subnet you want, and the correct IP address. You do this by changing the &#8220;/Library/Application Support/VMWare Fusion/vmnet8/dhcpd.conf&#8221; and  &#8220;/Library/Application Support/VMWare Fusion/vmnet8/nat.conf&#8221; files, so that there is a single IP address in the DHCP range (end of range MUST be start+1).</p>
<p>You then ALSO have to edit the file &#8220;/Library/Application Support/VMWare Fusion/locations&#8221;  to change the value of &#8211; wait for it &#8211; VMNET_HOSTONLY_HOSTADDR to the IP subnet you want the &#8220;static&#8221; IP to be on.</p>
<p>This last step took me a long time to work out, not least because the variable name makes no sense with using NAT mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anyware.co.uk/2005/2008/09/29/vmware-fusion-for-mac-with-a-specific-ip-address-for-the-guest-os/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 11/19 queries in 0.419 seconds using disk: basic

Served from: www.anyware.co.uk @ 2012-02-05 04:16:55 -->
