Monday, March 24, 2008

The iMac and iPhone SDK



Well, I took the plunge. I needed a new PC anyway, so I went ahead and got the iMac. I've successfully set it up with a dual boot using boot camp. I can now boot up into either MAC OSX 10.5 (Leopard) or Windows Vista. One of the images I attached above actually shows me installing Vista Service Pack 1 onto the iMac.

I will save my iMac praise for another post. For right now, I thought I would talk a little bit about the iPhone SDK.

For developers working with Visual Studio, XCode (Apple's development IDE) falls a little short compared to what you are used to. In addition, there are some real setbacks when it comes to the state of the SDK. Here are some of the bigger ones:

  • Garbage Collection: The iPhone SDk does not currently support garbage collection unlike the SDK for normal Mac OSX applications where it is an option.  This is not too horrible, but it does require you to be VERY careful with memory allocation.  Using the SDK reminded me more of developing in C++ than C#.
  • UI Designer:  This version of the toolkit does not provide a nice GUI for developing your screens like you see in Visual Studio.  I understand that it is coming, but for now it is not present which means that these interfaces have to be created in code.
  • IDE:  The IDE is not nearly as polished as Visual Studio.  Great features like dynamic help and displaying methods in classes as you type are not present.  Again, it is not horrible but after using Microsoft's development products I am very spoiled.  The iPhone simulator that comes with the SDK works pretty well, and even includes Safari so you can test your web apps.  One of the screenshots above shows the simulator running on my iMac desktop with iSkyGaze running.
  • Tight Sandbox:  There are some basic low-level things I wanted to do in the SDK and could not because Apple locked it down pretty hard.  A great example is the camera.  The SDk does not allow you to programatically take a picture without the user interacting.  The UIPickerView class brings up the camera dialog and makes the user press the shutter.  There is no way to just take a picture myself.
All this really means is that developing something like iSkyGaze Plus on the iPhone will take a little longer than planned.  I am no longer confident in a release in time to distribute for iTunes.  Overall, I think the SDk is pretty good, but is far from complete or perfect.

Friday, March 14, 2008

Constellation: Lyra


Just a quick note that I have added two objects to iSkyGaze from the constellation Lyra. The bright star Vega is easily visible by everyone. Once you find Vega, you will see the parallelogram that comprises Lyra.

I also added a deep-sky object, the Ring Nebula. You are going to need a telescope for this one. Even a small telescope will allow you to see the rings. Don't expect to see the color in the picture above. You can sometimes see some color by averting your vision.

Both of these are better seen in the summer months. I wanted to get them in now while I had some time.

Wednesday, March 12, 2008

iPhone SDK and iSkyGaze...

As many of you probably heard, Apple released their iPhone SDK so developers could release native applications for the iPhone and distribute them via iTunes. This is a huge announcement and developers like myself are scrambling to get applications created for release.

iSkyGaze has thousands of people using it everyday. Because it is strictly a web based application, I am limited in the kinds of things I can do right now. The graphic content is kept down to a bare minimum so it works well over Edge, and I do not allow any database calls to keep my web hosting fees down. Also, although Javascript allows me to emulate the look and feel of the iPhone, it is not as smooth as a native application. For all these reasons I have decided to buy a Mac and develop a native iSkyGaze application. My plans right now are to call it iSkyGaze Plus. The existing iSkyGaze web application will remain up as long as people are using it.

I only plan on charging one or two bucks for iSkyGaze Plus, but I have lots of great features planned. Here are some of the things I am looking at:

  • Lots of additional objects. With the iPhone doing the math calculations, I can do a lot more at once.
  • Real-time position updating
  • 3D view of planetary objects
  • Logging feature so you can record your viewing observations
  • A MUCH faster and more intuitive interface
  • Dynamically generated star charts for locating objects

First step is to buy a Mac. :) I hope to do that very soon. My plan is to dual-boot Vista so I can also continue my Visual Studio development work. Although the development environment on Mac does not look quite as polished as Visual Studio, it is pretty good. From my perspective, having a knowledge of C# should make this pretty painless I just need to learn more about the Cocoa framework.

I will post updates on my progress! I will also continue to add 0bjects into iSkyGaze as the spring/summer months approach. My focus is adding objects that everyone can see and easily identify.

Friday, March 7, 2008

iSkyGaze Mentioned on TUAW!

Someone let me know that iSkyGaze was mentioned on the popular TUAW blog. You can see the post here. It also showcases some other great apps for the iPhone related to space including a really neat app that tells you when various man-made satellites will be visible from your location.

Thursday, March 6, 2008

Daylight Saving Time


For those of us in the USA, this Sunday marks the beginning of Daylight Saving time. Clocks spring forward one hour. For folks in the European Union, DST does not go into effect until March 30.

The newest release of iSkyGaze adds a specific toggle switch for DST. You will want to go into the program under settings, specify your timezone again and then turn DST on. This has the effect of adding an additional hour to the UTC offset.

There are some services that I could attempt to use which supposedly provide the correct DST for a location, but in testing them they do not cover everyone. They are actually quite a few people using iSkyGaze internationally and the data is not accurate enough to rely on it.

iSkyGaze Version 1.06 Released


There are several changes in this version:


Added Real-Time Images of Sun/Moon
When you go into the details screen for the sun, you will see an image from the SOHO satellite. This is a near real-time image of the sun taken by the satellite and sent back to earth. For the moon, I have added an image of what the moon face should look like given the % of illumination. This is courtesy of the US Naval Observatory.


Web Clip Now Works from Menu Screen
If you save a web clip icon of iSkyGaze on your home screen, it now uses the Saturn icon even if you save the clip from the menu screen. I do not encourage this because the start screen shows important system messages if something arises. It is there if you prefer it though.


Added Daylight Savings Time Setting
Just in time! Daylight savings time goes into effect this coming weekend in the US. If you turn DST ON in iSkyGaze it will adjust the GMT time by one hour to compensate.


Fixed Problems with Invalid Input String Error
This error occured when someone set up their location but did not specify a timezone. The program did not validate whether a timezone was entered. I have not only aded the validation, but made the validation using javascript onclick. This was not initially done because the IUI library I use for the iPhone is very possessive when it comes to events. I had to make the changes in their library which I wanted to avoid to keep the IUI library clean. Thanks to Chris from Berkeley CA for his help in identifying this nagging problem.

Monday, March 3, 2008

New Tutorial Video Posted + Version 1.05

Because iSkyGaze has had some major additions and changes since the first release, I went ahead and recorded a new video tutorial this weekend. In addition to showing the program, I also show you how to enable cookies on your iPhone or iPod if you do not know how to do this.

Click Here to Watch the YouTube Video

I also released a small upgrade this weekend which addresses some issues with skygaze calculations in areas far south like Austrailia / New Zealand where they actually have GMT+13 for their daylight savings time. Thanks to the users from these areas that reported the problem!