Quick update

January 8th, 2010 alex No comments

Hey everyone,

I had almost finished a long blog post about modules and object copying in Javascript when I picked up Douglas Crockford’s Javascript: The Good Parts.  It’s a great book, and I highly recommend to anyone serious about writing good code.  However, it completely demolished the issues and plans I described in my post; instead of writing a highly classical module system, I’ve decided to go with a more functional/prototypal system.  After playing with that for an hour or three, I’ve decided not to rewrite the MealImage class right now; instead, I’m going to give the style a try as I write modules for page state management, language support, and image display.

Good news: I’ve finished test coverage for the MealImage javascript class, the most complex piece of front-end code I expect to write for the project.  Test-writing was quite an undertaking, clocking in at about 2100 lines of code for about 560 lines of code+comments, but is well worth it.  Knowing I broke nothing by changing out the underlying HTML renderer from Jaml or by universally changing == to === is well worth every minute I spent on tests over the last month.  I’ve taken notes for a blog post on unit testing in Javascript and will start that soon.

Nothing much has happened on the Devise front — I’ve been mostly focused on Mealstrom, and Alex has been busy too.  I’ll get to that no later than January 30th, when we plan another all-night hackathon.

That’s about it.  I’ll be focusing on adding new features to Mealstrom again and finishing the meal editing page so that you can test it out on the beta site.

Enjoy your weekend — find something good to eat.

Alex

Categories: Uncategorized Tags:

Using the new Facebook Connect library (including with Facebooker)

December 17th, 2009 alex No comments

We’ve moved!

Hey everyone, all my tech blog posts are now at my personal blog at http://blog.twoalex.com.  I’ll keep blogging about Mealstrom here, but you should hop on over there to check out the latest and greatest about technology (and food) in general.

Read this entry on blog.twoalex.com

Categories: tech, website Tags: ,

Authentication with Devise and Warden, part 1: Up and Running

December 12th, 2009 alex 4 comments

We’ve moved!

Hey everyone, all my tech blog posts are now at my personal blog at http://blog.twoalex.com.  I’ll keep blogging about Mealstrom here, but you should hop on over there to check out the latest and greatest about technology (and food) in general.

Read this entry on blog.twoalex.com

Categories: tech, website Tags: ,

What’s taking you so long? An Mealstrom Update

December 2nd, 2009 alex No comments

Executive summary of this long post: I took a long, recharging break; the site’s still alive; I’m rebuilding it bit by bit, slowly but thoroughly and surely; no due date, but you’ll hear from me again.  Oh, and the new version’s going to be pretty awesome.

Followers of this blog may have noticed that updates have been few and far between.  Until last week, your author had not posted an update for three months, and while previous posts had mentioned ongoing work, nothing has changed.  Cobwebs gathered on the site; issues went unfixed; the account section bore witness to Facebook dialogs long since relegated to Palo Alto’s dumpsters.  Even Mealstrom’s one-year anniversary in October failed to elicit the faintest murmur of life.  Loyal readers, you would be quite justified in wondering “Is Mealstrom dead?”

The answer (happily) is a resounding “No!”  Not dead, just hibernating, sleeping a long slumber from which the site is slowly starting to wake.  After my wedding (itself a distraction without peer), I took a much-needed break from the site, reading books, recharging, and getting some valuable distance from and perspective on this meal-blogging service.  Around the same time, I started a very cool phase of a project at work, building a new platform from scratch and learning how much my skills and knowledge and ideas have changed since I started the current version of Mealstrom.  When I reopened the Mealstrom codebase, I quickly realized that rather than fixes to the current version (built as a learning exercise), Mealstrom deserved a substantial rewrite.

My goal

Mockups, or, my goal


Since November 3rd, when I branched the site, I’ve been working on a completely new version.  I’ve set myself a series of goals for the rebuild:

  • Thought-out designs: before starting each page, I’m creating a Photoshop mockup of the layout.  Design first forces me to envision and refine the page before I get distracted actually by building it.  Though I’m not a graphic designer (as the mockup example here shows), I am fortunate to borrow the time of a talented UI engineer to make sure these designs will be straigthforward and easy to use.
  • Dynamic content: each page should be as responsive and active, providing feedback on your actions, letting you drag and drop pictures, preview Twitter posts, and in all other ways behave as as you would expect and want (without being overly flashy, of course).  I’m moving the site’s Javascript from Prototype to jQuery and jQuery UI, and fully planning and executing each page as I go rather than deferring work until later.  Which leads to…
  • Complete features: having built the site once before, I know what features Mealstrom should offer, and now I intend to build all of them.  I’m scoping and building out all features of each page before starting new sections, rather than hopscotching around building one thing here, one thing there, as I did before (justifiably, since it was a learning experience).
  • Javascript testing with JsUnit

    Javascript testing with JsUnit

    Reliable code: you deserve a site that works, and I have to make one.  As I create the new Mealstrom, I’m writing code and test scripts side by side.  It’s hard to overstate the value of testing, both front- and back-end; defining how I expect my code to work means I’ll find bugs as I make them, rather than when your meal blog goes kablooey.  I can’t approach this rebuild any other way: working nights, weekends, and mornings, I don’t have time to bug fix the same code over and over again.  (With no external deadlines, I have the luxury of doing this right.)

