Mar 2006

This Time for Sure Rocky

You'll have to Google the title if it doesn't make sense to you. I'm guessing that only a handful of people experienced The Rocky and Bullwinkle show. But anyway...

It looks like it's time for another Beta. Beta 9 introduced us to a couple pretty nasty bugs... there was just no way that I was going to release THAT as the final version. So here comes beta 10...

I'm going to detail the fixes since each one is quite interesting in it's own right -- plus my finger doesn't hurt that much tonight.

No Links
The image blocks before beta 9 were really just highly specialized text blocks with only a single item -- the picture. This was nice because it came with lots of freebies -- like links. It also made for a very complex system of adjusting the pictures. So it had to go... I replaced it with a much simplified mechanism but forgot that the links had gone -- so I reimplemented links for beta 10. Hopefully all is well with image blocks now.

Upside Down Images
Most people probably didn't notice this one. However when exporting images from some software -- particularly if the image had been edited (iPhoto is the best example) the image would end up looking great in edit mode but display upside down in preview mode.
I've made a fix for this and some people who had experienced the problem tell me that it is now rectified -- however the root cause of the issue is still not totally clear to me, so if you do continue to see any sort of upside down images please let me know as soon as possible.

Magic Bullet -- line-height?
You may have noticed that when you increase the font size to very large values (say > 50) there is a noticeable issue with the text overflowing the top of block (in Preview). In a multiline piece of large text the problem continues to get worse. In other words the more lines the more the browser is confused by the large text size.
It's actually quite possible that this is only an issue with some themes, but I think I may have found a solution:
It seems that either by the nature of the theme or possibly the browser default itself, that the line-height is not 1em -- nor even that close. Thus the larger you make the font the more the difference between the line-height attribute and the real line height of the text becomes an issue.
So to solve the issue I've added a line-height attribute to all text that has a style that overrides the theme's.
I suspect for some people this may cause some issues with alignment on their web site and possibly some people who were expecting to inherit a line-height from their theme will now get something very different. However I suspect that for the vast majority of folks it will mean that large text will be much more reliable.

Registration
I've turned on the 4-block hard limit for non-registered users. I hope this doesn't come as too much of a shocker to anyone.

OK, now my broken finger hurts again... time to stop typing.

|

Last Blocks Beta

blocks_pyramid
Hopefully this will be the last blocks beta, but there are no guarantees. It's not done until the bugs are gone.

Come and get it. Hint: The discount from Screen Casts Online is running until the end of the month.

The change-list is just too long for this blog and my finger is broken (see below) so I'm not going to type the whole thing. Here is some of the cooler new stuff:

  • Totally changed image blocks. They should now be much better behaved.
  • Image block orders margins and backgrounds should work just fine.
  • Transparent png files should behave as expected if your Image format is set to PNG or Original.
  • Option drag to duplicate blocks
  • borders and margins properly resize their contained content to match the generated HTML (image blocks too!).
  • blocks can hide/show/scroll overflowing content or flex the block to the height of the content.
  • more registration annoyances (limited to four blocks for non-register users -- currently just an annoyance, in the future the limit will be hard).
  • Two crashing bugs fixed -- while switching between pages and when deleting some blocks.

    One caution: Since image blocks changed so radically, their storage format changed. Older Blocks files should read in correctly, but there could be some issues. Reimporting your images wouldn't be a bad idea. And once you've saved a file from Blocks beta 9, it will not open in earlier versions.
    |

slow moving

broken
I'd love to say that I'm just having some trouble coding the last bits of blocks and that's the only reasons things are still in beta. But it's not the whole truth. The whole truth is that I've recently broken a finger. It makes typing a Herculean task and coding damn near impossible.


How'd you do it?

Was it snow boarding all that deep powder? Was it while backpacking the California wilderness? Or perhaps was it while attempting to catch the sunglasses as they fell from your head only to slam your hand against a solid wood bookcase bending your fingers to impossible extremes?

I'll let you guess, A) wicked snowboarder B) back-country mountain man or C) spaz.

Anyway, that combined with my a couple days away this upcoming weekend and Blocks is looking like it might be a week away yet. There's good stuff coming, though, promise.
|

Snow!

I'll be doing a little skiing from Sunday March 12 to Wednesday March 15th. Hopefully I won't be completely out of touch, but I may not be able to respond to all your questions right away. But save 'em up, I'll be back on Thursday.
|

New Stuff

Collage 1.5 is here. In it is everyone's most requested feature. Yes, you can finally add a styled text header and footer to your collage page.

The other changes are deep inside Collage -- and mostly related to registration. IF YOU HAVE TROUBLE REGISTERING COLLAGE PLEASE DOWNLOAD THIS NEW VERSION.

As usual, you can find it on the Downloads page. Come and get it.

|

Screencast

I just wanted to let everyone know that there's a great tutorial on Screen Cast Online. It's a really great demo that shows off all the features of YourHead plugins.

Plus, if you watch the whole thing their might just be a discount hidden somewhere between the tutorials.

Here are the links to the podcast:

End of the Line

