BloGTK 2.0 Packages For Ubuntu 10.04 Released

June 4th, 2010

As promised, I’ve uploaded a new Ubuntu package to the PPA that is compatible with Ubuntu 10.04. This package doesn’t have any new features, but does remove the dependency on the python-gnome2-extras package that was removed in Lucid.

The new package hasn’t been extensively tested, so file a bug report if there are any installation bugs.

UPDATE (6/14/10): A minor bug slipped in with the last update, so there’s a new package available on the PPA. It should be posted within the next few hours.

BloGTK Update: WebKit, Packaging, and the Future

June 4th, 2010

Here’s a quick update on the state of BloGTK.

Lucid Packages: Sorry for the delay in packaging. I will have packages for Ubuntu 10.04 on the PPA up shortly. I will post an announcement here when they are available.

The new packages should eliminate the errors about the python-gnome2-extras package not being available. Ubuntu changed their packaging of certain GNOME libraries, and the new BloGTK packages will work with the changes to Ubuntu.

WebKit and BloGTK: BloGTK 2.0 uses the pywebkitgtk library to embed WebKit in the application. This library has caused many problems and is no longer in active development. So this means that the WebKit rendering code will have to be rewritten – and there’s a lot of code. The good news is that using PyGI introspection should give BloGTK closer access to the latest and greatest WebKit features. The bad news is that it may take some time to get it all working. Hopefully the change will be straightforward and BloGTK can leave behind all the bugginess.

Future Releases: The current plan is to move BloGTK 2.1 into being a largely under-the-hood release. The focus of that version will be on moving to WebKit introspection instead of pywebkitgtk and fixing bugs. Other features I want to implement are better error handling (with a GUI telling users how to turn on XML-RPC for WordPress), and better internationalization support.

After that, there will be a major feature release. BloGTK will move to WYSIWYG editing, with the optional code view still available. Image support will happen – either uploading the image to your blog or using Flickr/Picasa. There will be other cool stuff too. Thankfully, some of this code has been written, so it won’t be too difficult to implement.

BloGTK 1.x (2003-2010), RIP: The 1.0 series of BloGTK is not going to be developed further. Getting BloGTK 2.1 pushed out to all the major distros will be a priority. BloGTK 1.x had a much longer life than I would have expected. Thousands of people have used it, and it’s done better than I could have hoped. But it’s not worth maintaining anymore now that BloGTK 2.0 has taken off.

Thanks to everyone who has supported BloGTK – it’s appreciated! The upcoming architectural changes should remove one of the more frustrating roadblocks to making BloGTK what I always wanted it to be, and will hopefully lead to another major leap in open-source blogging.


Lucid Dreaming – A Review of Ubuntu 10.04

March 29th, 2010

The next version of Ubuntu, 10.04 “Lucid Lynx” is only a few weeks away, and it’s looking to be a very impressive release. Ubuntu has always seemed to be the Linux distro with the most sense of polish, and 10.04 seems to be the the most polished version of Ubuntu yet. Even though Lucid is just in beta, it seems to work incredibly well.

To get this out of the way, yes, BloGTK 2.0 appears to run flawlessly on Lucid, at least as far as I can tell. I’ll have to create some packages of 2.0 especially for Lucid, but just a repackage appears to be all that’s required.

I’m currently testing Lucid on my netbook (an older Acer Aspire) — and if Lucid can perform well on a machine with a paltry single-core Atom processor and 1GB of RAM, it should perform quite well on better hardware. And indeed, Lucid is plenty fast even on an older netbook.

And Lucid is fast. The boot sequence is the most rapid I’ve ever seen — it’s just a few seconds between the BIOS going through POST and hitting the login screen. There has been a lot of work involved in optimizing Ubuntu’s boot process, and it shows. The fact that it can boot so quickly on a netbook is a testament to how finely optimized the system is.

I’ve never been a fan of Ubuntu’s previous brown and yellow color scheme — it just didn’t strike me as aesthetically pleasing. Lucid features a much nicer theme by default. The default desktop is a bit plain, but it gets the job done. The default GTK theme is pleasing to the eye and features some nice rounded scrollbars.

But for some reason, the window controls are to the left, Mac-style. Except not quite Mac-style, as the order of the buttons is the same as Windows, with the close button on the far right. While Ubuntu head honcho Mark Shuttleworth thinks this is a grand idea, it just seems odd. It’s not a major thing, but it does throw you until you get the hang of it.

