Oh wow! 2 Years old! What's strange is that last March I wrote in a StuChat that it was our birthday at the end of February and we missed it. It seems like just a couple of months ago! That went quick. No, correction. That went really quick!

My brief for this one is simple:
1. Recap the last two years.
2. Assess current situation.
3. Tentative speculation about the future.


1. Recap the last two years...

The last two years have been something of a blur. I have real difficulty telling you what day of the week it is, never mind what year it is. And, I really couldn't tell you whether I'm 32 or 33 - I have no idea. I do remember leaving normal "work" in '96, which seems like a lifetime ago. Since that time I have become Mr. Mac. I live and breath Apple. I know all the cool good bits of the OS (memory manager is getting quite good these days) and all the real duff bits too (Microseconds is still dreadful, use TBL if you get the chance - guaranteed no mode switch :-)).

All very well and good but what about the last two years? Well, in that time we have become kinda established within the Mac "eco-system" (sorry for that much overused phrase). And that's good. These days, if someone asks in a news group about assembly language, they usually end up here. That's good. It's sometimes another customer for us, and we love our customers. A couple of years back and they would have been told to "not waste their time" and get hold of a compiler ASAP. This we think is good for the platform as a whole.

We spend time looking in at the PC assembly language newsgroups - we also have most of the PC assemblers. We know that Fant is about the most complete (not to mention easy to use) assembler in the world. A lot of this is due to Fant being modelled on some great assemblers of the past, but most of it is due to the sheer complexity of the Mac - for example having both 68k and PPC architectures is a nightmare as far as I'm concerned. Another factor is that Mac users simply will not put up with any old crap :-)

Some people said to us, when Apple released MPW for free, that we'd better go find something else to do. Yes, it was a worry, as those close to us know. As it turns out that hasn't been the case, and we can only figure that, whilst MPW is extremely powerful, using it is "work". You really wouldn't want to create more than a simple function in assembly language with MPW - all that TOC wiring is enough to drive even the most competant programmer insane. If there's any art to Mac programming, it's taking the complexity out of complex problems - let the machine do the work, and let the user create. That, I guess, would be the Macintosh ethos. It's our's anyway. You really wouldn't want to write a PEF or XCOFF linker unless you were getting paid good money for it. It's complex. You really don't want to hard wire a TOC - it's tedious and error prone. And yet, you don't want to figure out what a compiler is outputting - how many redundant instructions? So you want a simple and powerful assembler.

That's what we have done over the last two years.

But, we weren't happy with just a simple to use assembler, we wanted more power. So we gave it a powerful macro processor. Seriously, I figure with the one in Fant5.1 you could probably write a compiler for any language you wanted. Now in the PC world, these super-assemblers will set you back many hundreds of dollars for a license - see http://www.borg.com/~neast19/euphor.html for an example. The only thing missing in F5.1 is nestable loop control structures. We consider a good macro processor as standard kit. And then, a long time ago, we promised 68K to PPC translation so 68k assembly language programs wouldn't become redundant. Now we have it with LXT, and once you get it set up, it's easy.

On another front, we have been moving slowly but surely towards higher level things. We have syntax charts that took ages to put together. We have preprocessors, grammar engines, code generators. All the good bits. Slowly but surely coming together.

Finally, we "walk the walk". All our output is produced with our own tools. Fantasm is written with Fantasm - the whole "ish". Anvil is written with Fantasm. Indeed, we couldn't write many parts of Anvil in anything but assembly language. We also deliberately work on "low-end" machines; this way we know that if it runs fast here, it'll run fast on a typical "home box". OK, so we do have to set limits. Running Fant 5.1 on an 020 is not fun. Again, this goes back to the "let the machine do the work" ethos.


2. Assess current situation.

We're in quite a nice position I think. It's probably fair to say that through the good grace and evangelism of some of our users and some bloody hard work on our part, we're getting pretty well known. We work in a fairly strange world as far as business goes - that of selling developers tools. In this case there can be no bullshit. Many of the people we call our users are probably far more experienced than us. Selling to developers is hard. It's not like 5 years ago when we didn't know we were getting trashy software, and blindly believed the hype. I personally believe there is little point in trying to hype anything. Information is what developers prefer coupled with decent product support.

We have, from the very start tried to provide the best support far above and beyond the call of duty. And it pays off too. Just recently we have been getting many encouraging comments from users regarding our software and service.


3. Tentative speculation about the future.

Ooooh. I don't know :-) I should think sometime in the next two years we'll move into higher level languages. I can certainly say we will get an Anvil 3, Fantasm 6 and a Fanta_C. If we don't I shall go buy a big gun and shoot myself :-) I can also say we'll get our own debugger.

What we're trying to avoid at all costs is letting the software become slow and memory intensive. Actually, when you consider that Fant 5.1 IS more complex than 5, and that it is faster, hopefully you can see that we can improve the power without slowing down. And that speed-up has little to do with Fant5.1 being native on either platform. Indeed, all our releases have been faster than the version they replace.

The stuff we "do" is complex and bugs can be dangerous. You've probably seen our testing cycles becoming longer and involving users more. Now, some people may say that asking users to test your software is somehow unethical. I don't see this at all! After all, it is our users we have to make happy at the end of the day. We don't specifically write software to attract new users. We write our software to satisfy our current users.

Some may consider this a bad way to run a business. After all, "there isn't money to be made in upgrades". This is very true, but we believe in some old fashioned principles; "One customer at a time" is one of our mottos.

 

So, if I had to predict anything it would be (and this is just sheer, wild speculation):

Anvil will probably become more powerful from a project management point of view, and less complex to use. More Anvil tools will become available to support the surrounding work.

Fant6 will have a major overhaul of some internal components, will probably be twice as fast as 5.1 and is quite likely to include source level debugging (as will Fanta_C) It'll probably get more extensions to FML as well. We are aiming Fantasm to be the only real choice for Mac assembly language work.

The initial release of Fanta_C will probably be aimed squarely at the hobby/home market, offering PPC and 68K output. I also hope it'll be pretty cheap even though it is about 6 man years of work (err, currently that is).

 

Maybe, now that Apple have killed Newton, they'll put PPC chips in the next set of low end palm type thingies they produce. Maybe this'll open up a whole new avenue for Mac developers who really didn't want to get involved with all that "different OS/chip" stuff that developing for the Newton required (and yes I do feel genuinely sorry for Newton developers at the moment). If there was a PDA that ran Bumbler I'd buy it in a shot :-) I don't need colour - a B&W one would be fine. One thing that worries me though, is how do you get a PPC chip to run on a couple of tiny AA cells?

And then there's the PC side of life - "the dark side". It wouldn't be difficult doing a port. But I don't think it'll happen. We don't like PC's.

I hope we can continue pretty much the way we are. I was shocked to see a certain shareware developer delay release by a month and blame it on a popular Mac news site simply for publishing some pre-release screen shots this week. "Petty" would be the word that springs to mind (my mind anyway). I mean, is that the way to gain respect? No. It just about sums up what not to do. We want to remain as friendly, as open and as helpful as we are now.

Life as a Mac developer is hard enough without making enemies thanks.

So here's to the next two years!



Code on!

©1998


Send mail to Stu

Back to Stu's Page Top Level

Back to Lightsoft Home Page