Go back to school with your Mac, iPhone and TUAW
AOL Tech
Posts with tag ruby on rails

Easily tracking invoices with Invotrak

easily tracking invoices with invotrakIf you're a small business looking for an easy way to store and manage invoices online, Invotrak could be the solution you are after. This simple online solution lets users input, track and issue invoices to clients. Its simple and straightforward navigational structures and tracking features make this an effective way to track past due invoices, and incoming revenue without using complicated software.

There aren't many steps involved in setting up a profile and getting up and running:
  • Create a login
  • Add client information - client name, contact name, address, email, and notes.
  • Record invoice - select client from dropdown, set date, amount, term, and upload an invoice from your standard application like word or excel.
  • Enter any invoice comments
  • Email to client
Through the user interface, companies can then track what invoices are out and waiting to receive payment on. When payment comes in, a simple click drops the payments to the received category, and adjusts balances in the right column.

The service was created by Draconis Software using Ruby on Rails to manage and keep track of their own invoices. Draconis says that they make every precaution to ensure information that is stored under your profile is secure. That's always great to know, but what happens if something goes wrong? Or, knock on wood worse case scenario, Draconis goes out of business? What happens to our information then? That's the main concern I always have when storing my data online. You can't get much simpler than Invotrak though, however, we would like to see a way to export information to a spreadsheet application for desktop storage purposes.

Mac users, check out the Dashboard widget so you can easily catch a glimpse of your invoices.

For another simple invoice option look at Freshbooks.

The Invotrak service is free, and super easy to use. Check out some screenshots of the interface.

Gallery: invotrak

invotrak - after user creationinvotrak - adding a clientinvotrak - client listinvotrak - Invoicesinvotrak - Recording invoice

Maypole: Agile web development for the rest of us

Maypole If you've been anywhere except under a rock for the last 18 months or so, you're probably sick to death of the phrase "Web 2.0," and for many people, Web 2.0 has become almost synonymous with Ruby on Rails. Ruby on Rails, though, has some major drawbacks for the average web designer. Ruby, while gaining steam, is still not as popular as more established programming languages. There aren't as many programmers who know it as there are who know, say, Perl, Java, ASP or PHP. So developing RoR applications means investing time and money in training yourself or your team in a new language.

That may be a minor hurdle, but Rails offers more serious barriers to adoption. First, it expects to run its own webserver, which will conflict with your main webserver listening on port 80. It can be made to use an existing Apache or IIS server, but the configuration is not simple. Even when running on an existing server, it expects to run as a separate application in a mod_ruby environment. While that makes RoR applications very efficient (like mod_perl applications before them), it also means that using Ruby on Rails requires control over you servers. That's great if you manage your own hardware and internet connection, but most people don't. The majority of websites, even those owned by medium to large-sized businesses, are hosted with web hosting companies where individual users don't have dedicated equipment or access to server configurations. Even at my workplace, where we do most things in house, my department web space is just a small part of a server infrastructure maintained by a completely different network and server administration department. Adding my Rails applications to the forward-facing servers isn't in the cards.

Enter Maypole.

Maypole is a rapid web application development framework written in Perl by Simon Cozens and maintained by Aaron James Trevena and others. It will run anywhere there is Perl, which is most of the world's webservers, and provides a powerful environment for "agile web development," including database abstraction and the powerful and popular Template::Toolkit templating system. Best of all, it is platform agnostic. It can run under either mod_perl or as CGI, an will check for itself to see which environment it is running in. That means You can start using it today on your Dreamhost (in fact, I have a Maypole application running on one right now) account, and pick it up tomorrow and move it someplace else without hassle.

The Maypole site has some good introductions and links to some great articles, as well as the Maypole Perl module itself. As with any Perl project, though, the best way to get it is to install it directly from CPAN and read the perldocs.

Dev Chair : It is all voodoo magic

The MatrixMy wife (and the rest of my family in fact) has never comprehended what I do as a software developer. Throughout all the years we have been together she has seen me sat in front of the computer and typed code into the screen for hours on end. But still she does not know how ideas in my head are transformed into a software application like one that she uses everyday. She thinks it is all voodoo magic, really she does. Last week, I explained to her that software development is kind of like cooking. Not the follow the recipes in the cookbook type, rather the Michelin Star chief type where the dish is created out of thin air.

The image of 'programmers' and 'hackers' portrait by Hollywood does not help either. When I tell people that I write computer software for a living, I am pretty sure in their mind they see binary code (probably green) flowing down the black screen continuously in multiple overlapping windows. Just like in 24 or The Matrix, in fact. And coding involves typing a few lines of indecipherable command in one of those black windows, more code flows down, and Boom! Global warming is solved!