Lucid tries to integrate social networking throughout, using Gwibber. It’s a little rough around the edges as is, but this is still a beta, and there’s time to get it right. Social networking is the killer app for most users now, and having an OS that does it out of the box is nice.

Lucid is already looking to be a great step forward for Ubuntu, especially after 9.10 led to many complaints. Even on less powerful hardware, the improved boot times are nothing short of amazing. There are still a few rough edges in this beta, but that’s to be expected. Some of the changes may not appeal to everyone, but overall Lucid provides a very polished experience.

A polished experience is what Linux has been lacking for a long time. The entire Ubuntu team has been focusing on making Linux more usable from the ground up, and their efforts show. The competition is heating up – Mac OS X still provides an incredibly polished experience and Windows 7 sucks less than Vista did. (Damnation by feint praise indeed!) Lucid is a great advance to an already-great Linux distribution, and well worth the upgrade when it becomes final next month.

BloGTK, pywebkit, and WSIWYG: Crash Fixed?

March 28th, 2010

Development on BloGTK 2.1 has been at a virtual standstill for a while, partially because I’ve been short on time and partially because there’s been a nasty segfault bug that kept cropping up whenever I tried to get the prototype WSIWYG editing system to work.

Now, lo and behold, it looks like that bug is no longer present, at least as of the latest version of Karmic. I’m performing more tests to confirm that the bug has been wiped out, but it looks like the crashes with the WSIWYG system aren’t happening any more.

If the segfault bug is gone, that will mean less time trying to trace that annoying crash and more time working on the next iteration of BloGTK.

With luck, BloGTK 2.1 will have WSIWYG editing; support for image uploads to your blogging system, Flickr, or Picasa; and some under the hood fixes as well.

Thanks to everyone who has submitted bug reports lately — I always appreciate the feedback.

BloGTK Update

January 20th, 2010

Here’s what’s happening in the world of BloGTK:

First, thanks to all who have contributed patches, bug reports, and feedback in 2009. Bringing BloGTK back from the dead was a great experience, and it’s good to know that it’s appreciated.

The next release of BloGTK will be 2.0.1, which will mainly be a bugfix release with some added spit and polish. Again, keep submitting those bug reports so that any outstanding bugs with 2.0 can be squashed.

Next up is 2.1. I want 2.1 to be an awesome release, but right now there’s a huge roadblock. The WebKit library that BloGTK uses loves to segfault. This bug is a showstopper for BloGTK. There may be ways of working around it, but all of them are kludgy and generally uncool.

So, if there are any experts in writing Python bindings out there who can take a look at this bug and offer a patch, that would be extremely helpful. Right now, that bug is keeping 2.1 development from truly moving forward, and I’d hate for this project to be stalled out over technical issues once more.

More news as development continues.

OMG! A BloGTK Review!

December 7th, 2009

Ubuntu blog OMG! UBUNTU! has a nice review of BloGTK with some great constructive criticism.

For example, they note that the buttons on the editor toolbar can be difficult to understand. 2.0.1 will feature tooltips for all the buttons to make them easier to figure out. Plus, the insert link icon will be the system standard icon.

The review also notes two feature requests: WYSIWYG editing and Blogger tags. WYSIWYG editing is being experimented with for 2.1, and Blogger tags will come once Ubuntu updates the python-gdata library to support them. Hopefully both will be coming soon.

Thanks to OMG! UBUNTU! for the nice review.

Worth A Thousand Words

December 3rd, 2009

Work is continuing on adding support for image uploads with BloGTK. In addition to the Picasa support mentioned earlier, work has begun on native uploads for blogging systems that support the metaWeblog.newMediaObject method. So far, the preliminary code is working well, although there’s a lot of work to be done to make sure it works right.

The next version (tentatively 2.1) will also hopefully be much better with error handling. Right now, when something throws an error, it’s not easy to diagnose just what happened. The next version should do better, not only giving you a better warning of errors, but also creating an error log that can be used to diagnose problems.

BloGTK is continuing to evolve, and I’m getting more and more assistance in making it better. Again, thank you to everyone who has contributed code and bug reports and feature suggestions. Every little bit helps.

Things to Be Thankful For

November 26th, 2009

Happy Thanksgiving to those BloGTK users in the US of A!

BloGTK 2.0 is steadily being refined, so if you’ve installed from the PPA you’ll get some crucial bug fixes next time you update your system. If you’ve installed from the tarball, there’s an updated download you can install that fixes some critical bugs in Fedora and other distributions.

