Me Neither

November 1st, 2007

Sanjay Samani has a great blog post here. Luckily, I can no longer remember my 1.0 version (was May really that long ago?) but I shared the same dreams. And I still think Horizon has a long and prosperous future ahead of it. I just have to convince the rest of the world.

On Leopard, and Horizon 1.3

October 27th, 2007

I’ve been downloading and installing my developer version of Leopard since last night, and Horizon is behaving normally on the final build of Mac OS X 10.5. If anyone has any issues in Horizon that they believe are related to Leopard, please let me know as soon as possible.

The next version of Horizon is feature complete, but these are big features and they need serious testing. So, I’m looking for beta testers again. Please email me if you’re interested in testing Horizon 1.3. You can use the contact link at the bottom of the home page for this. Please let me know if you’re running 10.4 or 10.5, and if you’ve got a PowerPC or Intel-based Mac. I’d like to get as broad a mix as possible, so I won’t be turning anyone away. Thanks in advance if you’ll help with the testing.

Meeting Steve Jobs, kinda

October 21st, 2007

But not really. Instead I met the writer of The Secret Diary of Steve Jobs. He was in town to meet his fans, and I’ve been a fan of that column for a long time. For those of you who don’t know, “Fake Steve” is really Daniel Lyons, a senior editor at Forbes Magazine. He has a new book out, Options: The Secret Life of Steve Jobs, a Parody, and he is doing a book tour for it.

So, I trudged up to the Madison pub in Toronto, and met Daniel and a few of his co-workers from Forbes. I gave them all CDs of Horizon, and hopefully someone at Forbes will say something nice about Horizon sometime soon. I also met a number of like-minded Mac fans, and had a good time chatting and drinking beer. I gave out a number of Horizon demo CDs, so I hope we’ll have some new users on board.

So, the iPhone SDK

October 18th, 2007

Yeah, I can’t wait. Ever since the iPhone was first announced, and before Horizon 1.0 was launched, I thought that Horizon would be a killer app for the iPhone platform. It’s going to be about a year later than I’d hoped, but it will happen.

I’ve got all kinds of ideas for the touch UI, but I’ll have to wait to see the SDK before I know which ones are possible and which make the most sense. Expect some zooming, sliding, and pinching, and I hope some form of data entry ‘HUD’ overlaid on the calendar.

Wow, I don’t even know what I’m going to call it. Horizon Touch? Horizon-To-Go? Hopefully something better than either of those.

This is where I really need user input. I’m hoping for all kinds of ideas and suggestions from users for how I can make the iPhone/iPod Touch version of Horizon the best app on the platform. If you have any ideas or suggestions, please let me know. I’ve had some terrific suggestions from users for features for Horizon on the Mac, so I’m hoping for more of the same.

The Simplest Things

October 14th, 2007

The current version of Horizon has some unexpected behaviour; if you have the welcome screen set to appear in your preferences, it will always appear. You really don’t want to see it when you double-click on a Horizon document, or you drag a document or number of documents onto the Horizon icon.

This turns out to be a bit tricky to fix, but the fix is amazingly simple. As the program loads it calls the delegate methods applicationWillFinishLoading, application: openFile, and applicationDidFinishLoading in that order. Since the Welcome Screen is displayed in the applicationDidFinishLoading method, all I had to do was set a flag in application: openFile. Or so I thought. See, that method is actually supposed to load the file, and I thought calling the super method would be good enough. Wrong.

I actually have to load the file with the documentController method openDocumentWithContentsOfURL:display:error:. Now it works. And it works with a file dragged onto the icon, and multiple files dragged onto the icon. Nice.

The Charting Project

October 4th, 2007

I did a bit of a re-think on the charting project, based on the similarities and differences of the pie and bar charts. I’ve scrapped the original repository, and set up a new one at http://lucernesys.com/hzcharts. It’s read-only, like the old one. HZCharts is a better description of the project, and I’ve re-factored the code to eliminate some duplication, but more work is probably needed.

For a quick hit download the source, compile and run the program. Drag the mouse around in the pie chart window to move the chart around. Then hold down ‘ctrl’ and drag to explode the pie. Now, go to the ‘View’ menu and select bar chart. You can move that chart with the mouse, too.

Any suggestions, criticisms, and especially code improvements are welcome. Leave a comment or email me.

1.27, 1.28, and More Charts

October 2nd, 2007

I have a bad habit of neglecting to announce new releases in this blog. Horizon 1.2.7 came out last week, with customizable holidays, CSV export, and enhanced cell editing. (Also added, a small window to enter your name and license code. The esellerate engine should do this automatically, but it was failing for some people. Now, there’s a manual option.)

That was quickly followed by 1.2.8 yesterday. 1.2.8 fixed a particularly nasty bug that occurred if you added a new category with the Summary View open. The summary view would be messed up as a result.

And, I’m still working on the charts. With the pie chart mostly solved, I’ve moved on to the bar chart. How does this look?
Bar Chart

More on OpenGL

September 26th, 2007

I’m starting to get the feeling OpenGL is a bit of a black art. That beautiful chart sample I posted yesterday throws a “failed to initialize OpenGL” error on the MacBook and my old G4. The code ran fine on my development machine, of course.

So, back to the books. The repository contains a version that should degrade gracefully on machines that can’t push OpenGL as hard as my new iMac with the ATI graphics card. Please let me know the results, and the machine stats, including the Graphics sub-system.

I would really appreciate it if anyone could grab the latest version from SVN and run it on a really old machine with OS 10.4. There’s no reason that the graphics shouldn’t work if the machine is capable of running Tiger.

Please let me know the results, and the machine stats, including the graphics sub-system. Many thanks.

Charts Update

September 25th, 2007

Initial response to the charts project has been positive, and a few people have checked out the code. A number of folks commented on the lack of anti-aliasing, so I dove back into the OpenGL books, and came up with this:

Window.jpg

Much better, don’t you think?

HorizonCharts

September 24th, 2007

Horizon really needs charts. Pie charts, bar charts, maybe even line charts. But I want the charts to look good, not like 20-year-old ‘Harvard Graphics’ charts. That started my search for a decent charting plug-in or toolset for Horizon, and I quickly discovered that there’s not much out there. So I proposed starting a community project to build a modern charting package. That got some attention on the MacSB mailing list, so I forged onward.

Now I have something to show for it. I have a pie-charting ‘framework’ ready for people to play with. (‘Framework’ is in quotes because it’s not a framework in the Cocoa/Obj-C sense of the word, but more like a scaffolding to build on.) The code is available from the svn repository at http://lucernesys.com/horizoncharts/trunk/ . If you’re a developer who is interested in this project please check it out and build it.

CocoaPieChart.jpg

The demo program builds a 3D pie chart with four ‘slices’. The chart is interactive; click and move the mouse pointer up and down to spin the chart, left and right to tilt the chart. If you hold down the control key and move left and right you’ll ‘explode’ the chart, making the slices move away from each other.

Right now, I’m the only person with ‘commit’ access to the repository. I hope that will change as more developers become involved. If you’re interested in working on this, contact me through my site. I plan to release it under some form of collaborative, non-restrictive license.

This code is based on a public domain sample I found online, and was originally written in Python. More about that in another post.