While this image works really well in a TV series or movie, unfortunately software development is not that dramatic or glamorous. The idea of someone (be it a genius or a mad scientist) working alone deep in the basement and conjuring a software application out of nowhere and that every single line of code is memorised is so deeply ingrained in the general population psyche that I truly believe this is affecting software development as a whole.

Of course, it is partly our own fault. We, the software developers, have worked so hard to make complex and powerful software easy to use for the users. We have worked so hard to improve our development process to decrease the turnaround time for each development cycle so new features and bug fixes are delivered to the users with increasingly shorter time-scale. This has raised the expectation of the users on our ability to deliver feature that looks deceptively simple on the surface but probably hugely complex behind the scene.

Is there a light at the end of this tunnel for software developers? Perhaps, but only if we work very hard on at least the following two areas. First better design concepts (object-oriented design, design patterns, refactoring), processes (Agile, TDD), and development tools (C# 3.0's LINQ, Ruby On Rails, etc.) will continue to be improved to let us deliver more and faster. These are already in place and many clever people are working hard to take us there. More importantly, as well as building kick-ass software; we also need to begin an education initiative.

We need to change the perception of our work in the users' mind from part voodoo magic, part art, part skills, and full nerds to a disciplined profession. Some may even want to call it 'software engineering', do you believe that?! Until the general population considers software development on the same level as lawyers, doctors, or engineers, recognises the immense complexity of software applications and the skills requires to build them out of thin air, our job as software developers would only get harder and harder.

* Dev Chair: The place where I plant my butt after a hard day of code bashing and muse about meta-issue. [Alex Hung is a co-developer of desktop blogware ecto and will be penning a regular series for DLS about software development.]

Tracks - GTD application on Rails

TracksIn my ongoing search for the ultimate software system for use with the Getting Things Done methodology, I've recently come across a real winner. Tracks is a web application that was built from the ground up for the purposes of implementing a GTD system. Written in Ruby on Rails, Tracks offers the familiar Projects and Contexts organization system made popular by David Allen's Getting Things Done system, coupled with the sparse graphical design and easy functionality made popular by well-known Ruby on Rails applications like Backpack, Basecamp and Ta-Da List. Now I should mention that Tracks is not affiliated in any way with 37 Signals (the maker of the other three web applications I mentioned), but it's clear that the Tracks developers are inspired by what 37 Signals have done. Plus, I'm sure it doesn't hurt that Rails was released by 37 Signals as a framework with which to get productive with Ruby very quickly.

The installation of Tracks is unfortunately not for the faint of heart; if you're someone that would shy away from installing a web server on your local machine, or don't have access to a Ruby-enabled web hosting account, installing Tracks probably isn't for you. If you are, there are a number of sets of instructions available.

For the rest of us, our best bet is to find a hosted solution. Since Tracks is by its very nature multi-user, it appears to have been a relatively straightforward task to build a hosted solution, and allow users to pay a monthly fee for access.

My favorite of these hosted offerings is called GTDTracks. GTDTracks is extremely affordable, at $1.49/month, and they offer regular backups and upgrades. I'd much rather about getting my stuff done than messing with upgrading a web application that I know very little about, so this option appeals to me a great deal. Plus, they take care of what is arguably my biggest fear with online hosted services, which is the question of how to get your data out if you decide to move on to something else. GTDTracks has a policy of allowing users to cancel their account at any time with no penalty (so you're not on the hook for more than a buck and a half at any given time), and you can take your data with you, exported as a plain text file that can be imported into another installation of Tracks, or simply mined for the data it contains.

Using Tracks is very straightforward - simply create Contexts and Projects as needed, then create Next Actions (essentially tasks) and associate them with the project and context they relate to. Due dates can be set through a convenient calendar widget. One nicely done element of the application is the Done page - one way to get inspired to get things done is to see what you've already accomplished. The Done page shows items that were completed in the last 24 hours, last 7 days and last 28 days, as well as a link for everything older than that.

Endless pages: Ditching the "Next" button

No Next button"Pagination," i.e. turning a long set of, say, search results into a series of pages with "Next" and "Previous" buttons, is no fun. It can be a pain to implement, and is very much a pain to use, and yet it exists on every site that pulls a lot of records from a database. Surely we can't load all of the records at once if there are thousands of them, so is there an alternative? Yes! And I have a feeling some of you have already guessed the magic word--Ajax. Web developer Peter Forde has written an article explaining the "endless pageless" technique, which uses Ajax to automatically and seamlessly load more results from the server as you scroll toward the bottom, which guarantees that you'll never have to click on another "Next" link as long as you live.

