Have you ever seen ?? in c# code? The first time you saw it, was your initial reaction "??"? The ??-operator was added in c# 2.0 and as the documentation says, "The ?? operator returns the left-hand operand if it is not null, or else it returns the right operand." If you're like me, you don't like there to be too much syntax (and especially characters) in your language that is esoteric in its meaning (personally, I still prefer java's "implement" and "extends" keywords over the c++/c# syntax of ":" for inheritence and implementation of interfaces).

Though I must include the disclaimer, there are degrees of how much I'm of the opinion. Maybe it's just years of familiarity, but having some type of character, such as a semi-colon, terminating a line does not seem impractical. And the lambda expression syntax introduced in c# 3.x does provide a lightweight syntax for creating simple anonymous delegates that is really convenient.

The ??-operator, however, does not really yield any new functionality and it can be mimiced relatively easily with a method/function. In T-SQL/Sql Server, there is one already called ISNULL. The usage of such an implementation would not be too much. Admittedly, this entire (belated) complaint is a small quibble on my part, like preferring people to use the Nullable struct instead of int?, but still.

 

At Delphic Sage, we love using Basecamp as our central communications hub between our staff and our clients. It's simple and easy to use, and has a permissions model that makes it well suited as a client portal. However, Basecamp lacks the granularity to be used for actual project/task management which is why we use a different system internally. One of the pain points for our project management team is that they often have to take messages or to-do items from clients out of Basecamp and copy them to our internal solution manually. After reading a bit about the Basecamp REST API, we devised a fairly clever way to make this happen more easily without subjecting/exposing our clients to the minutia of our internal task system.

Some Requirements

1. It needs to be quick and easy to selectively create a new intranet task based on a client entered To-Do item or message in Basecamp.
2. It needs to be easy to jump back and forth between the Internal Task and the Basecamp To-Do
3. The Client should not be exposed to the internal workflow / comments

The Solution

1. We used the BaseCamp API to allow project managers to simply create a new task based on the basecamp URL of an existing To-Do Item. Once the task was created, we prepended the To-Do in back camp with the intranet Task #.
2. We used a GreaseMonkey Script with JQuery to Link all task #s on BaseCamp To-Dos to the corresponding Intranet Task.
3. Since our clients will not have the Greasmonkey script, they will only see that there is a task number, indicating that the Basecamp To-Do has been escalated to an internal Task.

Read on for the step by step analysis...

What were once known as "Cellphones" have come a long way in the last few years, and now we are in the midst of a "Mobile Device" or "Handset" revolution. Since the iPhone came out in 2007, phone manufacturers have been forced to step up their game and take things to the next level. When you add in new offerings in the form of Google's Android, Microsoft Windows Mobile 6.5 and the Palm's WebOS we finally have plenty of good mobile OS options, and the consumer is benefiting from competition with more features and lower prices (if only the service providers would follow suit). If you don't already have a smart phone, chances are that you are planning to get one when your contract is up. For those of us in the industry,  this is the transition to the time where the mobile website will not be just an afterthought, but in some cases may be even more mission critical than the traditional web site. This brings up a whole new set of challenges and concerns for the strategy and planning of a web presence.

When creating a website, it is important to plan for content entry during a new site launch or redesign. There are many risk factors associated with poor content planning including timeline slippage that could delay a site launch, scope changes, or result in inconsistent look/feel of site. In this episode of Ask A Sage, we focus on how to mitigate risk by providing content planning tips and advise when launching a website.

Mark Patten

Yay, It's World Usability Day!

Nov
12
2009
by Mark Patten

World Usability DayOpen your office Windows (no chairs through the windows if you are hermetically sealed please - especially if you are 40 floors up) and scream with joy - "it's World Usability Day". This year's theme is Designing for a Sustainable World. Let World Usability Day 2009 be your impetus to create greater awareness for designs, products and services that improve the sustainability of our world.

What is World Usability Day? Well it's described on the namesake web site as follows:

"It's about making our world work better. It's about "Making Life Easy" and user friendly. Technology today is too hard to use. A cell phone should be as easy to access as a doorknob. In order to humanize a world that uses technology as an infrastructure for education, healthcare, transportation, government, communication, entertainment, work and other areas, we must develop these technologies in a way that serves people first.

World Usability Day was founded in 2005 as an initiative of the Usability Professionals' Association to ensure that services and products important to human life are easier to access and simpler to use. Each year, on the second Thursday of November, over 200 events are organized in over 43 countries around the world to raise awareness for the general public, and train professionals in the tools and issues central to good usability research, development and practice."

There are lots of ways to participate. Be sure to check the web site.

Results Per Page 
Page: 1 2 3 4 5 6 7 8 9 10 11