Friday, December 14, 2007

New apps

First of all, thank you to everyone who's been sending in comments and suggestions. I have a really good feature list for OneTrip 2.0 - the problem now is finding some time to do it. I've been busy with other projects and in the last few months, I've had to plan a move to a new house, a big holiday trip, and my wedding in April 2008.

I have more for you today than excuses, though: for those of you who happen to be guitar players, I've been commissioned to make some music apps for iPhone. Here they are:

Guitar tuner
Chord library

I'm working on more web apps for iPhone, and I'm ready to dig into the SDK come January. Exciting times ahead!

Thursday, October 11, 2007

Web Apps portal at Apple.com

There we go - Apple has put together a portal for links to web apps for your iPhone or iPod Touch.

Onetrip at Apple - Web Apps

Huzzah!

Saturday, September 29, 2007

OneTrip and Quip on iPod Touch

Though the new iPod Touch features the same Safari browser as the iPhone, it presents itself with a different "user agent string", so pulling up my "iPhone apps" (what do we call them now?) on an iPod Touch didn't work (probably - I haven't yet tested this on one).

In any case, starting tonight this should be remedied. Fire up your iPod Touches and let me know how it works. Thanks!

Tuesday, July 31, 2007

iPhone Software 1.0.1. brings JavaScript performance improvements?

Ok, I haven't properly benchmarked this yet or anything, but today's 1.0.1. update to the iPhone software (available via iTunes) seems to have made JavaScript runs noticeably faster on my iPhone.

As you can imagine, I've been testing and using OneTrip on an iPhone for a month now, and I'm pretty familiar with the way it "feels". The slowest operation is checking and unchecking an item from the shopping list; this used to be mildly frustrating. After today's update, though, it feels faster to me.

Now, I'll throw a heap of a salt on this because Apple doesn't claim any performance improvements for this update - it's just a security patch, as far as we know. But, the darn thing runs faster - I swear.

What do you think? Have you noticed the change? Am I just making it up?

P.S. Sorry about the lack of updates in the past few weeks. I'm considering some new strategies for OneTrip, and you might or might not see some big changes soon!

Monday, July 9, 2007

Full-screen mode

OneTrip will now fake a "full-screen" mode, i.e. it will disappear the address bar. This gives you more room for more items in your list, and it makes OneTrip look more like a real, all-grown-up iPhone application.

The address bar is still there at the top, just a flick away if you need it.

Sunday, July 8, 2007

JavaScript animation on iPhone

Two words: avoid it.

I had originally written iPod-menu-style sliding menus for OneTrip (well, my friend Adriano did a lot of it), and it worked really well on the desktop. As we got closer to iDay, however, I figured it would probably run slowly on iPhone so I removed it.

I've gotten quite a bit of feedback since asking why the slide animation was missing. To be honest, I hadn't actually tested this on iPhone; I just assumed, based on its JavaScript performance in other areas, that animating large blocks wouldn't be exactly snappy.

Boy, was I right. Tonight I played for about two hours with different animation speeds and methods, and the simple truth is that there's no way to animate things on iPhone in JavaScript so that they're pleasant to the eye. This only gets worse with OneTrip's menus which in most cases take up the whole screen; when something that big is jerkily crawling across the screen at about one frame per second, it's not good. You could say it's... bad.

So, no menu animations for now. Sorry about that. The good news is OneTrip is still fully usable. I guess I'll have to add eye candy elsewhere to make up for this missing feature.

This morning's update, by the way, featured a number of smaller improvements - for instance, you can now click right on a shopping list item to check and uncheck it (instead of aiming for the little checkbox).

Email your shopping list, edit your Saved items

Two big OneTrip updates today:

- At the bottom of your shopping list you will find a handy-dandy email option. Not only can you email your OneTrip shopping list to another lucky iPhone owner, you can also send it as a plain ol' email to anyone else.

- You can now edit your Saved items, removing them individually instead of having to clear them all out.

These have been the two biggest feature requests, and I hope you make good use of them. A few notes:

- Emailed lists are stored on the OneTrip server for one week (if you don't email a list, it never leaves your iPhone so we won't see it). They are not encrypted or password-protected, since there is no registration or log in for OneTrip. Anyone who has the URL to your emailed shopping list (something like onetrip.org?l=y6rxpu) can view it; it's a random URL, so the chances of someone stumbling upon it are slim to none. Still, I suggest you don't store any sensitive information in lists you email. This is a simple, free service, so use it as such!

- Choosing to load an emailed list will currently also wipe out your existing list, including your saved items. I'm working on a list-merging feature, but I don't want to overcomplicate things. I hope you'll understand.

Thanks for all your feedback!

Thursday, July 5, 2007

State of the app

What a crazy week. I've barely used my computer at all - iPhone gets all the love these days. Need to find a river trip in the Willamette valley? Hey, let me grab my iPhone! Yeah, I know my notebook is right there - I'll do it on my iPhone anyway!

I've received lots and lots of feedback about OneTrip - thank you all. I'm spending most of my coding time now thinking about all the new things having an actual iPhone has taught me, but I'll soon be doing actual work on OneTrip. Here are the features you've requested the most:

- Sharing shopping lists between users
- Editing Saved Items
- Better categories

The last one is easy to implement, but hard to plan. I want to keep the lists short but all-encompassing. Maddening!

I'm also trying to keep OneTrip small and ad-hoc, in the sense that you don't need to register, log in, blah blah. Click it and use it is my goal. A lot of this account-management type of stuff would be easier if you had a login on the server, but I'm really trying to avoid that.

Keep the feedback coming, and keep making only one trip to the store!

Friday, June 29, 2007

Success!

I just tested OneTrip and Quip on my iPhone and they work perfectly. I couldn't be happier with the performance. It's amazing.

Apple underpromised on the iPhone, people.

Wednesday, June 27, 2007

Well, looks like we have the first sign of Apple's commitment to developing actual web apps for iPhone. Head on over to:

http://reader.mac.com/

In case it gets taken down, it looks like this:



If you visit with a faked iPhone user agent string, you get a blank page. Looks like having a .Mac account might become handier soon.

Sunday, June 24, 2007

iPhone's potential vs. its feature-set at launch

When iPhone hits our pockets in June - pun intended - we'll all have our complaints about lacking features. No GPS. No instant messaging. No installable third-party apps. No video capture (it seems). No iTunes Store (again, most likely).

The reasons for dropping these features are different; some of them would have displeased AT&T, others would have eaten into sales of other Apple products, and some are probably either impossible to implement well because of technical limitations, or the implementation would have changed the device form, specs, or price significantly. It's a delicate balancing act, putting the Internet, iPod, and telephony in your Levi's.

There is, however, at least one common thread to all these missing modules - they're not necessary right now to make iPhone an impressive product. Common diagnoses heard in the cynical layers of the blogosmear include accusations of Apple wanting to "rape" their customers - though I can't figure out how not including a profit-driving feature like the iTunes Store would do that - or, worse, cries that Apple is "dropping the ball" either by not realizing that these are desirable features or by being too stupid to put them in. This is when a cliche from the world of design comes in handy: "Perfection is achieved not when there's nothing else to add but when there's nothing left to take away." (Antoine de St. Exupery)

Look at it this way - Apple has had to put together a twenty-minute demo of the device just to show off its main features. Given that, two keynotes of the phone, TV ads, and a web page including tech specs, our number one pre-release complaint is still that we don't know enough about the phone. Perhaps we should admit that even with the feature-set we now presume iPhone will have in June, there's a heck of a lot for the average and above-average user to play with for quite some time.

I consider myself a well informed and technically savvy iPhone buyer, and I can tell you that I'll spend most of that weekend tapping around my iPhone, learning its UI. It'll probably be a few weeks before I run out of things to be delighted (or at least surprised) by.

Now keep in mind, I'm the developer of probably the very first iPhone web app. I should be spending my Friday making sure that OneTrip runs smoothly on iPhone - and I'll do that as well, to be sure. Imagine if Apple had announced a proper SDK on June 11 - Mac developers would have been pretty caffeinated for a few days after the launch, rushing to get the first apps out. Is it unreasonable to think that this would have resulted in some pretty crummy iPhone apps, seeing how none of these developers would have had a chance to get a feel for the phone's (computer's?) interface, form factor, and performance? Of course, it was still a little goofy of Steve to "announce" that we can make - "can" as in, iPhone allows it - web apps for iPhone. Duh, Steve. But he had to pull that band-aid off quickly.