So alpha the section header's wrong

So alpha the section header's wrong

The meal blogging page is an example of these goals at work — it’s the most complicated page on the site and the most critical to Mealstrom’s success.  I started here with my mockup (see above), tweaking and completing it over several weeks before I wrote the first line of code. As that shows, the new version is going to be a big improvement over the existing, static page — file uploads through an advanced Flash-based tool, drag and drop image sorting, tagging friends, tracking eating habits, and more.  I’m building it chunk by chunk starting with the photos, writing markup and Javascript that work, encapsulating the Javascript into classes, and writing thorough tests.  Once it’s done, I’ll have a complete page that I won’t ever have to worry about and can start the process anew for the next part of the site.

So when will this be done?   I only have a few minutes every morning, evening, and over the weekends to work on the site, so while there’s constant movement, it’s going to take me a while to finish.  I won’t promise any dates, only that this will happen, and that the new version will be worth it.  However:

I’m once again excited by Mealstrom and am eager to get this awesome new version up and running.  I’ll keep posting as I make progress; as soon as I have enough rebuilt, I’ll post new versions to future.mealstrom.com.

That wraps up the update — stay tuned for more.

Always happy eating,

Alex

Categories: news Tags:

When ui.helper is null: a jQuery sortable quirk

November 22nd, 2009 alex No comments

We’ve moved!

Hey everyone, all my tech blog posts are now at my personal blog at http://blog.twoalex.com.  I’ll keep blogging about Mealstrom here, but you should hop on over there to check out the latest and greatest about technology (and food) in general.

Read this entry on blog.twoalex.com

Categories: tech, website Tags:

I’m back! & Enhanced Signup Forms for the iPhone

August 16th, 2009 alex No comments

Hi everyone,

It’s been a while, hasn’t it? I can’t say I’m sorry about that, since in my absence I, well, got married (and it was a pretty awesome wedding — once I gather the photos, I’ll post up here). Now that that’s over and things are as back to normal as they get, I’ve been looking forward to getting back to Mealstrom and continuing to make this a better application.

The first of those improvements, I’m happy to announce, is now live: enhanced signup forms for iPhone users, allowing you to sign up for Twitter linking straight from your iPhone. I’ve been laying the groundwork for a more robust mobile website, where you can update your entire account and view meals, and this is the first example of it. (There’s a lot of work left to go into it.) Future versions of the iPhone app will bring the signup process in-app (via an embedded browser) and add Facebook Connect. It’s slow going, but it’ll get there.

Speaking of the iPhone app, version 1.3 snuck into the app store while I was busy. It’s released! Go play with it! More details soon.

That’s all — I’m off to bed, and to rip apart and rebuild the iPhone app this week. Have a great week, and happy eating!

Alex

Mobile Signup

Mobile Signup


Mobile Twitter Signup

Mobile Twitter Signup


Mobile Signup

Mobile Signup

Categories: Uncategorized Tags:

Better Facebook Stories

July 2nd, 2009 alex No comments

Hi everyone,

I recently enhanced the format of the Facebook stories you publish with Mealstrom.  The goal with those posts is, of course, to make them as visible and as interesting as possible for your friends and assorted hangers-on.  Purely anecdotal evidence from my own meal blogging seems to show that the new feed story works — a lot more likes and comments per story — and I hope you’ll find the same.

Mealstrom’s previous story format kept a very light user message, putting most of the story into the title and the body.  This was in keeping with the my (too conservative) understanding of what was allowed and with the older version of feed stories.  As you can see, though, it produced a visually soft result, filled with gray and small text.  No good!

Old Feed Story

Old feed story -- staid.

The new Facebook story uses your meal description as your user message — the big, black, luxurious block of text that shows so prominently.  Many thanks to my friend Luke for suggesting that change.  It’s a big improvement.

New feed story -- snazzy!

New feed story -- snazzy!

The story title now also includes the picture count to tell viewers if there’s more to see when they click through; previously, your amazing fifth picture might as well have been a blank wall, for all anyone would see it or know about it.  Thanks to previous though then-unmentioned updates, viewers can now share your meal, view your meal blog on Mealstrom.com, or start their own.

Naturally, this isn’t the end of the (feed) story.  The newly blank space under the pictures is going to be perfect for showing whom you ate with once I roll out friend tagging.  It may also show what you thought of your meal (via the new Eating Habits tools mentioned in a recent post), where specifically you ate, or other cool new things.  You’ll get finer control over what gets published as these changes roll out, too.  (Anything you’d want to see published?  Leave a comment!)

That’s that for today — have a great 4th of July (bbq for me!) and happy eating,

Alex


PS Bonus retrospective: to give you an idea of how things were when I was your age, check out the original feed story format.  It’ll give you an idea of how much better things are now.  Egregiously, you didn’t see the whole meal — I hadn’t yet accepted the value of being fully open and giving users the power to completely share their data, so the feed story cut off at about 300 characters (without even a “more” link).  There was also no way to share a post (not that the current way is great; Facebook needs to open up the popup share form their own posts get to use).

Like discovering ancient cave paintings

Like discovering ancient cave paintings.

Categories: Uncategorized Tags:

Rails 422: The change you wanted was rejected.

July 1st, 2009 alex No comments

We’ve moved!

Hey everyone, all my tech blog posts are now at my personal blog at http://blog.twoalex.com.  I’ll keep blogging about Mealstrom here, but you should hop on over there to check out the latest and greatest about technology (and food) in general.

Read this entry on blog.twoalex.com

Categories: tech, website Tags:

Mealstrom 1.2 released!

June 24th, 2009 alex 1 comment

Hi everyone,

Guess what?   Mealstrom 1.2 is live!

The big, cool new feature this release is Eating Habits, an easy way to build a picture of how you eat. It’s really simple: hit the “Track your eating habits” button and then choose an option from each of the categories. (They update over the air, too, so you’ll always have the newest ones.) Tap those few buttons each meal, and soon you’ll be able to see how you eat. Turns out I eat more vegetarian meals than meals with meat (though not by a huge amount). I also have more dinners than anything else (lunch is #2), and, surprisingly, more of my meals are at restaurants than cooked at home.

Eating Habits on the iPhone

Eating Habits on the iPhone

Charts & Graphs

Charts & Graphs

 

You can check out my Eating Habits at my Mealstrom profile . Right now it’s some cool pie charts, but I’m excited to also track historical trends — how I eat on different days of the week, lag on submitting meals, average meals per day, etc. (I’m also excited to eventually revamp the profiles and make them a lot cooler and more informative.)

1.2 also has a couple other new features:

  • The date button now displays the meal’s date to help avoid accidentally picking the wrong day.
  • Other minor UI tweaks and improvements.
  • Bug fixes, such as:
    • Submitting multiple queued meals now works properly.
    • You can erase or zoom in on pictures (previously stopped working after the fourth picture was added).

I’m also excited to announce that version 1.3 is nearly ready to go, and should be in Apple’s hands this week. Once it’s approved, you’ll hear about it here.

Check it out! As always, feedback totally welcome, especially if you have ideas for intriguing things to track with Eating Habits.

Have a great Thursday, and happy eating!

Alex

Categories: news, releases Tags:

What’s been up

June 20th, 2009 alex No comments

Hey everyone,

Sorry about the long silence!  As I’ve mentioned before, my husband and I are getting married, and most of my energy over the last month has been spent planning the wedding and building our wedding website (you can check it out at http://www.twoalexonewedding.com).  I did make some progress on Mealstrom, sending a very cool new version 1.2 to Apple for approval.  Once that’s live (there’s been a crush of apps updated with the release of iPhone OS 3.0, and it’s been over two weeks), I’ll post all the juicy details (spoiler: you can track how you eat).  Version 1.3′s actually ready to go as well, so as soon Apple releases their current ward, I’ll submit the next one.  In the last few weeks, I’ve been focusing more or less exclusively on the iPhone app to the exclusion of the website (charts and graphs and Facebook feed story updates excluded), but at some point soon I’ll switch over.

In the meanwhile, some recent travels have given me plenty of time to blog, so expect a bunch of new posts both technical and general.

Cheers and happy eating!

Alex

Categories: news Tags: