January 10th, 2008 by Loren Barr
Hi, I’m Loren Barr, the lead engineer for the type server application. Over the past few months, an Extensis engineer and I wrote the Users and Workgroups Administration interface for the forthcoming type server. I’ve been asked to say a few words about this tool, and why you’ll love using it.
While in development, we called the Users and Workgroups Administration interface “Uma” (short for User Management Application). Basically, this is the interface that admins use to manage users, workgroups, and roles and permissions. Administrators use this application to do things like add or import users to the system, move users into and out of workgroups, and assign users roles and permissions.
We brought the Font Reserve concept of workgroups, and introduced the concept of roles which makes assigning user permissions a snap. We ship with a couple default roles that we think will be useful, and also give you the ability to create your own. Once you have your roles set up, you can give users complex permissions by simply assigning a role to a user in the context of a workgroup. Of course you can still drill down into the details of individual permissions for users if you want that level of specific control. Either way, Uma makes it easy.
Another great convenience of Uma is that it is a web application. Specifically, its a Flex app, which means that it runs in your web browser using the Flash plug-in. What this means for you font admins is that you can administer your system from any modern web browser on almost any operating system. No need to install the full native font client on your machine if you just want to do user management. In fact, you probably don’t need to install anything at all to run Uma, just point your browser at your font server’s IP address and you’re good to go.
Even though Uma is a web app, you might never know it if you don’t stop to think about it. When we started building this app, we knew we had to give users a rich experience, including things like drag and drop, keyboard usage, and a beautiful look and feel all without clunky page reloads. We think we’ve hit this one out of the park. Every time we show this app to developers and customers, they do a little double take when they see some of the nice things like animated transitions we’ve built in.
Uma is our first Flex application at Extensis, and we really enjoyed learning and using the framework. We were able to rapidly develop without writing a lot of code. Fewer lines of code means fewer bugs and less maintenance overhead. It also means we can quickly add new features in the future without breaking existing functionality. For any developers out there, do yourself a favor and check out how easy it is to use Flex to bind to existing web services.
Also, if you’re planning to be at the Macworld Expo next week, be sure to stop by the Extensis booth and ask to see the type server administration web interfaces. I think that you’ll be pleasantly surprised.
December 18th, 2007 by Amanda Paull
When talking about our new Type Server, we get this question a lot: “What’s under the hood?”
Where do I start? As Mac OS X is to the world of operating systems, the new Type Server is shaping up to be the same for the font management world – a powerful product that is easy to use with a beautiful interface.
In general, the driving rule that every team member has followed during development is very simple, “Be a great IT citizen.” This means that all of the choices that we made along the way, from server traffic to ease of installation and setup all followed this rule.
In addition, the Type Server is being built from the ground-up using industry-proven technologies. This allows us to focus on what we know best: the business of managing fonts.
The server is a J2EE environment utilizing embedded SQL. But if you’re not a whiz, don’t let that scare you off. You don’t need a PhD in IT to install and use the Type Server. The installers are logical and easy to use, even if you don’t have an in-house administrator. With this in mind, here are the facts:
- Modern server architecture: Open source foundation, JAVA-driven application server, web service enabled
- Web-based administration (see screen shot below)
- An Adobe FLEX application for user-management
- SOAP-based communication (http/xml) between the client and server
- Optional SQL database embedded on the server
- Optional external databases: MSSQL, etc.
- ACL-based permission
- Active Directory integration
- Enabled with server-based command line tools model.
If you’re intrigued, please be sure to visit us at the Macworld Expo in San Francisco in January. We will be showing off the new Type Server in the Extensis booth. Until then, stay tuned to Manage This for more info.
As always, if there is something you want to hear about, please drop me a line.
Let’s get right to it–Here’s the first peek at the end user interface for the new Type Server Client.
I do feel this doesn’t do it justice, after all, a font manager looks a lot like a font manager. It is what’s under the hood that makes the big difference.
For the end user, here’s the short list:
- Multi-face previews combined with QuickType. You can even set preview point size by line. Plus, previews are even better and faster than Suitcase Fusion.
- Smart sets: save your search criteria as a set and the smart set will automatically find the fonts for that set- dynamically- each time the set is selected.
- Search on multiple criteria. Can’t remember the name of that typeface? Then narrow-in by searching on what you know:
- OpenType + Humanist sans + Adobe = whoops, there it is.
- Granular font information. You can see file type, date added and by whom, version number, unique Font Sense ID, workgroup, classification, etc.
- Type Server auto-classifies your fonts when they are added- style, foundry, etc. And yes, you can also add your own custom keywords, as well.
- Highly accurate activation with unique Font Sense ID’s.
- Activate either the entire family or just individual faces.
- My favorite fine-tuning thingy: adjust preview size on the fly with the preview size slider (see bottom right of the screen shot above).
- Did I mention ‘faster’?
If you want to see the new Type Server in action, come check out our booth at Macworld Expo in January. We will be showing the new Type Server on the floor. If you don’t have tickets yet, stay tuned to Manage This. We’ll be giving away tickets to the exhibit floor as we get closer.
There is a lot more to show before then, however. Next up: we’ll talk about what’s under the hood for administrators- and a UI sneak peek for IT types is right around the corner.
As always, let me know if there is something you want to see.
(*This is Alpha, so I make no promises that things won’t change a bit between now and then. After all, this is software.)
In the last installment, Mike Bacus walked us through the iterative development process that his team has implemented for the new Type Server development. Today I chatted with our Product Manager, Davin Kluttz, about what a font manager should be.
Amanda: Who needs font management and what makes you the expert?
Davin: Well, I’ve been working with font managers for years- long before I started at Extensis. I’ve used them all. And I’ve been thinking about this a lot. You could say a font manager takes all the guesswork out of working with fonts and you can forget about it. But, many people who work with fonts don’t want to forget about them- or completely tune them out- they want their fonts to work with them, not against them.
If you just have a very basic need, like displaying fonts- well the OS (operating system) provides a base level of functionality here. But where this becomes an issue is for the people who have a lot of fonts, or who receive a lot of fonts from clients. So in this case, you need a professional font manager.
A: In your mind, what is the real job of a font manager?
D: It is not just about organization. You can be a meticulously organized person with your fonts in nested folders, etc. But font management is really about having a system that works for you. I think the real job is to put you back in the driver’s seat. Enables you to get as much detail as you want and still allows you to dial it up to a high level of automation.
An example: When you add a font to a database-driven font manager, the database records all the useful information about that font. In this process it can tell if you already have a copy of this version, or if the font is corrupt. Over time this reduces your clutter. Plus it reduces your mental clutter because you don’t have to worry about organization.
A: Then what should users expect of a professional font manager?
D: It should have a database, which enables searching by many criteria, including foundry, file type, classification, etc. It should also put fonts in intelligent groupings (Old Style, OpenType, Adobe, …) This lets you scout through your library quickly both visually as well as through a search field. If you can’t find what you need quickly, what good is it?
Each font should have a unique ID. The only way you can guarantee that you are getting the exact font used in the document is for it to have it’s own identity. A font manager should never just pick the first font in your list with the name ‘Helvetica’. Or worse yet, give you the list of all the ‘helvetica’ on your system and ask you to choose. If I didn’t create it, how the heck should I know? “Just because you walk into a crowded room and yell “Jimmy” does not mean you get the right guy.” That sums it up.*
A font manager should auto-activate fonts called from your parent applications, like Adobe CS3. If the font manager gives your fonts unique ID’s, then you know you’re set.
I don’t think font management is about having all your daily favorites ‘on’ at all times. That’s a given. People who work with fonts already do that. It is about the rest of your library. It is about having creative options at your fingertips without the clutter of the fonts you don’t like, don’t want, don’t need or can’t print! Its about speeding up the viewing and choosing. Who wants to spend a whole day scrolling from Zapf dingbats all the way to Arial? I don’t know about you, but I’ve got better ways to spend my time.
One final thing your font manager should do: Clean up after itself! A lot of people don’t think about this, but it should close what it opens to get it out of your way. This lowers the risk of your system ‘misbehaving’. In other words: if you put your toys back when you’re done, you won’t be tripping over them.
In the upcoming “We hear you!” installment we’ll have a sneak peek at the new UI. It’s beautiful, so don’t miss it.
(*Full disclosure: I stole this quote from our Technical Support Lead, Kelly Guimont.)
October 16th, 2007 by Amanda Paull
In the last installment of our ongoing series of discussions about the development of our new server based font management product, the design team talked about developing the interface artwork for the new type server. In this installment, I sat down with our VP of Engineering, Mike Bacus, to talk about the development process behind the new type server.
We recently embraced a new development process here at Extensis. What was the catalyst for this?
We adopted iterative development a few years back so we’ve been doing it for sometime. We don’t always follow it; it’s more of something that we strive to do on every release. Process discussions are generally boring and soulless; however several years ago we had a large project get seriously off track, our engineering team was in a dark place as a consequence, and we lost good people as a result. The negative pleasure of this experience served as the catalyst for change, we have done a lot of soul searching about the processes we use to create products and iterative was selected as a good fit for us.
Previously at Extensis, software development had been done using a ‘waterfall method’ where the scope of the entire project was assessed up-front and estimates were made and a delivery date was predicted.
What exactly IS iterative development?
It’s not what Chuck Norris used to hone his fighting technique. There are several flavors: iterative development, agile development, extreme programming, etc. There are many proponents of these development methodologies. It is made up of a series of short development cycles; at the end of each cycle you have a certain set of features which are fully-functional and bug-free. Agile has a higher emphasis on verbal communication. You have a discussion about a feature, go off and build it, test it fully, and move on. The philosophy is that you build functionality in the order of priority, so the most important features are implemented first and by actively managing defect correction as part of each iterative cycle you are ready to ship the product in a very short period of time after you finish your last iteration of construction & testing.
For our new type client we experimented with a few process twists; all source code added to the project was reviewed by a fellow engineer, every feature has unit tests that execute on our build system post compile several times a day, and most functionality is exercised by our test automation group (written during iteration construction) before handing a build off to QA. This allowed us to quickly build up a suite of regression tests over so that we can quickly pinpoint problematic changes introduced to the project and fix those issues quickly. With these recent changes to our evolving process we have achieved more than an order of magnitude lower number of defects per thousand lines of code, the engineers are more productive and the amount of time to regress all features in the product has been significantly shortened so we can move through development cycles faster.
So, the process cares about where you will end up- but it is designed to tackle what is right in front of you today. We used iterative development when designing our Web site several years back, but that is a very different project. How is this process translated to a bigger project like software?
I think Agile/Iterative Development got its start in the Web domain where projects are smaller in scope and feature focused to maximize content change to make web sites more interesting – fast turnaround was a must; high usability was a must (generally no manuals or help accompany web sites); but over time it has been adopted by software companies. Because iterative development philosophy is basically “use what works, pitch what doesn’t”, this makes it very easy to adapt to different products and company cultures. In most cases this model seems to work best for version releases or incremental development. In our case, we have also adapted it for new product development of our Type Server, which many people did not think was doable. I attribute this to the domain knowledge of our Engineers, which is very high, and has always been a real strength for the company
Then what is the payoff here- for the company and for customers?
Productivity, morale, quality are all better. I have rationalized the changes somewhat, it’s not that iterative is better or waterfall is worse. You can have very well run waterfall projects and terrible iterative projects. For us, the process of going to iterative development gave us a framework and a methodology to address a lot of issues that were plaguing us; and lets face it all of these issues are people problems not process problems. The iterative methodology was like truth serum, you still need to act on what you uncover.
That sort of shift sounds like it could be unnerving for a tenured Engineer.
The downside is that it is a paradigm shift, numerous process changes increase chaos – this does ultimately settle down; but we have also experienced a decrease in predictability. We can easily absorb requirements changes mid project and even add or subtract resources to control the pace of the project – but you have to have enough discipline to not fall victim to feature creep. Additions to the project should be balanced by subtractions of scope in other areas or the addition of resources. Engineers that have worked as solo contributors for most of their career may find iterative development awkward initially, so there is an adjustment period. However, now it feels very natural and we all are as always very determined to make this work. It took a long time to achieve process transparency.
The other thing I should mention is our adherence to small teams. I think this has helped quite a bit also; we keep the span of control low so the number of communication channels is minimized. For Mystique, the code name for our new type client server project, we have a server team, a client team, a UI team, and a plug-in team. All teams are limited to no more than 4-6 people and teams work independently and adhere to interface contracts between them for integration.
What’s your final assessment?
In short: “agile” works for us. I’ve always felt that “Waterfall” gave an unhealthy illusion of predictability and disincentivized collaboration between marketing and engineering. There are probably a lot of development shops that could benefit from being more agile; our organization is dynamic, things change constantly. Agile gives us a lot; we get better team interaction and tighter design/implementation/testing loops. I very much believe in it, the focus for all involved is on doing the best job you can on the current feature – schedule and delivery dates (although omnipresent) are de-emphasized. I believe agile/iterative or a variant of that development methodology is how products will be built in the future. It fits the way we work here; we have a lot of cross functional collaboration now that we didn’t have before. Overall, I think it has allowed us to dial-up the craftsmanship and quality on the new Type Server, which is great for our own morale and will be great for our customers.
In the last installment, Martin Stein and Brian Berson discussed the objectives driving the new type server project and how these have impacted technology decisions. In this post, I sat down with the Design team to talk about what factors go into designing the interface artwork.
User Interface design is one of those overlooked and misunderstood skills. It is a combination of design, function, art and intuition. You have to anticipate what the user expects (that’s the usability piece- typically handled by the development team) and then design it on a pixel-level (that’s where the design team comes in). It is exacting, tedious work.
For our next generation Type Server we had a lot of added considerations, so I sat down with part of our Design Team to talk about their approach to the Type Server interface artwork. (On the hot seat today: Davin, our Product Manager and Elisha, one of our designers.)
UI design is complex, but there are added considerations here because we are building a new product for our current users. There are inherent expectations to meet. Where did you start?
D: There were a lot of considerations. First, Suitcase and Font Reserve users- it needs to feel familiar to them with no added learning curve. We also know that people have an expectation of what a font management UI should look like. Ultimately, you are there to turn fonts on and off. If you can’t do that without having to look around or read a manual, you’re not delivering for the user.
E: Right- it needs to feel fresh and modern without deviating too much from expectations. Visually, you want to break new ground and make it fresh, and you also want to reinforce underlying themes that have been there all along. The Development team has done a great job on this.
D: I like the fact that in this iteration there is a more direct relationship between items- like tool bar icons for activation/deactivation and the corresponding iconography for the ‘activation state’ of a font.
Regarding the iconography, what did you use for creative inspiration?
E: Early on Davin provided some images of industrial-looking switchboards and LED lights, but this was just to get our heads in the same place. We did not want the colors to be overly ‘bright’ or cartoonish.
D: The industrial inspiration simply means angular and not soft. Sleek with a simple color palette. No icon has more than a few colors, for example. I want people to open this up for the first time and feel “this is a professional tool.”
E: I analyzed the visual metaphors that other software is using in hopes of matching up with the standards that are being set. We also looked at color trends. From this we developed a… ‘color hierarchy’. The more you drill down, the less color is revealed. The tool bar has the highest saturation and it goes down in stages from there…
Elisha, how do you take a ‘function’ and turn it into a pixel-fixed piece of art that translates?
E: I don’t concern myself too much with what it does– I’m more interested in what the visual needs to say to the user to get them to intuitively interact with it.
D: Maybe you don’t realize how intuitive you were about this…
E: Are you sure about that?
D: Well, Engineering drafts a UI concept that is tight and combines multiple controls- like permissions- in a tight space. The art here is keeping it simple. For permissions, if you don’t have permissions for a specific group- it is greyed out. Sounds easy enough, but then all the icons still need visual differentiation even when in a greyed-out state. Needs to look good in all states. Then there is the color-blindness thing you worked on….
E: Right. All activation icons need to be easily differentiated even in gray-scale. This adds a level of usability for color-blind individuals that they would otherwise struggle with. This is a good example of how we work together- you bring me the drawing, I ask “what does it need to say?” Then we rethink it, test it, and rework it until we’re all sick of it. It’s a lot of fun!
D: What IS a workgroup? It is a unique database of fonts and as a member of the group I can see and use those fonts in certain ways. I may be a member of more than one workgroup and have different permissions for font use within each. What kind of iconography makes sense for THAT?
(See Davin’s whiteboard and the artwork in progress…)
What concerns did you have about visual continuity with our other products: Suitcase and Font Reserve?
E: Well, initially I had the notion that it might look a lot like Suitcase Fusion. This is probably because I am a user, but I’ve moved away from that.
D: Yes, it is fun to see it evolve and start to take on a personality of its own through the artwork.
Any examples or role models in this area?
E: You have to admire the great challenge Adobe tackled in bringing together their Creative Suite with a common interface theme- even incorporating Macromedia products into that mix.
D: I like OMNI products- their apps are fairly complex behind the scenes but are fairly simple tools thanks to the great artwork on the toolbar. It is similar for us. The Type Server is very complex under the hood, but to the user it needs to feel it’s as easy as ever.
What UI considerations are there for a cross-platform product?
D: This is a significant challenge. We had to create one family of art in one UI that operates on 2 platforms. You should be able to bounce back and forth from a Mac to a Windows machine and have the same experience. Just think about how much easier it is to train people if their user experience is not platform-dependent.
E: The Engineering team does a lot of back and forth trying to figure out how to translate the UI on both platforms. Then I will create mockups on Mac, XP and Vista to test icons in the design process, making sure the color schemes look good in all environments. Then it is up to development to test it in the real world OS.
In the final analysis- what % is art, what % is function?
E: Good question. They are both equally important. Pretty and functional. 50/50.
D: She meant to say 51/49. She always fights for that extra 1% for the art.
E: True, but I rarely win.
“We hear you!” will be back with more behind the scenes in the coming weeks. If you have a topic in mind- drop me a line.
In the first installment, Brian Berson (Extensis General Manager) explained where the new type server project stands right now. In this issue, I asked the ‘product guys’ about how the whole thing got started.
The Product Guys in the spotlight today: Brian Berson (Extensis GM) and Martin Stein (VP Products & Solutions).
Amanda: Every software project starts with a product requirements document, which outlines what this product will be and do. When you were writing the PRD for the type server – what was your hi-level objective?
Brian: Well, on a high level, we wanted to merge 2 into 1 with the sum being more than 2. The challenge was that these 2 are different products represent 2 different approaches.
Large corporate environments have a large infrastructure, and compliance is a main concern. They need the control that a live system offers. This is the Font Reserve Server model. Smaller, more nimble environments may not have a big IT team. They need complete user flexibility, like the ability to pick and choose their subscriptions. This is closer to the Suitcase Server model.
Since another objective was to continue serving both small workgroups and large enterprises with the same product, the new type server has to give the administrator the ability to configure their desired level of control.
Martin: Next priority was to “Be a better IT citizen”. That’s become an internal mantra around here. To me this means that we have to meet the needs of their current ecosystem. Things like: scalability, stability, rapid development for enhancements, better offline usability, customization, etc.
B: Another priority for me was to take font management to the next level- customers are very clear about what they expect in a new product. They expect simple and powerful UI, precise font activation via FontSense, license management, and a product that takes into consideration how their teams really use it.
And lastly, we have to make the entire transition seamless. Customers want everything that they had before, wrapped in a better package of performance and usability.
A: How did these objectives impact technology decisions?
B: From a technology standpoint, this led us down a few paths. Architecturally, we quickly decided that everything would be centralized: fonts, permissions, sets, keywords, etc. Everything is housed on the server- in a live system. From there: we were trying to decide between the Suitcase and Font Reserve servers as the platform. Ultimately it did not add up to continue building on this proprietary technology when the technology is already out there to leverage. We decided to put our internal resources and expertise where it fits best– solving the business problem.
M: That’s what led to the decision to use open technology off the shelf. We need to fit into the ecosystem of our customers, and these are proven, well-tested and supported in the developer community. This was the right decision from a technology standpoint, and ultimately for the customer, but it has had an impact on time to market. It was inevitable.
A: Now that the objectives and approach are mapped out, let’s talk details. Where did you start and how do you decide what is left on the ‘cutting room floor’?
M: We started by breaking apart all the functionality of each product and then ‘rebuilt’ the product – conceptually. But this is not simply a consolidation, so then we added to the list all the things we always wanted to do. Then the hard part: prioritization. Time to market matters, so we had to make priority decisions.
B: But, this also means we know where we want to take the technology from here- long term. For example, we’d like to implement things like server-to-server replication, etc. But that’s not going to make it into this release.
A: What people can’t see is the excitement on your faces as you’re talking about this.
M: I am excited. I am so proud of this project. It’s the ‘OSX of the font management world’. A beautiful UI combined with the power of a real IT application. This really is a kick-ass product.
Upcoming ‘We hear you!’ installments will include: what’s under the hood, rethinking user interface design, and what’s driving the new end-user functionality.
Have something you are interested in? Drop me a line (via a comment) and I’ll add it to the mix.
The questions never end. We hear them from customers on the phone, at events, and during site visits. We hear them from creative agencies and publishing companies. We hear them in the US, Europe and Asia.
OK. We get it. You want more information on the next generation type server that’s in the works. So we’ve decided to do a series here that gives you some exposure to the development process, sneak peeks at some of the functionality, hear about what it is like to work on the team, and learn about the philosophy driving the development of our next generation type server.
The #1 question we get- without fail- is “When will it be done?” So there seems no better place to start than at the top. I posed this question to Brian Berson, General Manager of Extensis. That’s all it took. One question and he was off to the races…
A: Brian, I’ll cut to the chase. Here’s the question: Why is this taking so long?
B: Wow. Don’t softball it!
Really, that is a valid question. Some days I wonder that myself. The short answer is: this project is complex.
On one hand, we’re creating a new product that combines what we already have: two unique font management server solutions, which happen to take different approaches to client-server font management. Font Reserve Server is all about control of the font assets to ensure absolute correct use of fonts, while Suitcase Server is all about the best end-user experience. One focused on the IT administrator and the other focused on the creative user. Both have their place and what we set out to do was to merge the two approaches to give our customers the complete solution. Quite honestly – that’s not as easy as you might think. We did make some assumptions at the outset that didn’t work out as planned. Sometimes that happens.
On the other hand, we are also starting fresh by employing a more modern and adaptable architecture. We’ve recognized that our expertise is in understanding fonts and font workflows, and there is no point in re-inventing the wheel by building a proprietary technology, so we are using open, existing technologies and standards. This will give our customers a faster, more scalable and stable product. It will also allow us to more rapidly adapt, modify, and add new features and functionality. We’ve known from the beginning that this needs to be more than the sum of Suitcase Server and Font Reserve Server. Our customers deserve more than 1+1=2.
Then there is the need to hit the ground running. We have a mature customer base with thousands of installations- from small shops to multi-thousand seat sites. For each one, font management is mission-critical. If we miss a step, they’ll be sure to let us know! Our next generation type server can not come out of the gate feeling like a 1.0 product.
Oh yes- and we are doing all of this while continuing to support our other products that are being used in production today. And certainly Adobe, Apple, Microsoft, and Quark don’t make this job any easier! Suitcase Server and Font Reserve Server integrate with both the operating system and parent applications. So when the operating system updates, for example, we have to be there with an update ASAP. Users count on it. And with QuarkXPress 7, Intel Macs, Windows Vista, Adobe CS3, and Leopard (Mac OS 10.5) all shipping in the same year- this continues to be our biggest challenge. Keeping up with these changes is a continuing challenge for our IT and creative customers, and the same is true for us as a developer.
So yes, it is complex. That said, I’m really excited about where we are now. We’ve been working on this for a couple of years already and are now in the home stretch. The product team is looking forward to talking about what we’re working on. But I’ve definitely gone on long enough, so that will have to wait for the next installment.
To see the face behind the words, you can see a brief interview with Brian in this snippet, cut from a longer interview.
You can also view the entire 1-hour show, Fonts, Fonts, Fonts!, produced by Left-Hand-Man Productions.