Dabble DB

The Dabble Blog

Archives: Features

Checking the right boxes

In any database system, or even an intelligent spreadsheet, it helps to give your computer hints about what kind of data you're working with. In Dabble DB, this takes the form of field types and selecting one informs Dabble whether you're working with, for example, numbers, money or geographical locations. We already support lots of different data types, but starting this week, we've added some new field types. And we've made some of the existing types smarter.

Better choices for choices

Re-order your choices First off, our choice fields just got a lot smarter. You can now re-order your existing choices any way you like, at any time using a spiffy new drag-and-drop menu. After you add a new choice you can move it to the top of the list or somewhere in the middle. You can also now edit your choices with the changes applying to existing entries. So now when your boss says that "incomplete" sounds too negative -- can you please change that to "in progress"? -- it's not a problem.

Radio buttons The other new feature for choice fields is to present them with radio buttons instead of drop-down menus. With radio buttons, choices are shown beside a circle, each on a separate line, with the selected choice's circle filled in.

Radio buttons Radio buttons make it easy to show a few choices clearly. Sometimes though, you only really need two choices -- a basic "yes" or "no". Many of our customers have requested the option to use checkboxes in these situations, and we're happy to provide them as a new field type on their own.

Checkboxes combine very nicely with our Edit Column feature (for spreadsheet-style editing), making it easy to change many entries at once without cumbersome drop-down menus. On longer forms, checkboxes are more usable and efficient for your users. And lastly, you can create attractive table reports by using icons to show checkbox data instead of words.

Clean up your links

Web link labels For a long time, you've been able to put web links and email addresses into text fields using a special formatting option. Well we've now broken them off into their own separate types. Better still, we've added the option to label links and addresses. You can use a default label for all entries (the proverbial "Click here" for example), or use a custom label and write a meaningful phrase to identify each particular link. No more long, indecipherable map URLs.

One-click dialing

One-click dialing
To complete this contact information circle, we've finally added a phone number type. We still have some plans up our sleeves to make this a rich feature, but as a starting point, this field type will give you one-click dialing for your contacts if you're a Skype user. Support for mobile phone dialing is also forthcoming.

Smarter configuration

Finally, all of this comes part and parcel with an overhaul of field configuration itself. Because there are now 15 different field types, we decided it was time to split the configuration in two parts. Selecting a field type is now one screen, and once you've made your choice, the window rolls up to reveal options for that particular type. (Of course you can still change the field later by going back to the list of types.)

You can find a video showing the new field configuration on our help pages.

Building a better widget

Today's blog post isn't about a new feature to Dabble DB, but to me, the user interface designer, it feels just as significant.

Interface design on the web can be both simple and complex. The simple path is often the wisest. Don't deviate from what everyone else does and people will figure out your interface. That's why you see blue links everywhere on the web: not because there's anything special about blue, but because that's what everyone is used to.

Sometimes though, the norm doesn't quite cut it. Or worse, there is no norm to do the cutting in the first place. One example is the combo box widget. A "combo box" is what we design nerds call it when a text box has a drop-down menu attached and they interact. (And a "widget" is interface-design-speak for a thing that you interact with, like a text box or a button.) In theory, when you start typing in the text box, a drop-down menu appears below, and shows choices related to what you've typed. Ideally, it changes quickly as you type.

A combo box in Firefox

Combo boxes help narrow down a wide array of options. One example is Firefox's built-in search box, where once you type something, it shows you other alternatives. You don't need to type the whole phrase to find a result. Very useful. We use combo boxes in Dabble DB too, when there are too many entries in a list to show them all comfortably in a single drop-down menu. This happens with Link to Entry and List of Entries fields, if you're choosing from say, 200 existing entries. Rather than show the entire list, you type in part of a name and then it shows you potential matches.

Desktop applications usually have good combo boxes because programmers have standardized widgets readily available to drop in. On the web, however, combo boxes have never been standardized, and they aren't terribly easy to create. The result is that many people have spent a lot of time creating their own, and most are half-baked. Variations are fine for Glenn Gould, but if people are going to take web applications seriously, we don't want 32 different styles of combo boxes.

We've used our particular combo box approach for a long time, but the implementation was neither elegant nor fast. It required you to type and then click on a menu, which is a pretty slow interaction. That it lasted as long as it did is because most Dabble DB users never saw the combo box and so they didn't have an opportunity to complain. (We hate complaints.)

We did receive a few complaints though -- justifiably -- and so we decided it was time to improve this widget. I'm happy to say that a new version has recently been deployed to everyone and, if you were used to the old one, this should inspire thoughts like, "What took them so long?" If you never noticed the old one, then hopefully this will inspire no thoughts at all because it just works.

For those that care about such things (and if you don't then you probably stopped reading this post ages ago), here are some little details that we worried about in making this widget more pleasant:

  • It gives you some visual feedback to indicate that search results are loading.

  • Once search results appear, you can simply press Enter to choose the first match.

  • You can use cursor keys (down and up) to select another match and then press Enter so that you don't need to move your hand to the mouse.

  • If you like moving your hand to the mouse, you can still do that too and click the match you want.

  • Overall, searches happen faster because the system doesn't waste time doing a new search after each letter you type. Instead it searches every tenth of a second only if something has changed and it cancels any previous results that are still loading.

This video requires the Flash Player version 8 or higher, and also requires JavaScript to be enabled on your browser.

We hope you enjoy.

—Luke

*or* = More

We're continuing to expand the possibilities with Dabble DB's filters to make it easier for users to search their data and find what they need. Starting from today, you can use the "wildcard" asterisk at the end and/or beginning of a search term to find partial matches in your text. If you can't remember if someone's first name is "Elizabeth" or "Lizzy", for example, searching for *liz* will now match both.

This feature also comes in really handy when searching email addresses and web site URLs. For example, filtering for *@dabbledb.com would match any email address ending in "@dabbledb.com". Filtering for *.dabbledb.com* would match "www.dabbledb.com", "blog.dabbledb.com", "http://dabbledb.com/", "dabbledb.com/explore", and myriad other possibilities.

Happy searching!

—Luke

This or that.

There is a new addition to our filters feature set.

  • Enrollment Date: June 2005; June 2007
    • The result will be entries from June 2005 OR June 2007
  • State: NY; CA
    • The result will be entries from New York OR California
  • Last Name: a*; b*
    • The result will be entries beginning with the letter a OR b

We know a few of you have been waiting patiently for this one and we hope you enjoy it.

A new Dabble DB user shows off.

Here is an example from a customer who recently found Dabble DB.  He sent us an email after creating his first page: "Thanks for creating Dabble DB, it's a great product!  I am too embarrassed to tell you how long I spent trying to put together a form like this from scratch."  We've been lucky enough to see it progress to this stage - adding the Google Maps were a great final touch.

Aloha Top Ten is a Hawaiian vacation website.  With this online form they will gather information into their Dabble DB database and use it to provide vacations quotes for interested customers. 

hawaii-screenshot

The customer has been holding off on having this form go public, it really needed a calendar date picker for his date fields.  Next on my to do list: email Christian and let him know that has been added - the advent of pages convinced us there was a need.

Calendar picker

Pages and Views

When we announced Pages at the end of August, Andrew hinted that it was only the start of our support for what we call "core" and "satellite" users. His post gave a good overview of why Pages exist and how our customers led us to them. With that in mind, I'm happy to announce Embedded Views: the next, but not last, step in our vision for Pages.

Dabble DB has always supported sharing your views with the world, so that anyone can see the reports you've built. With Pages, you could also collect data from the world, with custom built forms shared with satellite users or anyone else. What we're announcing today is a powerful combination of these two features. Embedding a view into a page form allows anyone accessing that page to access, visualize, and optionally edit, via the form, the restricted set of records visible in that view. We think Pages is now a robust enough platform that many users can do comprehensive work with access only to Pages. In other words, Dabble DB is taking a significant step towards being not just a database tool, but an application development tool.

Table view with form

For example, say you're a sales associate:

  • You only want to see your leads, and you don't want any other sales associate to see yours. None of them want you to see theirs, either.
  • You want to login to a page and see every view you have permission to see.
  • You need to be able to view charts, maps, and tables of your leads.

For the first time in Dabble, you can build this kind of system and host it entirely at Dabble, with no external server or coding necessary.

Calendar view with form

As another example, say you work in an office and you want to wrangle your coworkers' schedules:

  • They want to be able to enter their vacations by paging through a calendar to see when other people will be there.
  • You want people in your office do be able to bookmark a personalized calendar every morning, to see and edit all their appointments for the day.

On a personal note, this is the Dabble feature I've been most excited for, and I'm thrilled to see what our users will build. Meanwhile, we'll be continuing to expand Pages further, and we'd love to know what you think.

--Ben

Filter finesse.

Filtering your set of data, large or small, is a way to hide the noise when you require the ability to zoom in and out a particular segment.  Since we have a number of clever ways of doing this, here is a quick summary of the beauty in Dabble DB’s data filtering.

(Note the automatic recognition as you type into the search box. Once you enter your filter, click the filter button that appears below the text entry box).

Screenshot006

The basic: “Smith”, “Last Name: Smith”
The first will search for the word in any field; the latter will search for the entry in the specified field name.

The wildcard: “Last Name: S*”
The partial-match filter will bring up all entries with a Last Name beginning with “S”.

The exclusion: “Description: any” or “Description: not any”
One will ignore blank entries and the other will find blank entries.

The dynamic: “User: me” and “Date: this month”
Note, “me” will always be the current user signed in and “this month” will always be the current month.

The valuable: “Sales >= 100” and “Sales: <= 100”
Value filters can be used for numeric fields. Using both filters above the result will be all Sales data inclusively between $100 and $1000.

The notable:

  • : — used for specifying field names
  • <, <=, >, >=, after, before — used with numbers and dates
  • today, yesterday, tomorrow — used with dates
  • now — used with dates to mean "today at the current time"
  • from now, ago — used with dates to mean "in the future" or "in the past"
  • !, no, none, not — specifies that matches should be excluded
  • any, anything — matches any value
  • all — match if all entries are included in a list of entries field
  • * — specifies a wild card for text fields

My favourite use at the moment:

Screenshot007

I use a saved view in one of my applications to calculate Canadian taxes on just the Canadian accounts each month.  Dabble DB gives me the answer immediately – the calculations and filters are already set.  I would like to know how you have finessed your application with the use of filters - post them in a comment.

Check out our help page for more detailed information. 

Dayna

¿Donde está la zapateria?

Vamos a estrenar Dabble DB en Español, y necesitamos voluntarios valientes. Si quiere probar la nueva versión, por favor póngase en contacto con nosotros por info@dabbledb.com.

If you'd like to help translate Dabble DB to Bora Boran - or some other language - please let us know.

Constant change

One reason we think Dabble DB is a good way to build a database is the way it allows you to make incremental changes to the database. You can start simple and build your way up to complexity rather than having to plan it all in advance.

This philosophy extends to the way we’ve developed Dabble DB itself. As we move ahead, we’re always looking for areas where we can make incremental improvements to the user experience and feature set. There will never be a Dabble DB 1.5 or Dabble DB CS 2008 Extended Edition that requires an upgrade disc and installation instructions. When we change things, we aim above all to avoid disruption. (Our version of disruption is telling you that we’re upgrading you, which is a screen our users have come to see with regularity.)

With that in mind, I’m happy to report on a few areas where we have recently improved and extended Dabble DB.

Constants

A constant value in Dabble When we added formulas to Dabble, we made it possible to add, subtract, multiply and divide columns of numbers. We’ve now extended this to let you do formulas with constant numbers — arbitrary numbers independent of your data. One example use of this is adding sales tax to prices: simply multiply a column of product prices by 1.07 to figure out each price with 7% tax included. Then, when the government changes the tax rate to 6%, you can quickly change the constant number to 1.06 — or even add a second constant to compare the difference. We’ve prepared a video on the help page to demonstrate how it works.

Smarter filtering

Smart filters There are lots of ways of adding filters to a view. One fast way that we felt wasn’t obvious enough is to simply type “field: value” (e.g. “Last name: Andrews”). We’ve changed the filter box so that it now pops up matching fields as you type. By the time you type the “s” in “Last name”, Dabble will notice and offer to let you filter that field (or any other similarly named one) with a click of the mouse. We’ve also improved global searches (across a database) to make search results more useful when they include multiple categories.

Scheduled imports

Scheduled imports

One of the pains everyone deals with during database construction is data input. How do you get the goods in to start, and then how do you keep them fresh later? To that end, we’ve spent a good deal of time making our import process more robust. More notably, we’ve added scheduled imports. That means you can set up an import from a web site (including an RSS feed) and then tell Dabble DB to fetch the data on a regular basis. You can set imports to occur monthly, weekly, daily, or even hourly to match the speed at which your data changes. Overall it should be much easier now to maintain a link between your Dabble DB application and an external data source.

We hope these improvements add even more incentive to put your data into Dabble. If you’re still not convinced though, we’ve got more plans for the months ahead. Stay tuned.

Spilling Ink (II)

As we’ve written before, we realize how important paper output can be even in this digital age (for example, Dabble DB is the first web application I’ve seen with a full Page Setup dialog box). Based on user feedback, we’ve just done another round of tweaks to our PDF generation: we added darker borders and shading for better legibility, repeated column headings at the top of every page for clarity, and page numbers and the current date for your archives. It’s a small update, but it makes us happy, and hopefully you as well.

Page_setup