There’s also some very exciting stuff that’s coming down the road for the next version of BloGTK 2.0. Thanks to a new BloGTK contributor, there’s a patch out there that adds support for Picasa uploads right from BloGTK. Just insert a local image on your computer and hit the upload version, and the new patch will automatically upload your images to Picasa, change the links over, and post your blog entry. It’s a completely seamless experience.

Image uploading is just one feature planned for the future of BloGTK. There are other great new features coming that will make BloGTK even better. Keep checking back here for more news as development pushes forward.

Anatomy of a Dialog

November 12th, 2009

In the process of developing BloGTK 2.0, one of the goals was to create a much more polished user interface. Linux is extremely powerful, but it’s never been particularly usable. Love it or hate it, Mac OS X proven that you could create a usable UNIX-based operating system that could appeal to a wide audience. The reason why OS X is such a usable system is because Apple has a nearly fanatical devotion to removing anything that gets in the way of the user.

Take BloGTK 2.0′s settings window as an example:

The old design for the BloGTK 2.0 settings window

The old design for the BloGTK 2.0 settings window

This dialog is not very usable. For one, it looks cluttered. There are dividing lines all over the place. In theory, you want some kind of visual separation to divide up elements of an interface. So in this dialog there are dividing lines between the blog name field, the blog URI field and its attached button, the username and password section, and the section for the blog id and blogging fields. There are four lines just on that section of the dialog, not to mention the dividing line between the dialog buttons and the rest. So even though it’s theoretically usable to put all these lines in, it doesn’t really work in practice.

So, it was back to the drawing board. Yes, separating out all those elements made sense in a way. But would a user actually care? Probably not. Was there a way of making the dialog both look at function better?

This is where GNOME programmers should turn to the GNOME Human Interface Guidelines. Having a consistent set of human interface guidelines is a key part of having a usable system, and far too few programmers follow these guidelines.

Here’s what the GNOME HIG says about visual design. Note how much that dialog from BloGTK looks like the example of bad visual design. Sadly, that dialog is not alone. Programmers tend to like to think of things in terms of discreet “boxes”—and while that’s a great thing for programming, it makes for a really bad UI. So the dialog on the left is cluttered and hard to follow.

The HIG has some very good recommendations for how to avoid an ugly and unfriendly dialog: get rid of frames and separators, make sure that elements are sized and spaced consistently, and design with the user in mind.

Applying those principles, here’s what the revamped Settings dialog for BloGTK 2.0 looks like:

The new BloGTK 2.0 settings window

The new and improved BloGTK 2.0 settings window

This dialog is not perfect. It is a work in progress. But notice how much cleaner this dialog is compared to the one above. Gone are the ugly dividing lines. Instead of having the last four inputs scrunched into two columns, they are aligned with the other elements. Even adding a new element to control the number of posts to be retrieved, the design looks much friendlier than before.

What did I learn from reworking this dialog? For one, the HIG is your friend. It’s as important as the Python Library Reference to constructing a usable application. So few applications follow the HIG, which contributes to users feeling that Linux is hard to use and wildly inconsistent from application to application. Ultimately, it’s up to us application developers to fix this.

I also learned that usability is a process, not an event. That dialog was done and redone several times until it was acceptable—and it will probably change again. The days when programmers didn’t have to worry about design are long since gone. Now understanding basic UI design is as important as knowing how to code.

The first dialog worked well enough. It got the job done. But if Linux is to continue to grow, it needs applications that are consistent and well-designed. That means that developers should find their inner designer, have the HIG bookmarked, and look at bad design as a bug that needs to be fixed. Give your user interfaces some love, and hopefully your users will do the same for you.

Good Karma

November 11th, 2009

<professor>Good news, everybody!</professor>

It appears that the infamous segfault bug in Karmic has been vanquished, and BloGTK 2.0 no longer tends to fall down and go boom when editing posts. Apparently the WebKit view does NOT want to die, and will decide to take down the entire app if you try. This behavior is more than a little strange, but thankfully there’s a workaround that appears to kill the bug.

The trunk branch on Launchpad has the fix. Hopefully this will fix some other bugs on other platforms.

At this stage, once the fix is confirmed not to cause massive breakage, there will be a point release (2.0.1) with the fix.

From here on out, the next step will be squashing additional bugs, making sure that i18n will work out, and then planning for some new features.

As always, please keep sending bug reports and ideas my way.