Posts from the ‘Development’ Category
May 15th, 2013
Truer words were never spoken.
May 14th, 2013
The mere mention of it started a conversation on Twitter, which lead me to start thinking about a weblog post, which lead me to a search for “CLI in the browser” or something like that, which landed this great post by Miguel de Icaza.
“ECMA CLI would have given the web both strongly typed and loosely typed programming languages. It would have given developers a choice between performance and scriptability. A programming language choice (use the right tool for the right job) and would have in general made web pages faster just by moving performance sensitive code to strongly typed languages.”
It will be interesting to watch browsers mature into a layer that completely replaces the OS for services. Until then, we’ll have to make due with what we have.
Here’s the Twitter conversation that lead to this post (sorry, the Twitter embed code only grabbed the last bit of the conversation, not sure how to get it all.):
— Rob Fahrni (@Fahrni) May 14, 2013
April 26th, 2013
Well, it happened, Apple sold 5000 WWDC tickets in 90-seconds. Amazing. Of course it wasn’t all roses for everyone. Some people saw errors after thinking they got a ticket, others instantly got the “Sorry, we’re sold out message.” That’s not the story.
The story, at least to me, is the few developers who believe they are somehow more deserving a ticket than others. That’s a bunch of hogwash. No one developer is more deserving of a ticket than any other. This is how things should work. First come, first served. If you didn’t score a ticket, try again next year. I was able to attend WWDC 2011, Steve Jobs final keynote. I understand why developers really want to attend. It’s a chance for us to hear about new and exciting things before anyone else. We also get to hang out with friends and talk to other developers. That’s probably the most important part of the week; hanging out with friends.
I’ve read too many gripes that say it was their chance to meet others and hang out, and now that opportunity is gone. Why is it gone? Come to California that week and go to an alternative event if it really is that important to you. What’s stopping you? Nothing but you. I get why it’s important to connect with other developers and have dinner and a few beers. It’s a time to unwind, let your hair down, as they say. In 2011 I was able to hang out with a longtime friend. We hadn’t seen each other for ten years. It was a great time.
Yes, there is a great alternative to WWDC that same week. You can attend AltWWDC, and it’s free!
If you missed getting a ticket and believe its important to get together with fellow Apple Developers you have a place to go.
Hopefully I’ll be able to attend at least one day, maybe two. If I do make it, I hope to make some new friends.
Maybe I’ll see you there?
March 31st, 2013
Mike Jurewitz: “I have watched too many developers over the years focus on the wrong things in their products. Some endlessly add feature upon feature and take so long to ship that their users have long since moved on. Others endlessly rework a feature in pursuit of some nebulous technical excellence that isn’t necessary and whose pursuit certainly doesn’t pay the bills. And others find themselves constantly moving the target they’re trying to hit, redefining the features, UI, or problem-space of their product in a continual reaction to the world around them. These are easy traps to fall into. After all, we’re all human and most of us are making it up as we go.”
Good advice. Maybe people don’t teach this anymore? You can’t have a 2.0 without ever having a 1.0, right. Iterate, iterate, iterate, but ship between those iterations. Some people have to find the perfect solution for everything, or they waste their time rewriting code that works because they don’t like the style, or believe their way is better. There are, of course, good reasons for rewriting code, but the reasons I just mentioned aren’t among them.
I’m guilty of doing this stuff myself, when I was younger. What I’d end up with is code the way I liked it, but offered the same functionality. No net gain. I’ve learned not to do this. I now move forward and tweak things as needed for the next release. Yes, it must be solid and usable, but it doesn’t have to be perfect in every way.
I’m not the greatest developer in the world. I’m slow and my code has never been the prettiest in the world, but it’s in use by well over 10 million people worldwide, and that’s a pretty darned good feeling.
So, my advice to you is, find a nice minimum set of functionality, make it usable, make it solid, and ship it. That will let you move forward. It will afford you the opportunity to create a 2.0.
March 3rd, 2013
I’d be interested to see how NodeJS scales on a web scale project, you know, something like Twitter, Facebook, or Instagram. Is it good enough for that? It’s interpreted so I don’t see why it couldn’t be used for that. Folks love PHP, Python, and Ruby for web back ends and they’re interpreted.
In the meantime we have to embrace the suck.
February 9th, 2013
Dave Winer tweeted something today that got me thinking, so instead of tweeting back and forth with him about it I thought I’d jot my thoughts here. Twitter is pretty horrible for discussions.
This guy thinks Dropbox is the wrong idea, but users like it, guess they didn’t get the memo.2yc.r2.ly
— Dave Winer ☮ (@davewiner) February 9, 2013
In response I pointed out that Dropbox and iCloud are different because Dropbox is a file syncing service and iCloud goes beyond that. If you’re a Mac or iOS developer you can sync portions of files to iCloud along with your application settings. Apple created this as an extension of their ecosystem. As a developer you can have automagic syncing for your applications, if you choose.
Of course I misunderstood Dave’s point. His concern is lock in.
@fahrni — it is the worst idea if you’ve committed yourself to interop and fighting vendor lock-in.
— Dave Winer ☮ (@davewiner) February 9, 2013
Ah, now I see what he’s referring to. Apple has created a walled garden for applications built on their platform. It’s absolutely true. Another concern of Dave’s is the inability of iCloud to share your files outside of applications.
@fahrni — the files stored in dropbox can be opened by any app.
— Dave Winer ☮ (@davewiner) February 9, 2013
Here’s the deal. With iCloud Apple allows you to open your document, stored in iCloud, in your local application, make changes, and those changes can/will be sync’d back to your other devices. Here’s the difference as I see it. Dropbox is an extension of the filesystem on my local computer, iCloud is an extension of my application. Subtle, yes.
I’m having a difficult time getting to the difference because it is so subtle. Imagine if you have a Pages document open on your Mac and on your iOS device. You’re making changes on the Mac and you walk away. Those changes will get pushed to your iOS devices without saving the document. As far as I know you cannot do this with Dropbox. Dropbox will sync an entire file, not portions of a file.
Minor difference, but a difference none the less.
How about this. Dropbox allows me to see all my content via the web and my local filesystem has a copy of the documents. It’s absolutely perfect in that way. What about editing? Can you go to Dropbox.com, log in, and edit a binary Visio drawing? No, you cannot. With iCloud we get this feature via apps. Again, it’s avery subtle difference, but it’s something Apple is very fond of.
I’d imagine once Apple can solve these types of issues we’ll see a more open iCloud, until then, if you’d like a great file syncing solution Dropbox is a better choice than iCloud. If you’re after great integration iCloud may be your best bet, although some applications have done a great job using Dropbox as their syncing solution.
In the end syncing of files across multiple computers is a very difficult problem to solve and Apple is just beginning to address the problem. Dropbox has created a very elegant full file syncing solution. Both are useful.
Oh, one more question. I almost forgot to ask this. If Apples’ iCloud is a lock in, which I will not argue, how is being tied to Dropbox not lock in? I would consider it lock in. To me what’s freed us from lock in are open protocols, like HTML, or RSS. They are part of the fabric of the internet and completely open. I can modify HTML with any application that can read, write, and modify simple text. Definitely no lock in. If Dropbox created an open protocol for syncing of files, that could be implemented by anyone, and their client application, as well as anyone else’s, could communicate with any server that implemented that protocol, I’d say it wasn’t lock in.
A stretch? Maybe. But we are, after all, talking about subtle differences.
December 10th, 2012
Craig Hockenberry: “What happened next though, surprised us in a very good way. David started using Xcode.”
I love stuff like this. It’s neat to see how folks approach development inside their shop. Most of the post is not surprising. Their approach is the same as every development shop I’ve ever worked in. Divide and conquer where it makes sense. He didn’t go into their unit test process, but does mention he was able to test his code with his own test application. This is important and mostly overlooked by most developers.
Like I said, it’s mostly basic stuff and common practice, until you come to the line I pasted above. THEY GOT A DESIGNER TO USE XCODE! That’s amazing and it looks like it allowed them to move their application forward without interrupting the developer or frustrating the designer because the developer was too busy to be fussed with a tweak to the UI.
When I’m coding I like to get the basics in place and skin later. It’s easy to do, why not give it a bit of time before you go off and do it, right? Well, if you can get a designer to do the work, why not? It’s a brilliant idea and UIAppearance seems to make it even easier to deal with this kind of stuff. I’m looking forward to using it some day.
Craig also mentions another thing I really love about The Iconfactory.
“We are well aware that people are going to complain about missing features: push notifications and streaming are obvious examples. But so are trends, and video support, and in-line photos, and… well none of that matters. We believe in building opinionated software.“
I love that. They managed to build a client that is perfectly suited to how I use Twitter and they did it by building it how they would use it.
The Iconfactory is definitely one of those shops I’d give my left arm to work for. True story.
October 21st, 2012
Steve Streza: “Today I shipped the first alpha of Apparchy, which turns Twitter’s official iOS apps into App.net clients. You sign up for a free account on apparchy.net, add your app.net account, and then log into the Twitter app with your Apparchy username and password. Then, the Twitter app will start loading data from app.net through the Apparchy API.”
This is a nifty trick. A very appropriate hack for a hackathon. Steve has made Twitter’s own client post to App.net. It’s not as difficult as one might think because of a legacy feature remaining in the official Twitter for iOS, and I believe Twitter for Mac, clients.
It’s interesting to note that Twitter has allowed Twitter for Mac to die. If this works with the Mac client it just breathed new life into an otherwise dead piece of software. Well done.
The big question is, when will Twitter shut this down? One week, two? It won’t take long before we see a new drop of Twitter for iOS in the App Store with this feature removed.
It’ll be interesting to see if they ship another release of Twitter for Mac just to turn this off.
Until then, enjoy!
P.S. – Does this mean Twitter’s official client is breaking the Display Requirements?
August 26th, 2012
Andrey does a great job of sharing some of the reasons it’s best to choose a native platform over something like Titanium.
I guess we all go to our comfort zone when it comes to life, and that holds true for software developers as well. I prefer to use the platform tools, so I have a history of writing in C, C++, and now Objective-C. Yes, it’s painful to learn a new platform, but I think it’s worth it.
UPDATE (8/26/2012, 2:20PM)
Branch: A Blow To HTML5: “Facebook has now largely moved away from HTML5 in favor of native Objective-C code with their new iOS apps. And the results speak for themselves. Facebook had been one of the companies that most vocal in their support of HTML5 as the future of everything. The apps suffered as a result. And now they’re changing their tune. Is HTML5 still just not ready for prime time? At least on mobile?”
I guess the bottom like is, I believe native is a better choice, at least for the foreseeable future.