I am now a Mac user

February 5th, 2009

I am typing this on my 1 hour old (refurbished) MacBook (October 08, 2.4GHz, aluminium). My one paragraph review follows.

It is small. Very nicely made. Wow it is small. The OS is nice. The screen is small, but adequate. The trackpad is cool. Two finger scrolling is awesome. The backlit keyboard looks fantastic. It is super quiet. The keyboard keys are very flat. The near edge of the laptop is sharp against my wrists. I don’t have an END key or a Backspace key. Not super keen on the multiple key workarounds on the Mac. Unsure why I need two command keys and two option keys. And in conclusion.. I’m really looking forward to using this as my primary computer.

Later on, I’ll be downloading the iPhone SDK. So many ideas, so little time.

I recently won a competition - the Internode Chumby competition for the highest rated widget. I won some credit from Internode, another Chumby, and a copy of Adobe Flash CS4 Professional.

I am planning on redoing my website again. Maybe drop the blog and move to a new format. I have not updated wordpress in a while which makes me think having a hosted blog is a better way of operating. Maybe I’ll set up a Joomla CMS. Or a wiki would be fun. Everything is becoming Tweets and Facebook Pages now. This whole ‘life streaming’ trend needs to change. Too much temporary data. Out.

How’s that iPhone going?

August 23rd, 2008

A week or so on and I’m still playing with the thing.

First sad story - turns out that the SDK is only for people with Macs. So no thinkquick iPhone apps any time soon.

I am charging it a bit more often than once a day. I think maybe I use it too much. Mind you, I have not been playing audio or video.

I was wrong about the web browser. I am using it a lot. Mainly because of the excellent websites that have an iPhone specific version. News.com.au, Google Reader, etc. I still use an application rather that the browser if possible -Facebook, Google.

I have installed probably about 40 applications on my phone. Some I even paid for. A lot I deleted soon after. The vast majority are actually very nice. The free iPint application that mimics a glass of beer (the surface of the beer moves according to how you tilt the phone) is probably my favorite ‘watch this’ application.

I still think it’s too big. It would be great if the iPhone Nano rumours come true.

Ok, I’m off to see if I can buy a super cheap Mac..

My iPhone 3G

August 19th, 2008

I caved in. I now own an iPhone 3G (16 gig, white).

First impressions? Pretty cool/slick/sexy. Very smooth (literally). I think it will be quite easy to drop it. I really want to get a case of some kind for it (I’ve never had a need for a phone case/condom before). The $8 a month for insurance might actually be a good idea (I don’t have it).

I’m on the Optus $39 a month deal. 500 meg of data and a few phone calls thrown in. Plus $12 a month for 24 months to pay for the phone.

It sure it fun to play with. Push the button at the bottom, then slide your finger across the screen to unlock. Press the various buttons and watch things slide across, bounce out, and spin around. Sweet.

It isn’t a perfect phone. In fact, there are many many flaws/omissions. But I don’t want to go on about those things. Suffice to say that a top end Nokia or SE will certainly have more gadgets and options, but not come close to the package that is the iPhone. Horses for courses, blah blah blah.

What are the*wow* things that I like? The tilt sensor is really nice - for games and for rotating the screen. The touch and drag support in almost every screen is wonderful. The built in YouTube, Stocks, and Weather apps work straight out of the box - nice. And just the general ‘look’ of the screens with the great color, fonts, buttons, etc.

The email program is great. I have been reading my email on the iPhone even while sitting at the PC.

I doubt I will use the web browser much (it’s a bit too small, really). I will probably almost never use the iPod functionality (not my bag). And the less I have to use iTunes, the happier I will be.

So, in conclusion.. I could give it a score or list pros and cons. But instead… I’ll mention the top three things I wish were different.

  1. It’s size. I want it smaller. Thicker would be fine. Maybe it could fold out somehow. It’s just not really convenient to carry. (and it’s too slippery - for me).
  2. It’s camera. The quality looks fine. But I would like a flash. And an easier to use shutter button. Video would be a bonus. Slow motion video would be super.
  3. Support for other applications (other than iPhone applications). Flash apps. Java apps. Windows apps. Etc. This is unlikely to happen, of course, as it is in Apple’s interest to leave things as they currently are. This third wish is heavily influenced by my delusions as a programmer, of course.

So now I’m off to see what damage I can do with the iPhone SDK. Look for me in an AppStore near you.

Flex up front, LAMP down back, XML in the middle

June 2nd, 2008

We all know LAMP. It’s the free and open source basis for many a web server. L for Linux (the OS), A for Apache (the web server software), M for MySql (the database) and P for PHP (the coding language).

 

Usually.. or, at least, in the past.. php was used to return html to the browser. Based on some database query, you echoed a name or a number with some tags and such. Your presentation layer (the html) was therefore intermingled with your code. There are lots of ways to make this nice.. but.. it’s not needed anymore, now Flex is here.

 

A Flex front end basically asks a server somewhere for some data, it comes back, and it gets displayed. This sounds nice, but Flex takes a little bit of convincing to get it to work. Here’s how I did it..

<mx:HTTPService
id="myhttpservice"
url="http://www.thinkquick.com.au/example_xml.php"
resultFormat="e4x"
result="myhttpservice_result(event)"
/>

This first ‘bit’ is the HTTPService (from the Flex code). It controls sending the request to the server. Note the url. This is where your php file is. This php file must not return HTML. It must return XML. The xml should look something like this:

<?xml version="1.0" encoding="utf-8" ?>
<response>
<rows>
<row>
<thingOne>something</thingOne>
<thingTwo>1234</thingTwo>
<thingThree />
</row>
<row>
<thingOne>hello world</thingOne>
<thingTwo>999999</thingTwo>
<thingThree />
</row>
</rows>
</response>

To get the HTTPService to ‘fire’, just call myhttpservice.send();.
Then the function defined as the ‘result’ takes over:

[Bindable]
private var result2:XML;
private function myhttpservice_result(event:ResultEvent):void {
result2 = XML(event.result);
}

Presuming you were using a DataGrid to display the data, you would set dataProvider="{result2.rows.row}"
And then refer directly to the fields for your columns dataField="thingOne"

 

And just to prove it works…
The working example
A zip file with the source code

 

Note also that you will probably want to send extra data with your initial request like a search term. To do this, add a few lines before your send() command:

var parameters:* = {
"parameterOne": "555",
"parameterTwo": "something"
};
myhttpservice.request = parameters;
myhttpservice.send();

They can then be read in your PHP as normal, with a reference like $_REQUEST['parameterOne'].