Steve Browne - Affiliate Marketing, Search Engine Stuff and General Ramblings

Saturday, June 07, 2008

Developing .net web apps on a mac

A while ago, I had to buy a new PC as my 2 main development machines (one for .net 2.0 and one for .net 1.1) were getting flakier and flakier. I decided to buy an iMac and experiment with virtual machines.

Well these last few weeks I have been running Visual Studio 2005 in a Parallels virtual machine without a hitch. In fact I owuld say it's even better than under my regular PC (an ageing Dell).

For a start, the screen on my iMac is the big 24" high resolution screen, so I get much more display space than 1280x1024. Even though the PC has dual monitors, as they are different resolutions, it never really helped.

Next, the Parallels VM never seems to forget the network drives that I keep my code on. Under native windows, my PCs tend to give up and either take A G E S to opena network folder or file from the nertwork or just give up altogther.

There are some issues; the keyboard was a bit wierd at first, but you simply have to ignore what's on the kecaps and poress the key that you would under Windows. eg. to the right of the left shift key. On the PC this is labelled as Pipe and backslash. On the Mac it is tilde and a diacritical mark. Under Parallels, it responds the same as under Windows. There are a few others like Home/End/Insert/Delete as well. But I'm getting used to them.

So I've only really just started on this model, but it's great so far. I think I may carry on with Macs next time as well...

Labels: ,

Thursday, November 15, 2007

Facebook continued

Well the application is out there. It's an Advent Calendar for facebook and can be found here (you will be asked to login if you are not already). Obvioulsy by it's nature, it doesn't do anything until December 1st, so please be patient!

But this app was a test really, and it has raised further things that I will do next time, such as store every facebook ID when someone installs the app (and remove them when they remove the app) so that I have a proper count of users. This time, I will only be storing the ID if and when they actually open their advent calendar.

It's been interesting to see the burst in activity and installs when the app hit the Facebook directory. Of course, now there are a few more advent calendars, but that's to be expected. It'ss be interesting to see what activity levels do on December 1st when people start opening their calendars.

The other amazing thing is just how broad Facebook is. We don't store the information, but we blip it past on a staus screen that monitors server activity (with a nice jingle bell sound of course!). We've got installs ALL over the world! Quite amazing, and changes some of our affiliate plans considerably...

Anyway, roll on December 1st...

Labels: ,

Wednesday, November 07, 2007

Facebook application day 2

Well in between other tasks today I've finally got my Facebook app complete and working on a public facing server that Facebook can see. Well, I think it's working. I'm recruiting 3 or 4 friends to help test it first, but it's out there if anyone stumbles upon it.

The main problems have been to do with the Facebook caching model. I understand why they need to do it, but it's a bit of a nightmare to deal with at times. Eg. If you are going to post anything, such as an image, to the user's Facebook profile, then Facebook will cache the image (so that they don't serve up broken images). This means if you ever change the image, you need to get Facebook to recache it, or use a different filename. All possible, but another hoop to jump through.

One thing that I did get working is the ability to invite friends to use the application. This makes use of Facebook's standard page to handle these requests - "multi_friend_selector.php", so a little bit of code to pass the correct parameters in, and Facebook does the rest.

Labels: ,

Tuesday, November 06, 2007

Facebook part 2

Well, the development is going OK so far. If Facebook didn't keep throwing "An existing connection was forcibly closed by the remote host" errors at me for no apparent reason, it might go even better. I asusme that the sandbox servers are overloaded, as it works for a bit then stops.

Basically I have the structure in place, so I have:

  • Section of FBML that displays on my profile page
  • This clicks through to the main page which gives a kind of status
  • Items on this page then click through to a more dteailed page which updates the database and the FBML section.

Nice. I've still got lots of bits to do on it, and even more graphics to purchase (iStockPhoto we love you!) or make myself (How can PaintShop Pro be better than PhotoShop for some small bits? I don't know, but it is!)

But I'm quite pleased with how that's gone so far. I can already just about see the finished item, ready for submission to the directory and hopefully MASSIVE takeup by the FaceBook community. A man can dream!

Labels: ,

Facebook Application development

I dabbled briefly in making Facebook application a few months ago, but never really pushed it due to other commitments. What with recent new stories going on about how popular some Facebook apps get, and how much they can be sold for (!), I thought I'd give it another try.

My dev platform is .Net 2.0 with C# and SQL Server to back it up, all hosted on Windows 2003.

My idea is kind of time critical, so I need to start working on it now (well, after XP has installed it's latest updates and rebooted...)

Things I need to think about is how integrated into profiles is the app going to be? Is it just going to sit there, or should it add message to the user's news feed? Should it be shareable, and therefore send messages to friends? I need to think it through...

Anyway. We start here on 6th November with nothing written. No concrete plans, no installed users. Nothing. Except we have reserved a Facebook application name and got an API key to use.

Let's see if (a) I get the time to dedicate to this to get something up and running (b) and how many installed users we get before the end of the year if I get it done in time! :-)

Labels: ,

Wednesday, October 03, 2007

In the footsteps of giants..

Many years ago, I read an article/interview with Jeff Bezos - the guy behind Amazon. They started as do many tech companies in his garage, and had no idea what was going to happen .So that they could keep an eye (ear!) on what was going on, they made the server beep every time they sold a book.

They had to turn the beep off after a few hours, as there was just a continuous BEEEEEEEPP noise.

That has stuck in my head for years now, and in some spare moments earlier I put together something that does much the same. A small UDP server on my PC which simply takes an incoming message sent over UDP. I've currently got it set to go "pop" when a site gets a visitor, and, get this - a lovely cash register noise when a revenue earning action happens :-) Love it!

No doubt I'll get bored of the constant pop-pop-pop, but it's fun for now :-)

Labels:

Thursday, April 26, 2007

iTextsharp is cool

I've been working on a project that takes various database content and mixes it with existing PDF files to create a new combined PDF file with new front cover and section tabs etc.

In the past I had used various 3rd party commercial components or even used various parts of Crystal Reports to generate PDF files. This time, however, I have been using the iTextsharp library, and it's very good indeed. At the basic level you can create a PDF file, create the content under program control and then save the file to the server, which you can then redirect to. It does get very hairy very quickly though, with lots of repetitive code (paragraphs, chunks, cells etc.), so I need to start breaking the code down a bit.

To help me, I've just ordered IText in Action: Creating and Manipulating PDF from Amazon. It's mainly focused on iText itself (which is a Java based library - iTextsharp is the .Net version), but should help out greatly.

Saying that, there is a lot of info out on the web, with the Nabble forum being a useful resource.

When the project is live, I'll post a link here. It will be very useful to the people it's aimed at...

Labels: ,