« Return to the Antair Blog

Archive for the ‘Behind the Scenes’ Category

Building the user interface for Snippets

March 27th, 2010

Our upcoming product Snippets will be our sixth BlackBerry application, and our most ambition user-interface to date.

The custom user interface engine used in Snippets is capable of rendering on any modern BlackBerry device from the older Pearl models displaying at 240×260 pixels to the new Storm and Bold devices running upwards of 480×360 pixels.

To support the unique characteristics of the BlackBerry Storm and Storm2, the new Antair UI engine is also capable of dynamically switching from landscape rendering to portrait rendering, and has full touch-screen capabilities.

Let’s take a look at how we build up one of our custom screens in the new Snippets application. I’ll be using the BlackBerry Storm in landscape mode for presentation.

We begin with a blank screen and use a solid bitmap background as a foundation. For Snippets, we decided to go with a nice wood grain bitmap. The engine takes care of making sure that the background is fitted properly on the various screen sizes supported by the various BlackBerry devices.

Then, we use custom controls to create a beautiful title bar. Aside from displaying the application title and company name, the title bar is used to hold controls for various functions, including settings and support. It’s also semi-transparent, allowing for the wood texture of the background to show through.

Snippets is an auto-text/auto-complete application. We wanted to make the task of creating a new Snippet not only easy and intuitive, but also pleasant visually. So we built a ton of custom controls for the application. One such control is the Snippet editing control which looks like a real yellow notepad.

Then, we needed to add Snippet creation controls to the screen, along with a feature to allow you to enter a Quick Type sequence; the sequence of characters that will automatically insert your Snippet when you are creating a new e-mail or SMS message. But we didn’t want to break the feel of the yellow notepad. So we created a control panel that looks and feels like it belongs naturally in this scene – a ripped piece of paper held down by a paperclip.

Finally, we wanted to give the screen a little balance. We didn’t like the way to notepad ran off the bottom. We also needed a way to assign the new Snippet to a category. So we created a nice footer for the screen. Notice how the footer control is slightly transparent to allow a bit of the underlying yellow notepad to show through — another feature of the new Antair UI engine.

There you go. The design behind one of the screens for our upcoming Snippets application.

Cheers!

A small glimpse at Antair Snippets

March 21st, 2010

Today, work began on the user interface for our next BlackBerry app: Antair Snippets.

Antair Snippets is engineered to be the best auto-text/auto-complete application for the BlackBerry – enabling you to compose anything from short common phrases, to entire book-length e-mail messages, using only a few keystrokes. Along the way, Antair Snippets will surprise you with its ease of use and feature-set, and delight you with its user experience.

While the programming for the application has already been completed, we wanted to put a bit more time into polishing up the user interface to make the experience even more delightful. The screenshot above is an early version of the splash screen. We’ll be posting updates and new screenshots soon.

Cheers!

Love all around

March 16th, 2010

Antair Call Screener is a Handango Favorite this morning. Awww. Shucks.

And BerryReview picked up on Antair Headers — our FREE tool that lets you view full e-mail headers on your BlackBerry.

Twitter has been buzzing with folks talking about Antair Headers.

Cheers!

Antair Releases BlackBerry Auto-Responder 1.4

February 11th, 2010

We’ve just released version 1.4 of our Auto-Responder product for the BlackBerry.

This new version introduces more customer-requested features, such as an increased timeout for responses sent to the same e-mail address, and the ability to retain the subject line of the original message instead of using a custom subject line.

We’ve also updated the engine to support all modern BlackBerry devices, including the Storm and Storm2 touch-screen models.

As usual, both the touch and non-touch screen editions of Antair Auto-Responder are built from the same code-base using a combination of RAPC-supported precompilation and Antair magic voodoo.

One thing to note is that implementing support for touch devices made it necessary to modify the control scheme a bit. And while we were at it, the design wizards insisted that we change the color scheme of the app to make it more — “friendly and modern”.

Here, in the screenshot of an earlier version of Antair Auto-Responder, you can see the shaded-blue color scheme. The main control scheme revolved around a set of HTML-like links. A scroll of the trackwheel or trackball underlined the control under focus, making each screen flow more like a web page rather than a typical mobile app screen.

