Joel's posterous

Joel's posterous

Joël Franusic  //  

Apr 13 / 12:13am

Interactive development in TouchStudio

Last night I was having so much fun playing around with TouchStudio that I sort of accidently wrote a script to browse images posted on the "pics" subreddit.

 

I didn't intend to write an image browsing script, that's just what I ended up with after asking myself "I wonder if I can …?" a few times and finding out that the answer was usually "yes".

 

Below is a video of me recreating the steps I took to write my Reddit image browser. The video is just over 4 minutes long, I'm moving fast on purpose because I'll explain what I'm doing afterwards.

 

Unable to display content. Adobe Flash is required.

 

I start by clicking the empty line in the "main()" action (which returns "Nothing")

 

Image001

 

 

I add an "assignment" expression (":="), click on the variable name ("result"), and click the "edit at cursor" button so I can rename it to "url".

 

Image002

 

Then I assign the string "http://reddit.com/r/pics.json" to the "url" variable and click the "Back" button to finish that statement.

 

Next I click on the "+" button in the ApplicationBar to add a new statement.

 

I use the "download" method in the "web" service to load the URL contained in the "url" variable and print out the results (called "post to wall")

 

Image003

 

Again, I click the "Back" button to finish the statement.

 

I hit the "run" (or "play") button in the ApplicationBar to get this output:

 

Image004

 

Looking at the JSON output, I can see how to access the array that contains the  post data that I want!

 

I change the statement to assign this data into a variable called "data".

 

Next I use the "json" method in the "web" service to parse the JSON data and store it in a variable called "rv".

 

Using the "rv" variable I can interactively explore the JSON data I just got by using the "get field" method and using "post to wall" to check my progress.

 

After I figure out how to get to the data I want. I store that data in a variable called "children".

 

Image005

 

Next I add a "foreach" loop to iterate over the values in "children". Check out how TouchStudio has a button with the "children" variable in it!

 

Image006

 

I add a statement to the "foreach" loop and use the "keys" and "post to wall" methods to make sure that I've got the data that I'm expecting to get:

 

Image007

 

Yup! There it is!

 

Almost done!

 

All I need to do now is change the statement to show the picture title and then add another statement that uses the "deep zoom link" method in the "web" service to show the images. Here's what they look like:

 

Image008

 

Now all I need to do is hit the "run" button!

 

Image009

 

Filed under  //  TouchStudio  
Jun 10 / 9:21am

How I didn't help 280 North resolve an issue with IE

Also: a behind-the-scenes look into what it's like to be a Startup Evangelist for Microsoft.

 

Interestingly, this story starts several weeks before 280 North runs into their issue with IE. On January 17th, 2010, reddit user knobler reports a different matter with IE. The next day, the article makes its way over to HN where I make a comment: "Looks like another Microsoft employee on Reddit is looking into this ... but I'll followup on this too. "

 

A few minutes later, I receive an email from a member of the IE team named Ravi Rao:

 

"Joel – I noticed on http://news.ycombinator.com/item?id=1059497 that you mentioned you were following up on the issue too.

 

Please note that the IE team is tracking it already. –thx."

 

I'm really pleased to learn that the issue is being addressed already and leave it at that.

 

18 days later, I'm chatting with my neighbor Ross, of 280 North, about an issue he's having with downloading Visual Studio from the BizSpark MSDN page:

 

ross: i tried to download visual studio from the msdn site

  but the installer appears to be borked

[…]

me: what are you using visual studio for?

  SECRET STUFF?

ross: debugging

  or, attempting to debug

  but it turns out it was not helpful

me: You're working on J# aren't you

ross: god no.

[...]

ross: the problem is that this particular error isn't triggering the debugger

  so, its not helfpul for me

  i have no idea where the problem is or how to find it right now

 

Later, our conversation shifts, and I realize that the real issue here is that 280 North has spent the previous 3 days trying to track down a bug in IE.

 

me: So if you've spent 3 hours on this

  you may want to try opening up a case on MSDN

ross: i've spent three days on it

me: then do it

ross: i can't imagine it being useful

  without being able to create a reduction

  and we're talking about, you know, 50,000 lines of code

  but if you still think it will be useful, i will

me: well, I don't know if it'll be useful

  can you recreate the error

ross: just running the code

  reproduces it

  100% of the time

me: Atlas or Cappuccino?

ross: cappuccino

me: so, cappuccino doesn't work on IE you're telling me?

 or just gives crazy errors?

ross: well, this is new code

  we haven't pushed it because of this bug

me: wow, that's not good

 

 

Remembering my previous contact with Ravi, I see what I can do to get this issue looked at:

 

"Ravi,

 

Is there a person I could reach out to that could help one of our BizSpark startups with a IE issue?

 

Ross at 280 North has spent 3 days trying to track down the error that you'll see if you load this page in IE:http://cappuccino.org/iebug/index-debug.html

 

This code works in Firefox, Safari, Chrome and even Opera.

 

Any ideas on who I can talk to?

 

Thanks!

 

--Joel"

 

Now the fun begins. With a lot of help from Ravi, I start learning how to properly report, and find the people to work on the issue.

 

After a few days the case gets assigned to an engineer named Veena. A few hours after the case is assigned to her, Veena determines the root cause of the issue:

 

"The code you are using seems to have recursive functions that are approx 15 times deep. "

 

The comment from Veena helped them figure out that the core of their problem: "any recursion that happens through the window object is limited to a stack depth of 12":

 

ross: well, first, we've fixed the bug

  and we did so because of the email that this person sent me

  so, thanks

[…]

  the problem is that IE treats "host" objects differently from all other objects and all other browsers

  and there's a recursion limit on "host" objects, specifically


The next day 280 North posts their initial fix to github.

 

And that's how I didn't help 280 North track down an issue with IE. Ravi Rao, his team, and Veena in particular did all of the actual work. I just made the connections.

 

And ultimately, that's a large part of what my job is: Making connections. It's something I did before I worked at Microsoft and it's one of the things that I really enjoy about my job.

 

If you're a startup and have a question, especially about Microsoft, let me know. I'll try and make some connections. If you've got problems with IE, Ravi is your man [contact].

Filed under  //  startup  
Apr 13 / 9:46am

Apply for a 50% discount to the Startup Lessons Learned Conference

The Startup Lessons Learned Conference (SLLC) on Friday, April 23 in San Francisco is a great opportunity for startups and other entrepreneurs to learn more about combining Agile Software Development, Lean Startup and Customer Development methodologies to bring compelling products to market faster.

As a sponsor of this event, Microsoft BizSpark is proud to offer eight 50% discount codes.

Details

To apply for a discount code, send an email to Joel Franusic briefly describing yourself and what you hope to gain from this conference. Joel is especially interested in hearing from people in startups that are enrolled in the BizSpark program!

The deadline for submission is Midnight on Sunday, April 18th. Selected recipients will be contacted by Monday, April 19th.

Filed under  //  startup  
Dec 17 / 5:06pm

One phone call to solve any startup problem?

This is basically what I had in mind: StackOverflow for Startups

As a resident of San Francisco, I've come to love the city's "one call does it all" service: 311.

311 is the only phone number that I need to call for any service that the city of San Francisco provides. Here are some of the things I've called 311 for:

  • Bus information and arrival times
  • Garbage pickup information
  • Reporting graffiti
  • Street cleaning days

As an interface to local government, 311 is consistently the best that I've ever used.

What if there was a service like 311 for startups?

Like the citizens of San Francisco, startups have a pretty well defined set of problems. For example:

  • How do I get a business license?
  • Where is a good place for me to have an office?
  • I need a better internet connection at my office, who can help me do that?
  • Where can I go to meet other people interested in my field?
  • I need 80 hard drives to be wiped in a PCI compliant way, who can help me with that?

Many of the problems that startups face are not new and are totally solvable . If you've solved a problem before, you just do x and/or call y.

But what if you encounter a problem you haven't solved before? There are plenty of things you can do, among them: Ask a friend who's solved that problem before, if you have such a friend. Ask one of your investors for help, if you have investors. Spend time researching the problem yourself.

The Silicon Valley has astonishing number of resources for startups - if you know they exist and how to get them.

This is where I think that a service like 311 for startups could really shine.

What do you think?

 

Nov 30 / 12:23pm

After 5 years of using Linux and Mac OS X exclusively, I've joined Microsoft

My_badge

I haven't used Microsoft software on any of my personal machines for 5 years, and now I work for Microsoft.

I know how frustrated and upset people at startups can be with Microsoft the company or with the software that we make. I've worked for startups and I've been frustrated too. That is why I accepted this job. At Microsoft I'll have the opportunity to do something positive, to fix problems and assuage frustrations.

My title is "Developer Evangelist" but my job is to be something of a diplomat: a two-way channel of information between Microsoft and the startup community in the Silicon Valley.

If you live in the Silicon Valley, I want to hear from you! Especially if you are at a startup. Tell me about your problems, frustrations, and worries. I'm here to help.

Joël Franusic

http://twitter.com/jf
http://bit.ly/email_joel
650.693.2179
Filed under  //  Microsoft   startup