Occasionaly Paid

Occasionally Connected is a term used to describe the growing model in which technology users’ live. With the proliferation of gadgets to empower us to have mobile offices with have the capability of communicating and receiving information the world over, the connected & disconnected state are now disassociated with location, which itself isn’t always connected to being with.

Back in the day (like 2002), I’d go to my desk upstairs in the cabin in the woods, fire up the computer, connect the modem, and be connected. I could use email, surf the web, and generally be productive.

Today, I can do the same in my house, only, I’m always online. My DSL + Router ensures 2 desktops are always online, and my laptop and phone can always access my wireless inside and out of my house. Getting connected is analogous to turning on, and proximity is no longer a limiting factor (beyond my property). If I do extend the bounds of my house with my laptop, I need to go only 1000 yards before I run into the local coffee shop that has free wireless… and I live in a remote area. Atlanta city proper has a lot more hotspots.

Additionally, the software has changed. Connected apps usually had pretty acceptable to atrocious handling of the connected to disconnected stage, as well as the return to connectivity. Outlook Express informed you that you were offline, but you could still read email. The worst would be some apps wouldn’t function, others would crash or lock up your system. Sometimes the act of re-connecting was a self-induced death sentence for the application.

Nowadays, a lot of programs handle things extremely slick. Firefox will keep data in web forms if you hit the back button. Macromedia Central would physically change color and save data locally as a copy. Trillian has visual states indicating which services are working and in what connected state they are. The program itself will attempt to reconnect with no involvement from you (optional) and minimal interruption to your focus. Even iTunes will attempt to re-connect if your internet radio goes down, all without a window focus change.

Get it done, don’t distract me, and do what you can without internet access. I love the progress I’m seeing across the board.

There have also been discussions about the location of your data. In the case of my email, it’s on my machine since I use POP3, with the option to act like IMAP where copies are kept on the server.

However, with the increase of web applications furthering productivity (or not), a lot more of our data is stored online, under different rules. For example, if Flickr ever goes down, so too do access to your pictures. And yes, Flick goes down a lot.

Same for services. TypePad, SixApart’s online blogging solution is tied to the server. When the server goes down, or your internet connection, you cannot blog. Even so with the MoveableType version. I install on my server, but when my server goes down, I have to rely on Word or Notepad until my site comes back up.

This too, will be solved, although, I think more slowly than the connection model has merely because more litigation is needed vs. clever coding. With concepts like Flash & Flex‘s local Shared Objects (Flash cookies), browser cookies, and other state-full clients with the ability to save data locally as well as server-backups, technically this is solvable in the near future somehow, someway.

Exchange of data, too, has improved. Almost every blogging software I know supports importing of existing blogging information. MoveableType to WordPress, and a plethora of other options, making it easy to divorce your old solution, and try a new one without anything to lose but time. Time lost to trying out new things is usually not really cried about for geeks anyway.

The point here is giving users control of their data. You can import and export your web browser bookmarks to make them portable or use them elsewhere. You can save documents in a variety of formats. You’re internet presence can work in multiple programs and on multiple devices.

The point here is as the net becomes an extension of ourselves, it only feels natural if it’s in harmony with us. Ease of use, portability, reliability, and over all (a sense of) control. The more in-tune we are with the network, the more useful it is to us, and the more productive and content we can all be (in theory. I’d still rather have your machine lock up on you because I owned you in Quake 4).

There is still one area, however, I see major problems with people becoming in tune with the network.

Payment.

My computer is always connected, providing a firm base. I have wireless to roam the house, and assorted hotspots to connect when I need. My phone allows email checking, and itself can provide internet to devices nearby. My programs are more and more capable of sharing data in languages each can understand, and understand well that nothing is lost in translation. Data location, integrity, and access is getting there in terms of all the web applications popping up.

…but when you don’t pay, you’re screwed.