You can take a look at the technique in action on this page. This technique isn't brand new, of course--Microsoft, for example, has employed it for a long time on Live.com Image Search--but it's still fairly rare. There's also one caveat that Peter Forde doesn't mention: With his implementation, it's not possible to bookmark or link to a particular point of the results. He cleverly uses cookies to avoid breaking the browser's Back button, but without a permalink the technique still isn't ready for all situations. However, as the technical limitations are overcome, I think we'll be seeing fewer and fewer Next buttons around the web.

Seymore: Slick Rails-based CMS

SeymoreSeymore is a Ruby on Rails CMS (that's Content Management System) by Thomas Mango that's still in the earliest stages but nevertheless looks pretty impressive. Seymore relies on the principle of allowing input wherever there's output, i.e. if I'm logged in and looking at a page of the site, I can edit that page right there, without entering an administration back-end or similar. The best way to get an idea of how Seymore works is by visiting the site and watching Mango's screencasts. He shows off Seymore's category system, WYSIWYG editor, wiki-like revision system, and other important features. Like I said, Seymore is brand new (first release: yesterday), so its to-do list is as long as its feature list, but it looks like it's off to a great start. I'm not sure what license it's released under, but since Mango makes the source code available, I'm gonna go out on a limb and call it open source.

RIDE-ME: Yet another Ruby on Rails IDE for Windows

RIDE-ME 1.0
A year ago, developing a web application using Ruby on Rails (which recently turned two years old) on Windows was a bit of a pain due to the lack of a decent integrated development environment (IDE). Now we're practically swimming in them. Let's recap: There's RadRails, the popular cross-platform, Eclipsed-based editor, RoRED, one for Windows with a unique M/V/C tab grouping, Ruby in Steel, an add-on for Visual Studio 2005, and now RIDE-ME, a new Windows-only Rails IDE with an uncomfortable-sounding name. RIDE-ME bills itself as "geared primarily toward developers who are migrating from a Microsoft development platform," which puts it in competition with Ruby in Steel. Version 1.0 of RIDE-ME was just released, and when I tried it out I was impressed by its snappiness, but I did come across several fairly ugly bugs that seem more at home in a 0.9 or 1.0 beta. I won't be switching from RadRails just yet, but I'll definitely be keeping an eye on RIDE-ME.

Download Squad Features




View Posts By

Categories
Audio (857)
Beta (345)
Blogging (705)
Browsers (65)
Business (1379)
Design (827)
Developer (939)
E-mail (521)
Finance (128)
Fun (1780)
Games (564)
Internet (4910)
Kids (135)
Office (499)
OS Updates (582)
P2P (182)
Photo (472)
Podcasting (168)
Productivity (1350)
Search (271)
Security (548)
Social Software (1136)
Text (440)
Troubleshooting (52)
Utilities (1995)
Video (1037)
VoIP (140)
web 2.0 (803)
Web services (3383)
Companies
Adobe (188)
AOL (51)
Apache Foundation (1)
Apple (477)
Canonical (35)
Google (1335)
IBM (30)
Microsoft (1323)
Mozilla (475)
Novell (20)
OpenOffice.org (43)
PalmSource (12)
Red Hat (17)
Symantec (14)
Yahoo! (356)
License
Commercial (681)
Shareware (195)
Freeware (2049)
Open Source (925)
Misc
Podcasts (14)
Features (392)
Hardware (167)
News (1129)
Holiday Gift Guide (15)
Platforms
Windows (3694)
Windows Mobile (429)
BlackBerry (45)
Macintosh (2103)
iPhone (104)
Linux (1605)
Unix (78)
Palm (177)
Symbian (123)
Columns
Ask DLS (11)
Analysis (33)
Browser Tips (297)
DLS Podcast (6)
Googleholic (203)
How-Tos (103)
DLS Interviews (19)
Design Tips (15)
Mobile Minute (133)
Mods (68)
Time-Wasters (393)
Weekend Review (40)
Imaging Tips (32)

RESOURCES

RSS NEWSFEEDS

Powered by Blogsmith

Sponsored Links

Advertise with Download Squad

Most Commented On (60 days)

Recent Comments

Urlesque Headlines

BloggingStocks Tech Coverage

More Tech Coverage

Other Weblogs Inc. Network blogs you might be interested in: