<?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"
	>

<channel>
	<title>Apokalypse Software Corp. &#187; apple</title>
	<atom:link href="http://apokalypsesoftware.com/blog/tags/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://apokalypsesoftware.com</link>
	<description>words from the wilderness</description>
	<pubDate>Mon, 06 Oct 2008 16:44:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>An Urgent Mori 1.6.10 Release To Correct Bugs, and Workaround Spotlight Flaws</title>
		<link>http://apokalypsesoftware.com/blog/2008/02/27/110/</link>
		<comments>http://apokalypsesoftware.com/blog/2008/02/27/110/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 20:54:33 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[bugs]]></category>

		<category><![CDATA[debugging]]></category>

		<category><![CDATA[design]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[leopard]]></category>

		<category><![CDATA[localization]]></category>

		<category><![CDATA[mori]]></category>

		<category><![CDATA[mox]]></category>

		<category><![CDATA[rant]]></category>

		<category><![CDATA[tiger]]></category>

		<category><![CDATA[unit tests]]></category>

		<guid isPermaLink="false">http://apokalypsesoftware.com/blog/2008/02/27/110/</guid>
		<description><![CDATA[While making the changes to Mori&#8217;s code for 1.7, I encountered some oddities in test results, and it turned out there was a bug which I had introduced in an earlier release. While it doesn&#8217;t appear to endanger data in Mori notebooks, it might not return all the results you expect in a search, or [...]]]></description>
			<content:encoded><![CDATA[<p>While making the changes to Mori&#8217;s code for 1.7, I encountered some oddities in test results, and it turned out there was a bug which I had introduced in an earlier release. While it doesn&#8217;t appear to endanger data in Mori notebooks, it might not return all the results you expect in a search, or in entry summaries.</p>
<p>In addition, it has what I hope are a couple of performance improvements, continued improvements to Italian localization, and a work-around for Leopard&#8217;s insistence to treat non-Apple Spotlight metadata files as third-class citizens.</p>
<p>Normally when Spotlight discovers a file has been created or changed, it will ask the responsible program to figure out what&#8217;s inside, and feed it back to Spotlight. But one of the drawbacks to Spotlight&#8217;s design is it lacks the ability to define containers, or documents which contain logically distinct elements such as the chapters of a book, pictures in a photo album, or entries from a Mori notebook; and which can nest other containers as well. Treating a document as a single entity, Spotlight will open a document at the beginning (or maybe the place where the cursor was the last time it was open), even if what you&#8217;re looking for is somewhere near the end.</p>
<p>Because it doesn&#8217;t understand that a file can have distinct elements, the development teams for other Apple software (e.g., iPhoto, Safari, Stickies, etc.) came up with a scheme to trick Spotlight by creating new files with the data for those elements. So that&#8217;s how Jesse coded Mori&#8217;s behavior: duplicate the data for that logically distinct element in its own file. A separate copy of each element&#8217;s data in its own file. One extra file per element. That means the space taken up by your data is easily half again more than if Apple just added a container definition for Spotlight metadata (once for the notebook, another for the entry metadata file, and the third copy in Spotlight&#8217;s database).</p>
<p>But that isn&#8217;t all. While we&#8217;d like to keep all those extra files inside a notebook bundle (a directory which Finder treats as a file), because Spotlight treats a document as a single element it won&#8217;t look for those files inside the bundle. So Mori creates those files in the metadata cache folder (in your Library/Caches/Metadata folder), along with the metadata files from some of Apple&#8217;s programs. If you open the metadata folder and look at these files, you&#8217;ll see they have numbers to help Mori figure out which entry contains that data. But when you do a search using the Spotlight menu, and when you select menu item &#8216;Show All&#8217; and the results are displayed in the Finder, you won&#8217;t see the numbers; you&#8217;ll see the titles for the entries they represent.</p>
<p>Leopard however, isn&#8217;t so democratic; which is why users where complaining about the entries when Leopard was released. First off, it ignores any non-Apple metadata files in the cache folder <em>unless</em> you set your Spotlight preferences to use those files. Secondly, it will ignore the title info embedded in the entry metadata file and just display the file&#8217;s actual title, meaning the number. How&#8217;s that for Apple <strong>undermining the work of third-party developers</strong>?</p>
<p>So the workaround I came up with is to add the entry&#8217;s title (or Untitled, if it has none) at the <em>beginning</em> of the filename, so you at least have an idea which entry matches your search terms.</p>
<p><img src='http://apokalypsesoftware.com/wp-content/uploads/2008/02/refilename.png' alt='Spotlight Filename Workaround' /> (Thanks for wasting about a whole month total of my development time on that alone, Apple. I feel the love.)</p>
<p>I am, of course, more than happy to eat crow should I be proven to be completely mistaken or speaking from out-dated information. It&#8217;s easily worth it in order to improve the user experience.</p>
<p>Regardless of the rationale for the design decisions, <a href='http://apokalypsesoftware.com/products/files/releases/Mori-1.6.10.zip'>enjoy</a>, and thank you for being part of the community and continuing to support Mori!</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2008/02/27/110/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MacBookAir: Oh, the Compromises You&#8217;re Willing to Make Just to be Trendy.</title>
		<link>http://apokalypsesoftware.com/blog/2008/01/17/97/</link>
		<comments>http://apokalypsesoftware.com/blog/2008/01/17/97/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 21:38:03 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[macbookair]]></category>

		<category><![CDATA[nostalgia]]></category>

		<guid isPermaLink="false">http://apokalypsesoftware.com/blog/2008/01/17/97/</guid>
		<description><![CDATA[Wow. A lot of folks already have lists of what they don&#8217;t like about the MBA. So do I.


It isn&#8217;t a tablet.
The tablet interface opens up a whole new range of apps (just look at what changes the touchscreen interface has brought to the mobile market.) I could be so much more productive with a [...]]]></description>
			<content:encoded><![CDATA[<p>Wow. A lot of folks already have lists of what they don&#8217;t like about the MBA. So do I.</p>
<ul>
<li>
<h3>It isn&#8217;t a tablet.</h3>
<p>The tablet interface opens up a whole new range of apps (just look at what changes the touchscreen interface has brought to the mobile market.) I could be <em>so much more</em> productive with a tablet. <em>I promise</em>.</li>
<li>
<h3>Lack of replaceable battery.</h3>
<p>Will I be able to get to an outlet in five hours? Would I have been able to find a spare battery in three years&#8217; time when the charge goes down to 2?</li>
<li>
<h3>1.6GHz CPU?</h3>
<p>Are you kidding me? Weren&#8217;t we <a href='http://www.theregister.co.uk/2003/06/23/apple_launches_2ghz_64bit_power/'>looking forward</a> to the 3GHz PowerPC G5 more than <em>four years ago</em>?</li>
<li>
<h3>FireWire!</h3>
<p>Why has Apple abandoned the IEEE1394 spec it created?</li>
<li>
<h3>Gigabit Ethernet</h3>
<p>In fact, any ethernet at all! Something, at least, which has better performance than WiFi!</li>
</ul>
<p>Others complained about the hard drive capacity being only 80GB, and the solid-state drive (SSD) being so expensive. I don&#8217;t care. As a laptop, it wouldn&#8217;t be where I do the bulk of my work or computing. It would only be for away-from-the-desk computing.</p>
<p>When I saw the announcement, and the pics, I knew it was a computer for lightweights. It isn&#8217;t meant for power users. It isn&#8217;t meant for programmers. It&#8217;s meant for folks whose computing needs just aren&#8217;t driven by applications which demand horsepower.</p>
<p><a href='http://www.funkeemonk.com/blog/'>Joe Goh</a>, the developer behind <a href='http://www.funkeemonk.com/phonejournal/'>Phone Journal</a>, <a href='http://twitter.com/FunkeeMonk/statuses/602630642'>replied</a>, &#8220;Definitely not just trendy. Lots of people I know won&#8217;t carry a portable computer otherwise. Its going to be a hit with ladies&#8221;, which proves my point exactly. If you haven&#8217;t already needed to carry around a laptop, particularly one like the less expensive and more powerful MacBook, why would you start with this model?</p>
<p>So, although I saw that the userbase for the Mac was going to explode through the MBA, as a user, it just wasn&#8217;t my type of machine.</p>
<p>But as I was reading <a href='http://wilshipley.com/blog/2008/01/macbook-air-haters-suck-my-dick.html'>Wil Shipley&#8217;s take</a> on it, the notoriously name-dropping blogger and lead developer of <a href='http://www.delicious-monster.com/'>Delicious Library</a>, and how he was going to buy one for himself, I realized there was something special about that solid-state drive.</p>
<p><img src='http://apokalypsesoftware.com/wp-content/uploads/2008/01/140c_1.JPG' alt='256K Dynamic RAM S-100 Board' /></p>
<p>This is a picture of a 256K Dynamic RAM memory card for an S-100 computer. It&#8217;s the sort of thing we used back in the late 1970s. Typical of gadget freaks, it was more power than the CPU could directly handle, so the excess had to be put to use somehow: RAMDisk.</p>
<p>Back in those days, microcomputers generally used floppy drives: storage devices that stored information on portable media that resembled CD-Rs *inside* its jewelry case; except the floppies stored up to 800KB, looked dark brown because they were actually coated with rust, and were 5.25&#8243;-8&#8243; in size! These things were large, and slow. Things were better if you could afford the $3,000 for a 5MB hard drive because they were faster and stored a tad more info, but the majority of us users were stuck with the less-expensive, and slower, floppy drive.</p>
<p>Ah, but that extra RAM came in handy here. Once you loaded in some RAMDisk software onto your micro, your RAMDisk would give you performance that blew away even those speedy hard drives. Instead of putting up with the slow grinding-grinding of the floppy drive while you were working, the RAMDisk would buffer the data the first time it was read from the floppy, then blast it into application memory whenever it was needed. You would wonder just how well it worked when you didn&#8217;t hear the drives spinning and grinding as before, but when the results came up, you knew it worked fabulously.</p>
<p>And it wouldn&#8217;t take long for the results to appear. Performance was <em>thousands</em> times better. You wouldn&#8217;t have to go to lunch when you ran the assembler anymore. It was now fast enough to give you just enough time to grab some coffee. It was <em>that fast</em>.</p>
<p>The MBA&#8217;s optional SSD will give you that level of performance boost. While hard drives were a couple order of magnitudes faster than floppies, they were still orders of magnitude slower than RAM. While hard drives have improved in performance, so has RAM. Just as adding more RAM to your computer will give a bigger performance increase than adding a faster processor, substituting that power-draining, mechanical hard drive completely with a solid-state device will give a phenomenal performance gain.</p>
<p>While you might complain about 64GB being miniscule(!), the real caveat is that these flash devices that make up the SSD have a limited lifetime. 300K to 400K writes. That&#8217;s not a paltry amount, but it is still something to keep in mind.</p>
<p>So now that I think about it, the MBA has one significant advantage for one particular power-user niche: the developer. It doesn&#8217;t have the raw CPU horsepower we crave. It doesn&#8217;t have the ability to do gigabit ethernet connections to our networks. It doesn&#8217;t have separate communication busses for main and video memory. It doesn&#8217;t even have a tablet interface. But it <em>does</em> have a honkin&#8217; 64GB drive with <em>no moving parts</em>.</p>
<p>I guess when I get enough money, I&#8217;ll have to plunk down for an MBA after all. <em>After</em> they come out with a Rev. B. Hopefully, they&#8217;ll have a 128GB SSD option by then!</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2008/01/17/97/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mori: v1.6.7 Post-Mortem and Upcoming Changes</title>
		<link>http://apokalypsesoftware.com/blog/2007/11/27/79/</link>
		<comments>http://apokalypsesoftware.com/blog/2007/11/27/79/#comments</comments>
		<pubDate>Tue, 27 Nov 2007 22:34:19 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[agile]]></category>

		<category><![CDATA[apple]]></category>

		<category><![CDATA[cvs]]></category>

		<category><![CDATA[debugging]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[gtd]]></category>

		<category><![CDATA[hogbaysoftware]]></category>

		<category><![CDATA[leopard]]></category>

		<category><![CDATA[localization]]></category>

		<category><![CDATA[mgtd]]></category>

		<category><![CDATA[mori]]></category>

		<category><![CDATA[mox]]></category>

		<category><![CDATA[process improvement]]></category>

		<category><![CDATA[refactoring]]></category>

		<category><![CDATA[scm]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[taskpaper]]></category>

		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://apokalypsesoftware.com/blog/2007/11/27/79/</guid>
		<description><![CDATA[Well, it looks like the latest toolbar fix has finally stuck. There were actually a few, very subtle interrelated items, and some procedural issues that cascaded into others. Code was shifted around hither and yon, resulting in elimination of two of a main class&#8217; instance variables and simplification of logic in several methods.
Speaking of which, [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it looks like the latest toolbar fix has finally stuck. There were actually a few, very subtle interrelated items, and some procedural issues that cascaded into others. Code was <a href='http://en.wikipedia.org/wiki/Refactoring'>shifted around</a> hither and yon, resulting in elimination of two of a main class&#8217; instance variables and simplification of logic in several methods.</p>
<p>Speaking of which, I&#8217;d really love to try out Xcode3&#8217;s new refactoring tools, but that would mean
<ol>
<li>spending more time in Leopard, which freezes on me,</li>
<li>and spending more time in Xcode3, whose text editing I already loathe.</li>
</ol>
<p>I will need to investigate how well refactoring works in TextMate (which I already own and use from time to time when bumping against some other Xcode2 limitation.)</p>
<p>The <a href='http://www.igda.org/articles/erobinson_crunch.php'>pressure cooker development level</a> of the past couple of weeks really put the development process here through the wringer. Some things held up. Some things fell apart. So more &#8216;behind the scenes&#8217; development is going to take place here to minimize the interference caused by the mismatch between what needs to be done and what the tools require me to do next.</p>
<ol>Some observations of the release&#8217;s development:</p>
<li><strong>The primary, agile-based, processes were abandoned in the panic over the continued toolbar problems and Leopard incompatibilities.</strong><br />
There was no established process for handling emergencies, so the chaotic edit-compile-test behavior resurfaced. This is not to be repeated.</p>
<p><strong>Corrective Measures:</strong> A plan of action for dealing with emergencies must be established. Exercises and drills prepared and performed so the proper outcome occurs next time.
</p>
</li>
<li><strong>Users seemed to be unaware, or unconvinced, of my plans for Leopard.</strong><br />
Although I had made statements regarding the planned support for Leopard, it was only in response to questioning by users. I had failed to provide information ahead of time and prominently.</p>
<p><strong>Corrective Measures:</strong> While users refer to the forum when there are questions or they have some issue to resolve, they refer to the blog constantly. It&#8217;s best to have already disclosed plans so users have time to assimilate needed info and prepare accordingly. Blog. Blog. Blog. Forum posting: link to blog. Then blog.</p>
</li>
<li><strong>Unit testing got skipped.</strong><br />
It was unavoidable given the current process because tests didn&#8217;t cover the critical issue being developed: the user interface (i.e., toolbar items and empty windows).</p>
<p><strong>Corrective Measures:</strong> Mock objects are inadequate to sufficiently test the UI. For all my blustering that the UI <em>is testable</em>, it&#8217;s clearly time I seek or develop the necessary tools and put them to use.
</p>
</li>
<li><strong><a href='http://subversion.tigris.org'>Subversion</a> is a win, but it&#8217;s an ugly win.</strong><br />
Being able to restore files, or the project, of a particular beta or release build, or of a particular date and time, is great. Being able to make wholesale changes to the project, then abandoning them, or keeping them along a separate branch to continue experiments at a later date without juggling project directories here and there, is great. Being able to merge or contrast multiple working project directories from separate environments (Tiger, Leopard, laptop, and the v1.6.3 release) quickly and easily, is great.</p>
<p>Nibs saved as a smattering of files in the repository: not so great. Confusing subversion with its own metadata when copying/adding directories: not so great. Performing an add/delete when moving or copying directories and files instead of adding &#8220;move&#8221; or &#8220;copy&#8221; semantics to the system: not so great. Poor integration mechanism for multiple offline revisions: not so great.</p>
<p><a href='http://en.wikipedia.org/wiki/Source_code_management'>SCM</a> is great. I&#8217;ve used <a href='http://www.nongnu.org/cvs/'>CVS</a> for years. I&#8217;ve even set up another project or two using Subversion before I <a href='http://apokalypsesoftware.com/news/apokalypse-software-corp-acquires-mori-clockwork-from-hog-bay-software/'>bought Mori and Clockwork</a> from <a href='http://hogbaysoftware.com'>Jesse</a>. But I don&#8217;t see where it&#8217;s an obviously better package than CVS, but perhaps that&#8217;s because I&#8217;ve learned to work around CVS&#8217; shortcomings. (Reviewing the feature list at <a href='http://subversion.tigris.org/'>http://subversion.tigris.org</a>, the only practical feature I see that means anything to someone actually <em>using</em> Subversion is command-level manipulation of directories, although the handling of renames is poor. Hrmm. And svn+ssh access to the repository, with <a href='http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeUserGuide/Contents/Resources/en.lproj/12_UsingSubversion/chapter_951_section_3.html'>Xcode integration</a> even!)</p>
</p>
<p><strong>Corrective Measures:</strong> For the time being, the messiness of the metadata in copies and moves will have to remain unsettled. As long as the structure ends up correct, and it doesn&#8217;t take long to get it to that state, it remains tolerable in the face of bigger issues. A procedure must be established to handle the circumstance where developers are offline and must &#8220;commit&#8221; in some manner which is transferrable to the repository when they are back online.
</p>
</li>
<li><strong>Debugging is severely inadequate for professional-grade development.</strong><br />
Can you tell Apple&#8217;s team has a severe case of <a href=http://freemasonry.bcy.ca/fiction/other/our_gang.html'>he-man, mouse-haters club</a> insecurities? (Either that, or they&#8217;re <a href='http://apokalypsesoftware.com/blog/2007/04/13/33/'>operating in crunch mode</a> so much, they don&#8217;t have time to develop the appropriate tools. Nah!) The debugging facilities they provide for developers operate primarily through the use of environment variables, console output and functions and output which require gdb to access.</p>
<p>ZeroLink didn&#8217;t work well and was abandoned; Fix and Continue is still problematic; and the vaunted debug libraries (to help you catch errors in the parameters passed to the AppKit and Foundation libraries) hasn&#8217;t worked right since 10.4.3.</p>
<p>My own debugging facilities are rudimentary and lacking in depth. More of the failures in the field should be communicated back to me (remember Safari&#8217;s &#8216;bug&#8217; button?). The crash reporting mechanism should work when the crash occurs, not the next time Mori runs. Also, exceptions are logged to the console, but otherwise go unnoticed by Mori and the user.</p>
<p><strong>Corrective Measures:</strong> Extend the runtime monitoring and browsing tools. Rewrite the crash reporting mechanism to activate when the application terminates. Add an exception handler which sends reports back. Develop proper high-level debugging tools for Objective-C, the UI, CoreData and Bindings. Coding takes place at a higher level. Debugging should be at least at that same level. <em>-fobjc-gc</em> exists for a reason. Take advantage of it!
</p>
</li>
<li><strong>The build process is inconsistent, confused and unstable.</strong><br />
The various plugins&#8217; build settings aren&#8217;t consistent. Extraneous resources (images, sounds, etc.) are stored in the nibs. At times the build directory must be purged for a functioning executable to be built.</p>
<p><strong>Corrective Measures:</strong> A Build Settings Table has already been prepared and Mori and its plugins have had their settings documented. The settings for the Blocks plugins has yet to be documented. The effect of some settings has to be determined, which can then be propagated to the targets as appropriate. The project file should be purged of duplicated actions, unnecessary references, etc.
</p>
</li>
<li><strong>Debugging Mori when it&#8217;s used for normal work results in too much human activity thrashing.</strong><br />
Because the debug and test versions use the same preferences/file settings, the release version used for normal work had to be exited to avert data corruption in the notebooks.</p>
<p><strong>Corrective Measures:</strong> This issue was resolved with the Oneill branch. However, that uses a separate target to achieve its distinction. Some means of specifying a special bundle id for the debug and test builds must be developed to accomplish a similar effect, perhaps through preprocessing the Info.plist.</p>
</li>
<li><strong>Checklists are great</strong><br />
Being able to state that processes are being followed, builds are complete, and updates were released correctly, is great.</p>
<p><strong>Corrective Measures:</strong> Checklists are great, but scripted procedures are better. Automate as much of every process as possible.
</p>
</li>
<li><strong>To-Do lists, Getting Things Done (GTD), or whatever Time Management activity that is put into practice definitely helps.</strong><br />
I&#8217;ve got the <a href='http://www.davidco.com/store/catalog/Getting-Things-Done-Abridged-CD-p-16179.php'>audio book</a>. Mori&#8217;s got the <a href='http://apokalypsesoftware.com/products/node/2243'>plugin</a>. I&#8217;ve got <a href='http://hogbaysoftware.com/products/taskpaper'>Taskpaper</a>, too. I&#8217;ve got a Handspring <a href='http://www.palm.com/us/support/visor/visoredge/'>Visor Edge</a> and its Palm Desktop software. Something, anything, that helps track tasks that need to be done so nothing falls between the cracks is a plus. They are effective at keeping things moving forward, but I&#8217;m not efficient at it and a lot of discipline and effort must be used to keep moving things forward.<br />
<strong>Corrective Measure:</strong> I used TaskPaper to handle the tracking during this hectic period. I&#8217;ve got a blog entry in preparation, but basically, I found it a great way to get into the GTD system due to its simple interface. I must continue developing my understanding of this system to manage my activities, and see about getting the various software/devices integrated better.</li>
</ol>
<p />
<p />
<h2>Next Batch of Changes</h2>
<p>I&#8217;ve already begun work on v1.6.8: Improved checking and repair functionality for notebooks. <em>Correct</em> Italian localization, thanks to Mario Pettenghi. The code for the Blocks framework will be tweaked so it compiles without triggering warnings (e.g., unused parameters, missing prototype, etc.). Additional unit testing for the UI, and refactoring of UI code.</p>
<p>These improvements to the code will set up the continuation of progress for v1.7, which should then be ready during the holidays. At least that&#8217;s the current goal.</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2007/11/27/79/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The 21st century has barely started, and I&#8217;m already wishing it would end</title>
		<link>http://apokalypsesoftware.com/blog/2007/11/13/72/</link>
		<comments>http://apokalypsesoftware.com/blog/2007/11/13/72/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 13:20:54 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[mori]]></category>

		<category><![CDATA[mox]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://apokalypsesoftware.com/blog/2007/11/13/72/</guid>
		<description><![CDATA[Even after releasing two updates to the same app in as many days, there are still unresolved, critical issues that have to be corrected. I&#8217;m attempting to get the toolbar items and empty windows bugs fixed in Tiger, and solve some of the more blatant of the Leopard issues.
Speaking of which, I hate Leopard. It [...]]]></description>
			<content:encoded><![CDATA[<p>Even after releasing two updates to the same app in as many days, there are still unresolved, critical issues that have to be corrected. I&#8217;m attempting to get the toolbar items and empty windows bugs fixed in Tiger, and solve some of the more blatant of the Leopard issues.</p>
<p>Speaking of which, I hate Leopard. It froze while I was away from my machine. Don&#8217;t just put lipstick on a pig and tell me it&#8217;s a healthier beast. Get a healthier beast.</p>
<p>Stacks? Pretty. (At least the grid layout. The arc toss is a hurler.) I can&#8217;t navigate through nested folders with it though. Less functional. Would I rather have prettier than less functional? Definitely not in this case.</p>
<p>So I rebooted into Tiger and answered some emails. I&#8217;m going to see if Thunderbird (yes, I don&#8217;t use Mail.app for real email) will allow me to link to its database in the Library (~/Library/Thunderbird) or whether it&#8217;s yet another example of me wanting to be so unconventional that I can&#8217;t get tools to do what I want.</p>
<p>Then I&#8217;ll head back into Leopard and add some more unit tests and debugging and hopefully get a stable update into users&#8217; hands by morning. I&#8217;m hoping the debug suffix works better for me in Leopard than Tiger&#8217;s did.</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2007/11/13/72/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Well, That Didn&#8217;t Take Long!</title>
		<link>http://apokalypsesoftware.com/blog/2007/06/12/41/</link>
		<comments>http://apokalypsesoftware.com/blog/2007/06/12/41/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 20:27:29 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[entrepreneurism]]></category>

		<category><![CDATA[marketing]]></category>

		<category><![CDATA[mox]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://apokalypsesoftware.com/blog/2007/06/12/41/</guid>
		<description><![CDATA[So it turns out the announcements were not as spectacular as we had hoped for. A lot of the keynote was in fact a repeat of last year&#8217;s. What was new was the disclosure that EA and id were developing new games for the Mac, Safari was going to be available on the Windows platform, [...]]]></description>
			<content:encoded><![CDATA[<p>So it turns out the <a href="http://events.apple.com.edgesuite.net/d7625zs/event/">announcements</a> were not as spectacular as we had hoped for. A lot of the keynote was in fact a repeat of <a href="http://www.apple.com/quicktime/qtv/wwdc06/">last year&#8217;s</a>. What was new was the disclosure that EA and id were developing new games for the Mac, Safari was going to be available on the Windows platform, and that XHTML/AJAX was the API for the iPhone.</p>
<p>Very underwhelming. Very un-spectacular. And very significant.</p>
<p>Gaming for Mac gives less cause for users to run Windows on Mac hardware.</p>
<p>Safari for Windows gives more reason for web developers to support the lowly Mac user, who could otherwise be ignored.</p>
<p>And XHTML/AJAX, or <a href="http://en.wikipedia.org/wiki/Web_2">Web2.0</a>, means that the iPhone has no significant programming hurdle for users. You could write up a simple iPhone app using Safari on your Mac or PC, and download it to your iPhone when it&#8217;s ready. You could even tweak other apps to your liking. Perhaps Apple will be motivated to release DashCode for Windows as well. But it just goes to show that <a href="http://apokalypsesoftware.com/blog/2007/05/24/38/">scripting has already won</a>.</p>
<p>It will also inhibit the adoption of Microsoft&#8217;s PopFly!, Silverlight, Adobe&#8217;s AIR, and other proprietary &#8220;solutions&#8221; to ubiquitous, networked apps.</p>
<p>It also means the iPhone has no significant programming differentiator from any other platform. Thus, whatever apps you write for the iPhone will operate with minor modification on the Nokia N90, which also has an embedded WebKit.</p>
<p>And, finally, it means my plans are not only safe, but will carry more weight than I thought.</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2007/06/12/41/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Some Exciting News Is&#8230;In a Holding Pattern</title>
		<link>http://apokalypsesoftware.com/blog/2007/06/10/40/</link>
		<comments>http://apokalypsesoftware.com/blog/2007/06/10/40/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 04:09:53 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[corporate]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[marketing]]></category>

		<guid isPermaLink="false">http://apokalypsesoftware.com/blog/2007/06/10/40/</guid>
		<description><![CDATA[There was an alpha released last week, and an announcement due this week. However, due to some minor distraction, the news will be postponed for a week and we&#8217;ll just release a beta or two instead. Hopefully, that will be sufficient to adjust for any unexpected &#8220;secret features&#8221;.
]]></description>
			<content:encoded><![CDATA[<p>There was an alpha released last week, and an announcement due this week. However, due to some <a href="http://www.apple.com/wwdc">minor distraction</a>, the news will be postponed for a week and we&#8217;ll just release a beta or two instead. Hopefully, that will be sufficient to adjust for any unexpected <a href="http://blogs.zdnet.com/Apple/?p=259">&#8220;secret features&#8221;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2007/06/10/40/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Old Media Still Doesn&#8217;t Get the IntarWebs</title>
		<link>http://apokalypsesoftware.com/blog/2007/04/13/32/</link>
		<comments>http://apokalypsesoftware.com/blog/2007/04/13/32/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 21:44:46 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[corporate]]></category>

		<category><![CDATA[entrepreneurism]]></category>

		<category><![CDATA[marketing]]></category>

		<guid isPermaLink="false">http://www.apokalupse.com/blog/2007/04/13/32/</guid>
		<description><![CDATA[Neither, it appears, do New Media folks.
]]></description>
			<content:encoded><![CDATA[<p>Neither, it appears, do <a href="http://gigaom.com/2007/04/11/five-lessons-from-the-photobucket-fiasco/">New Media</a> folks.</p>
<p>Here&#8217;s <a href="http://www.vicokezie.com/photobucket-vs-myspace-version-20.htm">one</a> who does, though. (This lesson may also apply to developers tied too closely to the Mac platform.)</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2007/04/13/32/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Not-So-Agile Apple Train Jumps Its Tracks</title>
		<link>http://apokalypsesoftware.com/blog/2007/04/13/33/</link>
		<comments>http://apokalypsesoftware.com/blog/2007/04/13/33/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 15:24:23 +0000</pubDate>
		<dc:creator>huperniketes</dc:creator>
		
		<category><![CDATA[apple]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[mox]]></category>

		<category><![CDATA[process improvement]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.apokalupse.com/blog/2007/04/13/33/</guid>
		<description><![CDATA[Apple knows it has a process problem. Steve discussed only the AppleTV and iPhone during his MacWorld 2007 keynote.
]]></description>
			<content:encoded><![CDATA[<p>Apple, fresh from delivering AppleTV and in the middle of pushing iPhone out the door, has announced a delay in the planned shipping date of October 2007 for Mac OS X (MOX).</p>
<p>While <a href="http://www.red-sweater.com/blog/321/leopard-isnt-the-problem">some</a> <a href="http://www.macsupport.ca/2007/04/13/aftermath-of-the-leopard-delay/">bloggers</a><a> </a><a href="http://pixelinvader.com/2007/04/leopard-os-release-delayed/">denounce</a> Apple&#8217;s <a href="http://www.apple.com/hotnews/">claim</a> as <a href="http://www.appleinsider.com/articles/07/04/13/top_secret_features_suspect_in_apples_leopard_delay.html">deceitful</a> (there isn&#8217;t even an entry in its press releases, only a statement for April 12, 2007 on the Hot News page), I&#8217;d say it&#8217;s more likely a half- (or less) truth. There are plenty of causes for MOX&#8217;s delay.</p>
<p>Apple knows it has a process problem. Steve discussed only the AppleTV and iPhone during his MacWorld 2007 keynote.</p>
<p>Apple has a huge backlog of duplicate and unresolved bugs in its radar database. My own entry is #3665065, entered on 23-May-2004 12:26 AM and still open.</p>
<p>Apple doesn&#8217;t eat <a href="https://developer.apple.com/leopard/overview/tools.html">its</a> <a href="http://developer.apple.com/documentation/developertools/Conceptual/UnitTesting/UnitTesting.html">own</a> <a href="http://www.apple.com/macosx/features/ichat/">dogfood</a>.</p>
<p>Apple doesn&#8217;t have enough bodies to handle its current plans. Here&#8217;s a listing of the groups with current software engineering needs from a recent job posting:</p>
<blockquote><p>The following teams at Apple are now hiring: </p>
<p>- X Grid<br />
- Core OS<br />
- File Systems<br />
- Build and Integration<br />
- Kernel Development<br />
- Vector Numerics<br />
- Java<br />
- Networking<br />
- QuickTime<br />
- Compiler<br />
- User Interface<br />
- Graphics and Imaging<br />
- Frameworks<br />
- Security<br />
- Localization and Release Engineering<br />
- Core Audio<br />
- Video Codec<br />
- Desktop Management Solutions
</p></blockquote>
<p>On top of that, the Professional Audio, Professional Video, FileMaker, Desktop Apps (incl. iTunes), Interactive Media, iTunes Store, iPod, AppleTV and other teams I wouldn&#8217;t even guess about need developers to develop products currently on the market as well as future goodies and you can see why Apple&#8217;s in the pickle it&#8217;s in.</p>
<p>After working to release AppleTV and iPhone with their own variants of MOX, the Leopard team most likely has to reintegrate those branches back into the main branch. As a bonus, they will most likely develop some inability to let you <a href="http://www.engadget.com/2007/03/31/apple-tv-running-full-version-of-os-x/">run an AppleTV as a standalone MOX system</a> in the future and cripple the iPhone&#8217;s OS to prevent that sort of thing as well.</p>
<p>There are serious scope and process issues within Apple&#8217;s development groups. Do not expect a speedy resolution.</p>
<p><strong>[Update - 2007-04-20]</strong> Here&#8217;s <a href="http://buzz.vox.com/library/post/leaving-apple.html">another</a> loss to one of Apple&#8217;s product teams. His story is far more indicative of Apple&#8217;s problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://apokalypsesoftware.com/blog/2007/04/13/33/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