To me, this is the most ignored area of user experience in technology. If you don’t pay, your trial runs out. You can sign up for cable service online, but can’t cancel it. When you leave an online game, the data you spent a year on has no guarantee of existing tomorrow after your account is cancelled. Google’s cache or archive.org have no guarantee that they’ll have the data you need, nor is in an acceptable and prompt to get format, let alone context (site was generated from MySQL by PHP, thus no HTML-cacheable content). If you’re late on your phone bill, you’re entire local network goes down (thankfully, programs are learning to compensate). You miss a power bill because of some online payment fluke that wasn’t your fault, and all juice is gone. Even Eifel can’t throw (and catch) an exception for that.

And my lovely weekend experience. Apparently I received 5 emails saying my credit card had expired, and that I needed to update my hosting account. I didn’t receive the 5 emails, nor did I receive a phone call. And yes, my web hosting provider is capable of having an American, native English speaker utilizing the phone to call me because they did last year when blog spam was pummeling their server because of my blog. You’d think after 3+ years of a loyal customer which originally evangelized their service via an un-paid logo on his site would get at least a phone call.

Nope. To add insult to injury, my name servers changed the same day.

I make my living off of my online presence, as well as my ability to connect with individuals from around the world on a 24 hour basis, mainly through email. Some depend on my content being accessible to them, as well as me being accessible to them via email. I was made invisible to that world for 4 days solid because of $20.

No program could re-connect my last website. Google’s cache, while surprisingly fast and thorough, still loses valuable context. While Outlook Express still worked, it was still handicapped beyond usage since my host cut me off from the online world. While I have money, I couldn’t make more by sending out invoices because my email was down.

Thankfully, presence is not controlled by Mediatemple. I could connect with online associates via instant messaging, inform them of my situation, and keep tabs on the online world, more so as an observer vs. an active participant. If you want to play, you have to pay, and pay steadily with no lapses.

Separate email accounts and separate email programs provided an alternate way to continue my day, but the dependence on a specific online projected persona prevented much from getting done.

While one could hearken this to irresponsibility on my part, I will admit that I did not follow up with all pertinent accounts when I get my new card this new year. However, I stand firm that user experience can be improved via payment methods for services, not just taking care of keeping us connected and keeping our data integrity safe & portable. I’ve seen plenty of good examples where you can separate yourself form a service financially, so I know it can be done.

How old is the phone again? 130 years-old? Surely it’s proven it’s usage in not just solving problems, but solving them via assertive usage as well, yes? If we’ve solved the user experience with application connectivity in less than a decade, we can definitely solve the payment contracts we users engage & disengage in as well.

Sparkle is Neat

I gave Microsoft’s Sparkle a quick test drive this weekend. Sparkle is Microsoft’s tool to design (not necessarely code) applications on the new Windows (Vista, was Avalon) operating system. Let me preface this entry with I’ve only given her a quick spin, so my conclusions are preliminary first impressions, and are in no way meant to really confirm or deny anything. A beta is a beta, and a beta from a product that’s been in development for 3 years is way different in scope than other betas. Different builds of Flex 2 have drastically changed my opinions about it, and I’m sure the same will hold true more so with subsequent betas of Sparkle.

Her majesty was away for the weekend visiting friends, so I had the house to myself. I had missed the video they released late last year, so watched it with my mom over coffee. She dropped out when homeskillet started going off about Model’s and View’s. I totally understood where she was coming from because MVC used to make my head fuzzy too… a year later, good to go.

While the video was playing, I was installing a wide array of patches and updates required to play. Basically:

  • WinFX Components
  • Expression Interactive Designer (Sparkle)
  • Visual Studio 2005 Express
  • 3 Windows Update Installs
  • Authentic Windows Checker
  • Windows XP Update
  • Amazingly, 1 reboot

Video was good quality, though, and you get to be mired in with the some of the geeks who make the jazz happen. You get a pretty good walkthrough.

One of Screenweaver’s, one of the best Flash Projector creation tools ever made, strengths was that you could use Screenweaver to create Screenweaver. This made it quite unique, in practice, not in theory. Not in theory because programmers always create things to create things for them; that’s what we do. No, it was the mere fact that every facet was covered that made it powerful.

Sparkle’s the same way in that they are using Sparkle to update new builds of Sparkle. Sick.