In any case, that was a disappointment for developers and for those users who wanted their Skypes, Yojimbos, and Terminals on iPhone. But my gut feeling is that those who buy one anyway will spend most of July oohing and aahing over this and that iPhone feature. The desire for more features will eventually set back in, but by then, who knows what updates Apple will be pushing to iPhones? At least this is one thing we can be fairly confident about: like AppleTV, iPhone may grow as a device without pulling on your wallet.

My conclusion, then, is that Apple may in fact be leaving out some features (or at least that they may be ok with leaving them out) because they don't want to overwhelm the user from the first day. If you're not one of those who think they would be overwhelmed by, say, having the addition of GPS on iPhone, remember that there's probably a lot of people who wouldn't be overwhelmed by the addition of some other feature. You try to please all of those and pretty soon the iPhone experience feels a little cluttered. Apple picked the features they consider crucial and impressive, and their bet seems to be paying off if consumer interest is any indication.

Be patient and put things in perspective - it looks to be a fantastic device, and it will learn new tricks if only for the fact that it will be easy for Apple to do so (compared to, say, iPods, which were harder to update with new functionality for accounting reasons, and because developing software for their OS wasn't as easy).

Saturday, June 23, 2007

Neven's iPhone web app portal

Here's the deal: I'll make more iPhone web apps in the weeks and months to come. iPhone users will want to browse those on their iPhones, and desktop users will probably want to find out a little more about the apps. Since my goal is to make these apps as iPhone-like as possible, I'm making separate websites for non-iPhone users. These will be bigger pages with more info; in contrast, iPhone pages will be short and sweet.

It'll work like this:

  • If you visit OneTrip.org on your iPhone, you'll be using OneTrip, the shopping list app.

  • If you visit OneTrip.org on something else - a "big" computer - you'll see OneTrip's page at Neven Mrgan's web apps for iPhone, a new portal website I'm launching.

  • If you visit OneTrip.orgapps on your iPhone, you'll see a cute little app launcher interface.

  • If you visit OneTrip.org/apps on some other device, you'll see the home page of the portal.


The portal includes framed versions of the iPhone apps and a little more info than you can find on the pages of the apps themselves. I know this might sound complicated, but it all happens automagically - just visit any of these URLs in any browser*, and we'll figure out whether to serve you the "desktop version" or the iPhone app:



Eventually the portal may move to a domain of its own. I'll redirect everything so you don't have to think too much about how it works.

* no IE. Duh.

Wednesday, June 20, 2007

Another iPhone web app - Quip, a daily quote

Introducing Quip - quote of the day on your iPhone. Get a mini-serving of brain food with one click, browse past quotes, and email them to a friend. Easy-peasy.

I think my future iPhone web apps might be hosted at OneTrip.org until I figure out a better arrangement. Hopefully this won't be too confusing. I have a feeling we'll just be bookmarking our iPhone web apps anyway, so the URL shouldn't matter much.

Ok, this time it's REALLY rewritten

Brand new, reimagined, rebuilt OneTrip. Should work in Firefox (save for one minor bug). Many thanks to everyone who sent in feedback and suggestions.

Here it is.

Tuesday, June 19, 2007

Coding up a storm

Another complete OneTrip rewrite and redesign. It looks so much nicer now - one of those redesigns where you go, what was I thinking the first time around?

I'll upload it some time tomorrow - still looking for bugs.

Monday, June 18, 2007

Ok, last change for today...

OneTrip's menus and widgets are now larger. One tends to forget, when working on a desktop computer, how tiny iPhone really is. Hopefully items will be easy to click now.

OneTrip now makes more sense when not viewed on iPhone

I always planned to make a "wrapper" for OneTrip for non-iPhone users. Since we are all non-iPhone users right now (save for those chosen few) I thought I'd get to it sooner rather than later.

When you visit onetrip.org now on a non-iPhone computer, you should be greeted with a little demo page. If you're using the latest version of Safari, it should feel pretty darn close to the real thing. Firefox still has a "sliding" bug, but I'm not losing much sleep over it.

Enjoy!

Sunday, June 17, 2007

Rewritten

I rewrote OneTrip this weekend. It had been put together hastily originally so I figured a restructuring was in order.

Two new features:

  1. Each category now has its "Type it in..." option. Items entered that way will get their category's color and be grouped with it.

  2. There's a new "meta-category" called "Saved items". Anything you type in manually will get saved there so you can select it later. Combined with the above feature, this should make OneTrip's item list pretty customizable.

Compatibility with Firefox has been improved, though it's still not perfect. I'll work on it when I have nothing better to do.

As always, I appreciate bug reports and feature suggestions. Click on and pretend you have an iPhone!

P.S. Did you know that clicking the gray title at the top of the page ("OneTrip", "Categories", etc.) from any OneTrip screen will take you directly to the app's home screen? You did? Alright then.

Friday, June 15, 2007

Some quick OneTrip stats

OneTrip got dugg three days ago and I've had to move to a generously offered new server since. Between the two servers, I just crossed the 1.5 million mark for hits. That's... yowza.

Unless a number of people with nothing better to do are faking their user agent strings, OneTrip has been browsed on iPhones in Cupertino, San Francisco, New Jersey, Amsterdam, and Japan.

Just sayin'.

Thursday, June 14, 2007

How long will web apps be The way?

Many people are hoping that web apps will not be the only method of third-party software development for iPhone. As a future iPhone user (hopefully) I'm partially in that camp myself.

Here's what I think - "real" iPhone apps are coming... but not any time soon. Certainly not in October - next year, maybe. This is just a wild guess, but my reasoning is basically this: Steve wouldn't have gone on stage at WWDC 2007 and made an announcement out of it if he didn't really expect a respectable number of developers to hammer out iPhone web apps.

Of course, he had to say something about iphone software at a developers' conference; perhaps he just had nothing better to say. But now that he's annoyed a good number of Mac coders by telling them to flex their web muscle, it would be adding insult to injury if he stepped out in October and went, "hey, thanks for all these web apps you've built - now guess what, here's an SDK for real iPhone apps that will make your toy websites look totally Fischer-Price." It would please desktop Mac developers, though, and maybe the groaning of those who had invested time and effort into building web apps would get lost in the giddiness.

The way I see it, Apple will want both types of apps to shine on iPhone. One of the loudest groans about the WWDC spin was that Apple is being insincere - if web apps on iPhone are such a great idea, why aren't they developing them? I think they are. They might offer a simple widget or two at first, but the best project for Apple to web-ify is .Mac. It's a promising system, but it hasn't been updated in a very long time... except its webmail program, which is now all Web 2.0-hip (typical "toe in the water" move by Apple). And if this meant running .Mac services on Windows - well, we've all seen how Apple feels about handing out ice water to people in hell.

If it makes sense for anyone to assist Apple in this, from both the technical and the business angle, it's Google. If there's a set of web apps we need on iPhone, it's Google Docs & Spreadsheets. If there's a technology that might help us deal with the gotta-be-online nature of web apps, it's Google Gears.

So here's my got-nothing-to-lose prediction: web apps from Apple and Google coming soon to an iPhone near you. If I had to guess what the more long-term strategy was, it's some sort of "I can't tell if it's the web or the desktop" level of functionality. But that's been promised many times, and who knows how soon it can be delivered even by the combined minds of Apple and Google.

P.S. There's still the question of why Apple showed such an underwhelming web app - the dull little directory search - at WWDC. Perhaps they didn't want to overpromise or blow their cover?

New feature: Previously typed items

I have no idea what you usually buy at the store; I can only guess. If OneTrip's built-in list of common items doesn't let you one-click-add Superschmeltz kohlrabi, you can always type that in. But you don't want to be doing that every day.

Today I added a new "category" (available when you hit the + button) called "Previously typed." As you enter new items they'll get added to this menu and stay there (also in a cookie for when you come back) until you clear this list.

Clearing your main list on OneTrip's home screen won't remove these items, of course.

» Go try it!

iPhone web apps and data plans

One valid concern regarding Apple's announcement of web-only third-party apps for iPhone is the cost of the regular use of those, since web apps will always move more data over the network than an installed client app would. We still have no idea what sort of voice and data plans will be available for iPhone. I can imagine three scenarios:

  1. One or two reasonably affordable plans with lots of minutes and lots of data (Apple's choice)

  2. Same plans they have now (AT&T's choice)

  3. A la carte plans, starting cheap but getting very expensive at the high-minutes, high-data end (or some other form of compromise)

Which one they go with depends on who can wrestle whom in their negotiations which, I'm sure, are still going on - that's why the plans haven't been made public yet.

I think my little app is going to be the least of anyone's worries, data-wise. The whole thing is 14 KB in size and it only needs to load once. The NY Times website, for instance, is about 150 KB - and that's just the front page. Clicking around it for a few minutes will easily add up to a few MB. Remember that iPhone loads entire web pages, with full-size images.

My guess is you'll want an unlimited data plan on iPhone.

Wednesday, June 13, 2007

Back story

OneTrip has only been out for a short while, but I figured some of you might want to know how it came about.

Some time in late May I realized that since Apple still weren't making any announcements about a full-blown SDK for iPhone, Mac developers probably weren't going to get one any time soon. Even if they did, I'm primarily a web developer so I would've been out of my depth trying to create a Cocoa iPhone app. I figured I'd do what I can - create an app I've always wanted on my phone as a web page, and if widgets showed up on iPhone in June, oh well - maybe they wouldn't be exactly what I wanted anyway.

Taking my brother Vanja's app idea, it took about two days of typing and clicking here and there in the evening hours to put together something usable in Safari. Since I only ever intended to use this on iPhone, I "optimized" it for the device - that is, designed it with iPhone's screen size, form factor, and UI conventions in mind. It has a top toolbar and a scrollable list of items. Most of the time you just point and click, but you can type if you really want to. It doesn't talk to the server once it's loaded and it's really small overall - under 15 KB including images, stylesheets, and JavaScript.

It worked well - by my standards, anyway. I had a bunch of questions about how it would run on an actual iPhone (I still do!) but I figured I'd make some educated guesses based on what we'd heard from Apple.

I didn't bother making it cross-browser-compatible. What's the point? I could do it if I wanted to, but I can't imagine too many people would want to use it on another device. I've heard some users of other mobile devices say they liked it. That's nice; however, making OneTrip work on those is really low on my list of priorities. Right now, I just want to make sure it runs well on iPhone come June 29.

I posted about OneTrip on macrumors.com expecting to hear some feedback on whether this was a boneheaded idea overall, and whether I missed any obvious concerns regarding Safari on iPhone. It got dugg from there and soon my server was squealing under the load.

I really hope that people can make use of OneTrip on their iPhones. It would be pretty cool if I got an iPhone on the 29th, surfed over to onetrip.org, and was greeted with the app just the way I imagined it to work. We'll see - coding fingers crossed!

New features

The forum at macrumors.com has generated lots of healthy discussion about OneTrip and web apps on iPhone. Between that and the users' feedback via email, I'm planning on adding some features in the next few days:

  • Typed items will also get saved, so you'll be able to select them from the list instead of typing them in. Done!

  • Each category will have its own "Type it in..." option, which will color and categorize that item with the rest of that category. For instance, if you type in "Watercress" in Vegetables, it will be green and sorted with other vegetables.

  • The "title" text (top-middle) takes you back to the OneTrip home screen from any page. Done!

  • I'll work on Safari 2 compatibility.

OneTrip

Today, OneTrip took about half a million hits in a matter of hours. This is not at all what I expected when I put it together.

You know how it is - when you start a project and plan it out so it can take a slashdotting, only your two friends and a cat use it. When you make something in two days for your own amusement, it explodes...

Thanks to the insanely helpful people at Ambitious Lemon, OneTrip is now hosted safely at:

OneTrip.org

Thanks for all your feedback. I'll post FAQs and updates on this blog in the coming days and weeks.