Last night I pushed a couple of updates out to our Tempo time tracking service that were a touch over-due:
- Tweaked date field on time entry to fix text-obscuring problem
- Tweaked order receipt for providing copies of past invoices
- Improved navigation and visibility for Team → Status
- Fixed display margins in module boxes site-wide
- Adds a “add new user” link in project team settings for convenience
- Allows meta-characters in tags, no longer restricted to [A-z0-9-_]
The tags thing was getting annoying, I will admit. It’s pretty useful to be able to, for instance, begin certain tags with a * character to mark them as project defaults.
The Team Status thing was a visibility issue. I think most administrators and managers of Tempo accounts were unaware that in addition to the basic Team view (a simple list of your users), there’s a Status view indicating who is working on what:
Aaaaand it even has a handy mobile view that you could bookmark:
If you notice any bugs, or there’s anything bothering you about the system, please get in touch.
We’ve been really busy here at Zetetic lately and we’re looking for a new teammate to help us develop and support client systems and our own products. As a small and flexible software development consultancy, we’re mostly interested in personal qualities, not resume buzzwords:
- Natural or Artificial intelligence (robots welcome)
- Intense desire to learn new things & hack on technology
- An unflappably positive attitude
- Plays well with others
A background in one or more of the following goes a long way too!
- Strength in at least one Object Oriented Programming Language (C#, Ruby, Java, Obj-c). Anything except VB.
- Desire to “switch things up” and work on multiple programming languages
- Experience with databases, relational SQL, or otherwise (mongo, couch, etc)
- Security Technology (i.e LDAP authentication, Single Sign-on, PKI)
- Linux and general networking
- 2-5 years of software development experience
- Located in Philadelphia, NYC, or Central NJ to allow collaborative work with our current team members
In short, we mostly care that you’re smart, love to hack, and get things done.
If this sounds like you, or someone you know, please reach out and let us know: email@example.com.
Updated: 6/6/2012 This blog post is out of date, and the software referenced in it, Strip Sync, has been discontinued in favor of Strip for Windows and Strip for OS X.
I have a couple small things to fix still, but we’re planning to start the beta for Strip Sync next week. We’ve been getting a lot of “where is it!?!” emails, so we thought it’d be a good idea to post some screens and show you that it’s not vaporware. I’m heading development on the Mac side, so I’ll show you screens from Mac OS X. You’ll get a look at the .NET version for Windows soon.
When you start up the Strip Sync application, it is locked, and requires you to enter your access password:
On first-time start-up, it will ask you to set a password for the local database replica. I should note that, at least for the time being, the password on your desktop database must match that of your iPhone database. Still gotta work out nicely paginated printing, and to be honest I’m not sure it’s necessary. Will probably be left out on initial release, as anybody can export to CSV and print that, and stick it in a safe.
Once you’re in, you’ll see the main utility window:
One of the key features here, Import, can be fired off pretty easily to import Strip CSV data (more on that in a later post, I have an EBNF that I need to clean up for programmers):
Then, you fire up the iPhone version, select the Sync tab, browse for your desktop on the local network, and begin the sync operation:
Those other buttons on the select switch indicate performing a restore from your desktop, and performing an authoritative override of what’s on the desktop. Once we’ve chosen the desktop we wish to sync with, we go for it (click to embiggen):
Here we can see that a new category called “trekkers” has been added:
And we can also see that the data import supports multiple values for field types on an entry:
The reason this worked is because they were delimited by a | character in the CSV data shown above. It can be escaped with a backspace. Like I said above, more on the import format later. Obviously, my Trek knowledge above is bogus, just needed some data.
I’ll be attending this year’s Ruby Nation conference in Reston, VA April 9-10, and I’m quite looking forward to it. The list of speakers and talks is absolutely fantastic, and includes the excellent Nick Sieger, whom I had the pleasure of first meeting at Ruby Fringe in 2008. There are still a couple of open registration seats left if you haven’t signed up yet. If any of the Ruby heads out there want to meet up, I’ll be in town from the evening of April 8th to the morning of April 11th. You can find me on Twitter as @billymeltdown.
I’ve been spending a little time revisiting some of the core concepts and industry practices with Ruby, and recently Bret Morgan of DBL Systems pointed me in the direction of Gregory Brown’s newly published book, Ruby Best Practices. The first chapter alone is excellent, a kind of sermon for Test-Driven Development, and I highly recommend it.
We have some sad news to deliver to users of the PingMe reminder service. Starting today, we will be blocking new registrations on PingMe, and we have decided to turn off the system permanently starting on April 23rd.
So long, and thanks for all the fish
We believe in working on projects that are sustainable. When we built PingMe, we had very high hopes for it. It was designed from the ground up as a system that was more dynamic and flexible than anything else out there.
We have maintained PingMe for free for as long as possible for all the people that have been depending on it. We love to get email from people who have found the service to be an enormous help in their lives, and it’s partly a sense of responsibility to them that has helped us to keep it up.
Unfortunately, it’s just not a sustainable service in the long-term for several reasons:
- PingMe requires continuous maintenance and constant vigilance against abuse by spammers, malicious users, and even inadvertent mistakes. Recently, direct and accidental system abuse cases have been on the rise, to the point that we have almost daily incidents to deal with.
- PingMe is a difficult system to support, because of various problems with external SMS gateway providers, cellphone carriers, and email systems. These issues are mostly out of our control, and make it difficult or impossible to troubleshoot and resolve even common problems.
- Despite the fact that PingMe is widely used and well liked, it hasn’t grown to the point where we can monetize it or effectively compete with other systems.
- We’re a small team, and maintaining PingMe has become an undue burden on other projects that we have brought to market
Switching to Another System
There are plenty of other reminder systems and task managers out there. Each has their own way of doing things. While we can’t recommend any particular system, we encourage you to try out a few and see what else you like.
In order to help you get your data out of PingMe, we’ve added an export feature so you download an Excel/CSV or XML-formatted export of your reminders. We’ve also posted a reference guide to the export data here on our blog.
What does this mean for Zetetic and your other products?
PingMe is the only system we are shutting down. Tempo Time Tracking, Strip Password Manager, Codebook Secure Notepad, etc, will be completely unaffected. We are doing very well as a company, continuing to grow, and approaching our 6th year in business. In fact, the most important reason we are turning off PingMe is so that we can continue to give proper focus to our other products and services.
Finally, we want to say thanks to all of our PingMe users for trying the service, providing feedback along the way, and helping to spread the word. We really appreciate it and sincerely apologize for any inconvenience this may cause.