The zoomable/scaleable interface actually does help. Rather than push panels out of the way, I sing the Ludacris song, “Move Bitch, get out da way!” and the interface parts like Moses parted the Red Sea… except I’m not being chased by a bloodthirsty Pharaoh and his army, I just need more space for my “Paintboard”, a.k.a. Stage. …weilding a Khopesh whilst making next-gen Windows desktop apps would be pretty damn cool, though! I need a third-arm.

It’s a lot like After Effects. You have a non-descructive timeline where everything is done via keyframes that affect the layer they are on. While this allows for a more flexible way of animation, it’s a lot slower to actually get the exact effect you want because the object and the effect aren’t tied; you use the keyframe as a go between.

To say it another way, if I animate something in Flash’s timeline, that key frame affects that object on the same, and whatever I do to it affects the object. Since a lot of Flash animation actually involves considerable timeline work, you are working and fine tuning key frames.

After Effects and Sparkle on the other hand require more attention to the actual timeing or “state” of what you are working with. If you want to create something, you either “record a keyframe” or change a property. While this cleanly seperates the object’s implied state from the actual state, it can be quite unnerving to back to this way of animating if you, say, are used to the keyframing of Flash or Director.

If you use After Effects, you’ll feel mostly right at home. The keyframing engine, or timeline, doesn’t feel as mature as After Effect’s, and rightly so, she’s beta, not even version 1. I got into After Effects at version 3, and even then it had multiple, preset properties actually built into the timeline itself, all with their own keyframe lines so you could operate on them independently. Sparkle, at least as far as I could tell, groups all effects to 1 keyframe. This makes things simpler, but less organized.

Of course, everything you do is written to XAML, Microsoft’s markup. And this leads me to my next point. XAML is no way comparable to Flex‘ MXML. It’s apple and oranges.

MXML was created to provide a familiar paradigm for JSP developers who are used to HTML.

HTML lays out designs and control elements for web forms.

MXML lays out designs and control elements for Flex form.

XAML, however, is a lot more. While all 3 represent “documents” per se, HTML is the only one that remains so. MXML is compiled down with all the other MXML documents, ActionScript classes, CSS files, and image/audio assets into a SWF which is then played back in the Flash Player. XAML does something similiar.

So, yes, both MXML and XAML do create documents, with document property settings, tags to represent controls, and effects, MXML is much more high level, and abstracted whereas XAML is wayyyyyy more low level, more verbose, and plays more of a behind the scenes role.

For example, I’d argue most Flex developers spend most of their day in MXML and ActionScript. Sparkle, a.k.a. Expression Interactive Designer 2006, is totally the opposite. You spend most of your day in the IDE laying things out, adjusting properties of elements in the timeline, and moving keyframes. Yes, they have data binding, but I seriously doubt most designers would be screwing with that stuff.

I akin it to an average day in After Effects. You import your project’s assets, create compositions, add built-in effects, animate assets in them, and utilize compositions in other compositions. EID is the same way; you import assets into your project, create new timelines & templates (like MovieClip’s & Symbols), add your assets and built-in controls & style them, and re-use those in other timelines.

Imagine if a FLA outputted XML instead of a binary FLA, and you’ll get a good understanding. While you can see and interact with the XAML you are creating, I don’t think most designers will touch it at all.

I opened my XAML document’s corresponding C# (.cs) file in Visual C# Express 2005 just to see since I spent most of my time in EID playing vs. actually caring about code. It looked similiar to ActionScript’s typical code most people put on _root. They even have a root variable. Of course, my first thought was with such low-level classes, someone really really needs to create some sort of MVC framework upon release… ARP or Cairngorm up to the challenge? Anyway, C# looks pretty cool, and too many libraries to know what to play with first. Nice to know you effects you apply utilize the video card; hell yeah, hardware accelerated POWAH!