The Beta version of Blocks is wrapping up. No, not today, and probably not tomorrow, but definitely very soon. There are just a few things left now before I reach my 1.0 milestones.

This is good and bad. On the one hand it means that Blocks has become stable. And soon it should be stable enough to use for your primary sites without fear that I might change a data-format or tear a feature out from under your feet. Yep, getting out of beta is definitely a good thing.

On the other hand, that means that the Blocks Beta discount must come to an end. I'll leave it running through tomorrow, but then that will be the end of the line.

I'll write it once more, just for clarity: The Block Beta Discount will end after Tuesday, March 7th.

So if you've been wanting to buy a copy, now might be the best time. There may be more sales, but 25% off probably won't come around anytime soon.

Coupon code: "BLOCKSBETA"
|

Beta 8 -- That's More Like It

Last week I released a beta that was, well, underwhelming. I mean, it wasn't any worse than the previous weeks, but its only great new feature was 10.3.9 compatability. And as cool as that was for a few folks, it probably didn't really mean much to most people.

This week is different. After solving the big transparency issue (see my last post), I could get to work on a few things that had been put off until after that could be solved. Margins, outlines, and strokes have all been conceived and tried, but it just looked really bad in Edit mode when the textblock was just a big white rectangle.

The beta discount is still running. If you're suffering through all my bugs with me, then use this code to get yourself a 25% discount: "BLOCKSBETA"

I'm going to stop commenting right there and just show you my changelist, it's huge, it kind of speaks for itself:

------------------------------------------------------------
PB 8 Change List
------------------------------------------------------------
- The text area now properly resizes and redraws after the block is changed.
- Text block now expands with changes to borders
- Text block now expands when text runs past the last line
- Text block now resizes to the entire area of the Block when created.
- Cursors for handles added (still needs some work)
- Transparency fixed -- wow.
- Fill and Stroke now work in edit mode.
- Fixed some HTML drawing issues -- they DO NOT grow when their content overflows
- Loading blocks from files more robust to newly added features
- Buy button will no longer pop up if there is not enough space at launch time
- Margins -- interface -- edit mode -- and output
- A text block in edit mode should have exactly the same dimension when viewed in safari no matter what width, height, margin combinations are used. Picture blocks are another story
- New blocks are created with a small offset so they don't overlap.
- HTML blocks now have orange handles to match their icon
------------------------------------------------------------
|

API Programming

Writing code for an API has it's tradeoffs. On one hand, someone else has usually done all the dirty work. Dealing with preference files, checking for updates, and building a consistent GUI experience. On the other hand, it means that you're forced to live with the tradeoffs that someone else made when deciding what the API should do.

The RapidWeaver API isn't too tough to deal with. It's pretty easy to understand the calls and replicate them for your own use. But their are some pretty rigid limitations -- well, unless you start hacking.

In Collage, the limitation is that the link-window is not meant to work for anything but a styled text view. Since Collage doesn't have a styled text view I have a real problem. After a lot of digging I eventually I found that I only really needed that textview for a little while. After gathering all the link information, I can get rid of the textview and go about my business. It sounds like no big deal now, but it took me several days of hacking, a few days just to consider if it was going to be possible, and a lot more to clean it up.

In Columns it was again the links that caused the issue. Columns has the styled-text views, but it has too many. The API was designed to work well with exactly one view. The solution was another hack. As each view is edited I catch a notification that tells me which view is currently being edited. I quickly tell the API that the view that's being edited is THE primary view.

With Blocks the link issues were solved. Now I'm faced with two new hurdles:

The first is that Blocks cannot see how the theme will be rendered. This means that I don't know how wide to make the content view, what the default font will look like, or even if the base color of the blocks is going to be light or dark. This issue is currently unsolved and research is showing that it might be unsolvable. RapidWeaver might bring lots of new API features, but I'm not holding my breath.
The second hurdle is that styled text views were not really meant to be used as blocks that can overlap. The styled text view is opaque even if you try telling it not to be. The block background really needs to be transparent, because that's how it'll be on your web page in preview mode. I tried solving this in a lot of non-hack ways but then after a while I just punted. I emailed RealMacSoftware and asked if they could put in a change because I thought it just wasn't going to be solved.

But tonight I solved this one! It's a hack, of course. Mostly it just involves swapping out the Styled Text page unless it really needs to be there, but asking it how to draw its contents -- without letting it draw the background. It's the same tack I took to hack the links in Collage, but this time with a visible entity. Here's the magic drawing routine:
[layoutManger drawGlyphsForGlyphRange:[layoutManger glyphRangeForTextContainer:textContainer] atPoint:NSZeroPoint];
I have to admit that it's a pretty obtuse drawing routine. If I don't comment that I'll forget what it does in about 2 days.

Of course this means that the edit view has become even more WYSIWYG and that means that the first hurdle is all the more irritating.

Don't look for this in the downloads folder just yet. There's still some work to be done before it's fit for human consumption again. Images don't currently share the transparency breakthrough and the differences in the margins between preview and edit are even more out of whack than they were before. I'm going to clean up for another day or two and then try to get something out that will be much more usable.
|