Hung Truong: The Blog!

  • November 20, 2010

    ObjTweet: Helper Class for Twitter on iOS

    I’ve been working on a new app (I’ll write more about it in a week or so), part of which required opening a user’s Twitter client with a pre-populated tweet or opening Twitter on a particular user’s profile for easy following. There are a lot of Twitter clients out there, so it’s hard to predict what a particular user will have installed on their device. They might not even have any Twitter client installed.

    Many (but not all) Twitter clients have url schemes that allow you to open them with a particular message filled out, etc. There’s a few here, but it’s not a definitive list by any means. I gathered a bunch of the more popular ones and wrapped them in a helper class called ObjTweet.

    Since I want to give back (and I wouldn’t mind the recognition), I’ve licensed this class under the GNU GPL license MIT License (thanks, Marcello for pointing out that the GPL license is pretty restrictive) and uploaded it to Github. Hopefully someone else finds it useful. My hope is also that people will help find some of the missing url schemes for other apps and build on ObjTweet. If you found this class and are using it, let me know! Hopefully it works as described.

  • November 12, 2010

    Letterpress Business Cards!

    I’ve been busy printing random stuff on my letterpress. I got some color ink and an old wood ‘H’ block. Oh, and I also ordered some blank business cards, so I decided to print myself a few.

    I printed each card twice. First I printed the green ‘H’ and after that I set the type for the name, phone, email etc. I ran into a few issues with the width of the card at first. Since I wanted to have a vertical card, I only had so much space for the info. The type that I have doesn’t have the ‘@’ symbol, and “Hung AT Hung-Truong.com” wouldn’t fit on one line. So I just ended up putting it on two lines, which is nice because then the other line is just my website address.

    I like the grainy look of the block ‘H’. Each one looks a little different, and at one point I mixed in some more blue to make it a darker green. It’s nice that the card itself is a slightly unique print.

    If I could redo this card, I’d probably try to pick a smaller font for the info. And I’d also choose different sizes for my name versus the other stuff. I’m sort of limited in the type that I currently own (4 trays). If I end up making more cards, I might just buy a base so that I can make my own photopolymer plates. That’d be cool because I could also make my own designs for cards/coasters etc too.

  • October 20, 2010

    Letterpress in Apple iLife ’11

    Today I decided to have the Apple “Back to Mac” keynote stream while working on other stuff. I was literally setting up a print job in my composing stick when I heard Steve Jobs mention that iLife will have a letterpress printing option. I never imagined that Apple would move in on my turf when I decided to get an old style printing press!

    It looks like you’ll be able to order prints from a number of templates, some of which can also include photos:

    I think it’s neat that letterpress is becoming mainstream (again) enough that it warrants a feature in iLife. As far as my concerns about taking away business (which I haven’t quite decided to get into), I think it’s good that Apple’s pushing this kind of typing further into the mainstream. There’ll probably be a lot more people interested in letterpress, and not just for the personalized photo cards, etc.

    On a technical note, I’m interested how Apple is going to farm out the print jobs. Do they have their own print shop with all the Heidelberg machines, or are they partnering with a shop? Depending on the volume of orders, I wonder what their turnaround time would be.

  • October 17, 2010

    Facebook Information Download: Report Card

    Ever since I signed up for Facebook, I’ve wanted a clean and easy way to export the content that my friends and I create on it. See this post for background. Facebook has never really made it easy to do so for end users, though they have an API that could theoretically be used for data export. Just recently, they announced a new feature that allows you to download your information. I gave the feature a test drive and took a look at what you actually get.

    The process for grabbing your information is pretty simple. You go to Account Settings -> Download Your Information and then request your data. Facebook sends you an email when the zip file containing your stuff is ready.

    The zip file contains a few files and directories: html, photos and videos. Photos contains the photos you’ve uploaded, videos contains the videos, and html contains things like a list of your friends, messages, notes, wall posts and events. These are all stored in html files, which makes it easy for normal users to view them.

    From a data portability standpoint, it’s great that you can get all of your photos, videos and messages, etc. I like the fact that they’re in html that’s easy for anyone to browse. Since it works in its own self-contained directory structure, you could theoretically upload the contents to your own web server and host your albums yourself! For most users, the data download feature is really great.

    From a programmer/hardcore archivist’s point of view, the data download is still lacking. For example, the friend’s list gives you a list of your friends’ names. It does not, however, provide you with the unique identifier for your friends (e.g. their Facebook profile name or id number). This might be useful if you have a friend named “John Smith” and you’d like to know exactly which John it is. Generally, the files just don’t contain enough metadata to keep good records.

    Let’s say that in the distant future, Facebook has been abandoned. What we have left are the .zip files that people used to download their information. How would we go about reconstructing network ties? With the files as they are today, we can only make assumptions using names, which aren’t unique identifiers. While some people would say that including those would be overkill, they could be pretty easily added via meta tags within the html (or in a separate xml file for hardcore nerds like me).

    In addition to this lack of metadata, my other complaint is that Facebook only gives you half of your information. You can download a pretty ego-centric payload of data; stuff that friends wrote on your wall and photos you uploaded. You cannot, however, download things that you posted on your friends’ walls. This is especially important because Facebook’s early messaging model was based on wall-to-wall posts. My oldest wall posts come without any sort of context at all.

    Finally, it seems that Facebook did the unthinkable in deleting user data until around early 2006. I signed up for Facebook in January of 2005, yet my first wall post that shows up in my downloaded info is from February 2006. So there’s a whole year’s worth of wall messages that are missing. I suppose there’s no way for Facebook to retrieve this info anymore (unless they’re just witholding it because it’s hard to get to).

    If you found this tl;dr, here’s a summary:

    The Good:

    Facebook information download makes it easy for anyone to download their data in a nicely organized and self-contained package. Everyone should go to their account settings right now and download their data, even if they don’t plan on using for anything in the near future. The download provides a lot of information and is a good faith attempt at letting users “own” their data. There’s still work to be done, howerver.

    The Bad:

    The data that’s downloaded lacks enough meaningful metadata. Specifically, the data regarding connections between you and your friends is too general. Unique identifiers for friend connections would be a good first step. Facebook also omits an important side of your data: the stuff you’ve posted to others’ walls. Finally, Facebook’s data download only goes back to early 2006 (for me).

    What Facebook Should Do Next:

    I think Facebook’s done a really great job so far for this first iteration of data download. Now they should add more metadata and provide data in a cleaner xml or json format. After that, they should enable download of photos and video in their original format (I have a feeling Facebook keeps the original size photos before they resize them). I think that providing users with an easy way to download all of their data will lead to a better relationship and more trust, which is something Facebook could really use.

  • October 14, 2010

    Letterpress Coasters – Giraffe!

    I finally got the rollers for my letterpress machine yesterday, so I tried printing something.

    I had ordered all the other supplies I needed, including:

    • A crapload of blank coasters (1000)
    • A giraffe printer’s block

    I already had the ink from my purchase of the machine. The machine itself is from 1941, and the ink was from the same company, in a tube. I’m not sure the ink is from 1941, but if it is, it’s held up really well!

    I also bought a bunch of other stuff that ended up helping me a lot when troubleshooting. Luckily, I read a lot of posts on briar press and was eventually able to get a decent looking impression on my coasters.

    At first, the ink was getting onto the block, like behind the giraffe’s neck. This meant that the ink rollers were pushing up too hard against the printing surface. I had to adjust the pressure by putting some electrician’s tape on the chase bed. Three layers of tape made the rollers touch the printing surface just right, while not getting on other stuff.

    The impression itself was also a little too deep at first. You could see the part of the block that pressed into the coaster (which at this point didn’t have ink). So I adjusted the pressure of the platen (the part that runs into the printing surface) with a screwdriver. After getting a few crazy impressions, I started getting the hang of the adjustments. I got quite a few good looking coasters. Here’s a video of the machine in action:

    I’ll be experimenting with letterpress stuff some more once I get different colored inks and more printing blocks. I’d also like to get a printing base so I can make my own photopolymer plates (printed from normal Illustrator files). Those cost quite a bit though, so I’d like to see what my press can do before blowing a lot of cash on it. I also put the coasters I made on sale at Etsy, so take a look at my giraffe letterpress coasters and buy ‘em before someone else does!