jump to navigation

You don’t know what you do until you know what you don’t do March 21, 2007

Posted by J.J. in Code.
add a comment

From Raymond Chen

Many years ago, I saw a Dilbert cartoon that went roughly like this.

Frame 1: Supertitle – “Dogbert’s guide to project management.”

Frame 2: Supertitle – “Not a project.” Dilbert answers the phone. “Sure, we do that.”

Frame 3: Supertitle – “A project.” Dilbert answers the phone. “No, we don’t do that.”

I’ve seen a lot of software projects, and one thing I’ve learned is that you don’t have a product until you start saying “No”.

Source: You don’t know what you do until you know what you don’t do
Originally published on 3/21/2007 4:00 AM by oldnewthing


Nick Bradbury: Build Something You Can Support March 21, 2007

Posted by J.J. in Code.
add a comment

 Words to build products by from Nick:

The hardest, most time-consuming part of being an independent developer isn’t coding: it’s tech support. So as you’re building your application, always think about how you can make it easier to support.

This isn’t entirely self-serving – in fact, it’s one of the best things you can do for your customers, because they’ve got better things to do than ask for your help. Think of every support question as a failure on your part, because if you designed your software right, customers wouldn’t need to contact you.

Source: Indie Tip #2: Build something you can support
Originally published on 3/20/2007 2:20 AM by Nick Bradbury

More on GET March 8, 2007

Posted by J.J. in Code, Web Tech.
add a comment

From Don Box’s Spoutlet

I too worry that there’s too much emphasis on ?uniform interface/CRUD? out there and too little on what it means to embrace GET (the one ?true? uniform interface) – hence my occasional usage of ?lo-REST.?

ETags, Content Negotiation, Redirects – all way more important than the notion of ?resource? or trying to add PUT and DELETE after the horse has left the barn.

Source: More on GET
Originally published on 3/8/2007 1:58 AM by Don Box

Video Players for Writer August 24, 2006

Posted by J.J. in Code, Writer.

Creating an image publishing feature for Writer that worked well with all weblog services was reasonably straightforward – most weblogs are able to host images and support direct uploading from clients via newMediaObject.

On the other hand, creating a video publishing feature was another challenge entirely. Unlike images, weblogs don’t normally host videos. Instead, videos are published to a wide variety of specialized video portals (which are still springing up left and right). There was no way we could properly support the diversity of current and future video hosting services with a feature baked directly into the product.

The solution: put all of the infrastructure required for video publishing into the product but don’t expose it directly to end users. Instead, expose this infrastructure to developers through the Writer SDK, allowing them to build the requisite bridges to (hopefully) all of the popular video services on the web.

If you are thinking of creating a video player plugin, the best way to get started is to read the “Embedding a Media Player” article in the SDK. While it is possible to create a simple video player very quickly, I think the best ones will also support some or all of the following behavior:

  • Be created as a subclass of SmartContentSource. This makes their implementation a bit more complicated but enables many of the cool features described below.
  • Enable insertion of videos either by “browsing”  (InsertableContentSource) or through a Url (UrlContentSource).
  • Rather than publishing an <embed> tag for videos (which RSS readers and many weblogs will strip) publish a JPEG snapshot of the video which links through to a page that plays it automatically. This can be accomplished using the HtmlScreenCapture class.
  • While publishing JPEG snapshots will ensure broad compatibility, it is still very cool to have a real embedded player when possible. Plugins can use the AdaptiveHtmlObject class to do this auto-magically.
  • If the video service supports variable sizes of embedded player, Plugins should allow users to directly manipulate the size of the video (check the SDK article “Making Content Resizable” for more info on doing this).
  • Create a sidebar editor that allows users to control things like captions, layout (text-flow and margins), and linking behavior (open in new window, etc.).

I’m excited to see a slew of cool video plugins come down the pike in the weeks ahead. If developers building them have questions or run into trouble feel free to leave comments here and I’ll try to help you through!

Writer Plugins and Windows Live Gallery August 24, 2006

Posted by J.J. in Code, Writer.
add a comment

I have been pleasantly surprised by the uptake we have gotten for the Windows Live Writer SDK. We have had thousands of downloads of the SDK and in just over a week there are already a dozen plugins available, covering everything from Flickr and SmugMug photos to ink-blogging.

A few resources for people interested in either building or trying out plugins:

In late September we will be rolling out a new section on Windows Live Gallery dedicated to Writer plugins (more info on this will be available soon).

Windows Live Writer August 13, 2006

Posted by J.J. in Code, Windows Live.

Today our team is shipping the beta version of Windows Live Writer.

The best part of releasing a new product is how much you learn from customers after shipping it. As much as you think you’ve nailed the details you learn vastly more from user forums, blog posts, and support requests after you ship. The best you can hope for is that your first take is enough to get people engaged, thereby giving you the chance to create someting really great.

The Trouble with Ruby August 11, 2006

Posted by J.J. in Code.
1 comment so far

Simeon Simeonov on Ruby. I agree. The sweet spot Ruby hits is incredibly high productivity for the brightest of developers. Definitely not a mainstream replacement for C/C++/C#/Java nor for PHP/Python.

I like Ruby but I don’t see it becoming a mainstream language soon. The biggest strength of Ruby–the OO nature of the language and some of its cooler constructs–are its greatest weakness. Consider continuations, for example. How many people in the world would know how to implement something with continuations without screwing up?

Source: The trouble with Ruby
Originally published on 8/9/2006 5:43 AM by Simeon Simeonov

VOX APIs August 11, 2006

Posted by J.J. in Blogging, Code.

A couple of interesting things to note within the RSD file for VOX:

  1. Currently no support for the Metaweblog or Movable Type APIs (Atom is the only standard weblog API supported).
  2. Brand new Vox Developers API. Intriguing. I couldn’t find more details about this anywhere online but expect it to contains lots of interesting goodies. Can’t wait to check it out.