<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkEDSHk8eCp7ImA9WxBWEk4.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438</id><updated>2010-02-03T12:57:59.770-08:00</updated><title>Programmatic Magic</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.programmaticmagic.com/" /><author><name>JB</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ProgrammaticMagic" /><feedburner:info uri="programmaticmagic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0UGQHwyfyp7ImA9WxJUFEU.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-2184659788572800062</id><published>2009-07-12T23:56:00.000-07:00</published><updated>2009-07-13T05:47:01.297-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-13T05:47:01.297-07:00</app:edited><title>Pastemaster released</title><content type="html">Mere weeks after I submitted Pastemaster for approval to Apple, it is now available in the App Store. Pastemaster is a pasteboard (clipboard) manager for end users and developers alike. It provides simple tools to save and load pasteboards, but it also offers advanced functionality to examine its contents. The website will soon be updated to reflect this new release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-2184659788572800062?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/49OnKXZWoU4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/2184659788572800062/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/07/pastemaster-released.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/2184659788572800062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/2184659788572800062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/49OnKXZWoU4/pastemaster-released.html" title="Pastemaster released" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/07/pastemaster-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkABR3kyeip7ImA9WxJUEks.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-5641405309289549848</id><published>2009-07-10T14:16:00.000-07:00</published><updated>2009-07-10T14:19:16.792-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-10T14:19:16.792-07:00</app:edited><title>Introducing ObjectiveMagic</title><content type="html">The wait is over! (I hope there was someone waiting for this.. someone?) I have created a Google Code project and released the first version of ObjectiveMagic. It includes a bunch of classes under a liberal license. And there is more on the way! &lt;br /&gt;&lt;br /&gt;So check out &lt;a href="http://code.google.com/p/objectivemagic"&gt;http://code.google.com/p/objectivemagic&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-5641405309289549848?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/ieIv-qUTaEo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/5641405309289549848/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/07/introducing-objectivemagic.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5641405309289549848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5641405309289549848?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/ieIv-qUTaEo/introducing-objectivemagic.html" title="Introducing ObjectiveMagic" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/07/introducing-objectivemagic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQMR387eyp7ImA9WxJUEU4.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-3882574322848400354</id><published>2009-07-09T02:30:00.000-07:00</published><updated>2009-07-09T02:39:46.103-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-09T02:39:46.103-07:00</app:edited><title>Montage 3 and new website design</title><content type="html">Long time, no see. I have been extremely busy lately, but Montage 3 has been awaiting approval for more than 3 weeks, and now it is finally available! Let's see what's new:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;- Save and load montages&lt;br /&gt;- Multiple resolutions, landscape support&lt;br /&gt;- In-app e-mail support, no need to upload your image&lt;br /&gt;- Paste images into your montage&lt;br /&gt;- Access thousands of public domain imagery trough the Open Clipart Library&lt;br /&gt;- Insert previous montages into your current composition&lt;br /&gt;- Improved performance, reduced crashes&lt;br /&gt;- Flatten your montage when it starts to slow down (merge layers to conserve memory and avoid crashes)&lt;br /&gt;- Improved color picker, pick your color on a Hue-Saturation-Brightness visual color picker&lt;br /&gt;- Improved built-in help&lt;br /&gt;- Set the style of the box of your text - rectangle, rounded rectangle or outline&lt;br /&gt;- Selected fonts and colors are now saved and persistent across application launches&lt;br /&gt;- Auto-save reliability improved&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It's quite a big update, but to take it one step further, you can get is for just $0.99 in the next two days. So hurry up!&lt;br /&gt;&lt;br /&gt;The website also got redesigned. I hope you like it! There is a new Open Source section as I will be releasing some classes I found useful in more than one application. I still have to clean up the code, but they should be available in a week or two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-3882574322848400354?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/eqSLBU_ag1Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/3882574322848400354/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/07/montage-3-and-new-website-design.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/3882574322848400354?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/3882574322848400354?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/eqSLBU_ag1Y/montage-3-and-new-website-design.html" title="Montage 3 and new website design" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/07/montage-3-and-new-website-design.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0INRn0_cCp7ImA9WxJXGU0.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-5153399573445577413</id><published>2009-06-13T07:56:00.000-07:00</published><updated>2009-06-13T08:06:37.348-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-13T08:06:37.348-07:00</app:edited><title>Developer humor</title><content type="html">&lt;blockquote&gt;&lt;/blockquote&gt;I recently did a class-dump of UIKit library, and found a little message from the developers at Apple:&lt;br /&gt;&lt;blockquote&gt;@interface UIViewController (UIViewControllerClassDumpWarning)&lt;br /&gt;- (void)attentionClassDumpUser:(id)fp8 yesItsUsAgain:(id)fp12 althoughSwizzlingAndOverridingPrivateMethodsIsFun:(id)fp16 itWasntMuchFunWhenYourAppStoppedWorking:(id)fp20 pleaseRefrainFromDoingSoInTheFutureOkayThanksBye:(id)fp24;&lt;br /&gt;@end&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;It's good to know they have a sense of humor.&lt;br /&gt;&lt;br /&gt;BTW the next version of Montage is almost ready, it will be released sometime after the release of the 3.0 software update. I am currently fixing bugs, and there is a nasty one which I couldn't figure out: UITableViewController releases its view when a memory warning comes, and when it reloads it, the contents of the table start below the UINavigationBar (which is translucent). I was looking for a way to to disable this behavior when I came across this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-5153399573445577413?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/M2_BXHtuGL0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/5153399573445577413/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/06/developer-humor.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5153399573445577413?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5153399573445577413?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/M2_BXHtuGL0/developer-humor.html" title="Developer humor" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/06/developer-humor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDQHg8eSp7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-1392829667872685056</id><published>2009-05-22T12:36:00.000-07:00</published><updated>2009-05-22T14:41:11.671-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:41:11.671-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="News" /><title>It's been three months already!</title><content type="html">I started developing for the iPhone 3 months ago. I think it's time to write something about my experiences.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;About the technical part&lt;/u&gt;&lt;br /&gt;Many programming languages advertise themselves as simple and easy-to-use. Well, Objective-C is not one of them. Most languages start out as simple, and become increasingly difficult over time. Objective-C is hard to begin with - when I first started writing code in it, it was ugly, unreadable, and totally worthless. But over time it became simpler. &lt;span style="font-weight: bold;"&gt;It starts to show its beauty after long hours of coding.&lt;/span&gt; I never thought I would drop C# as my weapon of choice, but Objective-C has shown me a new world. Maybe it's just me getting better in general (I hope). But I must say that Objective-C impressed me, and if you see learning it as a barrier, you should know: it is absolutely worth the time invested.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;About Apple&lt;/u&gt;&lt;br /&gt;I'm no fanboy. I tend to look at things objectively. I do not think that Apple products are superior - in fact I do not think superior products exist. My experience is that &lt;span style="font-weight: bold;"&gt;their support staff is nice and helpful&lt;/span&gt;, even responsive - if they respond. Once you got in touch with them, you are in tech support heaven. But sometimes, they do no respond, or they send you some standard reply.&lt;br /&gt;Their way of doing things can also be annoying (and I am not talking about being unable to maximize windows, I have learned to live with that). In the beginning, paperwork was tedious, and most of the time I had to rely on forums and blogs to help me out with some details. iTunes connect is slow as hell (more on that later). Approval policies are strange (so far my only problem was that I mentioned in my application description that blurry images on some devices is an OS bug - they didn't like that). But overall, I think they are better than most companies. And these annoyances are most likely necessary when you have to deal with so many users and developers.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;About sales and reviews&lt;/u&gt;&lt;br /&gt;Before I get to the numbers, there are some important conclusions to make. First of all: as the number of applications approach 30000, you have to chances: invest in marketing, or update regularly. It is all about visibility. If people can't find your product, they won't buy it. Being in Top100 lists also help. I have seen developers pushing out updates with descriptions like "Minor tweaks". I can't help it, but I think this actually means "I moved a few methods around, so Apple won't notice that this is essentially the same product". I always try to add additional features, or at least fix bugs whenever I release a new version.&lt;br /&gt;I also noticed that some applications have glowing reviews minutes after they are released - I wonder why these comments have perfect wording, sometimes even ridiculous claims that remind me of this &lt;a href="http://www.amazon.com/gp/product/B000NZW3IY"&gt;T-shirt&lt;/a&gt;. What I noticed is that the number of reviews and the number of downloads correlate best when there is a huge problem with your application. And &lt;span style="font-weight: bold;"&gt;most reviews are very like YouTube comments.&lt;/span&gt; I have seen some that are just a bunch of random characters.&lt;br /&gt;Also, people tend to request new features in their reviews - and proceed to give your app a 1-star review to get your attention or because they miss a feature you never advertised. And the worst part: you include the feature they want, and then they forget about the review. It stays there, in all its one-start glory, while the feature they wanted is implemented, documented, advertised and in the end forgotten about.&lt;br /&gt;&lt;br /&gt;So let's review sales numbers! I am going to show you some charts, but first, let's review my portfolio:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306223674&amp;mt=8"&gt;&lt;u&gt;MovingBoxes&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;My first application. Okay, that sounds pretty bad. It doesn't have a fancy name, and it is a very simple game. It wasn't even my idea - but it is fun and addictive. It is also pretty much forgotten, has some glowing reviews, and was downloaded only occasionally before I made it free for a weekend. The free spike was pretty significant, then it was forgotten again.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306225678&amp;amp;mt=8"&gt;&lt;u&gt;PolySolve&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;I never expected this one to sell well. It was more like a proof-of-concept, an application very few can actually appreciate. It solves polynomial equations with the Newton method. On good days, 2-3 copies are sold.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307408378&amp;amp;mt=8"&gt;&lt;u&gt;Montage&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;My first serious application. Updated frequently, and with nice sales numbers - compared to the other applications. I have one thing to confess about this application: two weeks after I released it, I noticed that a similar application, Collage has already been in the store for quite some time. Of course you have every reason to believe that I just copied the idea, but to be honest, I didn't know it existed when I developed Montage. (Always do your market research. I searched for montage, but never for collage. As you must have noticed - if not, I am very happy - I am not a native English-speaker, and I just didn't think about the other word.)&lt;br /&gt;Montage went trough quite a few updates, it was restructured and rewritten many times, and I think it is one of the most powerful photography apps out there.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=312713580&amp;amp;mt=8&amp;amp;uo=6"&gt;&lt;u&gt;Scissors&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;When shapes were introduced in Montage, I though you could use the same interface to crop photos. (Okay, I know, I'm cheap - I just recycled some code.) It is quite easy to use, but 1.0 had a huge bug, it couldn't handle image orientations correctly, so I made it free for a while, and eventually fixed the bug. While it was free, it was downloaded 7000 times.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=314957410&amp;amp;mt=8&amp;amp;uo=6"&gt;&lt;u&gt;Montage Lite&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;After I saw how much better free apps sell, I released a Lite version for Montage. The model worked, but I have yet to see the long term effects.&lt;br /&gt;&lt;br /&gt;So let's see some graphs! This first one shows overall sales for the past month or so. I do not have detailed data from before that, as I started using AppViz around that time. (It is a fantastic application. I still have a few days from the trial, but once I get my money from Apple, it will be the first thing I buy)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_blz9wnCLpmM/ShcVrUEcnaI/AAAAAAAAAJ8/nMIh0KLOguQ/s1600-h/overall.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 268px;" src="http://3.bp.blogspot.com/_blz9wnCLpmM/ShcVrUEcnaI/AAAAAAAAAJ8/nMIh0KLOguQ/s400/overall.png" alt="" id="BLOGGER_PHOTO_ID_5338759717136932258" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;That is not very informative, is it? As you can see, free application sales greatly outnumber paid ones. So let's break it down. Th next one details the sales numbers before I started making my apps free:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_blz9wnCLpmM/ShcWeWURrMI/AAAAAAAAAKE/SuAvV_tkdb8/s1600-h/ancient.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 269px;" src="http://4.bp.blogspot.com/_blz9wnCLpmM/ShcWeWURrMI/AAAAAAAAAKE/SuAvV_tkdb8/s400/ancient.png" alt="" id="BLOGGER_PHOTO_ID_5338760593913523394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Spikes are updates. PolySolve had its best day on May 3 with 4 applications sold. And that was when I started experimenting with making applications free for a while. I had little to loose, and even less to gain :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_blz9wnCLpmM/ShcXYRCbCcI/AAAAAAAAAKM/e2tENu3YFRs/s1600-h/freetimes.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_blz9wnCLpmM/ShcXYRCbCcI/AAAAAAAAAKM/e2tENu3YFRs/s400/freetimes.png" alt="" id="BLOGGER_PHOTO_ID_5338761588928874946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Only if these were paid sales... Still, when I started developing, I said if I make 100 bucks, I made money. And that goal was met within days.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Conclusions&lt;/u&gt;&lt;br /&gt;I would probably do much better if I had more money for marketing. Then again, I am happy with these results. I am working on a lot of things at once - iPhone development being one of them - and this one at least pays :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-1392829667872685056?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/Zgpl6TP6RFg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/1392829667872685056/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/05/its-been-three-months-already.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/1392829667872685056?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/1392829667872685056?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/Zgpl6TP6RFg/its-been-three-months-already.html" title="It's been three months already!" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_blz9wnCLpmM/ShcVrUEcnaI/AAAAAAAAAJ8/nMIh0KLOguQ/s72-c/overall.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/05/its-been-three-months-already.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFSXcyfip7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-4091652802743341050</id><published>2009-05-16T01:47:00.000-07:00</published><updated>2009-05-22T14:40:18.996-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:40:18.996-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Montage Lite now available</title><content type="html">Apple finally approved the Lite version of Montage! It's free, so if you haven't purchased Montage yet, this is a great opportunity to try it. It was hard to decide what to leave out.&lt;br /&gt;The Lite version has the same interface for manipulating your montage. You can still combine an unlimited number of images. The Shape, Frame, and Text functions were removed however. Your work isn't auto-saved either. But the basics are all there, so I think even the Lite version is a fully functional application.&lt;br /&gt;Go ahead, try it, and if you like it, consider purchasing the full version!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-4091652802743341050?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/_1GGf1VSBGY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/4091652802743341050/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/05/montage-lite-now-available.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/4091652802743341050?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/4091652802743341050?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/_1GGf1VSBGY/montage-lite-now-available.html" title="Montage Lite now available" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/05/montage-lite-now-available.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFSXcyfip7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-6749537661078534008</id><published>2009-05-15T02:51:00.000-07:00</published><updated>2009-05-22T14:40:18.996-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:40:18.996-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>MovingBoxes free till Sunday</title><content type="html">Okay, so MovingBoxes didn't sell so well. It is a simple yet nice game, with positive feedback, but with zero publicity. So let's try something different. I am going to give it away for the next 3 days for free. So go ahead, try it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-6749537661078534008?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/NL0fo3TkaK0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/6749537661078534008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/05/movingboxes-free-till-sunday.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/6749537661078534008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/6749537661078534008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/NL0fo3TkaK0/movingboxes-free-till-sunday.html" title="MovingBoxes free till Sunday" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/05/movingboxes-free-till-sunday.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFSXcyfip7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-8548081139509292695</id><published>2009-05-08T11:51:00.000-07:00</published><updated>2009-05-22T14:40:18.996-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:40:18.996-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Scissors</title><content type="html">There is one application I have had on sale for a while, but have never mentioned here: &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=312713580&amp;amp;mt=8&amp;amp;uo=6"&gt;Scissors&lt;/a&gt;. It is an offspring of Montage - it uses the same interface used in rectangular shape mode. It is a simple and easy to use image crop application, for 0.99$.&lt;br /&gt;&lt;br /&gt;When Scissors was released, there was a download spike, then a huge drop in interest as 1-star reviews started to flow in, all complaining about blurry images. I assumed it is the well known bug in the iPhone OS, and it made the application apparently useless. I decided to experiment a bit: I made it free today, and the feedback I have received since was mostly positive: the application just worked. So what could have happened?&lt;br /&gt;It was so obvious. I don't know how could I miss it. People were simply unaware that you can't zoom images indefinitely. Interpolation caused blurriness, and they thought it was my application's problem.&lt;br /&gt;&lt;br /&gt;I am going to continue giving away Scissors until Sunday. So if you are interested, it is now risk-free to try it out. I am also thinking about posting some sales numbers about the last few months. Maybe after Apple decides to approve my newest submission. (What could it be? I am going to keep it a secret till then.)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=312713580&amp;amp;mt=8&amp;amp;uo=6"&gt;iTunes link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: Well, it turns out there was a bug involved as well. The app would screw up when you tried to crop certain images, producing not blurry, but distorted results. It is now fixed, and the update is on its way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-8548081139509292695?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/5RJ6Yj74O-U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/8548081139509292695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/05/scissors.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/8548081139509292695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/8548081139509292695?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/5RJ6Yj74O-U/scissors.html" title="Scissors" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/05/scissors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFSXcyfip7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-3207351664614266367</id><published>2009-04-28T22:39:00.000-07:00</published><updated>2009-05-22T14:40:18.996-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:40:18.996-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Montage 2.0</title><content type="html">2.0 is here! It took longer than usual for Apple to approve it, but it is finally available in the App Store. So lets see what's new!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Rearrange your montage&lt;/u&gt;&lt;br /&gt;I read the reviews. I always try to implement functionality people wants. This, however, was especially hard to do, but I think the end result is fantastic. You still manipulate only one image at a time - but now you can switch between them! You can bring elements to front, set their transparency, etc.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Add text&lt;/u&gt;&lt;br /&gt;Wanna put a big red FAIL on that image you just took? No problem! Montage now supports adding formatted text to your composition.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Auto-save&lt;/u&gt;&lt;br /&gt;If you have to exit, your work is saved. Next time, you can continue at the exact same point. Even if the application (heavens forbid!) crashes, there is a good chance your work is unharmed.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;E-mail support&lt;/u&gt;&lt;br /&gt;You can now upload your image to ImageShack, and have the link sent by e-mail. All in one tap.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Stability&lt;/u&gt;&lt;br /&gt;The new version handles memory management much more aggressively. The previous versions were stable enough, but this one should be even more crash-free.&lt;br /&gt;&lt;br /&gt;Go ahead and try it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-3207351664614266367?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/BMMXXRKAZ4Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/3207351664614266367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/04/montage-20.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/3207351664614266367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/3207351664614266367?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/BMMXXRKAZ4Y/montage-20.html" title="Montage 2.0" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/04/montage-20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMCRXY9cSp7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-5115131987474067565</id><published>2009-04-21T04:32:00.000-07:00</published><updated>2009-05-22T14:41:04.869-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:41:04.869-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="News" /><title>The trouble with updates</title><content type="html">I won't say that Apple's rigorous review and approval process is unnecessary, but one thing is clear: there is still a lot of room to improve. When the current version of Montage was released, I noticed a few small bugs, so I almost immediately submitted a minor update - which hasn't been approved yet. However, by now, a new, major update is ready to be submitted, and I cannot submit it, because the old one is not yet approved. If I cancel the old update, the version numbers won't match - I have read about this on other sites. So I am stuck until they decide it would be nice to approve that about 6 lines of code change I submitted last week. This is annoying!&lt;br /&gt;&lt;br /&gt;BTW, I will post more about this new version soon, as it contains fundamental changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-5115131987474067565?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/Tr08GWgsNCg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/5115131987474067565/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/04/trouble-with-updates.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5115131987474067565?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5115131987474067565?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/Tr08GWgsNCg/trouble-with-updates.html" title="The trouble with updates" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/04/trouble-with-updates.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDQHg8eSp7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-6418471982379904443</id><published>2009-04-03T12:43:00.000-07:00</published><updated>2009-05-22T14:41:11.671-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:41:11.671-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Get in shape</title><content type="html">UPDATE: The new version has been approved by Apple. You can get it &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307408378&amp;mt=8"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It has been quiet around here, at least for the past few days. But rest assured, the new version of Montage has just been submitted. (It's in Apple's hands now. The sooner they approve it, the better.) It was a tough week, but I have managed to pack some amazing features into this release. So let's see what's new!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Shapes&lt;/u&gt;&lt;br /&gt;The major new feature this time is the introduction of shapes. When you pick a photo, you are taken to a new screen, where you can cut out a piece of your image and add it to your montage. Basically, you set the shape, and you can manipulate the underlying image the same way you always do: using multi-touch. This is how it looks:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_blz9wnCLpmM/SdZpNFpmKDI/AAAAAAAAAJI/MGvZIJdqESE/s1600-h/Screenshot+2009.04.03+21.49.44.png"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_blz9wnCLpmM/SdZpNFpmKDI/AAAAAAAAAJI/MGvZIJdqESE/s200/Screenshot+2009.04.03+21.49.44.png" alt="" id="BLOGGER_PHOTO_ID_5320555683360679986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_blz9wnCLpmM/SdZpWwQ2HiI/AAAAAAAAAJQ/BFqtGqcix-A/s1600-h/Screenshot+2009.04.03+21.50.06.png"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_blz9wnCLpmM/SdZpWwQ2HiI/AAAAAAAAAJQ/BFqtGqcix-A/s200/Screenshot+2009.04.03+21.50.06.png" alt="" id="BLOGGER_PHOTO_ID_5320555849418415650" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_blz9wnCLpmM/SdZpjL18O9I/AAAAAAAAAJY/mV-JdJkOd3g/s1600-h/Screenshot+2009.04.03+21.50.27.png"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_blz9wnCLpmM/SdZpjL18O9I/AAAAAAAAAJY/mV-JdJkOd3g/s200/Screenshot+2009.04.03+21.50.27.png" alt="" id="BLOGGER_PHOTO_ID_5320556062980193234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;And the best thing about this: frames work with these new shapes (even for freehand ones!)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_blz9wnCLpmM/SdZp1Osk96I/AAAAAAAAAJg/JRHGg9GNelI/s1600-h/Screenshot+2009.04.03+21.50.49.png"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://1.bp.blogspot.com/_blz9wnCLpmM/SdZp1Osk96I/AAAAAAAAAJg/JRHGg9GNelI/s200/Screenshot+2009.04.03+21.50.49.png" alt="" id="BLOGGER_PHOTO_ID_5320556372983871394" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And this is how freehand mode looks like:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_blz9wnCLpmM/SdZsai9gAHI/AAAAAAAAAJw/f8A0DjgsJUo/s1600-h/Screenshot+2009.04.03+21.51.58.png"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://3.bp.blogspot.com/_blz9wnCLpmM/SdZsai9gAHI/AAAAAAAAAJw/f8A0DjgsJUo/s200/Screenshot+2009.04.03+21.51.58.png" alt="" id="BLOGGER_PHOTO_ID_5320559213101973618" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;A workaround some may appreciate (and some may find useless)&lt;/u&gt;&lt;br /&gt;There has been a lot of complaints about blurry images in all photography applications. This is not an application bug: something goes wrong when the picture is saved. (Actually, only the preview is affected, the full image is fine.) I have tried to include some workarounds, but your mileage may vary. Please don't blame me if it doesn't work!&lt;br /&gt;&lt;br /&gt;As you can see, Montage keeps improving, and I still have some ideas for future updates, so stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-6418471982379904443?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/yxJAJi5Z_pc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/6418471982379904443/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/04/get-in-shape.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/6418471982379904443?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/6418471982379904443?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/yxJAJi5Z_pc/get-in-shape.html" title="Get in shape" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_blz9wnCLpmM/SdZpNFpmKDI/AAAAAAAAAJI/MGvZIJdqESE/s72-c/Screenshot+2009.04.03+21.49.44.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/04/get-in-shape.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDQHg8eSp7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-8345479979774917737</id><published>2009-03-16T05:38:00.000-07:00</published><updated>2009-05-22T14:41:11.671-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:41:11.671-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Updates ahead</title><content type="html">Just to let you know, both Montage and MovingBoxes will receive an update in the near future (it is now being reviewed by Apple), so stay tuned.&lt;br /&gt;&lt;br /&gt;UPDATE: The updates are out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-8345479979774917737?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/HR9lptnqGL0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/8345479979774917737/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/updates-ahead.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/8345479979774917737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/8345479979774917737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/HR9lptnqGL0/updates-ahead.html" title="Updates ahead" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/updates-ahead.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMDQHg8eSp7ImA9WxJQEE8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-5306580013318435701</id><published>2009-03-11T23:46:00.000-07:00</published><updated>2009-05-22T14:41:11.671-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-22T14:41:11.671-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Montage released</title><content type="html">&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZLajjY_Z3FM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ZLajjY_Z3FM&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="385" width="480"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Montage has been approved! To celebrate this event, I have created a short introductory video (Music courtesy of Matthew Le Blanc)&lt;br /&gt;&lt;br /&gt;Click &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307408378&amp;mt=8"&gt;here&lt;/a&gt; to check it out in iTunes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-5306580013318435701?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/cXBx4khTeVM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/5306580013318435701/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/montage-released.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5306580013318435701?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/5306580013318435701?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/cXBx4khTeVM/montage-released.html" title="Montage released" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/montage-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4GR3w4eip7ImA9WxVVFk0.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-430370849966532491</id><published>2009-03-09T06:37:00.000-07:00</published><updated>2009-03-09T06:55:26.232-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-09T06:55:26.232-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorials" /><title>Step Two, Part Two: Program Portal</title><content type="html">While Apple is busy with the paperwork, you can start enjoying the benefits of being a registered iPhone Developer. Go back to the &lt;a href="http://developer.apple.com/iphone"&gt;Dev Center&lt;/a&gt; to begin.&lt;br /&gt;&lt;br /&gt;Log in with your Apple ID, and you will immediately spot a few new features. You have gained access to the developer forums (still beta, but quite useful), to the bug reporting mechanism, and more importantly, to the &lt;a href="http://developer.apple.com/iphone/manage/overview/index.action"&gt;Program Portal&lt;/a&gt;. This is the place where you manage your developer certificates, your mobile devices, and in case of corporate subscriptions, your team members and their privileges. &lt;br /&gt;&lt;br /&gt;The main function of the site is the management of provisioning and distribution profiles. These are files Xcode uses to sign the code after compilation, which lets you test them on an iPhone or iPod (provisioning profile), or send them to Apple for review and to sell it in the AppStore (distribution profile). To make the process easy, Apple created the Development Provisioning Assistant, which guides you trough the entire process. It didn't work for me for the first time, but I managed to complete it in the end. You will have to create a certificate request in the Keychain Access application, which can be found in the Utilities folder.&lt;br /&gt;&lt;br /&gt;Once you have the profiles, you can just drag them into the Xcode icon on the Dock. This will bring up Organizer, a quite useful application designed to manage your devices and projects. Once the profile is in Organizer, you can add it to the device you registered on the program portal. Once you have done that, you can just do a "Build and Go" in Xcode to test applications on your device. It works just like the simulator. You have access to the same debugging and performance utilities, and you can also read crashlogs in Organizer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-430370849966532491?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/SbNkerFgwkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/430370849966532491/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/step-two-part-two-program-portal.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/430370849966532491?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/430370849966532491?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/SbNkerFgwkA/step-two-part-two-program-portal.html" title="Step Two, Part Two: Program Portal" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/step-two-part-two-program-portal.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHSX07fyp7ImA9WxVVFU8.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-4348938475074459783</id><published>2009-03-08T03:39:00.000-07:00</published><updated>2009-03-08T06:52:18.307-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T06:52:18.307-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorials" /><title>Step Two, Part One: iTunes Connect</title><content type="html">It is best to start with the paperwork, so while you are working on your project Apple has time to process it. Once you have been approved as an iPhone Developer, you gain access to &lt;a href="https://phobos.apple.com/WebObjects/MZLabel"&gt;iTunes Connect&lt;/a&gt;, the page where you will be able to upload your applications and manage your finances and contracts. You can use your Apple ID to log in.&lt;br /&gt;&lt;br /&gt;Before you can sell anything in the AppStore, you have to provide Apple with contact, banking and tax information. There is an option called "Contracts, Tax, &amp;amp; Banking Information" doing just that. I strongly suggest you fill out these forms as soon as possible. I don't know how long the standard wait time is, but I had to wait 3 weeks after these were filled to see my contracts listed as active. You may have to ask your bank about some details in the Banking section, but otherwise both that and the contact info section is pretty straightforward. The Tax section is another matter.&lt;br /&gt;&lt;br /&gt;There are two cases here: you either live in the US or not. If you do, you will have to fill out the form W9 using the iTunes Connect site, and they will do the rest for you. If you do not, you will have to fill out a form called W-8BEN online, but they will send a copy of the form to your e-mail address, and you have to print it, sign it, and mail it. That sucks, so I decided to scan it instead, and sent it to &lt;a href="mailto:iTStax@apple.com"&gt;iTStax@apple.com&lt;/a&gt;. They accepted it within 2 days, and while I cannot guarantee that this will work for you, I prefer electronic mail because of... environmental considerations. There is a certain field on this form that just makes no sense: US taxpayer ID. How am I supposed to have one if I am not a US citizen? I have read that you can get one from IRS, but there is an even simpler solution, which worked for me: fill in 000000000, and mark SSN. If you are an individual developer, you probably only need to mark 9a of the other checkboxes. The form you print will have a "Capacity in which acting" field, you can write Individual or leave it empty (that's what I did). If you are curious, &lt;a href="http://www.irs.gov/pub/irs-pdf/fw8ben.pdf"&gt;this&lt;/a&gt; is how the form looks (from the IRS website).&lt;br /&gt;&lt;br /&gt;Now you will have to wait... I didn't see it mentioned anywhere, but your application won't go on sale until your contracts are active, and it will take anywhere from 2 days to a month to have them activated. So be patient.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-4348938475074459783?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/55ucO95IRjE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/4348938475074459783/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/step-two-part-one-itunes-connect.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/4348938475074459783?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/4348938475074459783?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/55ucO95IRjE/step-two-part-one-itunes-connect.html" title="Step Two, Part One: iTunes Connect" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/step-two-part-one-itunes-connect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04CRXc5eCp7ImA9WxVVFU0.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-313290380033352655</id><published>2009-03-08T03:11:00.000-07:00</published><updated>2009-03-08T03:59:24.920-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T03:59:24.920-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorials" /><title>Step One: Program Application</title><content type="html">To start developing for the iPhone, all you need is a Mac. You have to register at the &lt;a href="http://developer.apple.com/iphone"&gt;iPhone Dev Center&lt;/a&gt;, and then you can download the SDK. But if you plan to do anything serious, and in the end release your works to the AppStore, you will need to become a registered iPhone Developer. This will give you access to some additional material and more importantly it will give you the ability to test you applications on real devices, not just the SDK's simulator.&lt;br /&gt;&lt;br /&gt;First, you have to pay 99$ to "buy" the Developer Program. If you are lucky, and there is an Apple Store in your country, this is a simple credit card transaction. If you are NOT that lucky, you have to contact Apple directly. That is what I had to do. It is a bit slower then just buying it, and they don't accept those cheap electronic credit cards, but the result is the same. You can send them a nice letter using &lt;a href="http://developer.apple.com/contact/"&gt;this&lt;/a&gt; form. Make sure you select "Apple Store not available in my country" as the subject. They will send you a credit card processing form, and you have to fax it to them. If you don't own the credit card, you will have to send a copy of your passport with the form as an alternate form of identification. (The form asks for a follow up number and a enrollment ID, both of which can be found in the e-mail you have received from Apple. Your Person ID can be found at the profile section of the Dev Center.)  It will take some time to process it, so continue with your development until they contact you. The people who helped me trough the transaction were all very helpful and quick to respond, so don't be afraid to ask them if you have any problems.&lt;br /&gt;&lt;br /&gt;But if you are in a country with an Apple Store, you don't have to go trough all this. In the end, it does not matter which path you took, you will receive an activation e-mail from Apple, and by clicking on the code you will officially become an iPhone developer. This is where the fun begins.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-313290380033352655?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/Dn0vtBabKP0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/313290380033352655/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/step-one-program-application.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/313290380033352655?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/313290380033352655?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/Dn0vtBabKP0/step-one-program-application.html" title="Step One: Program Application" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/step-one-program-application.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkABQHg7fyp7ImA9WxJUEU4.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-4708367754350634682</id><published>2009-03-07T14:06:00.000-08:00</published><updated>2009-07-09T02:12:31.607-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-09T02:12:31.607-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>Montage</title><content type="html">&lt;img style="border: 0px none ; margin: 0px auto; display: block; text-align: center; cursor: pointer; width: 460px; height: 250px;" src="http://www.programmaticmagic.com/images/blog/montageblog.png" alt="" border="0" /&gt;&lt;br /&gt;Montage is my latest application, not yet on sale, but being reviewed by Apple right now. It does exactly what its name suggests - creates montages. What makes it pretty cool is that there are no templates or limitations, it is up to you how you lay out your pictures. With your fingers, utilizing the multi-touch interface of your iPhone or iPod, you can resize, rotate and move them, and even add colored frames to them. You can create stunning backgrounds or postcards with a human touch easily. You can see three pictures above that were made using Montage. The materials used are under CreativeCommons licenses, and their attributions can be found &lt;a href="http://www.programmaticmagic.com/attr.html"&gt;here&lt;/a&gt;. And you can also download larger versions in case you want to use them as wallpapers on you iPhone (the app outputs high resolution images - 960x1380, 3 times the resolution of your phone's screen):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_blz9wnCLpmM/SbL1q2znhFI/AAAAAAAAAIQ/ljQPJ89Ge7g/s1600-h/IMG_0152.JPG"&gt;Montage 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_blz9wnCLpmM/SbL15mVVeAI/AAAAAAAAAIY/0fLDUo6UyuY/s1600-h/IMG_0153.JPG"&gt;Montage 2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_blz9wnCLpmM/SbL2H5b6utI/AAAAAAAAAIg/fBj7ujYLqQ8/s1600-h/IMG_0154.JPG"&gt;Montage 3&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-4708367754350634682?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/RTkpKqY-BlQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/4708367754350634682/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/montage.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/4708367754350634682?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/4708367754350634682?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/RTkpKqY-BlQ/montage.html" title="Montage" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/montage.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcCRX44eip7ImA9WxVVFU0.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-9116894299464116603</id><published>2009-03-07T13:53:00.000-08:00</published><updated>2009-03-08T01:54:24.032-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T01:54:24.032-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Applications" /><title>MovingBoxes and PolySolve</title><content type="html">So now about the two applications I have released so far. I won't say they are the most complex and most useful applications ever released, but compared to fart apps... never mind.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_blz9wnCLpmM/SbL54mWLDbI/AAAAAAAAAIo/bZwKFVCHBDE/s1600-h/ScreenshotDef.jpg"&gt;&lt;img style="cursor: pointer; width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_blz9wnCLpmM/SbL54mWLDbI/AAAAAAAAAIo/bZwKFVCHBDE/s200/ScreenshotDef.jpg" alt="" id="BLOGGER_PHOTO_ID_5310581661384773042" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;So the first one is a game, it is called &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306223674&amp;amp;mt=8"&gt;MovingBoxes&lt;/a&gt;. I must admit the idea for this one is not mine, I have came across the JavaScript version of this game numerous times while wandering the web, and always found it to be amazingly simple yet fun. As the original game cannot be played on the iPhone, I decided to rewrite it from scratch. It was my first meeting with OpenGL ES on the iPhone, yet it wasn't hard to code it. I have added difficulty levels, random "map" function to the original idea, and highscores are in the works now (it will be submitted to Apple in a few days).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_blz9wnCLpmM/SbL6Er63GDI/AAAAAAAAAIw/dcbijiDzht0/s1600-h/ScreenshotDef.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 134px; height: 200px;" src="http://2.bp.blogspot.com/_blz9wnCLpmM/SbL6Er63GDI/AAAAAAAAAIw/dcbijiDzht0/s200/ScreenshotDef.jpg" alt="" id="BLOGGER_PHOTO_ID_5310581869039261746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then there is &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306225678&amp;amp;mt=8"&gt;PolySolve&lt;/a&gt;, which was kind of like a personal project that I later decided to release, as I found it to be pretty useful in a number of situations. It basicly allows the user to solve polynomial equations - not just quadric or cubic, but with hight exponents like x on the power of 100. It gives both real and imaginary solutions. It can come handy when one has to do a lot of calculations and wants to cut some corners.&lt;br /&gt;&lt;br /&gt;Well, they might not change the world, but they are still pretty decent applications. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-9116894299464116603?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/f0fcpsnhFEE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/9116894299464116603/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/movingboxes-and-polysolve.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/9116894299464116603?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/9116894299464116603?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/f0fcpsnhFEE/movingboxes-and-polysolve.html" title="MovingBoxes and PolySolve" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_blz9wnCLpmM/SbL54mWLDbI/AAAAAAAAAIo/bZwKFVCHBDE/s72-c/ScreenshotDef.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/movingboxes-and-polysolve.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8HRXc4eCp7ImA9WxVVFU0.&quot;"><id>tag:blogger.com,1999:blog-8829440261275952438.post-9102830133612302641</id><published>2009-03-07T13:16:00.000-08:00</published><updated>2009-03-08T03:07:14.930-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T03:07:14.930-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="News" /><title>Website launched</title><content type="html">Exactly one month after my developer program application, I am launching this website to keep you updated about my journey into iPhone development. This one month was quite extraordinary: I learned a new programming language (Objective-C), got used to working on a Mac, and discovered that what appears terribly ugly and confusing first can have its own beauty. Yes Xcode, that last one was about you. Programmatic Magic - that is how I named this endeavor. And indeed it is magical how a few lines of code can call ideas to life, or have me waste an entire day writing them just to discard them later in favor of a more elegant solution.&lt;br /&gt;&lt;br /&gt;So this is my current state of affairs:&lt;br /&gt;- After waiting almost a month, my two initial applications went on sale. More on that later.&lt;br /&gt;- I am currently working on another one, called Montage, you can see the teaser image on the frontpage. It is actually being reviewed now.&lt;br /&gt;- I plan to launch a series of tutorials about iPhone programming, as I found that it can be hard to get used to this new environment.&lt;br /&gt;&lt;br /&gt;I sincerely hope this project will turn out to be fun and I will/can continue doing it. I will post some more about the already released applications later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8829440261275952438-9102830133612302641?l=blog.programmaticmagic.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ProgrammaticMagic/~4/1CFeOOekbzg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.programmaticmagic.com/feeds/9102830133612302641/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.programmaticmagic.com/2009/03/website-launched-what-now.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/9102830133612302641?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8829440261275952438/posts/default/9102830133612302641?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ProgrammaticMagic/~3/1CFeOOekbzg/website-launched-what-now.html" title="Website launched" /><author><name>JB</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="18365245724897505098" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.programmaticmagic.com/2009/03/website-launched-what-now.html</feedburner:origLink></entry></feed>
