May 21st, 2010 § § permalink
I wanted to post a quick update about the Two Weeks, Two Open Source Projects post that I wrote earlier this week.
The first of the open source projects that I set out to create is for the most part done. I actually finished earlier than I thought I would, and it didn’t take as much programming time and effort as I first thought. I will be posting more about this project a little later, when I’m able to get the code completely finalized and uploaded to my server and create a wiki for the project.
Basically, Linkr allows you to shorten a URL (or create a redirect URL) right from your own server. So, you could point to a very long URL (for example the one to this post: http://corybohon.com/2010/05/two-weeks-two-open-source-projects/) from a much shorter URL that’s easy to share (for example: corybohon.com/linkr/?id=22). Obviously, if you had the software installed in the root directory, the URL would be much, much shorter.
Since Tuesday, I’ve been able to write over 530 lines of code that will do this task. The software is very basic at it’s core, written using PHP, MySQL, and HTML. There’s a back-end admin panel that will allow an administrator to configure URL redirects and manage users. The front-end is rather basic, allowing you to briefly see the name of the website you’re being redirected to before being whisked off to that site. You can see the front-end interface here: http://corybohon.com/linkr/.
There are still some bugs that I need to work out, but I will release the code for everyone to play around with this weekend. Be sure to check back. I should have the beta up at the very latest on Sunday night.
May 18th, 2010 § § permalink
I don’t like sitting around, not doing anything. I tend to always have a full schedule during school semesters, but during the summer, my schedule is a bit more lax. Therefore, I came up with an interesting idea: Build two open source projects in just two weeks.
I doubt I’ll be able to get them completely finished, but I’m hoping to at least get a beta version of two pieces of web software I’ve been wanting to write.
First is a URL redirecting tool that anyone can install and use on their own domain. You’d be able to login and add a new redirect, then use that URL on Twitter, Facebook, or wherever.
Second will be a bit more challenging. I want to build a simple blogging platform that just gets back to basics. A blogging platform without any of the clutter of modern platforms.
I’ll be posting back my results, so check back often. And, yes, I know these tools already exist, but I AM trying to reinvent the wheel with these projects and (hopefully) let the creativity of others flow.
If you have any questions or would like to see more content like this, feel free to contact me.
May 7th, 2010 § § permalink
Since getting the iPad, it has completely changed where and when I consume media and do different computing tasks. I didn’t know how I would be using the iPad, but as it turns out, I can use it to do everything that I mostly did on my MacBook Pro, only on a slightly smaller device. I have thoroughly enjoyed using Safari, Pages, watching Youtube videos and consuming media (music, movies, etc.). But one thing I was missing was some way to write code and create new webpages.
Then comes Gusto, an application available right now in the iTunes app store for only $9.99 (US). It’s and easy to use tool for using FTP to access a server and edit webpages and files. I’m really enjoying it thus for and its enabling me to edit webpages that I wouldn’t ordinarily be able to do on my iPad.
My only complaint about this application is that I’m currently unable to access any server over SSH file transfer (SFTP). However, the iTunes description does state that this is a forthcoming feature in the application.
So, if you’re into website development and are sometimes away from your computer, make sure to couple Gusto and a Bluetooth keyboard with your iPad for the ultimate and portable website management tool.

March 12th, 2010 § § permalink
If you’re following my Twitter feed, you probably know that I’ve been ecstatic about a fairly new content management system for Digital Humanists creating digital archives. The web software is called Omeka, and it’s out of the Center for Digital Humanities at George Mason University in Virginia.
Omeka has a rich API (application programming interface) that lets developers and creatives alike create awesome plugins and additional content that flows right along side of the CMS. I have been actively developing Omeka plugins for the past academic year at my university in hopes of making Omeka more accessible to visually impaired people accessing the Omeka archives. The development was sponsored by two grant-related projects that I’m involved with. The first project is LookListenTouch.org which I worked for Fall 2009, and BrailleSC.org that I’m currently working on.
People who are visually impaired generally access websites using screen reading software like JAWS or Apple’s screen reader VoiceOver. This software reads aloud what’s on the screen, but screen readers don’t work well with certain web content, namely Adobe Flash, JavaScript and Java applets. Fortunately, Omeka’s front-end doesn’t rely on any of the technologies, making it pretty accessible out-of-the-box. However, the accessibility plugins I’ve developed expand on the universal design model, making Omeka even more accessible.

The first of the plugins is an Access Keys plugin. This plugin lets the administrator assign Access Keys, which are one-character keyboard shortcuts, to basic Omeka functionality, such as go to the home page, browse by items, browse by collections, skip to next item, skip to previous item, and skip directly to the content. Normally people accessing websites with a screen reader need to listen to a list of menu items each and every time they listen to a page being read, but with the Access Keys model, they can memorize a set of keys, then jump to any page they wish to go to. For example, if you wanted to go to the search page, you can press Control + S and go directly to the search page in Omeka.
Access Keys can provide a ton of usability for user accessing a particular website, making navigation easier than ever before. The thing is, Access Keys have been around since around 1999 — why haven’t they been used before? Well, I’d suggest that’s partially because different web browsers use different modifier keys (i.e. pressing control, command, or shift before pressing the access key in order to activate a link). That’s why BrailleSC.org and LookListenTouch.org is advocating the standardization of modifier keys across different browsers, operating systems, and versions of browsers. This would make life easier for users and developers alike.

Continuing on the idea of Access Keys, I’ve also developed a custom Access Keys plugin that will allow an Omeka administrator to specify up-to 10 URLs and Access Keys that will be available from any page inside of Omeka. For example, you could go to Google.com by pressing Control + G.
Of course, Access Keys are limited to the number of letters and numbers available on the keyboard, so that’s 26 + 10 = 36 available keys. Symbols are not available for assigning Access Keys, and remember that if the shortcut assigned is also a shortcut for the web browser (i.e. in Internet Explorer Control + B is for bookmarking pages), then the assignment will overwrite the browser functionality.

The Last plugin that I’ve completed is one called “TextZoom” that, like its name implies, lets the user enlarge the text on the page. When the admin enables this plugin, they also can specify Access Keys for the enlargement functions. There is five levels of enlargement: default, small, medium, large, and extra large. When a user selects any of the enlargement levels, the settings are automatically remembered for 30-days using a cookie, so when they visit the site again, the text will automatically be enlarged for them. The user can then press the default option to go back to the default site and remove the cookie from their browser.

There are other plugins that I’m working on, including a Google Analytics plugin that will let an administrator look at current website tracking information right from within the admin pages.
Where Can You Get The Plugins?
I have the three plugins mention in detail above available for download at BrailleSC.org/development. I also have the source listed on my own development wiki at CoryBohon.com/development. The plugins are completely open source, so if you wish to take the source code an improve it you can under the terms of the included GNU public license.
If you have any questions about the plugins, you can email me directly at cory [at] corybohon [dot] com or cory [at] braillesc [dot] org.
January 13th, 2010 § § permalink
As many of you may know, I’ve been doing some programming on the side (and part of my course work at my university). From programming in Java to PHP, I’ve written a good number of applications over the past few years, and I’ve decided to open all of those apps up.
If you go to my Development Wiki, you’ll find a list of the programming languages that I currently have source code listed for. When you click on those, you’ll be able to see individual projects that you can then look at the source code for, and in some instances, download the source code in a nice .zip format.
Most of this code has been sitting around on my MacBook Pro for the last year or so without being useful, so I figured that I would put it to good use. If you’re a C.S. student, or just someone looking to learn more about programming, check out the Development Wiki. I also have plans for a Java programming screencast/blog that will allow others to learn how to program in an easy way.
If you are at all interested in the Java programming tutorials, feel free to leave a comment and let me know your level of computer experience and if you’ve programmed before. I would really like to see more people learning how to program as technology is and will be a key involvement in the future.