Posts Tagged ‘Magnetk’

ExpanDrive 1.15 is now available!

Wednesday, May 7th, 2008

Features and fixes include:

  • sftp:// URLs are now handled by ExpanDrive - clicking on sftp://username@server will add a session into the drive manager and make a connection
  • Easy control of ExpanDrive from the Terminal using the command expan. It allows you to connect using simple commands like expan connect drive or expan eject drive. The command can be installed in General Preferences.
  • Fixed bug where “error: -36″ would sometimes interrupt large transfers in Finder on high latency connections
  • Fixed bug which would require the user to enter admin credentials and then still fail a copy in certain situations
  • Auto update screen now displays correctly in all locales - some were seeing a all white screen previously
  • ExpanDrive now handles expandrivelicense:// style urls for registration
  • Drive Manager window position is now remembered between sessions
  • Many small bug fixes

As always, the release notes are here.

Twisted Software Foundation

Tuesday, April 15th, 2008

Magnetk is a proud sponsor of Twisted, an open-source framework which helps make up the core of ExpanDrive. Twisted is a cross-platform event-driven networking engine, written in Python, that is developed by a smart & dedicated team across the world. Consider making a donation to the Twisted Software Foundation and help out this extraordinary open-source project. If you donate at their bronze level or higher, your banner will be displayed on their front page for the rest of 2008. Donate before May 15th and you’re a founding sponsor. Your banner will have a permanent home on their founding sponsors page.

High Leverage Development

Wednesday, March 26th, 2008

During our third month of porting SftpDrive to OS X, it became clear that creating and maintaining a cross-platform codebase of high performance network and filesystem code would be far more effort than we had hoped. It wasn’t that the project was impossible, or even absurdly difficult. It just wasn’t any fun. Every time I looked at a #ifdef WIN32, it was even more clear the code was becoming much more tedious to debug and maintain.

It seems our work on Slingshot spoiled us. A few months working with Ruby, Objective-C and C# left us feeling happy and optimistic about programming—anything was possible! Needless to say, the tens of thousands of lines of procedural C in SftpDrive for Mac no longer brought about the same feeling of joy. It seemed unfair that hot-shot-web-developers, with their pretty MacBooks, got all the attention, and they got to use fun high-level languages like Ruby or Python. We were developing a truly useful piece of technology, but were stuck on Windows and spending more than 50% of our time dealing with “pedestrian” details like pointers, memory management, IRQLs, and IRPs.

Still, we fancied ourselves hardcore and kept at it even though it was hard (and sometimes boring). When it was time to write an auto updater for SftpDrive we spent hours upon hours searching on Google and MSDN trying to find a clean implementation that would work on a vanilla Windows 2000 installation. One option, WinInet was ridiculously ugly and verbose. Another option, WinHTTP, didn’t work on Windows 2000 GM. We ended up using libCURL. It was a ridiculous and frustrating waste of time.

We wanted to ‘import httplib’, and then just start making things happen. XKCD hits the nail on the head:

XKCD python

We couldn’t afford to keep spending time and energy writing software this way. Even if we could afford it, we didn’t want to spend our time this way. Web applications were being developed at an astounding pace in part because of centralized management and deployment (they never have to maintain different versions for Macs and PCs), but also because they were using modern interpreted languages. Web developers also used community-developed open-source projects when they needed some help on a routine problem. They didn’t have to reinvent the wheel at every turn, but instead focused on the core of their product. With high-level languages and good libraries, small teams can create great products at a rapid pace. We realized that we could write applications for the desktop in the exact same way.

We rewrote SftpDrive from top to bottom in Python, with a GUI in Objective-C. It’s called ExpanDrive, and it took 1/3rd the time that SftpDrive took to develop. We greatly leverage Python and and many open source projects—just like a web-developer. To minimize conflicts and to have the necessary control over the runtime environment, our build process extracts only the necessary bits from the full python distribution and packages it into the .app. We trim Python from 5000+ files to a few more than 400. Like many OS X apps, we use Sparkle.Framework to automatically distribute and install updates. We’re pushing out weekly updates which include more than just bug fixes. ExpanDrive has been a breeze to maintain and extend and the core remains perfectly cross platform.

Desktop applications aren’t dead, they’re just about to really get going.

ExpanDrive 1.04 released

Thursday, March 20th, 2008

ExpanDrive 1.04 is available for download and is also available on the the auto-updater. It includes a variety of fixes and small refinements, all listed in the release notes. The user interface continues to be refined - we now have a multi-pane preferences dialog that includes some new options users have been requesting such as the ability to disable display of the drive manager when launched.

You can disable display of the ExpanDrive manager at program launch as well as display the recent drives menu in line or as a sub menu.

in line

as a submenu

On the filesystem end, our meta-data cache is now even more powerful. Acess to large projects in applications such as TextMate is sped up dramatically. Symbolic links that point to relative paths are now correctly interpreted. A variety of smaller improvements and bug fixes have also been made.

ExpanDrive for OS X

Tuesday, March 11th, 2008

Magnetk is thrilled to announce the release of ExpanDrive for OS X, our second product. We’ve been working for a long time on ExpanDrive, and are very proud of the result. Our early adopters seem quite pleased too.

ExpanDrive builds SFTP support right into the core of OS X - just like SftpDrive builds SFTP support into Windows. Now any application on your Mac can read and write remote files as easily as if they were on a USB drive plugged into your computer. ExpanDrive even brings SFTP right into Finder, letting you manage your remote server as easily as your MacBook. We’ve already pushed two updates in response to user feedback in just the first week of open release, polishing the UI and improving user experiences all around. In the coming weeks and months ExpanDrive will expand beyond just SFTP, letting you access a wide variety of data through the filesystem. Keep an eye on this blog, as well as our Twitter feed, to keep track of the developments.

SftpDrive 1.6.5

Monday, August 6th, 2007

SftpDrive has been under quite heavy development over the past couple months, as you might’ve noticed. We’re releasing version 1.6.5 today. It includes:

  • Automatic update support. SftpDrive will [optionally] check to make sure you’re running the latest version and notify you when upgrades are available
  • Much improved Vista support
  • Important fixes for UTF-8 support and international filenames
  • Speed improvements along with many small improvements to increase application support and speed

Also, it’s worth noting that the Mac client is still under heavy development and will be the subject of more news on this blog in the coming month or two.

We’re Loaners

Wednesday, August 1st, 2007

One of our goals starting Magnetk, apart from making great software, was to create something from nothing. To work hard, be creative, and just “live off the land”. We’re an entirely bootstrapped company, with no outside investor.In the [many] months preceding the release of SftpDrive 1.0, we would pick up the occasional odd programming job to help pay the bills, and feed Dave’s insatiable appetite. One distinct luxury of being an American software developer living in Boston was that the occasional odd job paid rather well. In a different place, or a different industry, this certainly wouldn’t be possible.We consider ourselves lucky to be doing what we are doing — there are relatively few types of companies out there that require almost no up-front capital investment. In the developing world, where resources for entrepreneurs are even more limited, that task becomes even more difficult. Kiva is an amazing company started by a fellow Stanford graduate that provides a great way for us to help give back.

“Kiva lets you connect with and loan money to unique small businesses in the developing world. By choosing a business on Kiva.org, you can “sponsor a business” and help the world’s working poor make great strides towards economic independence. Throughout the course of the loan (usually 6-12 months), you can receive email journal updates from the business you’ve sponsored. As loans are repaid, you get your loan money back.”

Magnetk has participated in a loan through Kiva to help expand a small family business in Cambodia which sells duck eggs. We encourage you to take a look around Kiva’s and consider participating in a loan if you have the means. Micro-loans are one of the most effective means of encouraging economic growth and independence in the developing world.