It certainly has the feel of Director, which was all about the compositing engine. Flash and Flex are authoring tools which export their content to SWF whereas Director was authoring and runtime at the same time. Sparkle gives you the same feeling, ecspecially when you start editing existing controls, modifying their innards on the timeline, and seeing them show some data that is actually live bound in the tool. Databinding in Flex and Flash is usually indicated by an icon, whereas the Sparkle team is doing their best to show actual real bound data while you are working. As a developer I think this is dumb because a lot of data begotten needs context before you can really get what you want, but as a designer, seeing real, true data in my design allows me to better understand how she’ll look. One of Flex 2’s better features is an improved Design View, showing you what your design will look like before compile, and I think Sparkle does that really well.

The databinding is nice. It would be nice, however, to have all of those fancy DLL’s like… you know… included in the app. I don’t really have friends on IM where I can go, “Dude, you know where a Flickr API dll is?”. Doing that for ActionScript utility classes is pretty easy; you go to Google or ask your friends online. However, they said that they will include a lot of that kind of stuff at release, so that’s cool.

I can really see how existing Flash component developers would really dig Sparkle. The market for such pre-built components and effects will really be in need. On the flip side, I see the same problem happening with Sparkle that happens with Flex/Flash, and that’s education about the available list of components. Explaining that you have an Accordion pane, what it does, and the same for the rest of the components really allows an interaction designer to better understand what constraints they are designing under. So, I can certainly see some slow uptake time on there as people utilize the controls, and others use the same controls in unique and creative ways that don’t necessarely comprimise usability.

I haven’t really decided yet if a designer could truly use Sparkle as their mainstay. Her majesty and I watched the 2nd Video together, and there is a lot of developer centric stuff that, frankly, I don’t think designers need to know about, nor should see. The same zeal that Java programmers have been using towards Flex with, “I can handle this design tool, no problem baby!” is not what I see designers doing towards Sparkle; quite the reverse. Rather, I see existing multimedia developers, artistically inclined developers, and interaction designers using it.

…and, most unfortunate, production artists. I was hoping that I could have a PSD converted straight to XAML and be done, but yet again, I have to take a design, and shove it in an authoring tool. Hopefully someday we’ll see the convergence of these roles via a nicely abstracted part of both Photoshop & Sparkle that allow what you create to be interpreted in the other. Analogy would be tags assigned to images on Flickr. They give context to that image, and thus allow us (usually) to better understand that image.

The same could be said to an image created in Photoshop. Some way to designate layers named “Button” as truly a Flex button, <mx:Button />, or <Button> in XAML.

I think for Sparkle to truly get people’s attention, they need to take her majesty’s suggestion, and have someone at 2Advanced design an app with a C# developer, and post that as a sample application.

Case in point, Apollo is more appealing because it is easier to take a designer’s design from Photoshop/Flash and make it work in Apollo because Flash is a design tool, and Flex supports both CSS and Flash skins.

Maybe if I learned C#, I could make the above as seamless?

Anyway, pretty neat program.

It all comes down to the weird implication of SmartClient’s vs. web applications. Web applications done with Flex are great because you get an extremely easy way to deploy the latest code on millions of client machines. Flex provides the rich desktop experience.

Apollo will provide a richer one with better API’s, integration with other existing powerful technologies, and lessons learned from Central. Apollo, at least viewed from a Central perspective, is a client-side framework for Smart Client’s created using Flex/Flash. A desktop app that is network aware, occasionally connected, saves data locally & remotely, and can easily update itself.

While I’ve been wanting to do Smart Client work vs. web application work for years, the ASP model (software as a service) is just so darn successful whereas the Smart Client hasn’t been… for me anyway. People are vying for my time to create enterprise web applications. When Central was at it’s apex, I was getting some small requests to create desktop applications, but always ended up using a 3rd party projector instead.

While I as a developer would much rather be where I like to be, on the desktop using hardware accelerated effects and machine code in my applications, the money isn’t there, or more specifically, where I’d be interested. At the same time I’d get a job offer everyday in the spring of 2004, I’d get just as many .NET job postings on Monster.com.

Now that Microsoft has wisened up and starting pre-installing .NET v2, maybe that’ll change?

I really don’t think the “my personal data on various remote servers” will backlash hard enough to having people running random EXE’s on their machines. On the same token, the leading cause for internet terrorism is Internet Explorer, so that doesn’t really help either. While Firefox is a nice spearhead for a secure app tube, I haven’t seen the WinFX stuff running in anything but IE 7.

Will Sparkle bring about Desktop 2.0? Web 2.0 was brought about sheer willpower of talented individuals rising from the dot-bomb ashes. Frankly, I think Business 2.0 will prevail; where there is money, there is success. Currently, people are paying for experiences and services. Mabye if whatever the WinFX plugin is called gets wild adoption and is secure, cool things could happen. Flash started from the web side, and is transitioning yet again to the desktop. WinFX is doing the opposite; making a strong foothold on Windows Vista, and venturing onto the web and beyond with the WinFX-E (e for everywhere, including Mac).

I don’t see the web relinquishing control anytime soon. Hell, another bubble is forming around it.

…anyway, if anyone wants me to work on a Sparkle team as an Intern (at a Software Architect rate), I’d definately be game. I’m in this for what’s fun, and Sparkle looks to be a lot of fun, it’s just kind of intimidating with all of it’s new API’s, features, 10 billion controls, and new way of creating apps.

If you haven’t checked out Sparkle yet, and don’t mind spending 1 hour to get setup before you can actually play, and you’re a Flex/Flash developer, I suggest you try it out. I don’t think back-end people will really care as it’s a primarely front end technology, but for some reason ColdFusion guys like Flex, so you never know.

Feedback for the Sparkle team:

  1. One click install (1 reboot acceptable). Installing all that jazz above is bs.
  2. Double-clicking to rename timeline layers is … not working
  3. Make a marquee selection for the timeline; I can’t mass select keyframes and that’s lame, slows me down.
  4. Have someone from 2advanced design an app; use that as a tutorial

Nice job Sparkle team, she looks hot. I’ve just invested 5 years into this Flash/Flex thing; you’ll excuse me if I don’t jump ship within 1 weekend. You keep this up, and you never know…

Sparkle Links:

Firefox 1.5 & The Free Dictionary vs. Dictionary.com

Pre-Firefox 1.5 had this really cool option in the top right quick search. You could type in a word, select the Dictionary.com from the drop down, hit enter, and within seconds confirm if the word you typed was spelled correctly and even hop to the Thesaurus to find another version of the same word on a whim.

As of 1.5, it’s replaced with The Free Dictionary.com. It’s not as simple as Dictionary.com’s interface, but the worst part of all?

Try double-clicking the word it finds. It refreshes the page, removing your highlight, thus you can’t copy paste. You can if you drag, but wtf? Talk about the most successful way to f’up the usability your website. Smooth move crackheads!

My co-worker claims that they do that because they are somehow getting your double-click to register with the ads below the word… I don’t believe it, but am not discounting the possibility. Giving people the benefit of the doubt on the internet is hard.

…I miss my Dictionary.com…

Bluetooth Wireless Keyboard for my Nokia 6680 Phone


My Nokia Bluetooth Wireless Keyboard arrived today for my Nokia 6680 cell phone. Retails for $199, but I got it for about $139 at Mobile City Online. It’s only fitting that I get a keyboard for a phone that boots. There is definately a line a device crosses, more so a phone when the words “boot” and “shutdown” enter your vocabulary when describing its functions as opposed to “on” and “off”.

While wireless itself isn’t new, the fact I can blog from my dining room via tools that fit in both pockets is just wicked. All I need to do is make a lighter weight interface in HTML since the current MoveableType one is too heavy for this phone’s browser…at least, I think it is. I can already email my pictures to Flickr, so once I get cellblogging on this mofo, I’m set!

The last trip I took, I didn’t have a laptop, just my Nokia 3300 which had text & multimedia messaging which doubled surprisingly well as email. Flickr worked the same, although the camera wasn’t near as good.

Now, I can check real email as this one suppports POP and IMAP; she’s slow, though, because I usually get like 200 emails an hour, and the phone’s MEdia net connection certainly isn’t broadband.

:: back on computer ::

MAN, my next keyboard will definately be an ergo… geez, I certainly couldn’t make my living coding on that mofo in a coffee shop.