In the new version, the control scheme has been modified to work better with touch-devices, with the links being replaced by large buttons. And, as you can see, the color scheme has been modified as well. The app does feel more modern, and, I must admit, more “friendly”.

Cheers!

And the first person I hired was …

June 5th, 2009

No, not Wilbur.

Someone who comes in at least once a week and cleans our office.

Seriously.

I could go on and on about how our company depends on knowledgeable customer support crew, or our brilliant developers, but the truth is, if it weren’t for my first (and least expensive) hire, we would’ve all drowned in our own filth by now.

It makes all the sense in the world. The folks coming in to clean your office every evening or weekend are responsible for making your company look presentable, and your employees healthy and happy. So take advantage of the cleaning services provided by your office building, or, if that isn’t provided, go ahead and hire someone yourself. You can use the +1 hire to bump up your stats when you go pitching your wares to venture capitalists.

And if you only do things if they make “business sense”, you pig, I’m quite sure that office cleanliness has a large impact on the quality of work produced by your employees.

And it prevents me from sticking to your floor when I drop by for a visit.

A new BlackBerry application in two seconds flat.

May 14th, 2009

Sometimes, the coolest apps produced by a software company will never be shipped to the customer. In this case, though, “cool” is in the eye of the observer, and the observer would need to be another programmer. I am, of course, referring to internal tools.

At a typical software firm, such tools can range from system-monitoring suites to back-office systems to tools that ease the process of software production.

Well, Antair is no different, and today I’d like to show you one such internal tool. We call it Peapod.

The various titles for BlackBerry produced by Antair start with similar scaffolding code. We’re talking about thousands of lines of code including everything from our custom font engine, to the device-specific resource manager, to logging and licensing facilities. Because we often need to rig up a one-off sandbox project to test out a new feature in isolation, we need a way to quickly put together a basic, but fully-featured BlackBerry application. That’s where Peapod comes in.

Peapod is an in-house, custom-built code-generation tool that allows us to generate a shiny new BlackBerry application, with exactly the features we need, with the click of a button. Similar to what Visual Studio would do for you for a Windows app, or what Xcode would do for a Mac app. Custom BlackBerry applications, however, don’t have the luxury of such IDE assistance. But with Peapod, a task that used to take 45 minutes of coding, now takes two seconds flat. The screenshot above is one of an earlier edition of Peapod. The BlackBerry simulator in the screenshot is running the latest build of Antair’s upcoming BlackBerry product – RE:mind.

After filling out a few fields and indicating the basic features we needed from an application, Peapod generated the workspace file, project file, and all of the clean, tested, scaffolding code on which Antair RE:mind was built.

Plantin’ trees.

May 14th, 2009

The good city of New York has decided that the street outside of Antair’s offices needs a little sprucing up.

That’s a good thing.

In a year, when our office lease is up and we move into a bigger space, the people in the company taking over our current office will enjoy lovely shading in the summer.

In the meantime, every monitor in our office is shaking, and everyone’s butt is getting a nice massage as the jackhammers are doing their thing 4 floors down.

That’s not so good … at least not while we’re trying to get a new product out the door.

Small software company feeling the economy.

February 18th, 2009

I’m really feeling the economy this week at Antair.

We’re trying to fill a helpdesk support position this month. Last year, around this time, we were filling a similar position and received resumes at the rate of about 20 resumes a day.

This year, the resumes are coming in at a rate of 40 per hour.

Hopefully, we’ll find a great candidate and fill the spot soon, but the volume of resumes coming in is simply staggering by our standards.

Setting up an office for a software company.

February 1st, 2009

We moved into the new Antair offices in March of 2008. I meant to do a write-up on setting up and furnishing an office for a software company at that point, but interviewing for two new open positions, and other administrative nonsense prevented me from doing so. So now, a year later, I’ve finally found some time to write this article.

Location and office layout.

The search for the new office space went on for several months. We needed something that would fit five full-time employees comfortably. Bright light, and a clean, fully networked building were essentials. Spaces that were more open rather than divided up into several smaller rooms were given preference. Offices like this are more easily found in Manhattan, but we just weren’t willing to spend the kind of money necessary to lease an office in the city, so our search focused around Brooklyn.

We finally found a great space in Park Slope. The building is brand new, and specifically built to be leased out for office space. The suite we leased is 800 sq. feet, priced at $20.00 per sq. foot. The layout is just what we wanted – a large open space. One wall is entirely composed of floor-to-ceiling windows, with a private patio. The office also has a private bathroom, a kitchen area with requisite appliances, and a separate area for servers and office machines.

This space suits us perfectly. It fits everyone very comfortably. It’s very, very bright, with lots of natural sunlight. The outdoor patio is perfect for morning group breakfasts and afternoon lunches when it’s warm. And … there’s a great pub downstairs to celebrate the days when we ship a new software product or a major update release.

Furniture.

After a month of changing the layout a bit to get things “just-right”, and a week of painting the office (a bright peach shade for a very cozy atmosphere), it was time to furnish the office.

For the desks, we needed something akin to a long workbench, but I wasn’t prepared to be so rustic. Most importantly, the desks needed to be longer than the average office desk found in Ikea, as they needed to fit three 20-inch monitors while still leaving room for a phone, keyboard, mouse, and personal items such as family photos, laptops, and desk-flowers. We finally settled on 60″ Series C office desks from Bush Furniture. They’re functionally sufficient, and aesthetically pleasing — they also don’t cost all that much. We purchased four desks initially, for a total cost of around $1,000.00 USD.

I don’t recall where we finally got our chairs from. I do remember that it took more time to find the chairs that were “just-right” than any other piece of furniture. We spent less time configuring our web servers than we did looking for proper office chairs. They aren’t Aeron chairs, and they don’t cost anywhere near what an Aeron chair costs, but they’re ergonomic, very comfortable, and adjustable in every direction. If I remember correctly, we found them in Staples, and they cost around $200.00 USD a piece.

For the reception area, we needed two comfortable chairs, the kind people are accustomed to seeing in reception areas, and a small coffee table. I believe we purchased these from Target at a total cost of around $500.00 USD. A few flowers, magazines, served coffee, and the space serves as a very comfortable and cozy reception area.

We have two massive book cases from Ikea. They cover one entire wall of the reception area, and contain everything from our technical books, to magazines that published articles reviewing our products, to video games for the office Xbox 360, to various DVDs and software packages. It was important to us that a candidate coming in for an interview, or a reporter coming in to interview us for an upcoming software release, has a great first impression. This is what we wanted from the reception area. The person coming in has a chance to relax, read some Antair-related literature, watch some DVDs, or just relax and have a cup of coffee.

For the administrative area, we picked up some knee-level cabinets to hold various things. The office printers, fax machines, and other office machines are then placed on top of the cabinets within comfortable reach of a standing person. There are three such cabinets at the office. I believe they were picked up at Ikea at a total cost of about $600.00 USD. The opposite wall of the administrative area contains our intranet servers and other networking peripherals.

The patio was outfitted with comfortable deck chairs and small outdoor lunch tables — it’s not much, but just sitting outside on a warm day is a treat. Some of us like to have lunch or breakfast out there. I like to grab my laptop and work out on the patio for a few hours each day.

We also have an office couch. It was purchased from Target, I believe, and costs around $600.00. No-one uses the couch aside from the office pet — Cleo, my loyal Cocker Spaniel. Cleo comes to the office with me every day, and she seems to have really taken to the couch.

There are other items such as large whiteboards, and rubbish bins, and such. But I won’t go into that.

Finally, the office has plenty of flowers and small standing trees — they bring a great touch of comfort and coziness to the office.

Office machines, technology, and other stuff.

Antair designs and publishes a variety of software products, so we couldn’t stick with just Macs or just Windows boxes at the office. Each desk has a uber-powerful custom built Windows machine — primarily for development of our BlackBerry applications. Some desks have various Mac machines, from 24-inch iMacs to 17-inch Macbook Pros. While the Mac’s are primarily for development of our iPhone games, some of us use Macs as our primary machines. I do most of my work on my Macbook Pro, as I tend to carry it between my house and the office (all I need is ssh and vi anyway).

Each person has at least two 20-inch flatscreen monitors. But since folks like to work the way they like to work, some people now have three monitors, while others (like myself), just have a single laptop.

Our intranet servers are mostly Dell machines running server Ubuntu. We have a single Windows server for VPN connections. Our web server is a rack mounted Dell machine running out of a colocation facility in New Mexico. Why New Mexico? Because a good colocation facility is a good colocation facility, and there’s no reason to pay 400% more to lease space on a rack in New York City. We can access the web server as easily as any machine at the office. Our intranet is Linux-based, running a standard LAMP setup, with Perl as a primary development language.

The office television is a large-screen plasma hanging on the wall for all to use at any time. We have an Xbox 360 and a Nintendo Wii hooked up to it, and a wide assortment of DVDs and video games for every-day enjoyment. Most of the time, the TV is on with either the Sci-Fi channel or CNBC playing in the background.

The bathroom is … a bathroom. It has the essentials and a shower that is rarely used but is available nevertheless. Finding office-related bathroom items was actually an eye-opener. Where do you go, for example, to purchase an industrial-quality paper-towel dispenser? I wouldn’t remember where we got ours even if I tried. I remember that it wasn’t very expensive.

The kitchen has a sink, a microwave, a refrigerator stocked with drinks, a cupboard stocked with snacks and various edible goodies, and a water dispenser (serviced monthly by Poland Spring).

The coffee machine, an essential, is a Senseo. A fantastic little machine that dishes out one or two cups at a time with a variety of flavors-in-a-pod. The Vienna French Vanilla is an office favorite at Antair.

The phone system is a simple one. We didn’t need to shell out 100k for a large office server-based phone system with extensions. The office has two lines. Everyone has access to a personal phone unit for taking or making calls, or for phone-support, and voice-mail messages are stored for when we’re out of the office.

Every suite in the building has access to standard CAT-5 routing available for the building. All of our office machines are networked through standard routers and switches, accessing the internet through a “business-class” cable connection (slightly faster, but far more expensive than what one would have at home). Categorically, most services for the corporate world, business accounts, such as they are called, are more expensive then their consumer counterparts. But it’s an office building, zoned as an office building, and Antair is a corporation, so we pay corporate rates and have business-class accounts for everything from electricity to gas to internet, phone lines, and television services — something to consider if you’re preparing a budget for opening up a new office.

Final costs.

All in all, the office took 2 months to set up from the time we found the location and signed the lease, to the time we were ready to move in. The total cost of bringing up the office was just shy of $20k USD.

User Interface Improvements

December 7th, 2008

The BlackBerry SDK doesn’t come out of the box with much in the area of user interface controls. There’s enough to get started, but should you need to build something of actual value, you’ll soon find yourself craving something a bit more than a dry edit field or a boring old square button.

Aside from our games, our BlackBerry applications are utilities, and, as such, we’ve always prioritized functionality over eye-candy, especially since there aren’t many off-the-shelf user interface libraries that one can use to spruce up a BlackBerry application (there are, in fact, none, at last check).

Still … every once in a while we put aside a bit of time to improve our user interface library.

So here’s a quick comparison.

The first screenshot is the primary screen from version 2.0.3 of our BlackBerry Call Screener application. The controls used here are fairly standard, with only a bit of customization to make the default UI act a bit better in the context of what the application needs.

By comparison, the second screenshot is from our upcoming BlackBerry E-Mail Auto-Responder application. Almost every control on this screen is custom-built. The screen is split into three areas, with a menu bar at the top, a status bar at the bottom, and a middle portion containing the contents of the screen. The screen navigation is designed specifically for the BlackBerry trackwheel or trackball, depending on the model, and each portion of the screen acts within the context of the active content area — making the user interface navigation much more intuitive, and delivering contextual help to the user as needed without breaking the workflow.

And it looks better as well … :)